InvokeAI 6.14.0rc2__tar.gz → 6.14.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/InvokeAI.egg-info/PKG-INFO +4 -3
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/InvokeAI.egg-info/SOURCES.txt +14 -2
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/InvokeAI.egg-info/requires.txt +3 -2
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/PKG-INFO +4 -3
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/api/auth_dependencies.py +100 -20
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/api/routers/_access.py +52 -7
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/api/routers/app_info.py +16 -16
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/api/routers/auth.py +160 -21
- invokeai-6.14.2/invokeai/app/api/routers/board_images.py +435 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/api/routers/boards.py +5 -5
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/api/routers/client_state.py +5 -5
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/api/routers/custom_nodes.py +41 -9
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/api/routers/gallery.py +60 -4
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/api/routers/image_moves.py +3 -3
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/api/routers/images.py +185 -61
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/api/routers/model_manager.py +361 -187
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/api/routers/model_relationships.py +4 -4
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/api/routers/recall_parameters.py +2 -2
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/api/routers/session_queue.py +115 -62
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/api/routers/style_presets.py +41 -22
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/api/routers/system_prompts.py +5 -5
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/api/routers/utilities.py +288 -4
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/api/routers/videos.py +268 -68
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/api/routers/virtual_boards.py +15 -6
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/api/routers/workflows.py +16 -15
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/api/sockets.py +550 -16
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/api_app.py +202 -18
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/fields.py +37 -1
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/flux2_denoise.py +237 -43
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/flux2_vae_decode.py +9 -1
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/flux2_vae_encode.py +16 -3
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/image.py +45 -41
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/krea2_denoise.py +225 -43
- invokeai-6.14.2/invokeai/app/invocations/krea2_style_reference.py +235 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/krea2_text_encoder.py +2 -68
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/metadata_linked.py +78 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/primitives.py +15 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/qwen_image_image_to_latents.py +51 -17
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/qwen_image_latents_to_image.py +43 -25
- invokeai-6.14.2/invokeai/app/invocations/qwen_image_text_encoder.py +493 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/spandrel_image_to_image.py +21 -12
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/wan_denoise.py +80 -20
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/wan_latents_to_video.py +83 -57
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/wan_video_denoise.py +26 -14
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/z_image_denoise.py +6 -2
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/auth/token_service.py +6 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/board_image_records/board_image_records_base.py +9 -2
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/board_image_records/board_image_records_sqlite.py +12 -3
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/board_images/board_images_base.py +3 -2
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/board_images/board_images_default.py +3 -2
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/board_records/board_records_sqlite.py +16 -13
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/config/config_default.py +31 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/download/download_default.py +21 -5
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/events/events_base.py +16 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/events/events_common.py +38 -2
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/external_generation/providers/alibabacloud.py +30 -23
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/gallery/gallery_base.py +27 -1
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/gallery/gallery_common.py +19 -1
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/gallery/gallery_default.py +75 -12
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/image_files/image_files_base.py +22 -2
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/image_files/image_files_disk.py +244 -31
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/image_moves/image_moves_default.py +239 -108
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/image_records/image_records_base.py +23 -2
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/image_records/image_records_sqlite.py +87 -44
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/images/images_common.py +9 -4
- invokeai-6.14.2/invokeai/app/services/images/images_default.py +571 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/model_images/model_images_default.py +28 -4
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/model_install/model_install_default.py +21 -1
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/model_load/model_load_default.py +15 -4
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/model_records/model_records_base.py +7 -0
- invokeai-6.14.2/invokeai/app/services/object_serializer/object_serializer_common.py +12 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/object_serializer/object_serializer_disk.py +21 -2
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/object_serializer/object_serializer_forward_cache.py +6 -1
- invokeai-6.14.2/invokeai/app/services/orphaned_models/__init__.py +9 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/orphaned_models/orphaned_models_service.py +26 -7
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/session_processor/session_processor_base.py +11 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/session_processor/session_processor_default.py +239 -9
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/session_queue/session_queue_base.py +6 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/session_queue/session_queue_common.py +29 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/session_queue/session_queue_sqlite.py +57 -6
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/invocation_context.py +52 -18
- invokeai-6.14.2/invokeai/app/services/shared/sqlite_migrator/migrations/migration_2026_07_31_add_user_token_epoch.py +41 -0
- invokeai-6.14.2/invokeai/app/services/shared/sqlite_migrator/migrations/migration_2026_08_08_demote_system_user.py +58 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_24.py +9 -1
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/style_preset_records/style_preset_records_common.py +22 -15
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/urls/urls_default.py +4 -1
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/users/users_base.py +4 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/users/users_common.py +32 -0
- invokeai-6.14.2/invokeai/app/services/users/users_default.py +444 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/video_records/video_records_base.py +11 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/video_records/video_records_sqlite.py +24 -11
- invokeai-6.14.2/invokeai/app/util/path_safety.py +89 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/util/ssrf.py +9 -6
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/util/user_management.py +18 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/anima/anima_transformer.py +33 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux2/denoise.py +46 -50
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux2/ref_image_extension.py +18 -4
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux2/sampling_utils.py +113 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/ideogram4/quantized_loading.py +5 -5
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/krea2/attention.py +83 -13
- invokeai-6.14.2/invokeai/backend/krea2/style_reference.py +462 -0
- invokeai-6.14.2/invokeai/backend/krea2/style_reference_extension.py +186 -0
- invokeai-6.14.2/invokeai/backend/krea2/style_reference_rf.py +56 -0
- invokeai-6.14.2/invokeai/backend/krea2/text_encoding.py +126 -0
- invokeai-6.14.2/invokeai/backend/krea2/vae_compat.py +151 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/configs/flux2_variant.py +20 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/configs/lora.py +31 -10
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/configs/mistral_encoder.py +5 -1
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/configs/pid_decoder.py +13 -8
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/configs/qwen3_encoder.py +117 -57
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/load_base.py +109 -15
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/load_default.py +130 -19
- invokeai-6.14.2/invokeai/backend/model_manager/load/model_cache/cache_record.py +146 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_cache/model_cache.py +1240 -181
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_loaders/anima.py +47 -39
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_loaders/flux.py +25 -22
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_loaders/gemma2_encoder.py +2 -2
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_loaders/ideogram4.py +9 -8
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_loaders/krea2.py +14 -19
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_loaders/mistral_encoder.py +17 -7
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_loaders/qwen_image.py +8 -7
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_loaders/vae.py +3 -2
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_loaders/z_image.py +40 -14
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/starter_models.py +0 -9
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/util/lora_metadata_extractor.py +8 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/layers/dora_layer.py +45 -11
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/layers/utils.py +2 -1
- invokeai-6.14.2/invokeai/backend/patches/lora_conversions/krea2_lora_constants.py +125 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/lora_conversions/krea2_lora_conversion_utils.py +75 -9
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/pid/decode.py +7 -9
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/quantization/gguf/ggml_tensor.py +7 -1
- invokeai-6.14.2/invokeai/backend/quantization/gguf/loaders.py +121 -0
- invokeai-6.14.2/invokeai/backend/quantization/sdnq/detection.py +93 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/quantization/sdnq/loaders.py +10 -8
- invokeai-6.14.2/invokeai/backend/util/attention.py +251 -0
- invokeai-6.14.2/invokeai/backend/util/state_dict_loading.py +145 -0
- invokeai-6.14.2/invokeai/backend/util/vae_working_memory.py +442 -0
- invokeai-6.14.2/invokeai/backend/wan/memory_optimization.py +253 -0
- invokeai-6.14.2/invokeai/backend/wan/vae_decode.py +31 -0
- invokeai-6.14.2/invokeai/frontend/web/dist/assets/App-DvlZKGz7.js +157 -0
- invokeai-6.14.2/invokeai/frontend/web/dist/assets/index-BuK6cFYB.js +444 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/index.html +1 -1
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/locales/en.json +30 -11
- invokeai-6.14.2/invokeai/version/invokeai_version.py +1 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/pyproject.toml +24 -5
- invokeai-6.14.2/tests/test_calibrate_wan_vae_working_memory.py +138 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/tests/test_config.py +31 -0
- invokeai-6.14.2/tests/test_object_serializer_disk.py +386 -0
- invokeai-6.14.0rc2/invokeai/app/api/routers/board_images.py +0 -223
- invokeai-6.14.0rc2/invokeai/app/invocations/qwen_image_text_encoder.py +0 -325
- invokeai-6.14.0rc2/invokeai/app/services/images/images_default.py +0 -414
- invokeai-6.14.0rc2/invokeai/app/services/object_serializer/object_serializer_common.py +0 -5
- invokeai-6.14.0rc2/invokeai/app/services/orphaned_models/__init__.py +0 -5
- invokeai-6.14.0rc2/invokeai/app/services/users/users_default.py +0 -318
- invokeai-6.14.0rc2/invokeai/backend/krea2/vae_compat.py +0 -57
- invokeai-6.14.0rc2/invokeai/backend/model_manager/load/model_cache/cache_record.py +0 -53
- invokeai-6.14.0rc2/invokeai/backend/patches/lora_conversions/krea2_lora_constants.py +0 -8
- invokeai-6.14.0rc2/invokeai/backend/quantization/gguf/loaders.py +0 -57
- invokeai-6.14.0rc2/invokeai/backend/quantization/sdnq/detection.py +0 -62
- invokeai-6.14.0rc2/invokeai/backend/util/attention.py +0 -37
- invokeai-6.14.0rc2/invokeai/backend/util/vae_working_memory.py +0 -244
- invokeai-6.14.0rc2/invokeai/frontend/web/dist/assets/App-C6Vlujfv.js +0 -156
- invokeai-6.14.0rc2/invokeai/frontend/web/dist/assets/index-Bd6Mw58F.js +0 -444
- invokeai-6.14.0rc2/invokeai/version/invokeai_version.py +0 -1
- invokeai-6.14.0rc2/tests/test_object_serializer_disk.py +0 -188
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/InvokeAI.egg-info/dependency_links.txt +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/InvokeAI.egg-info/entry_points.txt +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/InvokeAI.egg-info/top_level.txt +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/LICENSE +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/LICENSE-HiDiffusion.txt +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/LICENSE-PiD.txt +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/LICENSE-SD1+SD2.txt +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/LICENSE-SDXL.txt +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/README.md +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/api/dependencies.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/api/extract_metadata_from_image.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/api/no_cache_staticfiles.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/api/routers/image_move_maintenance.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/assets/images/caution.png +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/anima_denoise.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/anima_image_to_latents.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/anima_latents_to_image.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/anima_lllite.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/anima_lora_loader.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/anima_model_loader.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/anima_text_encoder.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/baseinvocation.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/batch.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/blend_latents.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/call_saved_workflow.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/canny.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/canvas.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/cogview4_denoise.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/cogview4_image_to_latents.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/cogview4_latents_to_image.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/cogview4_model_loader.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/cogview4_text_encoder.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/collections.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/color_map.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/compel.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/composition-nodes.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/constants.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/content_shuffle.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/controlnet.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/create_denoise_mask.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/create_gradient_mask.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/crop_latents.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/custom_nodes/README.md +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/cv.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/denoise_latents.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/depth_anything.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/dw_openpose.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/ernie_image_denoise.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/ernie_image_model_loader.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/ernie_image_prompt_enhancer.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/ernie_image_text_encoder.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/ernie_image_vae_decode.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/external_image_generation.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/facetools.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/flux2_dev_lora_loader.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/flux2_dev_model_loader.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/flux2_dev_text_encoder.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/flux2_klein_lora_loader.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/flux2_klein_model_loader.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/flux2_klein_text_encoder.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/flux2_pid_decode.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/flux_control_lora_loader.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/flux_controlnet.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/flux_denoise.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/flux_fill.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/flux_ip_adapter.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/flux_kontext.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/flux_lora_loader.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/flux_model_loader.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/flux_pid_decode.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/flux_redux.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/flux_text_encoder.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/flux_vae_decode.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/flux_vae_encode.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/gemma2_encoder_loader.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/grounding_dino.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/hed.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/ideal_size.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/ideogram4_caption.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/ideogram4_denoise.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/ideogram4_latents_to_image.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/ideogram4_model_loader.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/ideogram4_text_encoder.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/image_panels.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/image_to_latents.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/infill.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/ip_adapter.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/krea2_conditioning_rebalance.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/krea2_lora_loader.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/krea2_model_loader.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/krea2_seed_variance.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/latent_noise.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/latents_to_image.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/lineart.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/lineart_anime.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/llava_onevision_vllm.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/load_custom_nodes.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/logic.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/mask.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/math.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/mediapipe_face.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/metadata.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/mlsd.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/model.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/noise.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/normal_bae.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/param_easing.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/pbr_maps.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/pid_decoder_loader.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/pid_upscale.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/pidi.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/prompt.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/prompt_template.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/qwen_image_denoise.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/qwen_image_lora_loader.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/qwen_image_model_loader.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/qwen_image_pid_decode.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/resize_latents.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/scheduler.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/sd3_denoise.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/sd3_image_to_latents.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/sd3_latents_to_image.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/sd3_model_loader.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/sd3_pid_decode.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/sd3_text_encoder.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/sdxl.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/sdxl_pid_decode.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/segment_anything.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/strings.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/t2i_adapter.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/text_llm.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/tiled_multi_diffusion_denoise_latents.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/tiles.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/upscale.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/util.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/video_concat.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/video_frame_extract.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/video_frame_extract_range.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/wan_ideal_dimensions.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/wan_image_to_latents.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/wan_latents_to_image.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/wan_lora_loader.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/wan_model_loader.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/wan_ref_image_encoder.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/wan_text_encoder.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/workflow_return.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/z_image_control.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/z_image_image_to_latents.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/z_image_latents_to_image.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/z_image_lora_loader.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/z_image_model_loader.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/z_image_pid_decode.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/z_image_seed_variance_enhancer.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/invocations/z_image_text_encoder.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/run_app.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/app_settings/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/app_settings/app_settings_service.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/auth/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/auth/password_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/board_image_records/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/board_images/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/board_images/board_images_common.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/board_records/board_records_base.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/board_records/board_records_common.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/board_video_records/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/board_video_records/board_video_records_base.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/board_video_records/board_video_records_sqlite.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/boards/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/boards/boards_base.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/boards/boards_common.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/boards/boards_default.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/bulk_download/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/bulk_download/bulk_download_base.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/bulk_download/bulk_download_common.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/bulk_download/bulk_download_default.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/client_state_persistence/client_state_persistence_base.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/client_state_persistence/client_state_persistence_sqlite.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/config/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/config/config_common.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/download/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/download/download_base.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/events/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/events/events_fastapievents.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/external_generation/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/external_generation/errors.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/external_generation/external_generation_base.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/external_generation/external_generation_common.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/external_generation/external_generation_default.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/external_generation/image_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/external_generation/providers/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/external_generation/providers/gemini.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/external_generation/providers/openai.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/external_generation/providers/seedream.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/external_generation/startup.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/gallery/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/image_files/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/image_files/image_files_common.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/image_files/image_subfolder_strategy.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/image_moves/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/image_records/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/image_records/image_records_common.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/images/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/images/images_base.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/invocation_cache/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/invocation_cache/invocation_cache_base.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/invocation_cache/invocation_cache_common.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/invocation_cache/invocation_cache_memory.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/invocation_services.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/invocation_stats/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/invocation_stats/invocation_stats_base.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/invocation_stats/invocation_stats_common.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/invocation_stats/invocation_stats_default.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/invoker.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/item_storage/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/item_storage/item_storage_base.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/item_storage/item_storage_common.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/item_storage/item_storage_memory.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/model_images/model_images_base.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/model_images/model_images_common.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/model_install/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/model_install/model_install_base.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/model_install/model_install_common.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/model_load/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/model_load/model_load_base.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/model_manager/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/model_manager/model_manager_base.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/model_manager/model_manager_common.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/model_manager/model_manager_default.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/model_records/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/model_records/model_records_sql.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/model_relationship_records/model_relationship_records_base.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/model_relationship_records/model_relationship_records_sqlite.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/model_relationships/model_relationships_base.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/model_relationships/model_relationships_common.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/model_relationships/model_relationships_default.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/names/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/names/names_base.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/names/names_common.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/names/names_default.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/object_serializer/object_serializer_base.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/session_processor/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/session_processor/session_processor_common.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/session_processor/workflow_call_batch.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/session_processor/workflow_call_runtime.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/session_queue/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/graph.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/pagination.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite/sqlite_common.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite/sqlite_database.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite/sqlite_util.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migration_loader.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_1.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_10.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_11.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_12.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_13.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_14.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_15.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_16.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_17.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_18.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_19.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_2.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_20.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_2026_07_01_add_session_queue_device.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_2026_07_01_add_videos_tables.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_2026_07_01_add_workflow_call_queue_metadata.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_2026_07_03_round_robin_indexes.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_2026_07_10_create_system_prompts.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_21.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_22.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_23.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_25.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_26.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_27.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_28.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_29.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_3.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_30.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_31.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_32.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_33.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_4.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_5.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_6.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_7.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_8.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_9.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/sqlite_migrator_common.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/sqlite_migrator/sqlite_migrator_impl.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/workflow_call_compatibility.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/workflow_call_compatibility_common.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/shared/workflow_graph_builder.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Anime.png +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Architectural Visualization.png +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Concept Art (Character).png +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Concept Art (Fantasy).png +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Concept Art (Painterly).png +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Concept Art (Sci-Fi).png +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Environment Art.png +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Illustration.png +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Interior Design (Visualization).png +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Line Art.png +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Photography (Black and White).png +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Photography (General).png +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Photography (Landscape).png +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Photography (Portrait).png +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Photography (Studio Lighting).png +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Product Rendering.png +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Sketch.png +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Vehicles.png +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/style_preset_images/default_style_preset_images/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/style_preset_images/style_preset_images_base.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/style_preset_images/style_preset_images_common.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/style_preset_images/style_preset_images_disk.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/style_preset_records/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/style_preset_records/default_style_presets.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/style_preset_records/style_preset_records_base.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/style_preset_records/style_preset_records_sqlite.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/system_prompt_records/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/system_prompt_records/system_prompt_records_base.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/system_prompt_records/system_prompt_records_common.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/system_prompt_records/system_prompt_records_sqlite.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/urls/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/urls/urls_base.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/users/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/video_files/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/video_files/video_files_base.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/video_files/video_files_common.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/video_files/video_files_disk.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/video_records/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/video_records/video_records_common.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/videos/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/videos/videos_base.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/videos/videos_common.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/videos/videos_default.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/virtual_boards/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/virtual_boards/virtual_boards_common.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/workflow_records/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/workflow_records/default_workflows/CogView4_TextToImage.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/workflow_records/default_workflows/ESRGAN Upscaling with Canny ControlNet.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/workflow_records/default_workflows/Extend Video - Wan 2.2 Lightning w_ Concept LoRAs.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/workflow_records/default_workflows/Extend Video - Wan 2.2 Lightning.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/workflow_records/default_workflows/Extend Video to Image - Wan 2.2 Lightning.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/workflow_records/default_workflows/FLUX Image to Image.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/workflow_records/default_workflows/Face Detailer with IP-Adapter & Canny (See Note in Details).json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/workflow_records/default_workflows/Flux Text to Image.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/workflow_records/default_workflows/Image to Video - Wan 2.2 Lightning w_ Concept LoRAs.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/workflow_records/default_workflows/Image to Video - Wan 2.2 Lightning.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/workflow_records/default_workflows/Image to Video - Wan 2.2 TI2V-5B (Low Quality).json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/workflow_records/default_workflows/Interpolate 2 Images to Video - Wan 2.2 Lightning.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/workflow_records/default_workflows/Multi ControlNet (Canny & Depth).json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/workflow_records/default_workflows/MultiDiffusion SD1.5.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/workflow_records/default_workflows/MultiDiffusion SDXL.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/workflow_records/default_workflows/Prompt from File.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/workflow_records/default_workflows/SD3.5 Text to Image.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/workflow_records/default_workflows/Text to Image - SD1.5.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/workflow_records/default_workflows/Text to Image - SDXL.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/workflow_records/default_workflows/Text to Image with LoRA.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/workflow_records/default_workflows/Text to Video - Wan 2.2 Lightning w_ Concept LoRAs.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/workflow_records/default_workflows/Text to Video - Wan 2.2 Lightning.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/workflow_records/default_workflows/Text to Video - Wan 2.2 TI2V-5B (Low Quality).json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/workflow_records/default_workflows/Tiled Upscaling (Beta).json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/workflow_records/default_workflows/Wan 2.2 Image to Image.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/workflow_records/default_workflows/Wan 2.2 Text to Image.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/workflow_records/workflow_records_base.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/workflow_records/workflow_records_common.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/workflow_records/workflow_records_sqlite.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/workflow_thumbnails/workflow_thumbnails_base.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/workflow_thumbnails/workflow_thumbnails_common.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/services/workflow_thumbnails/workflow_thumbnails_disk.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/shared/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/shared/models.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/util/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/util/controlnet_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/util/custom_openapi.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/util/dynamicprompts.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/util/metaenum.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/util/misc.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/util/model_exclude_null.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/util/profiler.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/util/startup_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/util/step_callback.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/util/suppress_output.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/util/t5_model_identifier.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/util/thumbnails.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/util/ti_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/util/torch_cuda_allocator.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/util/video_decode_worker.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/util/video_encoding.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/app/util/video_thumbnails.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/assets/fonts/inter/Inter-Regular.ttf +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/anima/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/anima/anima_transformer_patch.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/anima/conditioning_data.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/anima/control_net_lllite.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/anima/regional_prompting.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/anima/scheduler_driver.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/ernie_image/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/ernie_image/denoise.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/ernie_image/sampling_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/controlnet/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/controlnet/controlnet_flux_output.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/controlnet/instantx_controlnet_flux.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/controlnet/state_dict_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/controlnet/xlabs_controlnet_flux.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/controlnet/zero_module.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/custom_block_processor.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/denoise.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/dype/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/dype/base.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/dype/embed.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/dype/presets.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/dype/rope.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/extensions/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/extensions/base_controlnet_extension.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/extensions/dype_extension.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/extensions/instantx_controlnet_extension.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/extensions/kontext_extension.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/extensions/regional_prompting_extension.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/extensions/xlabs_controlnet_extension.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/extensions/xlabs_ip_adapter_extension.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/flux_state_dict_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/ip_adapter/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/ip_adapter/ip_double_stream_block_processor.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/ip_adapter/state_dict_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/ip_adapter/xlabs_ip_adapter_flux.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/math.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/model.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/modules/autoencoder.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/modules/conditioner.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/modules/layers.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/redux/flux_redux_model.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/redux/flux_redux_state_dict_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/sampling_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/schedulers.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/text_conditioning.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux/util.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux2/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux2/extensions/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux2/extensions/regional_prompting_extension.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/flux2/text_conditioning.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/hidiffusion/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/hidiffusion/hidiffusion.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/hidiffusion/sd_module_key/sd15_module_key.txt +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/hidiffusion/sd_module_key/sdxl_module_key.txt +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/hidiffusion/utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/ideogram4/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/ideogram4/autoencoder.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/ideogram4/caption.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/ideogram4/constants.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/ideogram4/denoise.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/ideogram4/latent_norm.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/ideogram4/modeling_ideogram4.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/ideogram4/sampler_configs.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/ideogram4/sampling_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/ideogram4/scheduler.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/ideogram4/text_encoding.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/ideogram4/transformer_pair.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/assets/CIELab_to_UPLab.icc +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/basicsr/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/basicsr/arch_util.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/basicsr/rrdbnet_arch.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/canny.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/color_conversion.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/composition.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/content_shuffle.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/controlnet_processor.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/depth_anything/depth_anything_pipeline.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/dw_openpose/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/dw_openpose/onnxdet.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/dw_openpose/onnxpose.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/dw_openpose/utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/grounding_dino/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/grounding_dino/detection_result.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/grounding_dino/grounding_dino_pipeline.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/hed.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/imwatermark/vendor.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/infill_methods/cv2_inpaint.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/infill_methods/lama.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/infill_methods/mosaic.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/infill_methods/patchmatch.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/infill_methods/tile.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/invisible_watermark.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/lineart.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/lineart_anime.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/mediapipe_face/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/mediapipe_face/mediapipe_face_common.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/mlsd/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/mlsd/models/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/mlsd/models/mbv2_mlsd_large.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/mlsd/models/mbv2_mlsd_tiny.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/mlsd/utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/normal_bae/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/normal_bae/nets/NNET.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/normal_bae/nets/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/normal_bae/nets/baseline.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/normal_bae/nets/submodules/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/normal_bae/nets/submodules/decoder.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/caffe2_benchmark.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/caffe2_validate.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/geffnet/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/geffnet/activations/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/geffnet/activations/activations.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/geffnet/activations/activations_jit.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/geffnet/activations/activations_me.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/geffnet/config.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/geffnet/conv2d_layers.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/geffnet/efficientnet_builder.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/geffnet/gen_efficientnet.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/geffnet/helpers.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/geffnet/mobilenetv3.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/geffnet/model_factory.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/geffnet/version.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/hubconf.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/onnx_export.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/onnx_optimize.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/onnx_to_caffe.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/onnx_validate.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/setup.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/validate.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/normal_bae/nets/submodules/encoder.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/normal_bae/nets/submodules/submodules.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/pbr_maps/architecture/block.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/pbr_maps/architecture/pbr_rrdb_net.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/pbr_maps/pbr_maps.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/pbr_maps/utils/image_ops.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/pidi/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/pidi/model.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/pngwriter.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/realesrgan/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/realesrgan/realesrgan.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/safety_checker.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/segment_anything/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/segment_anything/mask_refinement.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/segment_anything/segment_anything_2_pipeline.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/segment_anything/segment_anything_pipeline.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/segment_anything/shared.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/image_util/util.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/ip_adapter/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/ip_adapter/ip_adapter.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/ip_adapter/ip_attention_weights.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/ip_adapter/resampler.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/krea2/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/krea2/regional_prompting.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/krea2/sampling_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/llava_onevision_pipeline.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_hash/hash_validator.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_hash/model_hash.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/configs/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/configs/base.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/configs/clip_embed.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/configs/clip_vision.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/configs/controlnet.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/configs/external_api.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/configs/factory.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/configs/flux_redux.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/configs/gemma2_encoder.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/configs/identification_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/configs/ip_adapter.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/configs/llava_onevision.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/configs/main.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/configs/qwen3_vl_encoder.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/configs/qwen_vl_encoder.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/configs/siglip.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/configs/spandrel.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/configs/t2i_adapter.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/configs/t5_encoder.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/configs/text_llm.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/configs/textual_inversion.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/configs/unknown.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/configs/vae.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/configs/wan_t5_encoder.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/memory_snapshot.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_cache/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_cache/cache_stats.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_cache/cached_model/cached_model_only_full_load.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_cache/cached_model/cached_model_with_partial_load.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_cache/dev_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_cache/ram_budget.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_cache/shared_cpu_weights.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_cache/torch_module_autocast/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_cache/torch_module_autocast/cast_to_device.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_cache/torch_module_autocast/custom_modules/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_cache/torch_module_autocast/custom_modules/custom_conv1d.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_cache/torch_module_autocast/custom_modules/custom_conv2d.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_cache/torch_module_autocast/custom_modules/custom_diffusers_rms_norm.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_cache/torch_module_autocast/custom_modules/custom_embedding.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_cache/torch_module_autocast/custom_modules/custom_flux_rms_norm.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_cache/torch_module_autocast/custom_modules/custom_group_norm.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_cache/torch_module_autocast/custom_modules/custom_invoke_linear_8_bit_lt.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_cache/torch_module_autocast/custom_modules/custom_invoke_linear_nf4.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_cache/torch_module_autocast/custom_modules/custom_layer_norm.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_cache/torch_module_autocast/custom_modules/custom_linear.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_cache/torch_module_autocast/custom_modules/custom_module_mixin.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_cache/torch_module_autocast/custom_modules/utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_cache/torch_module_autocast/torch_module_autocast.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_cache/utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_loader_registry.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_loaders/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_loaders/clip_vision.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_loaders/cogview4.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_loaders/comfyui_state_dict_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_loaders/controlnet.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_loaders/ernie_image.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_loaders/flux2_state_dict_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_loaders/generic_diffusers.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_loaders/ip_adapter.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_loaders/llava_onevision.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_loaders/lora.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_loaders/onnx.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_loaders/pid_decoder.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_loaders/sig_lip.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_loaders/spandrel_image_to_image.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_loaders/stable_diffusion.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_loaders/text_llm.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_loaders/textual_inversion.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_loaders/wan.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/model_util.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/load/optimizations.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/metadata/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/metadata/fetch/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/metadata/fetch/fetch_base.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/metadata/fetch/huggingface.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/metadata/metadata_base.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/model_on_disk.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/omi/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/omi/omi.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/omi/vendor/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/omi/vendor/convert/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/omi/vendor/convert/lora/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/omi/vendor/convert/lora/convert_clip.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/omi/vendor/convert/lora/convert_flux_lora.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/omi/vendor/convert/lora/convert_lora_util.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/omi/vendor/convert/lora/convert_sdxl_lora.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/omi/vendor/convert/lora/convert_t5.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/omi/vendor/model_spec/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/omi/vendor/model_spec/architecture.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/search.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/single_file_config_files.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/taxonomy.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/util/libc_util.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/util/model_util.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_manager/util/select_hf_files.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/model_patcher.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/onnx/onnx_runtime.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/layer_patcher.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/layers/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/layers/base_layer_patch.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/layers/flux_control_lora_layer.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/layers/full_layer.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/layers/ia3_layer.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/layers/loha_layer.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/layers/lokr_layer.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/layers/lora_layer.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/layers/lora_layer_base.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/layers/merged_layer_patch.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/layers/norm_layer.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/layers/param_shape_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/layers/set_parameter_layer.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/lora_conversions/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/lora_conversions/anima_lora_constants.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/lora_conversions/anima_lora_conversion_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/lora_conversions/flux_aitoolkit_lora_conversion_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/lora_conversions/flux_bfl_peft_lora_conversion_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/lora_conversions/flux_control_lora_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/lora_conversions/flux_diffusers_lora_conversion_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/lora_conversions/flux_kohya_lora_conversion_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/lora_conversions/flux_lora_constants.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/lora_conversions/flux_onetrainer_bfl_lora_conversion_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/lora_conversions/flux_onetrainer_lora_conversion_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/lora_conversions/flux_xlabs_lora_conversion_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/lora_conversions/formats.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/lora_conversions/kohya_key_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/lora_conversions/peft_adapter_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/lora_conversions/qwen_image_lora_constants.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/lora_conversions/qwen_image_lora_conversion_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/lora_conversions/sd_lora_conversion_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/lora_conversions/sdxl_lora_conversion_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/lora_conversions/wan_lora_constants.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/lora_conversions/wan_lora_conversion_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/lora_conversions/z_image_lora_constants.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/lora_conversions/z_image_lora_conversion_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/model_patch_raw.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/patches/pad_with_zeros.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/pid/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/pid/_ext/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/pid/_ext/imaginaire/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/pid/_ext/imaginaire/lazy_config/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/pid/_ext/imaginaire/lazy_config/file_io.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/pid/_ext/imaginaire/lazy_config/instantiate.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/pid/_ext/imaginaire/lazy_config/lazy.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/pid/_ext/imaginaire/lazy_config/registry.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/pid/_ext/imaginaire/model.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/pid/_ext/imaginaire/utils/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/pid/_ext/imaginaire/utils/count_params.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/pid/_ext/imaginaire/utils/device.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/pid/_ext/imaginaire/utils/distributed.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/pid/_ext/imaginaire/utils/log.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/pid/_ext/imaginaire/utils/misc.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/pid/_src/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/pid/_src/inference/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/pid/_src/inference/checkpoint_registry.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/pid/_src/inference/pipeline_registry.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/pid/_src/models/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/pid/_src/models/pid_distill_model.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/pid/_src/models/pid_model.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/pid/_src/models/pixeldit_model.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/pid/_src/modules/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/pid/_src/modules/conditioner.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/pid/_src/networks/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/pid/_src/networks/lq_projection_2d.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/pid/_src/networks/pid_net.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/pid/_src/networks/pixeldit_official.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/pid/_src/utils/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/pid/_src/utils/context_parallel.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/pid/state_dict_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/quantization/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/quantization/bnb_llm_int8.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/quantization/bnb_nf4.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/quantization/gguf/utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/quantization/scripts/load_flux_model_bnb_llm_int8.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/quantization/scripts/load_flux_model_bnb_nf4.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/quantization/scripts/quantize_t5_xxl_bnb_llm_int8.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/quantization/sdnq/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/quantization/sdnq/sdnq_tensor.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/quantization/sdnq/utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/qwen3/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/qwen3/qwen3_tokenizer.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/qwen3/tokenizer/special_tokens_map.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/qwen3/tokenizer/tokenizer.json.gz +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/qwen3/tokenizer/tokenizer_config.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/raw_model.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/rectified_flow/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/rectified_flow/er_sde_scheduler.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/rectified_flow/rectified_flow_inpaint_extension.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/sig_lip/sig_lip_pipeline.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/spandrel_image_to_image_model.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/stable_diffusion/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/stable_diffusion/denoise_context.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/stable_diffusion/diffusers_pipeline.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/stable_diffusion/diffusion/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/stable_diffusion/diffusion/conditioning_data.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/stable_diffusion/diffusion/custom_atttention.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/stable_diffusion/diffusion/regional_ip_data.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/stable_diffusion/diffusion/regional_prompt_data.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/stable_diffusion/diffusion/unet_attention_patcher.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/stable_diffusion/diffusion_backend.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/stable_diffusion/extension_callback_type.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/stable_diffusion/extensions/base.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/stable_diffusion/extensions/controlnet.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/stable_diffusion/extensions/freeu.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/stable_diffusion/extensions/hidiffusion.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/stable_diffusion/extensions/inpaint.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/stable_diffusion/extensions/inpaint_model.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/stable_diffusion/extensions/lora.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/stable_diffusion/extensions/preview.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/stable_diffusion/extensions/rescale_cfg.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/stable_diffusion/extensions/seamless.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/stable_diffusion/extensions/t2i_adapter.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/stable_diffusion/extensions_manager.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/stable_diffusion/hidiffusion_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/stable_diffusion/multi_diffusion_pipeline.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/stable_diffusion/schedulers/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/stable_diffusion/schedulers/schedulers.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/stable_diffusion/vae_tiling.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/t5/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/t5/t5_tokenizer.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/t5/tokenizer/special_tokens_map.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/t5/tokenizer/tokenizer.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/t5/tokenizer/tokenizer_config.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/text_llm_pipeline.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/textual_inversion.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/tiles/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/tiles/tiles.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/tiles/utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/util/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/util/build_line.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/util/calc_tensor_size.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/util/catch_sigint.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/util/device_pool.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/util/devices.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/util/fp8.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/util/gallery_maintenance.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/util/hotfixes.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/util/level_zero.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/util/logging.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/util/mask.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/util/original_weights_storage.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/util/prefix_logger_adapter.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/util/silence_warnings.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/util/test_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/util/util.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/wan/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/wan/extensions/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/wan/extensions/wan_ref_image_extension.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/wan/rocm_causal_conv3d.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/wan/sampling_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/z_image/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/z_image/extensions/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/z_image/extensions/regional_prompting_extension.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/z_image/text_conditioning.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/z_image/z_image_control_adapter.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/z_image/z_image_control_transformer.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/z_image/z_image_controlnet_extension.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/z_image/z_image_patchify_utils.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/backend/z_image/z_image_transformer_patch.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/configs/controlnet/cldm_v15.yaml +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/configs/controlnet/cldm_v21.yaml +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/configs/stable-diffusion/sd_xl_base.yaml +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/configs/stable-diffusion/sd_xl_inpaint.yaml +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/configs/stable-diffusion/sd_xl_refiner.yaml +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/configs/stable-diffusion/v1-finetune.yaml +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/configs/stable-diffusion/v1-finetune_style.yaml +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/configs/stable-diffusion/v1-inference-v.yaml +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/configs/stable-diffusion/v1-inference.yaml +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/configs/stable-diffusion/v1-inpainting-inference.yaml +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/configs/stable-diffusion/v1-m1-finetune.yaml +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/configs/stable-diffusion/v2-inference-v.yaml +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/configs/stable-diffusion/v2-inference.yaml +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/configs/stable-diffusion/v2-inpainting-inference-v.yaml +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/configs/stable-diffusion/v2-inpainting-inference.yaml +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/configs/stable-diffusion/v2-midas-inference.yaml +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/cli/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/cli/arg_parser.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/install/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/install/import_images.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/App-tn1JZtBo.css +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/browser-ponyfill-BpMPqZAt.js +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/chunk-jRWAZmH_.js +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/denoising-strength-4mznP2tj.png +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/images/commercial-license-bg.png +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/images/denoising-strength.png +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/images/invoke-alert-favicon.svg +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/images/invoke-avatar-circle.svg +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/images/invoke-avatar-square.svg +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/images/invoke-favicon.png +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/images/invoke-favicon.svg +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/images/invoke-key-char-lrg.svg +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/images/invoke-key-char-sml.svg +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/images/invoke-key-wht-lrg.svg +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/images/invoke-key-wht-sml.svg +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/images/invoke-symbol-char-lrg.svg +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/images/invoke-symbol-char-sml.svg +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/images/invoke-symbol-wht-lrg.svg +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/images/invoke-symbol-wht-sml.svg +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/images/invoke-symbol-ylw-lrg.svg +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/images/invoke-tag-char-lrg.svg +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/images/invoke-tag-char-sml.svg +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/images/invoke-tag-lrg.svg +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/images/invoke-tag-sml.svg +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/images/invoke-wordmark-charcoal.svg +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/images/invoke-wordmark-white.svg +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/images/mask.svg +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2 +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2 +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2 +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/inter-greek-wght-normal-CkhJZR-_.woff2 +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2 +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/inter-latin-wght-normal-Dx4kXJAl.woff2 +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2 +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/assets/worker-DrJIfe_t.js +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/locales/ar.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/locales/az.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/locales/bg.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/locales/de.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/locales/en-GB.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/locales/es.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/locales/fi.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/locales/fr.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/locales/he.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/locales/hu.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/locales/it.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/locales/ja.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/locales/ko.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/locales/mn.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/locales/nl.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/locales/pl.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/locales/pt-BR.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/locales/pt.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/locales/ro.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/locales/ru.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/locales/sv.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/locales/tr.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/locales/uk.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/locales/vi.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/locales/zh-CN.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/dist/locales/zh-Hant.json +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/scripts/clean_translations.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/frontend/web/static/docs/invoke-favicon-docs.svg +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/invocation_api/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/invokeai/version/__init__.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/setup.cfg +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/tests/test_asyncio_shutdown.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/tests/test_check_pins.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/tests/test_dangerously_run_function_in_subprocess.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/tests/test_docs_json_export.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/tests/test_graph_execution_state.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/tests/test_imports.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/tests/test_invocation_cache_memory.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/tests/test_item_storage_memory.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/tests/test_model_hash.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/tests/test_model_search.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/tests/test_node_graph.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/tests/test_nodes.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/tests/test_path.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/tests/test_profiler.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/tests/test_session_queue.py +0 -0
- {invokeai-6.14.0rc2 → invokeai-6.14.2}/tests/test_sqlite_migrator.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: InvokeAI
|
|
3
|
-
Version: 6.14.
|
|
3
|
+
Version: 6.14.2
|
|
4
4
|
Summary: A full-featured AI-assisted image generation environment designed for creatives and enthusiasts.
|
|
5
5
|
Author-email: Invoke <support@invoke.ai>
|
|
6
6
|
License: Apache License
|
|
@@ -214,7 +214,7 @@ License-File: LICENSE-SDXL.txt
|
|
|
214
214
|
Requires-Dist: accelerate
|
|
215
215
|
Requires-Dist: bitsandbytes; sys_platform != "darwin"
|
|
216
216
|
Requires-Dist: compel<3,>=2.4.0
|
|
217
|
-
Requires-Dist: diffusers[torch]==0.
|
|
217
|
+
Requires-Dist: diffusers[torch]==0.40.0
|
|
218
218
|
Requires-Dist: gguf
|
|
219
219
|
Requires-Dist: mediapipe==0.10.14
|
|
220
220
|
Requires-Dist: mistral-common<2,>=1.5.4
|
|
@@ -233,7 +233,7 @@ Requires-Dist: torchsde
|
|
|
233
233
|
Requires-Dist: torchvision
|
|
234
234
|
Requires-Dist: transformers<5.6,>=5.5
|
|
235
235
|
Requires-Dist: fastapi-events
|
|
236
|
-
Requires-Dist: fastapi
|
|
236
|
+
Requires-Dist: fastapi<0.142,>=0.141.1
|
|
237
237
|
Requires-Dist: huggingface-hub
|
|
238
238
|
Requires-Dist: networkx
|
|
239
239
|
Requires-Dist: pydantic-settings
|
|
@@ -247,6 +247,7 @@ Requires-Dist: dnspython
|
|
|
247
247
|
Requires-Dist: dynamicprompts
|
|
248
248
|
Requires-Dist: einops
|
|
249
249
|
Requires-Dist: email-validator>=2.0.0
|
|
250
|
+
Requires-Dist: fonttools[woff]
|
|
250
251
|
Requires-Dist: passlib[bcrypt]>=1.7.4
|
|
251
252
|
Requires-Dist: picklescan
|
|
252
253
|
Requires-Dist: pillow
|
|
@@ -124,6 +124,7 @@ invokeai/app/invocations/krea2_denoise.py
|
|
|
124
124
|
invokeai/app/invocations/krea2_lora_loader.py
|
|
125
125
|
invokeai/app/invocations/krea2_model_loader.py
|
|
126
126
|
invokeai/app/invocations/krea2_seed_variance.py
|
|
127
|
+
invokeai/app/invocations/krea2_style_reference.py
|
|
127
128
|
invokeai/app/invocations/krea2_text_encoder.py
|
|
128
129
|
invokeai/app/invocations/latent_noise.py
|
|
129
130
|
invokeai/app/invocations/latents_to_image.py
|
|
@@ -359,6 +360,8 @@ invokeai/app/services/shared/sqlite_migrator/migrations/migration_2026_07_01_add
|
|
|
359
360
|
invokeai/app/services/shared/sqlite_migrator/migrations/migration_2026_07_01_add_workflow_call_queue_metadata.py
|
|
360
361
|
invokeai/app/services/shared/sqlite_migrator/migrations/migration_2026_07_03_round_robin_indexes.py
|
|
361
362
|
invokeai/app/services/shared/sqlite_migrator/migrations/migration_2026_07_10_create_system_prompts.py
|
|
363
|
+
invokeai/app/services/shared/sqlite_migrator/migrations/migration_2026_07_31_add_user_token_epoch.py
|
|
364
|
+
invokeai/app/services/shared/sqlite_migrator/migrations/migration_2026_08_08_demote_system_user.py
|
|
362
365
|
invokeai/app/services/shared/sqlite_migrator/migrations/migration_21.py
|
|
363
366
|
invokeai/app/services/shared/sqlite_migrator/migrations/migration_22.py
|
|
364
367
|
invokeai/app/services/shared/sqlite_migrator/migrations/migration_23.py
|
|
@@ -473,6 +476,7 @@ invokeai/app/util/dynamicprompts.py
|
|
|
473
476
|
invokeai/app/util/metaenum.py
|
|
474
477
|
invokeai/app/util/misc.py
|
|
475
478
|
invokeai/app/util/model_exclude_null.py
|
|
479
|
+
invokeai/app/util/path_safety.py
|
|
476
480
|
invokeai/app/util/profiler.py
|
|
477
481
|
invokeai/app/util/ssrf.py
|
|
478
482
|
invokeai/app/util/startup_utils.py
|
|
@@ -657,6 +661,10 @@ invokeai/backend/krea2/__init__.py
|
|
|
657
661
|
invokeai/backend/krea2/attention.py
|
|
658
662
|
invokeai/backend/krea2/regional_prompting.py
|
|
659
663
|
invokeai/backend/krea2/sampling_utils.py
|
|
664
|
+
invokeai/backend/krea2/style_reference.py
|
|
665
|
+
invokeai/backend/krea2/style_reference_extension.py
|
|
666
|
+
invokeai/backend/krea2/style_reference_rf.py
|
|
667
|
+
invokeai/backend/krea2/text_encoding.py
|
|
660
668
|
invokeai/backend/krea2/vae_compat.py
|
|
661
669
|
invokeai/backend/model_hash/hash_validator.py
|
|
662
670
|
invokeai/backend/model_hash/model_hash.py
|
|
@@ -931,12 +939,15 @@ invokeai/backend/util/mask.py
|
|
|
931
939
|
invokeai/backend/util/original_weights_storage.py
|
|
932
940
|
invokeai/backend/util/prefix_logger_adapter.py
|
|
933
941
|
invokeai/backend/util/silence_warnings.py
|
|
942
|
+
invokeai/backend/util/state_dict_loading.py
|
|
934
943
|
invokeai/backend/util/test_utils.py
|
|
935
944
|
invokeai/backend/util/util.py
|
|
936
945
|
invokeai/backend/util/vae_working_memory.py
|
|
937
946
|
invokeai/backend/wan/__init__.py
|
|
947
|
+
invokeai/backend/wan/memory_optimization.py
|
|
938
948
|
invokeai/backend/wan/rocm_causal_conv3d.py
|
|
939
949
|
invokeai/backend/wan/sampling_utils.py
|
|
950
|
+
invokeai/backend/wan/vae_decode.py
|
|
940
951
|
invokeai/backend/wan/extensions/__init__.py
|
|
941
952
|
invokeai/backend/wan/extensions/wan_ref_image_extension.py
|
|
942
953
|
invokeai/backend/z_image/__init__.py
|
|
@@ -971,12 +982,12 @@ invokeai/frontend/install/__init__.py
|
|
|
971
982
|
invokeai/frontend/install/import_images.py
|
|
972
983
|
invokeai/frontend/web/__init__.py
|
|
973
984
|
invokeai/frontend/web/dist/index.html
|
|
974
|
-
invokeai/frontend/web/dist/assets/App-
|
|
985
|
+
invokeai/frontend/web/dist/assets/App-DvlZKGz7.js
|
|
975
986
|
invokeai/frontend/web/dist/assets/App-tn1JZtBo.css
|
|
976
987
|
invokeai/frontend/web/dist/assets/browser-ponyfill-BpMPqZAt.js
|
|
977
988
|
invokeai/frontend/web/dist/assets/chunk-jRWAZmH_.js
|
|
978
989
|
invokeai/frontend/web/dist/assets/denoising-strength-4mznP2tj.png
|
|
979
|
-
invokeai/frontend/web/dist/assets/index-
|
|
990
|
+
invokeai/frontend/web/dist/assets/index-BuK6cFYB.js
|
|
980
991
|
invokeai/frontend/web/dist/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2
|
|
981
992
|
invokeai/frontend/web/dist/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2
|
|
982
993
|
invokeai/frontend/web/dist/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2
|
|
@@ -1041,6 +1052,7 @@ invokeai/invocation_api/__init__.py
|
|
|
1041
1052
|
invokeai/version/__init__.py
|
|
1042
1053
|
invokeai/version/invokeai_version.py
|
|
1043
1054
|
tests/test_asyncio_shutdown.py
|
|
1055
|
+
tests/test_calibrate_wan_vae_working_memory.py
|
|
1044
1056
|
tests/test_check_pins.py
|
|
1045
1057
|
tests/test_config.py
|
|
1046
1058
|
tests/test_dangerously_run_function_in_subprocess.py
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
accelerate
|
|
2
2
|
compel<3,>=2.4.0
|
|
3
|
-
diffusers[torch]==0.
|
|
3
|
+
diffusers[torch]==0.40.0
|
|
4
4
|
gguf
|
|
5
5
|
mediapipe==0.10.14
|
|
6
6
|
mistral-common<2,>=1.5.4
|
|
@@ -17,7 +17,7 @@ torchsde
|
|
|
17
17
|
torchvision
|
|
18
18
|
transformers<5.6,>=5.5
|
|
19
19
|
fastapi-events
|
|
20
|
-
fastapi
|
|
20
|
+
fastapi<0.142,>=0.141.1
|
|
21
21
|
huggingface-hub
|
|
22
22
|
networkx
|
|
23
23
|
pydantic-settings
|
|
@@ -31,6 +31,7 @@ dnspython
|
|
|
31
31
|
dynamicprompts
|
|
32
32
|
einops
|
|
33
33
|
email-validator>=2.0.0
|
|
34
|
+
fonttools[woff]
|
|
34
35
|
passlib[bcrypt]>=1.7.4
|
|
35
36
|
picklescan
|
|
36
37
|
pillow
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: InvokeAI
|
|
3
|
-
Version: 6.14.
|
|
3
|
+
Version: 6.14.2
|
|
4
4
|
Summary: A full-featured AI-assisted image generation environment designed for creatives and enthusiasts.
|
|
5
5
|
Author-email: Invoke <support@invoke.ai>
|
|
6
6
|
License: Apache License
|
|
@@ -214,7 +214,7 @@ License-File: LICENSE-SDXL.txt
|
|
|
214
214
|
Requires-Dist: accelerate
|
|
215
215
|
Requires-Dist: bitsandbytes; sys_platform != "darwin"
|
|
216
216
|
Requires-Dist: compel<3,>=2.4.0
|
|
217
|
-
Requires-Dist: diffusers[torch]==0.
|
|
217
|
+
Requires-Dist: diffusers[torch]==0.40.0
|
|
218
218
|
Requires-Dist: gguf
|
|
219
219
|
Requires-Dist: mediapipe==0.10.14
|
|
220
220
|
Requires-Dist: mistral-common<2,>=1.5.4
|
|
@@ -233,7 +233,7 @@ Requires-Dist: torchsde
|
|
|
233
233
|
Requires-Dist: torchvision
|
|
234
234
|
Requires-Dist: transformers<5.6,>=5.5
|
|
235
235
|
Requires-Dist: fastapi-events
|
|
236
|
-
Requires-Dist: fastapi
|
|
236
|
+
Requires-Dist: fastapi<0.142,>=0.141.1
|
|
237
237
|
Requires-Dist: huggingface-hub
|
|
238
238
|
Requires-Dist: networkx
|
|
239
239
|
Requires-Dist: pydantic-settings
|
|
@@ -247,6 +247,7 @@ Requires-Dist: dnspython
|
|
|
247
247
|
Requires-Dist: dynamicprompts
|
|
248
248
|
Requires-Dist: einops
|
|
249
249
|
Requires-Dist: email-validator>=2.0.0
|
|
250
|
+
Requires-Dist: fonttools[woff]
|
|
250
251
|
Requires-Dist: passlib[bcrypt]>=1.7.4
|
|
251
252
|
Requires-Dist: picklescan
|
|
252
253
|
Requires-Dist: pillow
|
|
@@ -1,19 +1,73 @@
|
|
|
1
1
|
"""FastAPI dependencies for authentication."""
|
|
2
2
|
|
|
3
|
-
from typing import Annotated
|
|
3
|
+
from typing import TYPE_CHECKING, Annotated
|
|
4
4
|
|
|
5
5
|
from fastapi import Cookie, Depends, HTTPException, status
|
|
6
6
|
from fastapi.security import HTTPAuthorizationCredentials, HTTPBearer
|
|
7
7
|
|
|
8
8
|
from invokeai.app.api.dependencies import ApiDependencies
|
|
9
9
|
from invokeai.app.services.auth.token_service import TokenData, verify_token
|
|
10
|
+
from invokeai.app.services.users.users_common import SYSTEM_USER_ID
|
|
10
11
|
from invokeai.backend.util.logging import logging
|
|
11
12
|
|
|
13
|
+
if TYPE_CHECKING:
|
|
14
|
+
from invokeai.app.services.users.users_common import UserDTO
|
|
15
|
+
|
|
12
16
|
logger = logging.getLogger(__name__)
|
|
13
17
|
|
|
14
18
|
# HTTP Bearer token security scheme
|
|
15
19
|
security = HTTPBearer(auto_error=False)
|
|
16
20
|
MEDIA_TOKEN_COOKIE = "invokeai_media_token"
|
|
21
|
+
# Deliberately indistinguishable from an ordinary expiry to a client: a token that fails
|
|
22
|
+
# the epoch check is simply no longer valid, and saying *why* would tell a holder of a
|
|
23
|
+
# stolen token that the account's password was just rotated.
|
|
24
|
+
TOKEN_REVOKED_DETAIL = "Invalid or expired authentication token"
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def resolve_authorized_user(token_data: TokenData) -> "UserDTO | None":
|
|
28
|
+
"""Return the account a verified token still grants access to, or None.
|
|
29
|
+
|
|
30
|
+
This is the single place that decides whether a syntactically valid token is still
|
|
31
|
+
honored, and every authenticated entry point must go through it: the REST
|
|
32
|
+
dependencies below, the Socket.IO handshake, and the video-upload ASGI gate. Keeping
|
|
33
|
+
the rules in one function is deliberate — they were previously repeated at each call
|
|
34
|
+
site, and a check added to some copies but not others is indistinguishable from no
|
|
35
|
+
check at all on the paths that were missed.
|
|
36
|
+
|
|
37
|
+
A token is honored when all four hold:
|
|
38
|
+
|
|
39
|
+
- it does not claim the internal ``system`` account,
|
|
40
|
+
- the account still exists,
|
|
41
|
+
- it is active,
|
|
42
|
+
- and the token carries the account's current revocation epoch. Any mismatch counts
|
|
43
|
+
as revoked: the token was not issued from the record as it now stands. Tokens
|
|
44
|
+
predating the claim decode to 0 and so remain valid against a record that has never
|
|
45
|
+
been bumped, which is why upgrading logs nobody out.
|
|
46
|
+
|
|
47
|
+
Raises whatever the user service raises; callers that must fail closed should catch.
|
|
48
|
+
"""
|
|
49
|
+
# `system` owns everything carried over from before multiuser support, and is not a
|
|
50
|
+
# login account: `UserService.authenticate` refuses it and the migration clears any
|
|
51
|
+
# password left on the row. Neither of those reaches a token that was *already issued*
|
|
52
|
+
# — on an instance that set a password through the old `PATCH /auth/users/system` hole
|
|
53
|
+
# and logged in before it was closed, the JWT survives the upgrade, and nothing else
|
|
54
|
+
# here would reject it: the row is deliberately kept active and its epoch still
|
|
55
|
+
# matches, so the sliding-window middleware would renew it indefinitely. Refusing the
|
|
56
|
+
# id is what actually ends those sessions, and it holds for databases that applied an
|
|
57
|
+
# earlier revision of the migration too.
|
|
58
|
+
#
|
|
59
|
+
# Single-user mode, where everything legitimately runs as `system`, never reaches here:
|
|
60
|
+
# its dependencies synthesize the TokenData and return before resolving anything (see
|
|
61
|
+
# `get_current_user_or_default`, `get_current_media_user_or_default`, and
|
|
62
|
+
# `_identify_video_upload_user`). So this refuses only real, minted tokens.
|
|
63
|
+
if token_data.user_id == SYSTEM_USER_ID:
|
|
64
|
+
return None
|
|
65
|
+
user = ApiDependencies.invoker.services.users.get(token_data.user_id)
|
|
66
|
+
if user is None or not user.is_active:
|
|
67
|
+
return None
|
|
68
|
+
if token_data.token_epoch != user.token_epoch:
|
|
69
|
+
return None
|
|
70
|
+
return user
|
|
17
71
|
|
|
18
72
|
|
|
19
73
|
def _validate_token(token: str, invalid_detail: str) -> TokenData:
|
|
@@ -21,13 +75,34 @@ def _validate_token(token: str, invalid_detail: str) -> TokenData:
|
|
|
21
75
|
if token_data is None:
|
|
22
76
|
raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail=invalid_detail)
|
|
23
77
|
|
|
24
|
-
user =
|
|
25
|
-
if user is None
|
|
78
|
+
user = resolve_authorized_user(token_data)
|
|
79
|
+
if user is None:
|
|
26
80
|
raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail="User not found or inactive")
|
|
27
|
-
return token_data
|
|
81
|
+
return _db_derived_token_data(token_data, user)
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
def _db_derived_token_data(token_data: TokenData, user: "UserDTO") -> TokenData:
|
|
85
|
+
"""Build TokenData whose authorization fields come from the database record.
|
|
86
|
+
|
|
87
|
+
The JWT proves *identity* only. Authorization (``is_admin``) must reflect the
|
|
88
|
+
current database state on every request; otherwise a demoted administrator
|
|
89
|
+
keeps admin rights until their token expires — and sliding-window refresh
|
|
90
|
+
would renew that stale claim indefinitely. A promoted user symmetrically
|
|
91
|
+
gains admin rights on their next request without re-login.
|
|
92
|
+
|
|
93
|
+
The epoch is carried through from the record so a refreshed token stays valid
|
|
94
|
+
(callers only reach here once ``_token_epoch_is_current`` has passed).
|
|
95
|
+
"""
|
|
96
|
+
return TokenData(
|
|
97
|
+
user_id=user.user_id,
|
|
98
|
+
email=user.email,
|
|
99
|
+
is_admin=user.is_admin,
|
|
100
|
+
remember_me=token_data.remember_me,
|
|
101
|
+
token_epoch=user.token_epoch,
|
|
102
|
+
)
|
|
28
103
|
|
|
29
104
|
|
|
30
|
-
|
|
105
|
+
def get_current_user(
|
|
31
106
|
credentials: Annotated[HTTPAuthorizationCredentials | None, Depends(security)],
|
|
32
107
|
) -> TokenData:
|
|
33
108
|
"""Get current authenticated user from Bearer token.
|
|
@@ -62,21 +137,20 @@ async def get_current_user(
|
|
|
62
137
|
headers={"WWW-Authenticate": "Bearer"},
|
|
63
138
|
)
|
|
64
139
|
|
|
65
|
-
# Verify
|
|
66
|
-
|
|
67
|
-
user = user_service.get(token_data.user_id)
|
|
140
|
+
# Verify the token still grants access: user exists, is active, epoch is current.
|
|
141
|
+
user = resolve_authorized_user(token_data)
|
|
68
142
|
|
|
69
|
-
if user is None
|
|
143
|
+
if user is None:
|
|
70
144
|
raise HTTPException(
|
|
71
145
|
status_code=status.HTTP_401_UNAUTHORIZED,
|
|
72
146
|
detail="User account is inactive or does not exist",
|
|
73
147
|
headers={"WWW-Authenticate": "Bearer"},
|
|
74
148
|
)
|
|
75
149
|
|
|
76
|
-
return token_data
|
|
150
|
+
return _db_derived_token_data(token_data, user)
|
|
77
151
|
|
|
78
152
|
|
|
79
|
-
|
|
153
|
+
def get_current_user_or_default(
|
|
80
154
|
credentials: Annotated[HTTPAuthorizationCredentials | None, Depends(security)],
|
|
81
155
|
) -> TokenData:
|
|
82
156
|
"""Get current authenticated user from Bearer token, or return a default system user if not authenticated.
|
|
@@ -117,18 +191,17 @@ async def get_current_user_or_default(
|
|
|
117
191
|
# Invalid token in multiuser mode - reject
|
|
118
192
|
raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail="Invalid or expired token")
|
|
119
193
|
|
|
120
|
-
# Verify
|
|
121
|
-
|
|
122
|
-
user = user_service.get(token_data.user_id)
|
|
194
|
+
# Verify the token still grants access: user exists, is active, epoch is current.
|
|
195
|
+
user = resolve_authorized_user(token_data)
|
|
123
196
|
|
|
124
|
-
if user is None
|
|
125
|
-
#
|
|
197
|
+
if user is None:
|
|
198
|
+
# Missing, inactive, or revoked in multiuser mode - reject
|
|
126
199
|
raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail="User not found or inactive")
|
|
127
200
|
|
|
128
|
-
return token_data
|
|
201
|
+
return _db_derived_token_data(token_data, user)
|
|
129
202
|
|
|
130
203
|
|
|
131
|
-
|
|
204
|
+
def get_current_media_user_or_default(
|
|
132
205
|
credentials: Annotated[HTTPAuthorizationCredentials | None, Depends(security)],
|
|
133
206
|
media_token: Annotated[str | None, Cookie(alias=MEDIA_TOKEN_COOKIE)] = None,
|
|
134
207
|
) -> TokenData:
|
|
@@ -141,11 +214,16 @@ async def get_current_media_user_or_default(
|
|
|
141
214
|
return _validate_token(token, "Invalid or expired token")
|
|
142
215
|
|
|
143
216
|
|
|
144
|
-
|
|
217
|
+
def require_admin(
|
|
145
218
|
current_user: Annotated[TokenData, Depends(get_current_user)],
|
|
146
219
|
) -> TokenData:
|
|
147
220
|
"""Require admin role for the current user.
|
|
148
221
|
|
|
222
|
+
Stays `async def`, unlike the dependencies it builds on: this only reads a field off the
|
|
223
|
+
already-resolved token data. Declaring it `def` would buy a threadpool round-trip per admin
|
|
224
|
+
request and nothing else. The `users.get` that can block lives in `get_current_user`, which
|
|
225
|
+
is synchronous for that reason.
|
|
226
|
+
|
|
149
227
|
Args:
|
|
150
228
|
current_user: The current authenticated user's token data
|
|
151
229
|
|
|
@@ -160,11 +238,13 @@ async def require_admin(
|
|
|
160
238
|
return current_user
|
|
161
239
|
|
|
162
240
|
|
|
163
|
-
|
|
241
|
+
def require_admin_or_default(
|
|
164
242
|
current_user: Annotated[TokenData, Depends(get_current_user_or_default)],
|
|
165
243
|
) -> TokenData:
|
|
166
244
|
"""Require admin role for the current user, or return default system admin in single-user mode.
|
|
167
245
|
|
|
246
|
+
`async def` for the same reason as `require_admin`: it does no blocking work of its own.
|
|
247
|
+
|
|
168
248
|
This dependency is useful for admin-only endpoints that should work in both single-user and multiuser modes.
|
|
169
249
|
|
|
170
250
|
When multiuser mode is disabled (default), this always returns a system user with admin privileges.
|
|
@@ -8,7 +8,10 @@ from fastapi import HTTPException
|
|
|
8
8
|
|
|
9
9
|
from invokeai.app.api.auth_dependencies import CurrentUserOrDefault
|
|
10
10
|
from invokeai.app.api.dependencies import ApiDependencies
|
|
11
|
-
from invokeai.app.services.board_records.board_records_common import
|
|
11
|
+
from invokeai.app.services.board_records.board_records_common import (
|
|
12
|
+
BoardRecordNotFoundException,
|
|
13
|
+
BoardVisibility,
|
|
14
|
+
)
|
|
12
15
|
|
|
13
16
|
|
|
14
17
|
def assert_image_owner(image_name: str, current_user: CurrentUserOrDefault) -> None:
|
|
@@ -28,18 +31,56 @@ def assert_image_owner(image_name: str, current_user: CurrentUserOrDefault) -> N
|
|
|
28
31
|
|
|
29
32
|
board_id = ApiDependencies.invoker.services.board_image_records.get_board_for_image(image_name)
|
|
30
33
|
if board_id is not None:
|
|
34
|
+
# The board *record*, not its DTO: the decision needs only the owner and the
|
|
35
|
+
# visibility, and the DTO would drag in cover-image resolution plus three COUNT
|
|
36
|
+
# aggregates — five extra queries and five extra ways to fail per name.
|
|
37
|
+
#
|
|
38
|
+
# Only a board positively known to be gone falls through to the 403. A storage error
|
|
39
|
+
# propagates instead of being caught here: `board_records.get` deliberately does not
|
|
40
|
+
# translate sqlite errors into not-found, and a caller that cannot decide ownership
|
|
41
|
+
# must not report the name as an ordinary permission denial — the batch loops treat a
|
|
42
|
+
# 403 as a silent auth skip, which turned a locked database into images dropped from
|
|
43
|
+
# the response with no failure reported at all.
|
|
31
44
|
try:
|
|
32
|
-
board = ApiDependencies.invoker.services.
|
|
45
|
+
board = ApiDependencies.invoker.services.board_records.get(board_id)
|
|
46
|
+
except BoardRecordNotFoundException:
|
|
47
|
+
pass
|
|
48
|
+
else:
|
|
33
49
|
if board.user_id == current_user.user_id:
|
|
34
50
|
return
|
|
35
51
|
if board.board_visibility == BoardVisibility.Public:
|
|
36
52
|
return
|
|
37
|
-
except Exception:
|
|
38
|
-
pass
|
|
39
53
|
|
|
40
54
|
raise HTTPException(status_code=403, detail="Not authorized to modify this image")
|
|
41
55
|
|
|
42
56
|
|
|
57
|
+
def _assert_image_record_exists(image_name: str) -> None:
|
|
58
|
+
"""Turn a refusal into a 404 when the image is positively gone.
|
|
59
|
+
|
|
60
|
+
The two refusals mean opposite things to a client holding a reference to the image — a
|
|
61
|
+
workflow's image field, a reference image on a canvas layer. Gone is permanent, and the
|
|
62
|
+
reference should be dropped. Denied is a permission decision that can be reversed (a board
|
|
63
|
+
flipped back to Shared, an owner re-granting access), and dropping the reference over one
|
|
64
|
+
destroys work the user cannot get back by restoring the permission.
|
|
65
|
+
|
|
66
|
+
Nothing above can tell them apart: the ownership test rests on `images.user_id`, which is
|
|
67
|
+
gone with the row, so a deleted image reaches that same 403 as a foreign one. So the
|
|
68
|
+
distinction is made here, on the refusal path only — the happy path pays nothing for it.
|
|
69
|
+
|
|
70
|
+
A storage error propagates rather than answering either, so an unreadable database cannot
|
|
71
|
+
present as a deleted image and take the user's references down with it. `exists` is a bare
|
|
72
|
+
row probe rather than `get` for the same reason from the other side: `get` deserializes, so
|
|
73
|
+
a row written by a newer version — an enum value this one does not know — would fail exactly
|
|
74
|
+
as absence does, and a live image would be reported gone.
|
|
75
|
+
|
|
76
|
+
The cost is that an authenticated caller can now tell an absent image from one they may not
|
|
77
|
+
read. Image names are generated UUIDs, so this buys an attacker nothing they could enumerate,
|
|
78
|
+
and it is the answer admins have always received.
|
|
79
|
+
"""
|
|
80
|
+
if not ApiDependencies.invoker.services.image_records.exists(image_name):
|
|
81
|
+
raise HTTPException(status_code=404, detail="Image not found")
|
|
82
|
+
|
|
83
|
+
|
|
43
84
|
def assert_image_read_access(image_name: str, current_user: CurrentUserOrDefault) -> None:
|
|
44
85
|
"""Raise 403 if the current user may not view the image.
|
|
45
86
|
|
|
@@ -57,13 +98,17 @@ def assert_image_read_access(image_name: str, current_user: CurrentUserOrDefault
|
|
|
57
98
|
|
|
58
99
|
board_id = ApiDependencies.invoker.services.board_image_records.get_board_for_image(image_name)
|
|
59
100
|
if board_id is not None:
|
|
101
|
+
# See `assert_image_owner` for why this reads the board record and catches only
|
|
102
|
+
# not-found: a lookup that cannot be decided must not present as a permission decision.
|
|
60
103
|
try:
|
|
61
|
-
board = ApiDependencies.invoker.services.
|
|
104
|
+
board = ApiDependencies.invoker.services.board_records.get(board_id)
|
|
105
|
+
except BoardRecordNotFoundException:
|
|
106
|
+
pass
|
|
107
|
+
else:
|
|
62
108
|
if board.board_visibility in (BoardVisibility.Shared, BoardVisibility.Public):
|
|
63
109
|
return
|
|
64
|
-
except Exception:
|
|
65
|
-
pass
|
|
66
110
|
|
|
111
|
+
_assert_image_record_exists(image_name)
|
|
67
112
|
raise HTTPException(status_code=403, detail="Not authorized to access this image")
|
|
68
113
|
|
|
69
114
|
|
|
@@ -52,12 +52,12 @@ class AppVersion(BaseModel):
|
|
|
52
52
|
|
|
53
53
|
|
|
54
54
|
@app_router.get("/version", operation_id="app_version", status_code=200, response_model=AppVersion)
|
|
55
|
-
|
|
55
|
+
def get_version() -> AppVersion:
|
|
56
56
|
return AppVersion(version=__version__)
|
|
57
57
|
|
|
58
58
|
|
|
59
59
|
@app_router.get("/app_deps", operation_id="get_app_deps", status_code=200, response_model=dict[str, str])
|
|
60
|
-
|
|
60
|
+
def get_app_deps(current_user: CurrentUserOrDefault) -> dict[str, str]:
|
|
61
61
|
deps: dict[str, str] = {dist.metadata["Name"]: dist.version for dist in distributions()}
|
|
62
62
|
try:
|
|
63
63
|
cuda = getattr(getattr(torch, "version", None), "cuda", None) or "N/A" # pyright: ignore[reportAttributeAccessIssue]
|
|
@@ -72,7 +72,7 @@ async def get_app_deps(current_user: CurrentUserOrDefault) -> dict[str, str]:
|
|
|
72
72
|
|
|
73
73
|
|
|
74
74
|
@app_router.get("/patchmatch_status", operation_id="get_patchmatch_status", status_code=200, response_model=bool)
|
|
75
|
-
|
|
75
|
+
def get_patchmatch_status(current_user: CurrentUserOrDefault) -> bool:
|
|
76
76
|
return PatchMatch.patchmatch_available()
|
|
77
77
|
|
|
78
78
|
|
|
@@ -217,7 +217,7 @@ def _redact_config_secrets(config: InvokeAIAppConfig) -> InvokeAIAppConfig:
|
|
|
217
217
|
status_code=200,
|
|
218
218
|
response_model=list[GenerationDeviceOption],
|
|
219
219
|
)
|
|
220
|
-
|
|
220
|
+
def get_generation_device_options(current_user: CurrentUserOrDefault) -> list[GenerationDeviceOption]:
|
|
221
221
|
"""List the devices available for generation, for use with the `generation_devices` setting."""
|
|
222
222
|
options: list[GenerationDeviceOption] = []
|
|
223
223
|
if torch.cuda.is_available():
|
|
@@ -246,7 +246,7 @@ async def get_generation_device_options(current_user: CurrentUserOrDefault) -> l
|
|
|
246
246
|
@app_router.get(
|
|
247
247
|
"/runtime_config", operation_id="get_runtime_config", status_code=200, response_model=InvokeAIAppConfigWithSetFields
|
|
248
248
|
)
|
|
249
|
-
|
|
249
|
+
def get_runtime_config(current_admin: AdminUserOrDefault) -> InvokeAIAppConfigWithSetFields:
|
|
250
250
|
config = get_config()
|
|
251
251
|
return InvokeAIAppConfigWithSetFields(set_fields=config.model_fields_set, config=_redact_config_secrets(config))
|
|
252
252
|
|
|
@@ -257,7 +257,7 @@ async def get_runtime_config(current_admin: AdminUserOrDefault) -> InvokeAIAppCo
|
|
|
257
257
|
status_code=200,
|
|
258
258
|
response_model=InvokeAIAppConfigWithSetFields,
|
|
259
259
|
)
|
|
260
|
-
|
|
260
|
+
def update_runtime_config(
|
|
261
261
|
_: AdminUserOrDefault,
|
|
262
262
|
changes: UpdateAppGenerationSettingsRequest = Body(description="Writable runtime configuration changes"),
|
|
263
263
|
) -> InvokeAIAppConfigWithSetFields:
|
|
@@ -290,7 +290,7 @@ async def update_runtime_config(
|
|
|
290
290
|
status_code=200,
|
|
291
291
|
response_model=list[ExternalProviderStatusModel],
|
|
292
292
|
)
|
|
293
|
-
|
|
293
|
+
def get_external_provider_statuses(current_user: CurrentUserOrDefault) -> list[ExternalProviderStatusModel]:
|
|
294
294
|
statuses = ApiDependencies.invoker.services.external_generation.get_provider_statuses()
|
|
295
295
|
return [status_to_model(status) for status in statuses.values()]
|
|
296
296
|
|
|
@@ -301,7 +301,7 @@ async def get_external_provider_statuses(current_user: CurrentUserOrDefault) ->
|
|
|
301
301
|
status_code=200,
|
|
302
302
|
response_model=list[ExternalProviderConfigModel],
|
|
303
303
|
)
|
|
304
|
-
|
|
304
|
+
def get_external_provider_configs(current_admin: AdminUserOrDefault) -> list[ExternalProviderConfigModel]:
|
|
305
305
|
config = get_config()
|
|
306
306
|
return [_build_external_provider_config(provider_id, config) for provider_id in EXTERNAL_PROVIDER_FIELDS]
|
|
307
307
|
|
|
@@ -312,7 +312,7 @@ async def get_external_provider_configs(current_admin: AdminUserOrDefault) -> li
|
|
|
312
312
|
status_code=200,
|
|
313
313
|
response_model=ExternalProviderConfigModel,
|
|
314
314
|
)
|
|
315
|
-
|
|
315
|
+
def set_external_provider_config(
|
|
316
316
|
_: AdminUserOrDefault,
|
|
317
317
|
provider_id: str = Path(description="The external provider identifier"),
|
|
318
318
|
update: ExternalProviderConfigUpdate = Body(description="External provider configuration settings"),
|
|
@@ -343,7 +343,7 @@ async def set_external_provider_config(
|
|
|
343
343
|
status_code=200,
|
|
344
344
|
response_model=ExternalProviderConfigModel,
|
|
345
345
|
)
|
|
346
|
-
|
|
346
|
+
def reset_external_provider_config(
|
|
347
347
|
_: AdminUserOrDefault,
|
|
348
348
|
provider_id: str = Path(description="The external provider identifier"),
|
|
349
349
|
) -> ExternalProviderConfigModel:
|
|
@@ -452,7 +452,7 @@ def _remove_external_models_for_provider(provider_id: str) -> None:
|
|
|
452
452
|
responses={200: {"description": "The operation was successful"}},
|
|
453
453
|
response_model=LogLevel,
|
|
454
454
|
)
|
|
455
|
-
|
|
455
|
+
def get_log_level(current_admin: AdminUserOrDefault) -> LogLevel:
|
|
456
456
|
"""Returns the log level"""
|
|
457
457
|
return LogLevel(ApiDependencies.invoker.services.logger.level)
|
|
458
458
|
|
|
@@ -463,7 +463,7 @@ async def get_log_level(current_admin: AdminUserOrDefault) -> LogLevel:
|
|
|
463
463
|
responses={200: {"description": "The operation was successful"}},
|
|
464
464
|
response_model=LogLevel,
|
|
465
465
|
)
|
|
466
|
-
|
|
466
|
+
def set_log_level(
|
|
467
467
|
current_admin: AdminUserOrDefault,
|
|
468
468
|
level: LogLevel = Body(description="New log verbosity level"),
|
|
469
469
|
) -> LogLevel:
|
|
@@ -477,7 +477,7 @@ async def set_log_level(
|
|
|
477
477
|
operation_id="clear_invocation_cache",
|
|
478
478
|
responses={200: {"description": "The operation was successful"}},
|
|
479
479
|
)
|
|
480
|
-
|
|
480
|
+
def clear_invocation_cache(current_admin: AdminUserOrDefault) -> None:
|
|
481
481
|
"""Clears the invocation cache"""
|
|
482
482
|
ApiDependencies.invoker.services.invocation_cache.clear()
|
|
483
483
|
|
|
@@ -487,7 +487,7 @@ async def clear_invocation_cache(current_admin: AdminUserOrDefault) -> None:
|
|
|
487
487
|
operation_id="enable_invocation_cache",
|
|
488
488
|
responses={200: {"description": "The operation was successful"}},
|
|
489
489
|
)
|
|
490
|
-
|
|
490
|
+
def enable_invocation_cache(current_admin: AdminUserOrDefault) -> None:
|
|
491
491
|
"""Clears the invocation cache"""
|
|
492
492
|
ApiDependencies.invoker.services.invocation_cache.enable()
|
|
493
493
|
|
|
@@ -497,7 +497,7 @@ async def enable_invocation_cache(current_admin: AdminUserOrDefault) -> None:
|
|
|
497
497
|
operation_id="disable_invocation_cache",
|
|
498
498
|
responses={200: {"description": "The operation was successful"}},
|
|
499
499
|
)
|
|
500
|
-
|
|
500
|
+
def disable_invocation_cache(current_admin: AdminUserOrDefault) -> None:
|
|
501
501
|
"""Clears the invocation cache"""
|
|
502
502
|
ApiDependencies.invoker.services.invocation_cache.disable()
|
|
503
503
|
|
|
@@ -507,6 +507,6 @@ async def disable_invocation_cache(current_admin: AdminUserOrDefault) -> None:
|
|
|
507
507
|
operation_id="get_invocation_cache_status",
|
|
508
508
|
responses={200: {"model": InvocationCacheStatus}},
|
|
509
509
|
)
|
|
510
|
-
|
|
510
|
+
def get_invocation_cache_status(current_admin: AdminUserOrDefault) -> InvocationCacheStatus:
|
|
511
511
|
"""Clears the invocation cache"""
|
|
512
512
|
return ApiDependencies.invoker.services.invocation_cache.get_status()
|