InvokeAI 4.2.8rc2__tar.gz → 4.2.9.dev3__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-4.2.8rc2 → InvokeAI-4.2.9.dev3}/InvokeAI.egg-info/PKG-INFO +1 -1
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/InvokeAI.egg-info/SOURCES.txt +5 -3
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/PKG-INFO +1 -1
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/api/routers/session_queue.py +14 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/api/routers/style_presets.py +5 -7
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/image.py +66 -1
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/events/events_common.py +8 -2
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/session_queue/session_queue_base.py +6 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/session_queue/session_queue_common.py +11 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/session_queue/session_queue_sqlite.py +49 -9
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite/sqlite_util.py +2 -0
- InvokeAI-4.2.9.dev3/invokeai/app/services/shared/sqlite_migrator/migrations/migration_15.py +31 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_records/style_preset_records_common.py +1 -0
- InvokeAI-4.2.9.dev3/invokeai/frontend/web/dist/assets/App-CEWYwnr8.js +26 -0
- InvokeAI-4.2.8rc2/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-BF4hssx9.js → InvokeAI-4.2.9.dev3/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-BnjZcfy9.js +1 -1
- InvokeAI-4.2.9.dev3/invokeai/frontend/web/dist/assets/index-CMrB5_9v.js +563 -0
- InvokeAI-4.2.9.dev3/invokeai/frontend/web/dist/assets/worker-Dywf1EVc.js +1 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/index.html +1 -1
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/en.json +114 -4
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/it.json +9 -3
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/ru.json +125 -9
- InvokeAI-4.2.9.dev3/invokeai/version/invokeai_version.py +1 -0
- InvokeAI-4.2.8rc2/invokeai/frontend/web/dist/assets/App-BshcpX9t.js +0 -137
- InvokeAI-4.2.8rc2/invokeai/frontend/web/dist/assets/index-CPavP-K4.js +0 -510
- InvokeAI-4.2.8rc2/invokeai/version/invokeai_version.py +0 -1
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/InvokeAI.egg-info/dependency_links.txt +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/InvokeAI.egg-info/entry_points.txt +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/InvokeAI.egg-info/requires.txt +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/InvokeAI.egg-info/top_level.txt +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/LICENSE +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/LICENSE-SD1+SD2.txt +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/LICENSE-SDXL.txt +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/README.md +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/api/dependencies.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/api/no_cache_staticfiles.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/api/routers/app_info.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/api/routers/board_images.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/api/routers/boards.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/api/routers/download_queue.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/api/routers/images.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/api/routers/model_manager.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/api/routers/utilities.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/api/routers/workflows.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/api/sockets.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/api_app.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/assets/images/caution.png +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/baseinvocation.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/blend_latents.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/collections.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/compel.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/constants.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/controlnet_image_processors.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/create_denoise_mask.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/create_gradient_mask.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/crop_latents.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/custom_nodes/README.md +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/custom_nodes/init.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/cv.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/denoise_latents.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/facetools.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/fields.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/grounding_dino.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/ideal_size.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/image_to_latents.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/infill.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/ip_adapter.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/latents_to_image.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/mask.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/math.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/metadata.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/model.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/noise.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/param_easing.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/primitives.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/prompt.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/resize_latents.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/scheduler.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/sdxl.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/segment_anything.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/spandrel_image_to_image.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/strings.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/t2i_adapter.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/tiled_multi_diffusion_denoise_latents.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/tiles.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/upscale.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/invocations/util.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/run_app.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/board_image_records/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/board_image_records/board_image_records_base.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/board_image_records/board_image_records_sqlite.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/board_images/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/board_images/board_images_base.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/board_images/board_images_common.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/board_images/board_images_default.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/board_records/board_records_base.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/board_records/board_records_common.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/board_records/board_records_sqlite.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/boards/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/boards/boards_base.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/boards/boards_common.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/boards/boards_default.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/bulk_download/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/bulk_download/bulk_download_base.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/bulk_download/bulk_download_common.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/bulk_download/bulk_download_default.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/config/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/config/config_common.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/config/config_default.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/download/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/download/download_base.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/download/download_default.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/events/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/events/events_base.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/events/events_fastapievents.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/image_files/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/image_files/image_files_base.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/image_files/image_files_common.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/image_files/image_files_disk.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/image_records/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/image_records/image_records_base.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/image_records/image_records_common.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/image_records/image_records_sqlite.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/images/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/images/images_base.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/images/images_common.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/images/images_default.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/invocation_cache/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/invocation_cache/invocation_cache_base.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/invocation_cache/invocation_cache_common.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/invocation_cache/invocation_cache_memory.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/invocation_services.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/invocation_stats/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/invocation_stats/invocation_stats_base.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/invocation_stats/invocation_stats_common.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/invocation_stats/invocation_stats_default.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/invoker.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/item_storage/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/item_storage/item_storage_base.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/item_storage/item_storage_common.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/item_storage/item_storage_memory.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_images/model_images_base.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_images/model_images_common.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_images/model_images_default.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_install/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_install/model_install_base.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_install/model_install_common.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_install/model_install_default.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_load/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_load/model_load_base.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_load/model_load_default.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_manager/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_manager/model_manager_base.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_manager/model_manager_common.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_manager/model_manager_default.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_records/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_records/model_records_base.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/model_records/model_records_sql.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/names/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/names/names_base.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/names/names_common.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/names/names_default.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/object_serializer/object_serializer_base.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/object_serializer/object_serializer_common.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/object_serializer/object_serializer_disk.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/object_serializer/object_serializer_forward_cache.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/session_processor/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/session_processor/session_processor_base.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/session_processor/session_processor_common.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/session_processor/session_processor_default.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/session_queue/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/graph.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/invocation_context.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/pagination.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite/sqlite_common.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite/sqlite_database.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/migrations/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_1.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_10.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_11.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_12.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_13.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_14.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_2.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_3.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_4.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_5.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_6.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_7.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_8.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_9.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/sqlite_migrator_common.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite_migrator/sqlite_migrator_impl.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Anime.png +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Architectural Visualization.png +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Concept Art (Character).png +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Concept Art (Fantasy).png +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Concept Art (Painterly).png +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Concept Art (Sci-Fi).png +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Environment Art.png +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Illustration.png +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Interior Design (Visualization).png +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Line Art.png +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Photography (Black and White).png +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Photography (General).png +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Photography (Landscape).png +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Photography (Portrait).png +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Photography (Studio Lighting).png +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Product Rendering.png +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Sketch.png +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/Vehicles.png +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/default_style_preset_images/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/style_preset_images_base.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/style_preset_images_common.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_images/style_preset_images_disk.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_records/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_records/default_style_presets.json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_records/style_preset_records_base.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/style_preset_records/style_preset_records_sqlite.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/urls/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/urls/urls_base.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/urls/urls_default.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/workflow_records/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/workflow_records/default_workflows/ESRGAN Upscaling with Canny ControlNet.json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/workflow_records/default_workflows/Face Detailer with IP-Adapter & Canny (See Note in Details).json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/workflow_records/default_workflows/Multi ControlNet (Canny & Depth).json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/workflow_records/default_workflows/MultiDiffusion SD1.5.json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/workflow_records/default_workflows/MultiDiffusion SDXL.json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/workflow_records/default_workflows/Prompt from File.json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/workflow_records/default_workflows/Text to Image - SD1.5.json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/workflow_records/default_workflows/Text to Image - SDXL.json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/workflow_records/default_workflows/Text to Image with LoRA.json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/workflow_records/default_workflows/Tiled Upscaling (Beta).json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/workflow_records/workflow_records_base.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/workflow_records/workflow_records_common.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/workflow_records/workflow_records_sqlite.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/shared/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/shared/models.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/util/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/util/controlnet_utils.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/util/custom_openapi.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/util/metaenum.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/util/misc.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/util/model_exclude_null.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/util/profiler.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/util/step_callback.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/util/suppress_output.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/util/thumbnails.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/util/ti_utils.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/assets/fonts/inter/Inter-Regular.ttf +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/basicsr/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/basicsr/arch_util.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/basicsr/rrdbnet_arch.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/canny.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/depth_anything/depth_anything_pipeline.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/dw_openpose/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/dw_openpose/onnxdet.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/dw_openpose/onnxpose.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/dw_openpose/utils.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/dw_openpose/wholebody.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/grounding_dino/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/grounding_dino/detection_result.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/grounding_dino/grounding_dino_pipeline.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/hed.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/infill_methods/cv2_inpaint.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/infill_methods/lama.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/infill_methods/mosaic.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/infill_methods/patchmatch.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/infill_methods/tile.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/invisible_watermark.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/lineart.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/lineart_anime.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/pngwriter.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/realesrgan/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/realesrgan/realesrgan.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/safety_checker.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/segment_anything/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/segment_anything/mask_refinement.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/segment_anything/segment_anything_pipeline.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/image_util/util.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/ip_adapter/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/ip_adapter/ip_adapter.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/ip_adapter/ip_attention_weights.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/ip_adapter/resampler.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/lora.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_hash/hash_validator.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_hash/model_hash.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/config.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/load_base.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/load_default.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/memory_snapshot.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/model_cache/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/model_cache/model_cache_base.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/model_cache/model_cache_default.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/model_cache/model_locker.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/model_loader_registry.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/model_loaders/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/model_loaders/controlnet.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/model_loaders/generic_diffusers.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/model_loaders/ip_adapter.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/model_loaders/lora.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/model_loaders/onnx.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/model_loaders/spandrel_image_to_image.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/model_loaders/stable_diffusion.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/model_loaders/textual_inversion.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/model_loaders/vae.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/model_util.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/load/optimizations.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/merge.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/metadata/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/metadata/fetch/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/metadata/fetch/fetch_base.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/metadata/fetch/huggingface.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/metadata/metadata_base.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/probe.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/search.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/starter_models.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/util/libc_util.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/util/model_util.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_manager/util/select_hf_files.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/model_patcher.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/onnx/onnx_runtime.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/raw_model.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/spandrel_image_to_image_model.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/denoise_context.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/diffusers_pipeline.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/diffusion/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/diffusion/conditioning_data.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/diffusion/custom_atttention.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/diffusion/regional_ip_data.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/diffusion/regional_prompt_data.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/diffusion/unet_attention_patcher.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/diffusion_backend.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/extension_callback_type.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/extensions/base.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/extensions/controlnet.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/extensions/freeu.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/extensions/inpaint.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/extensions/inpaint_model.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/extensions/lora.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/extensions/preview.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/extensions/rescale_cfg.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/extensions/seamless.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/extensions/t2i_adapter.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/extensions_manager.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/multi_diffusion_pipeline.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/schedulers/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/schedulers/schedulers.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/stable_diffusion/vae_tiling.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/textual_inversion.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/tiles/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/tiles/tiles.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/tiles/utils.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/util/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/util/attention.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/util/catch_sigint.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/util/db_maintenance.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/util/devices.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/util/hotfixes.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/util/logging.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/util/mask.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/util/mps_fixes.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/util/original_weights_storage.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/util/silence_warnings.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/util/test_utils.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/backend/util/util.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/configs/controlnet/cldm_v15.yaml +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/configs/controlnet/cldm_v21.yaml +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/configs/stable-diffusion/sd_xl_base.yaml +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/configs/stable-diffusion/sd_xl_inpaint.yaml +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/configs/stable-diffusion/sd_xl_refiner.yaml +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/configs/stable-diffusion/v1-finetune.yaml +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/configs/stable-diffusion/v1-finetune_style.yaml +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/configs/stable-diffusion/v1-inference-v.yaml +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/configs/stable-diffusion/v1-inference.yaml +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/configs/stable-diffusion/v1-inpainting-inference.yaml +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/configs/stable-diffusion/v1-m1-finetune.yaml +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/configs/stable-diffusion/v2-inference-v.yaml +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/configs/stable-diffusion/v2-inference.yaml +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/configs/stable-diffusion/v2-inpainting-inference-v.yaml +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/configs/stable-diffusion/v2-inpainting-inference.yaml +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/configs/stable-diffusion/v2-midas-inference.yaml +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/cli/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/cli/arg_parser.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/install/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/install/import_images.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/App-DEu4J2pT.css +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-B2NxUfIp.css +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-alert-favicon.svg +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-avatar-circle.svg +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-avatar-square.svg +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-favicon.png +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-favicon.svg +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-key-char-lrg.svg +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-key-char-sml.svg +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-key-wht-lrg.svg +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-key-wht-sml.svg +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-symbol-char-lrg.svg +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-symbol-char-sml.svg +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-symbol-wht-lrg.svg +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-symbol-wht-sml.svg +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-symbol-ylw-lrg.svg +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-tag-char-lrg.svg +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-tag-char-sml.svg +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-tag-lrg.svg +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-tag-sml.svg +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-wordmark-charcoal.svg +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/invoke-wordmark-white.svg +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/mask.svg +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/images/transparent_bg.png +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/inter-cyrillic-ext-wght-normal-B2xhLi22.woff2 +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/inter-cyrillic-wght-normal-CMZtQduZ.woff2 +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/inter-greek-ext-wght-normal-CGAr0uHJ.woff2 +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/inter-greek-wght-normal-CaVNZxsx.woff2 +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/inter-latin-ext-wght-normal-CFHvXkgd.woff2 +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/inter-latin-wght-normal-C2S99t-D.woff2 +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2 +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/ar.json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/az.json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/bg.json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/de.json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/es.json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/fi.json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/fr.json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/he.json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/hu.json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/ja.json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/ko.json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/mn.json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/nl.json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/pl.json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/pt.json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/pt_BR.json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/ro.json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/sv.json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/tr.json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/uk.json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/vi.json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/zh_CN.json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/dist/locales/zh_Hant.json +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/scripts/clean_translations.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/frontend/web/static/docs/invoke-favicon-docs.svg +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/invocation_api/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/version/__init__.py +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/pyproject.toml +0 -0
- {InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: InvokeAI
|
|
3
|
-
Version: 4.2.
|
|
3
|
+
Version: 4.2.9.dev3
|
|
4
4
|
Summary: An implementation of Stable Diffusion which provides various new features and options to aid the image generation process
|
|
5
5
|
Author-email: The InvokeAI Project <lincoln.stein@gmail.com>
|
|
6
6
|
License: Apache License
|
|
@@ -174,6 +174,7 @@ invokeai/app/services/shared/sqlite_migrator/migrations/migration_11.py
|
|
|
174
174
|
invokeai/app/services/shared/sqlite_migrator/migrations/migration_12.py
|
|
175
175
|
invokeai/app/services/shared/sqlite_migrator/migrations/migration_13.py
|
|
176
176
|
invokeai/app/services/shared/sqlite_migrator/migrations/migration_14.py
|
|
177
|
+
invokeai/app/services/shared/sqlite_migrator/migrations/migration_15.py
|
|
177
178
|
invokeai/app/services/shared/sqlite_migrator/migrations/migration_2.py
|
|
178
179
|
invokeai/app/services/shared/sqlite_migrator/migrations/migration_3.py
|
|
179
180
|
invokeai/app/services/shared/sqlite_migrator/migrations/migration_4.py
|
|
@@ -385,11 +386,11 @@ invokeai/frontend/install/__init__.py
|
|
|
385
386
|
invokeai/frontend/install/import_images.py
|
|
386
387
|
invokeai/frontend/web/__init__.py
|
|
387
388
|
invokeai/frontend/web/dist/index.html
|
|
388
|
-
invokeai/frontend/web/dist/assets/App-
|
|
389
|
+
invokeai/frontend/web/dist/assets/App-CEWYwnr8.js
|
|
389
390
|
invokeai/frontend/web/dist/assets/App-DEu4J2pT.css
|
|
390
391
|
invokeai/frontend/web/dist/assets/ThemeLocaleProvider-B2NxUfIp.css
|
|
391
|
-
invokeai/frontend/web/dist/assets/ThemeLocaleProvider-
|
|
392
|
-
invokeai/frontend/web/dist/assets/index-
|
|
392
|
+
invokeai/frontend/web/dist/assets/ThemeLocaleProvider-BnjZcfy9.js
|
|
393
|
+
invokeai/frontend/web/dist/assets/index-CMrB5_9v.js
|
|
393
394
|
invokeai/frontend/web/dist/assets/inter-cyrillic-ext-wght-normal-B2xhLi22.woff2
|
|
394
395
|
invokeai/frontend/web/dist/assets/inter-cyrillic-wght-normal-CMZtQduZ.woff2
|
|
395
396
|
invokeai/frontend/web/dist/assets/inter-greek-ext-wght-normal-CGAr0uHJ.woff2
|
|
@@ -397,6 +398,7 @@ invokeai/frontend/web/dist/assets/inter-greek-wght-normal-CaVNZxsx.woff2
|
|
|
397
398
|
invokeai/frontend/web/dist/assets/inter-latin-ext-wght-normal-CFHvXkgd.woff2
|
|
398
399
|
invokeai/frontend/web/dist/assets/inter-latin-wght-normal-C2S99t-D.woff2
|
|
399
400
|
invokeai/frontend/web/dist/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2
|
|
401
|
+
invokeai/frontend/web/dist/assets/worker-Dywf1EVc.js
|
|
400
402
|
invokeai/frontend/web/dist/assets/images/invoke-alert-favicon.svg
|
|
401
403
|
invokeai/frontend/web/dist/assets/images/invoke-avatar-circle.svg
|
|
402
404
|
invokeai/frontend/web/dist/assets/images/invoke-avatar-square.svg
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: InvokeAI
|
|
3
|
-
Version: 4.2.
|
|
3
|
+
Version: 4.2.9.dev3
|
|
4
4
|
Summary: An implementation of Stable Diffusion which provides various new features and options to aid the image generation process
|
|
5
5
|
Author-email: The InvokeAI Project <lincoln.stein@gmail.com>
|
|
6
6
|
License: Apache License
|
|
@@ -11,6 +11,7 @@ from invokeai.app.services.session_queue.session_queue_common import (
|
|
|
11
11
|
Batch,
|
|
12
12
|
BatchStatus,
|
|
13
13
|
CancelByBatchIDsResult,
|
|
14
|
+
CancelByOriginResult,
|
|
14
15
|
ClearResult,
|
|
15
16
|
EnqueueBatchResult,
|
|
16
17
|
PruneResult,
|
|
@@ -105,6 +106,19 @@ async def cancel_by_batch_ids(
|
|
|
105
106
|
return ApiDependencies.invoker.services.session_queue.cancel_by_batch_ids(queue_id=queue_id, batch_ids=batch_ids)
|
|
106
107
|
|
|
107
108
|
|
|
109
|
+
@session_queue_router.put(
|
|
110
|
+
"/{queue_id}/cancel_by_origin",
|
|
111
|
+
operation_id="cancel_by_origin",
|
|
112
|
+
responses={200: {"model": CancelByBatchIDsResult}},
|
|
113
|
+
)
|
|
114
|
+
async def cancel_by_origin(
|
|
115
|
+
queue_id: str = Path(description="The queue id to perform this operation on"),
|
|
116
|
+
origin: str = Query(description="The origin to cancel all queue items for"),
|
|
117
|
+
) -> CancelByOriginResult:
|
|
118
|
+
"""Immediately cancels all queue items with the given origin"""
|
|
119
|
+
return ApiDependencies.invoker.services.session_queue.cancel_by_origin(queue_id=queue_id, origin=origin)
|
|
120
|
+
|
|
121
|
+
|
|
108
122
|
@session_queue_router.put(
|
|
109
123
|
"/{queue_id}/clear",
|
|
110
124
|
operation_id="clear",
|
|
@@ -26,13 +26,10 @@ from invokeai.app.services.style_preset_records.style_preset_records_common impo
|
|
|
26
26
|
)
|
|
27
27
|
|
|
28
28
|
|
|
29
|
-
class
|
|
29
|
+
class StylePresetFormData(BaseModel):
|
|
30
30
|
name: str = Field(description="Preset name")
|
|
31
31
|
positive_prompt: str = Field(description="Positive prompt")
|
|
32
32
|
negative_prompt: str = Field(description="Negative prompt")
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
class StylePresetCreateFormData(StylePresetUpdateFormData):
|
|
36
33
|
type: PresetType = Field(description="Preset type")
|
|
37
34
|
|
|
38
35
|
|
|
@@ -95,9 +92,10 @@ async def update_style_preset(
|
|
|
95
92
|
|
|
96
93
|
try:
|
|
97
94
|
parsed_data = json.loads(data)
|
|
98
|
-
validated_data =
|
|
95
|
+
validated_data = StylePresetFormData(**parsed_data)
|
|
99
96
|
|
|
100
97
|
name = validated_data.name
|
|
98
|
+
type = validated_data.type
|
|
101
99
|
positive_prompt = validated_data.positive_prompt
|
|
102
100
|
negative_prompt = validated_data.negative_prompt
|
|
103
101
|
|
|
@@ -105,7 +103,7 @@ async def update_style_preset(
|
|
|
105
103
|
raise HTTPException(status_code=400, detail="Invalid preset data")
|
|
106
104
|
|
|
107
105
|
preset_data = PresetData(positive_prompt=positive_prompt, negative_prompt=negative_prompt)
|
|
108
|
-
changes = StylePresetChanges(name=name, preset_data=preset_data)
|
|
106
|
+
changes = StylePresetChanges(name=name, preset_data=preset_data, type=type)
|
|
109
107
|
|
|
110
108
|
style_preset_image = ApiDependencies.invoker.services.style_preset_image_files.get_url(style_preset_id)
|
|
111
109
|
style_preset = ApiDependencies.invoker.services.style_preset_records.update(
|
|
@@ -145,7 +143,7 @@ async def create_style_preset(
|
|
|
145
143
|
|
|
146
144
|
try:
|
|
147
145
|
parsed_data = json.loads(data)
|
|
148
|
-
validated_data =
|
|
146
|
+
validated_data = StylePresetFormData(**parsed_data)
|
|
149
147
|
|
|
150
148
|
name = validated_data.name
|
|
151
149
|
type = validated_data.type
|
|
@@ -6,13 +6,19 @@ import cv2
|
|
|
6
6
|
import numpy
|
|
7
7
|
from PIL import Image, ImageChops, ImageFilter, ImageOps
|
|
8
8
|
|
|
9
|
-
from invokeai.app.invocations.baseinvocation import
|
|
9
|
+
from invokeai.app.invocations.baseinvocation import (
|
|
10
|
+
BaseInvocation,
|
|
11
|
+
Classification,
|
|
12
|
+
invocation,
|
|
13
|
+
invocation_output,
|
|
14
|
+
)
|
|
10
15
|
from invokeai.app.invocations.constants import IMAGE_MODES
|
|
11
16
|
from invokeai.app.invocations.fields import (
|
|
12
17
|
ColorField,
|
|
13
18
|
FieldDescriptions,
|
|
14
19
|
ImageField,
|
|
15
20
|
InputField,
|
|
21
|
+
OutputField,
|
|
16
22
|
WithBoard,
|
|
17
23
|
WithMetadata,
|
|
18
24
|
)
|
|
@@ -1007,3 +1013,62 @@ class MaskFromIDInvocation(BaseInvocation, WithMetadata, WithBoard):
|
|
|
1007
1013
|
image_dto = context.images.save(image=mask, image_category=ImageCategory.MASK)
|
|
1008
1014
|
|
|
1009
1015
|
return ImageOutput.build(image_dto)
|
|
1016
|
+
|
|
1017
|
+
|
|
1018
|
+
@invocation_output("canvas_v2_mask_and_crop_output")
|
|
1019
|
+
class CanvasV2MaskAndCropOutput(ImageOutput):
|
|
1020
|
+
offset_x: int = OutputField(description="The x offset of the image, after cropping")
|
|
1021
|
+
offset_y: int = OutputField(description="The y offset of the image, after cropping")
|
|
1022
|
+
|
|
1023
|
+
|
|
1024
|
+
@invocation(
|
|
1025
|
+
"canvas_v2_mask_and_crop",
|
|
1026
|
+
title="Canvas V2 Mask and Crop",
|
|
1027
|
+
tags=["image", "mask", "id"],
|
|
1028
|
+
category="image",
|
|
1029
|
+
version="1.0.0",
|
|
1030
|
+
classification=Classification.Prototype,
|
|
1031
|
+
)
|
|
1032
|
+
class CanvasV2MaskAndCropInvocation(BaseInvocation, WithMetadata, WithBoard):
|
|
1033
|
+
"""Handles Canvas V2 image output masking and cropping"""
|
|
1034
|
+
|
|
1035
|
+
source_image: ImageField | None = InputField(
|
|
1036
|
+
default=None,
|
|
1037
|
+
description="The source image onto which the masked generated image is pasted. If omitted, the masked generated image is returned with transparency.",
|
|
1038
|
+
)
|
|
1039
|
+
generated_image: ImageField = InputField(description="The image to apply the mask to")
|
|
1040
|
+
mask: ImageField = InputField(description="The mask to apply")
|
|
1041
|
+
mask_blur: int = InputField(default=0, ge=0, description="The amount to blur the mask by")
|
|
1042
|
+
|
|
1043
|
+
def _prepare_mask(self, mask: Image.Image) -> Image.Image:
|
|
1044
|
+
mask_array = numpy.array(mask)
|
|
1045
|
+
kernel = numpy.ones((self.mask_blur, self.mask_blur), numpy.uint8)
|
|
1046
|
+
dilated_mask_array = cv2.erode(mask_array, kernel, iterations=3)
|
|
1047
|
+
dilated_mask = Image.fromarray(dilated_mask_array)
|
|
1048
|
+
if self.mask_blur > 0:
|
|
1049
|
+
mask = dilated_mask.filter(ImageFilter.GaussianBlur(self.mask_blur))
|
|
1050
|
+
return ImageOps.invert(mask.convert("L"))
|
|
1051
|
+
|
|
1052
|
+
def invoke(self, context: InvocationContext) -> CanvasV2MaskAndCropOutput:
|
|
1053
|
+
mask = self._prepare_mask(context.images.get_pil(self.mask.image_name))
|
|
1054
|
+
|
|
1055
|
+
if self.source_image:
|
|
1056
|
+
generated_image = context.images.get_pil(self.generated_image.image_name)
|
|
1057
|
+
source_image = context.images.get_pil(self.source_image.image_name)
|
|
1058
|
+
source_image.paste(generated_image, (0, 0), mask)
|
|
1059
|
+
image_dto = context.images.save(image=source_image)
|
|
1060
|
+
else:
|
|
1061
|
+
generated_image = context.images.get_pil(self.generated_image.image_name)
|
|
1062
|
+
generated_image.putalpha(mask)
|
|
1063
|
+
image_dto = context.images.save(image=generated_image)
|
|
1064
|
+
|
|
1065
|
+
# bbox = image.getbbox()
|
|
1066
|
+
# image = image.crop(bbox)
|
|
1067
|
+
|
|
1068
|
+
return CanvasV2MaskAndCropOutput(
|
|
1069
|
+
image=ImageField(image_name=image_dto.image_name),
|
|
1070
|
+
offset_x=0,
|
|
1071
|
+
offset_y=0,
|
|
1072
|
+
width=image_dto.width,
|
|
1073
|
+
height=image_dto.height,
|
|
1074
|
+
)
|
|
@@ -88,6 +88,7 @@ class QueueItemEventBase(QueueEventBase):
|
|
|
88
88
|
|
|
89
89
|
item_id: int = Field(description="The ID of the queue item")
|
|
90
90
|
batch_id: str = Field(description="The ID of the queue batch")
|
|
91
|
+
origin: str | None = Field(default=None, description="The origin of the batch")
|
|
91
92
|
|
|
92
93
|
|
|
93
94
|
class InvocationEventBase(QueueItemEventBase):
|
|
@@ -95,8 +96,6 @@ class InvocationEventBase(QueueItemEventBase):
|
|
|
95
96
|
|
|
96
97
|
session_id: str = Field(description="The ID of the session (aka graph execution state)")
|
|
97
98
|
queue_id: str = Field(description="The ID of the queue")
|
|
98
|
-
item_id: int = Field(description="The ID of the queue item")
|
|
99
|
-
batch_id: str = Field(description="The ID of the queue batch")
|
|
100
99
|
session_id: str = Field(description="The ID of the session (aka graph execution state)")
|
|
101
100
|
invocation: AnyInvocation = Field(description="The ID of the invocation")
|
|
102
101
|
invocation_source_id: str = Field(description="The ID of the prepared invocation's source node")
|
|
@@ -114,6 +113,7 @@ class InvocationStartedEvent(InvocationEventBase):
|
|
|
114
113
|
queue_id=queue_item.queue_id,
|
|
115
114
|
item_id=queue_item.item_id,
|
|
116
115
|
batch_id=queue_item.batch_id,
|
|
116
|
+
origin=queue_item.origin,
|
|
117
117
|
session_id=queue_item.session_id,
|
|
118
118
|
invocation=invocation,
|
|
119
119
|
invocation_source_id=queue_item.session.prepared_source_mapping[invocation.id],
|
|
@@ -147,6 +147,7 @@ class InvocationDenoiseProgressEvent(InvocationEventBase):
|
|
|
147
147
|
queue_id=queue_item.queue_id,
|
|
148
148
|
item_id=queue_item.item_id,
|
|
149
149
|
batch_id=queue_item.batch_id,
|
|
150
|
+
origin=queue_item.origin,
|
|
150
151
|
session_id=queue_item.session_id,
|
|
151
152
|
invocation=invocation,
|
|
152
153
|
invocation_source_id=queue_item.session.prepared_source_mapping[invocation.id],
|
|
@@ -184,6 +185,7 @@ class InvocationCompleteEvent(InvocationEventBase):
|
|
|
184
185
|
queue_id=queue_item.queue_id,
|
|
185
186
|
item_id=queue_item.item_id,
|
|
186
187
|
batch_id=queue_item.batch_id,
|
|
188
|
+
origin=queue_item.origin,
|
|
187
189
|
session_id=queue_item.session_id,
|
|
188
190
|
invocation=invocation,
|
|
189
191
|
invocation_source_id=queue_item.session.prepared_source_mapping[invocation.id],
|
|
@@ -216,6 +218,7 @@ class InvocationErrorEvent(InvocationEventBase):
|
|
|
216
218
|
queue_id=queue_item.queue_id,
|
|
217
219
|
item_id=queue_item.item_id,
|
|
218
220
|
batch_id=queue_item.batch_id,
|
|
221
|
+
origin=queue_item.origin,
|
|
219
222
|
session_id=queue_item.session_id,
|
|
220
223
|
invocation=invocation,
|
|
221
224
|
invocation_source_id=queue_item.session.prepared_source_mapping[invocation.id],
|
|
@@ -253,6 +256,7 @@ class QueueItemStatusChangedEvent(QueueItemEventBase):
|
|
|
253
256
|
queue_id=queue_item.queue_id,
|
|
254
257
|
item_id=queue_item.item_id,
|
|
255
258
|
batch_id=queue_item.batch_id,
|
|
259
|
+
origin=queue_item.origin,
|
|
256
260
|
session_id=queue_item.session_id,
|
|
257
261
|
status=queue_item.status,
|
|
258
262
|
error_type=queue_item.error_type,
|
|
@@ -279,12 +283,14 @@ class BatchEnqueuedEvent(QueueEventBase):
|
|
|
279
283
|
description="The number of invocations initially requested to be enqueued (may be less than enqueued if queue was full)"
|
|
280
284
|
)
|
|
281
285
|
priority: int = Field(description="The priority of the batch")
|
|
286
|
+
origin: str | None = Field(default=None, description="The origin of the batch")
|
|
282
287
|
|
|
283
288
|
@classmethod
|
|
284
289
|
def build(cls, enqueue_result: EnqueueBatchResult) -> "BatchEnqueuedEvent":
|
|
285
290
|
return cls(
|
|
286
291
|
queue_id=enqueue_result.queue_id,
|
|
287
292
|
batch_id=enqueue_result.batch.batch_id,
|
|
293
|
+
origin=enqueue_result.batch.origin,
|
|
288
294
|
enqueued=enqueue_result.enqueued,
|
|
289
295
|
requested=enqueue_result.requested,
|
|
290
296
|
priority=enqueue_result.priority,
|
{InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/session_queue/session_queue_base.py
RENAMED
|
@@ -6,6 +6,7 @@ from invokeai.app.services.session_queue.session_queue_common import (
|
|
|
6
6
|
Batch,
|
|
7
7
|
BatchStatus,
|
|
8
8
|
CancelByBatchIDsResult,
|
|
9
|
+
CancelByOriginResult,
|
|
9
10
|
CancelByQueueIDResult,
|
|
10
11
|
ClearResult,
|
|
11
12
|
EnqueueBatchResult,
|
|
@@ -95,6 +96,11 @@ class SessionQueueBase(ABC):
|
|
|
95
96
|
"""Cancels all queue items with matching batch IDs"""
|
|
96
97
|
pass
|
|
97
98
|
|
|
99
|
+
@abstractmethod
|
|
100
|
+
def cancel_by_origin(self, queue_id: str, origin: str) -> CancelByOriginResult:
|
|
101
|
+
"""Cancels all queue items with the given batch origin"""
|
|
102
|
+
pass
|
|
103
|
+
|
|
98
104
|
@abstractmethod
|
|
99
105
|
def cancel_by_queue_id(self, queue_id: str) -> CancelByQueueIDResult:
|
|
100
106
|
"""Cancels all queue items with matching queue ID"""
|
|
@@ -77,6 +77,7 @@ BatchDataCollection: TypeAlias = list[list[BatchDatum]]
|
|
|
77
77
|
|
|
78
78
|
class Batch(BaseModel):
|
|
79
79
|
batch_id: str = Field(default_factory=uuid_string, description="The ID of the batch")
|
|
80
|
+
origin: str | None = Field(default=None, description="The origin of this batch.")
|
|
80
81
|
data: Optional[BatchDataCollection] = Field(default=None, description="The batch data collection.")
|
|
81
82
|
graph: Graph = Field(description="The graph to initialize the session with")
|
|
82
83
|
workflow: Optional[WorkflowWithoutID] = Field(
|
|
@@ -195,6 +196,7 @@ class SessionQueueItemWithoutGraph(BaseModel):
|
|
|
195
196
|
status: QUEUE_ITEM_STATUS = Field(default="pending", description="The status of this queue item")
|
|
196
197
|
priority: int = Field(default=0, description="The priority of this queue item")
|
|
197
198
|
batch_id: str = Field(description="The ID of the batch associated with this queue item")
|
|
199
|
+
origin: str | None = Field(default=None, description="The origin of this queue item. ")
|
|
198
200
|
session_id: str = Field(
|
|
199
201
|
description="The ID of the session associated with this queue item. The session doesn't exist in graph_executions until the queue item is executed."
|
|
200
202
|
)
|
|
@@ -294,6 +296,7 @@ class SessionQueueStatus(BaseModel):
|
|
|
294
296
|
class BatchStatus(BaseModel):
|
|
295
297
|
queue_id: str = Field(..., description="The ID of the queue")
|
|
296
298
|
batch_id: str = Field(..., description="The ID of the batch")
|
|
299
|
+
origin: str | None = Field(..., description="The origin of the batch")
|
|
297
300
|
pending: int = Field(..., description="Number of queue items with status 'pending'")
|
|
298
301
|
in_progress: int = Field(..., description="Number of queue items with status 'in_progress'")
|
|
299
302
|
completed: int = Field(..., description="Number of queue items with status 'complete'")
|
|
@@ -328,6 +331,12 @@ class CancelByBatchIDsResult(BaseModel):
|
|
|
328
331
|
canceled: int = Field(..., description="Number of queue items canceled")
|
|
329
332
|
|
|
330
333
|
|
|
334
|
+
class CancelByOriginResult(BaseModel):
|
|
335
|
+
"""Result of canceling by list of batch ids"""
|
|
336
|
+
|
|
337
|
+
canceled: int = Field(..., description="Number of queue items canceled")
|
|
338
|
+
|
|
339
|
+
|
|
331
340
|
class CancelByQueueIDResult(CancelByBatchIDsResult):
|
|
332
341
|
"""Result of canceling by queue id"""
|
|
333
342
|
|
|
@@ -433,6 +442,7 @@ class SessionQueueValueToInsert(NamedTuple):
|
|
|
433
442
|
field_values: Optional[str] # field_values json
|
|
434
443
|
priority: int # priority
|
|
435
444
|
workflow: Optional[str] # workflow json
|
|
445
|
+
origin: str | None
|
|
436
446
|
|
|
437
447
|
|
|
438
448
|
ValuesToInsert: TypeAlias = list[SessionQueueValueToInsert]
|
|
@@ -453,6 +463,7 @@ def prepare_values_to_insert(queue_id: str, batch: Batch, priority: int, max_new
|
|
|
453
463
|
json.dumps(field_values, default=to_jsonable_python) if field_values else None, # field_values (json)
|
|
454
464
|
priority, # priority
|
|
455
465
|
json.dumps(workflow, default=to_jsonable_python) if workflow else None, # workflow (json)
|
|
466
|
+
batch.origin, # origin
|
|
456
467
|
)
|
|
457
468
|
)
|
|
458
469
|
return values_to_insert
|
|
@@ -10,6 +10,7 @@ from invokeai.app.services.session_queue.session_queue_common import (
|
|
|
10
10
|
Batch,
|
|
11
11
|
BatchStatus,
|
|
12
12
|
CancelByBatchIDsResult,
|
|
13
|
+
CancelByOriginResult,
|
|
13
14
|
CancelByQueueIDResult,
|
|
14
15
|
ClearResult,
|
|
15
16
|
EnqueueBatchResult,
|
|
@@ -127,8 +128,8 @@ class SqliteSessionQueue(SessionQueueBase):
|
|
|
127
128
|
|
|
128
129
|
self.__cursor.executemany(
|
|
129
130
|
"""--sql
|
|
130
|
-
INSERT INTO session_queue (queue_id, session, session_id, batch_id, field_values, priority, workflow)
|
|
131
|
-
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
131
|
+
INSERT INTO session_queue (queue_id, session, session_id, batch_id, field_values, priority, workflow, origin)
|
|
132
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
|
132
133
|
""",
|
|
133
134
|
values_to_insert,
|
|
134
135
|
)
|
|
@@ -417,11 +418,7 @@ class SqliteSessionQueue(SessionQueueBase):
|
|
|
417
418
|
)
|
|
418
419
|
self.__conn.commit()
|
|
419
420
|
if current_queue_item is not None and current_queue_item.batch_id in batch_ids:
|
|
420
|
-
|
|
421
|
-
queue_status = self.get_queue_status(queue_id=queue_id)
|
|
422
|
-
self.__invoker.services.events.emit_queue_item_status_changed(
|
|
423
|
-
current_queue_item, batch_status, queue_status
|
|
424
|
-
)
|
|
421
|
+
self._set_queue_item_status(current_queue_item.item_id, "canceled")
|
|
425
422
|
except Exception:
|
|
426
423
|
self.__conn.rollback()
|
|
427
424
|
raise
|
|
@@ -429,6 +426,46 @@ class SqliteSessionQueue(SessionQueueBase):
|
|
|
429
426
|
self.__lock.release()
|
|
430
427
|
return CancelByBatchIDsResult(canceled=count)
|
|
431
428
|
|
|
429
|
+
def cancel_by_origin(self, queue_id: str, origin: str) -> CancelByOriginResult:
|
|
430
|
+
try:
|
|
431
|
+
current_queue_item = self.get_current(queue_id)
|
|
432
|
+
self.__lock.acquire()
|
|
433
|
+
where = """--sql
|
|
434
|
+
WHERE
|
|
435
|
+
queue_id == ?
|
|
436
|
+
AND origin == ?
|
|
437
|
+
AND status != 'canceled'
|
|
438
|
+
AND status != 'completed'
|
|
439
|
+
AND status != 'failed'
|
|
440
|
+
"""
|
|
441
|
+
params = (queue_id, origin)
|
|
442
|
+
self.__cursor.execute(
|
|
443
|
+
f"""--sql
|
|
444
|
+
SELECT COUNT(*)
|
|
445
|
+
FROM session_queue
|
|
446
|
+
{where};
|
|
447
|
+
""",
|
|
448
|
+
params,
|
|
449
|
+
)
|
|
450
|
+
count = self.__cursor.fetchone()[0]
|
|
451
|
+
self.__cursor.execute(
|
|
452
|
+
f"""--sql
|
|
453
|
+
UPDATE session_queue
|
|
454
|
+
SET status = 'canceled'
|
|
455
|
+
{where};
|
|
456
|
+
""",
|
|
457
|
+
params,
|
|
458
|
+
)
|
|
459
|
+
self.__conn.commit()
|
|
460
|
+
if current_queue_item is not None and current_queue_item.origin == origin:
|
|
461
|
+
self._set_queue_item_status(current_queue_item.item_id, "canceled")
|
|
462
|
+
except Exception:
|
|
463
|
+
self.__conn.rollback()
|
|
464
|
+
raise
|
|
465
|
+
finally:
|
|
466
|
+
self.__lock.release()
|
|
467
|
+
return CancelByOriginResult(canceled=count)
|
|
468
|
+
|
|
432
469
|
def cancel_by_queue_id(self, queue_id: str) -> CancelByQueueIDResult:
|
|
433
470
|
try:
|
|
434
471
|
current_queue_item = self.get_current(queue_id)
|
|
@@ -541,7 +578,8 @@ class SqliteSessionQueue(SessionQueueBase):
|
|
|
541
578
|
started_at,
|
|
542
579
|
session_id,
|
|
543
580
|
batch_id,
|
|
544
|
-
queue_id
|
|
581
|
+
queue_id,
|
|
582
|
+
origin
|
|
545
583
|
FROM session_queue
|
|
546
584
|
WHERE queue_id = ?
|
|
547
585
|
"""
|
|
@@ -621,7 +659,7 @@ class SqliteSessionQueue(SessionQueueBase):
|
|
|
621
659
|
self.__lock.acquire()
|
|
622
660
|
self.__cursor.execute(
|
|
623
661
|
"""--sql
|
|
624
|
-
SELECT status, count(*)
|
|
662
|
+
SELECT status, count(*), origin
|
|
625
663
|
FROM session_queue
|
|
626
664
|
WHERE
|
|
627
665
|
queue_id = ?
|
|
@@ -633,6 +671,7 @@ class SqliteSessionQueue(SessionQueueBase):
|
|
|
633
671
|
result = cast(list[sqlite3.Row], self.__cursor.fetchall())
|
|
634
672
|
total = sum(row[1] for row in result)
|
|
635
673
|
counts: dict[str, int] = {row[0]: row[1] for row in result}
|
|
674
|
+
origin = result[0]["origin"] if result else None
|
|
636
675
|
except Exception:
|
|
637
676
|
self.__conn.rollback()
|
|
638
677
|
raise
|
|
@@ -641,6 +680,7 @@ class SqliteSessionQueue(SessionQueueBase):
|
|
|
641
680
|
|
|
642
681
|
return BatchStatus(
|
|
643
682
|
batch_id=batch_id,
|
|
683
|
+
origin=origin,
|
|
644
684
|
queue_id=queue_id,
|
|
645
685
|
pending=counts.get("pending", 0),
|
|
646
686
|
in_progress=counts.get("in_progress", 0),
|
{InvokeAI-4.2.8rc2 → InvokeAI-4.2.9.dev3}/invokeai/app/services/shared/sqlite/sqlite_util.py
RENAMED
|
@@ -17,6 +17,7 @@ from invokeai.app.services.shared.sqlite_migrator.migrations.migration_11 import
|
|
|
17
17
|
from invokeai.app.services.shared.sqlite_migrator.migrations.migration_12 import build_migration_12
|
|
18
18
|
from invokeai.app.services.shared.sqlite_migrator.migrations.migration_13 import build_migration_13
|
|
19
19
|
from invokeai.app.services.shared.sqlite_migrator.migrations.migration_14 import build_migration_14
|
|
20
|
+
from invokeai.app.services.shared.sqlite_migrator.migrations.migration_15 import build_migration_15
|
|
20
21
|
from invokeai.app.services.shared.sqlite_migrator.sqlite_migrator_impl import SqliteMigrator
|
|
21
22
|
|
|
22
23
|
|
|
@@ -51,6 +52,7 @@ def init_db(config: InvokeAIAppConfig, logger: Logger, image_files: ImageFileSto
|
|
|
51
52
|
migrator.register_migration(build_migration_12(app_config=config))
|
|
52
53
|
migrator.register_migration(build_migration_13())
|
|
53
54
|
migrator.register_migration(build_migration_14())
|
|
55
|
+
migrator.register_migration(build_migration_15())
|
|
54
56
|
migrator.run_migrations()
|
|
55
57
|
|
|
56
58
|
return db
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import sqlite3
|
|
2
|
+
|
|
3
|
+
from invokeai.app.services.shared.sqlite_migrator.sqlite_migrator_common import Migration
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Migration15Callback:
|
|
7
|
+
def __call__(self, cursor: sqlite3.Cursor) -> None:
|
|
8
|
+
self._add_origin_col(cursor)
|
|
9
|
+
|
|
10
|
+
def _add_origin_col(self, cursor: sqlite3.Cursor) -> None:
|
|
11
|
+
"""
|
|
12
|
+
- Adds `origin` column to the session queue table.
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
cursor.execute("ALTER TABLE session_queue ADD COLUMN origin TEXT;")
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def build_migration_15() -> Migration:
|
|
19
|
+
"""
|
|
20
|
+
Build the migration from database version 14 to 15.
|
|
21
|
+
|
|
22
|
+
This migration does the following:
|
|
23
|
+
- Adds `origin` column to the session queue table.
|
|
24
|
+
"""
|
|
25
|
+
migration_15 = Migration(
|
|
26
|
+
from_version=14,
|
|
27
|
+
to_version=15,
|
|
28
|
+
callback=Migration15Callback(),
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
return migration_15
|
|
@@ -32,6 +32,7 @@ class PresetType(str, Enum, metaclass=MetaEnum):
|
|
|
32
32
|
class StylePresetChanges(BaseModel, extra="forbid"):
|
|
33
33
|
name: Optional[str] = Field(default=None, description="The style preset's new name.")
|
|
34
34
|
preset_data: Optional[PresetData] = Field(default=None, description="The updated data for style preset.")
|
|
35
|
+
type: Optional[PresetType] = Field(description="The updated type of the style preset")
|
|
35
36
|
|
|
36
37
|
|
|
37
38
|
class StylePresetWithoutId(BaseModel):
|