InvokeAI 5.0.0rc2__tar.gz → 5.0.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.
Files changed (575) hide show
  1. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/InvokeAI.egg-info/PKG-INFO +6 -6
  2. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/InvokeAI.egg-info/SOURCES.txt +4 -4
  3. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/PKG-INFO +6 -6
  4. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/README.md +5 -5
  5. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/api_app.py +26 -2
  6. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/flux_denoise.py +14 -18
  7. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/flux_lora_loader.py +47 -13
  8. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/flux_text_encoder.py +35 -3
  9. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/config/config_default.py +1 -1
  10. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/workflow_records/default_workflows/FLUX Image to Image.json +39 -51
  11. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/workflow_records/default_workflows/Flux Text to Image.json +27 -39
  12. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/flux/denoise.py +6 -7
  13. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/flux/inpaint_extension.py +23 -3
  14. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/flux/sampling_utils.py +40 -0
  15. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/lora/conversions/flux_diffusers_lora_conversion_utils.py +4 -1
  16. InvokeAI-5.0.2/invokeai/backend/lora/conversions/flux_kohya_lora_conversion_utils.py +122 -0
  17. InvokeAI-5.0.2/invokeai/backend/lora/conversions/flux_lora_constants.py +3 -0
  18. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/config.py +1 -0
  19. InvokeAI-5.0.2/invokeai/frontend/web/dist/assets/App-CsIbq0US.js +124 -0
  20. InvokeAI-5.0.2/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-CGYUFFev.js +1 -0
  21. InvokeAI-5.0.0rc2/invokeai/frontend/web/dist/assets/index-DeiCYymX.js → InvokeAI-5.0.2/invokeai/frontend/web/dist/assets/index-DXIqgMot.js +56 -56
  22. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/index.html +1 -1
  23. InvokeAI-5.0.2/invokeai/frontend/web/dist/locales/ar.json +86 -0
  24. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/locales/de.json +530 -435
  25. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/locales/en.json +62 -217
  26. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/locales/es.json +2 -311
  27. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/locales/fi.json +2 -18
  28. InvokeAI-5.0.2/invokeai/frontend/web/dist/locales/fr.json +418 -0
  29. InvokeAI-5.0.2/invokeai/frontend/web/dist/locales/he.json +101 -0
  30. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/locales/hu.json +1 -2
  31. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/locales/it.json +338 -515
  32. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/locales/ja.json +2 -389
  33. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/locales/ko.json +0 -284
  34. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/locales/nl.json +3 -432
  35. InvokeAI-5.0.2/invokeai/frontend/web/dist/locales/pl.json +71 -0
  36. InvokeAI-5.0.2/invokeai/frontend/web/dist/locales/pt.json +128 -0
  37. InvokeAI-5.0.2/invokeai/frontend/web/dist/locales/pt_BR.json +102 -0
  38. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/locales/ru.json +224 -523
  39. InvokeAI-5.0.2/invokeai/frontend/web/dist/locales/sv.json +35 -0
  40. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/locales/tr.json +1 -323
  41. InvokeAI-5.0.2/invokeai/frontend/web/dist/locales/uk.json +120 -0
  42. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/locales/zh_CN.json +3 -497
  43. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/locales/zh_Hant.json +0 -41
  44. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/scripts/clean_translations.py +1 -0
  45. InvokeAI-5.0.2/invokeai/version/invokeai_version.py +1 -0
  46. InvokeAI-5.0.0rc2/invokeai/backend/flux/trajectory_guidance_extension.py +0 -134
  47. InvokeAI-5.0.0rc2/invokeai/backend/lora/conversions/flux_kohya_lora_conversion_utils.py +0 -80
  48. InvokeAI-5.0.0rc2/invokeai/frontend/web/dist/assets/App-D-QNpkyu.js +0 -124
  49. InvokeAI-5.0.0rc2/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-CnZFp6o9.js +0 -1
  50. InvokeAI-5.0.0rc2/invokeai/frontend/web/dist/locales/ar.json +0 -351
  51. InvokeAI-5.0.0rc2/invokeai/frontend/web/dist/locales/fr.json +0 -470
  52. InvokeAI-5.0.0rc2/invokeai/frontend/web/dist/locales/he.json +0 -366
  53. InvokeAI-5.0.0rc2/invokeai/frontend/web/dist/locales/pl.json +0 -336
  54. InvokeAI-5.0.0rc2/invokeai/frontend/web/dist/locales/pt.json +0 -378
  55. InvokeAI-5.0.0rc2/invokeai/frontend/web/dist/locales/pt_BR.json +0 -367
  56. InvokeAI-5.0.0rc2/invokeai/frontend/web/dist/locales/sv.json +0 -163
  57. InvokeAI-5.0.0rc2/invokeai/frontend/web/dist/locales/uk.json +0 -387
  58. InvokeAI-5.0.0rc2/invokeai/version/invokeai_version.py +0 -1
  59. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/InvokeAI.egg-info/dependency_links.txt +0 -0
  60. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/InvokeAI.egg-info/entry_points.txt +0 -0
  61. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/InvokeAI.egg-info/requires.txt +0 -0
  62. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/InvokeAI.egg-info/top_level.txt +0 -0
  63. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/LICENSE +0 -0
  64. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/LICENSE-SD1+SD2.txt +0 -0
  65. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/LICENSE-SDXL.txt +0 -0
  66. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/__init__.py +0 -0
  67. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/api/dependencies.py +0 -0
  68. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/api/no_cache_staticfiles.py +0 -0
  69. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/api/routers/app_info.py +0 -0
  70. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/api/routers/board_images.py +0 -0
  71. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/api/routers/boards.py +0 -0
  72. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/api/routers/download_queue.py +0 -0
  73. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/api/routers/images.py +0 -0
  74. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/api/routers/model_manager.py +0 -0
  75. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/api/routers/session_queue.py +0 -0
  76. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/api/routers/style_presets.py +0 -0
  77. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/api/routers/utilities.py +0 -0
  78. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/api/routers/workflows.py +0 -0
  79. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/api/sockets.py +0 -0
  80. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/assets/images/caution.png +0 -0
  81. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/__init__.py +0 -0
  82. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/baseinvocation.py +0 -0
  83. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/blend_latents.py +0 -0
  84. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/canny.py +0 -0
  85. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/collections.py +0 -0
  86. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/color_map.py +0 -0
  87. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/compel.py +0 -0
  88. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/constants.py +0 -0
  89. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/content_shuffle.py +0 -0
  90. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/controlnet_image_processors.py +0 -0
  91. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/create_denoise_mask.py +0 -0
  92. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/create_gradient_mask.py +0 -0
  93. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/crop_latents.py +0 -0
  94. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/custom_nodes/README.md +0 -0
  95. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/custom_nodes/init.py +0 -0
  96. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/cv.py +0 -0
  97. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/denoise_latents.py +0 -0
  98. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/depth_anything.py +0 -0
  99. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/dw_openpose.py +0 -0
  100. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/facetools.py +0 -0
  101. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/fields.py +0 -0
  102. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/flux_vae_decode.py +0 -0
  103. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/flux_vae_encode.py +0 -0
  104. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/grounding_dino.py +0 -0
  105. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/hed.py +0 -0
  106. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/ideal_size.py +0 -0
  107. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/image.py +0 -0
  108. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/image_to_latents.py +0 -0
  109. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/infill.py +0 -0
  110. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/ip_adapter.py +0 -0
  111. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/latents_to_image.py +0 -0
  112. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/lineart.py +0 -0
  113. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/lineart_anime.py +0 -0
  114. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/mask.py +0 -0
  115. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/math.py +0 -0
  116. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/mediapipe_face.py +0 -0
  117. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/metadata.py +0 -0
  118. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/mlsd.py +0 -0
  119. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/model.py +0 -0
  120. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/noise.py +0 -0
  121. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/normal_bae.py +0 -0
  122. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/param_easing.py +0 -0
  123. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/pidi.py +0 -0
  124. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/primitives.py +0 -0
  125. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/prompt.py +0 -0
  126. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/resize_latents.py +0 -0
  127. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/scheduler.py +0 -0
  128. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/sdxl.py +0 -0
  129. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/segment_anything.py +0 -0
  130. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/spandrel_image_to_image.py +0 -0
  131. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/strings.py +0 -0
  132. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/t2i_adapter.py +0 -0
  133. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/tiled_multi_diffusion_denoise_latents.py +0 -0
  134. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/tiles.py +0 -0
  135. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/upscale.py +0 -0
  136. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/invocations/util.py +0 -0
  137. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/run_app.py +0 -0
  138. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/__init__.py +0 -0
  139. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/board_image_records/__init__.py +0 -0
  140. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/board_image_records/board_image_records_base.py +0 -0
  141. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/board_image_records/board_image_records_sqlite.py +0 -0
  142. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/board_images/__init__.py +0 -0
  143. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/board_images/board_images_base.py +0 -0
  144. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/board_images/board_images_common.py +0 -0
  145. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/board_images/board_images_default.py +0 -0
  146. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/board_records/board_records_base.py +0 -0
  147. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/board_records/board_records_common.py +0 -0
  148. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/board_records/board_records_sqlite.py +0 -0
  149. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/boards/__init__.py +0 -0
  150. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/boards/boards_base.py +0 -0
  151. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/boards/boards_common.py +0 -0
  152. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/boards/boards_default.py +0 -0
  153. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/bulk_download/__init__.py +0 -0
  154. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/bulk_download/bulk_download_base.py +0 -0
  155. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/bulk_download/bulk_download_common.py +0 -0
  156. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/bulk_download/bulk_download_default.py +0 -0
  157. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/config/__init__.py +0 -0
  158. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/config/config_common.py +0 -0
  159. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/download/__init__.py +0 -0
  160. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/download/download_base.py +0 -0
  161. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/download/download_default.py +0 -0
  162. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/events/__init__.py +0 -0
  163. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/events/events_base.py +0 -0
  164. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/events/events_common.py +0 -0
  165. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/events/events_fastapievents.py +0 -0
  166. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/image_files/__init__.py +0 -0
  167. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/image_files/image_files_base.py +0 -0
  168. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/image_files/image_files_common.py +0 -0
  169. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/image_files/image_files_disk.py +0 -0
  170. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/image_records/__init__.py +0 -0
  171. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/image_records/image_records_base.py +0 -0
  172. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/image_records/image_records_common.py +0 -0
  173. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/image_records/image_records_sqlite.py +0 -0
  174. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/images/__init__.py +0 -0
  175. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/images/images_base.py +0 -0
  176. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/images/images_common.py +0 -0
  177. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/images/images_default.py +0 -0
  178. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/invocation_cache/__init__.py +0 -0
  179. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/invocation_cache/invocation_cache_base.py +0 -0
  180. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/invocation_cache/invocation_cache_common.py +0 -0
  181. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/invocation_cache/invocation_cache_memory.py +0 -0
  182. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/invocation_services.py +0 -0
  183. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/invocation_stats/__init__.py +0 -0
  184. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/invocation_stats/invocation_stats_base.py +0 -0
  185. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/invocation_stats/invocation_stats_common.py +0 -0
  186. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/invocation_stats/invocation_stats_default.py +0 -0
  187. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/invoker.py +0 -0
  188. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/item_storage/__init__.py +0 -0
  189. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/item_storage/item_storage_base.py +0 -0
  190. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/item_storage/item_storage_common.py +0 -0
  191. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/item_storage/item_storage_memory.py +0 -0
  192. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/model_images/model_images_base.py +0 -0
  193. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/model_images/model_images_common.py +0 -0
  194. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/model_images/model_images_default.py +0 -0
  195. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/model_install/__init__.py +0 -0
  196. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/model_install/model_install_base.py +0 -0
  197. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/model_install/model_install_common.py +0 -0
  198. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/model_install/model_install_default.py +0 -0
  199. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/model_load/__init__.py +0 -0
  200. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/model_load/model_load_base.py +0 -0
  201. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/model_load/model_load_default.py +0 -0
  202. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/model_manager/__init__.py +0 -0
  203. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/model_manager/model_manager_base.py +0 -0
  204. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/model_manager/model_manager_common.py +0 -0
  205. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/model_manager/model_manager_default.py +0 -0
  206. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/model_records/__init__.py +0 -0
  207. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/model_records/model_records_base.py +0 -0
  208. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/model_records/model_records_sql.py +0 -0
  209. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/names/__init__.py +0 -0
  210. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/names/names_base.py +0 -0
  211. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/names/names_common.py +0 -0
  212. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/names/names_default.py +0 -0
  213. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/object_serializer/object_serializer_base.py +0 -0
  214. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/object_serializer/object_serializer_common.py +0 -0
  215. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/object_serializer/object_serializer_disk.py +0 -0
  216. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/object_serializer/object_serializer_forward_cache.py +0 -0
  217. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/session_processor/__init__.py +0 -0
  218. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/session_processor/session_processor_base.py +0 -0
  219. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/session_processor/session_processor_common.py +0 -0
  220. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/session_processor/session_processor_default.py +0 -0
  221. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/session_queue/__init__.py +0 -0
  222. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/session_queue/session_queue_base.py +0 -0
  223. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/session_queue/session_queue_common.py +0 -0
  224. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/session_queue/session_queue_sqlite.py +0 -0
  225. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/shared/__init__.py +0 -0
  226. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/shared/graph.py +0 -0
  227. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/shared/invocation_context.py +0 -0
  228. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/shared/pagination.py +0 -0
  229. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/shared/sqlite/__init__.py +0 -0
  230. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/shared/sqlite/sqlite_common.py +0 -0
  231. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/shared/sqlite/sqlite_database.py +0 -0
  232. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/shared/sqlite/sqlite_util.py +0 -0
  233. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/shared/sqlite_migrator/__init__.py +0 -0
  234. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/shared/sqlite_migrator/migrations/__init__.py +0 -0
  235. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_1.py +0 -0
  236. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_10.py +0 -0
  237. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_11.py +0 -0
  238. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_12.py +0 -0
  239. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_13.py +0 -0
  240. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_14.py +0 -0
  241. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_15.py +0 -0
  242. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_2.py +0 -0
  243. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_3.py +0 -0
  244. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_4.py +0 -0
  245. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_5.py +0 -0
  246. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_6.py +0 -0
  247. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_7.py +0 -0
  248. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_8.py +0 -0
  249. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/shared/sqlite_migrator/migrations/migration_9.py +0 -0
  250. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/shared/sqlite_migrator/sqlite_migrator_common.py +0 -0
  251. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/shared/sqlite_migrator/sqlite_migrator_impl.py +0 -0
  252. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Anime.png +0 -0
  253. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Architectural Visualization.png +0 -0
  254. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Concept Art (Character).png +0 -0
  255. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Concept Art (Fantasy).png +0 -0
  256. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Concept Art (Painterly).png +0 -0
  257. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Concept Art (Sci-Fi).png +0 -0
  258. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Environment Art.png +0 -0
  259. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Illustration.png +0 -0
  260. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Interior Design (Visualization).png +0 -0
  261. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Line Art.png +0 -0
  262. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Photography (Black and White).png +0 -0
  263. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Photography (General).png +0 -0
  264. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Photography (Landscape).png +0 -0
  265. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Photography (Portrait).png +0 -0
  266. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Photography (Studio Lighting).png +0 -0
  267. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Product Rendering.png +0 -0
  268. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Sketch.png +0 -0
  269. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/style_preset_images/default_style_preset_images/Vehicles.png +0 -0
  270. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/style_preset_images/default_style_preset_images/__init__.py +0 -0
  271. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/style_preset_images/style_preset_images_base.py +0 -0
  272. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/style_preset_images/style_preset_images_common.py +0 -0
  273. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/style_preset_images/style_preset_images_disk.py +0 -0
  274. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/style_preset_records/__init__.py +0 -0
  275. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/style_preset_records/default_style_presets.json +0 -0
  276. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/style_preset_records/style_preset_records_base.py +0 -0
  277. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/style_preset_records/style_preset_records_common.py +0 -0
  278. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/style_preset_records/style_preset_records_sqlite.py +0 -0
  279. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/urls/__init__.py +0 -0
  280. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/urls/urls_base.py +0 -0
  281. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/urls/urls_default.py +0 -0
  282. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/workflow_records/__init__.py +0 -0
  283. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/workflow_records/default_workflows/ESRGAN Upscaling with Canny ControlNet.json +0 -0
  284. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/workflow_records/default_workflows/Face Detailer with IP-Adapter & Canny (See Note in Details).json +0 -0
  285. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/workflow_records/default_workflows/Multi ControlNet (Canny & Depth).json +0 -0
  286. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/workflow_records/default_workflows/MultiDiffusion SD1.5.json +0 -0
  287. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/workflow_records/default_workflows/MultiDiffusion SDXL.json +0 -0
  288. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/workflow_records/default_workflows/Prompt from File.json +0 -0
  289. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/workflow_records/default_workflows/Text to Image - SD1.5.json +0 -0
  290. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/workflow_records/default_workflows/Text to Image - SDXL.json +0 -0
  291. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/workflow_records/default_workflows/Text to Image with LoRA.json +0 -0
  292. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/workflow_records/default_workflows/Tiled Upscaling (Beta).json +0 -0
  293. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/workflow_records/workflow_records_base.py +0 -0
  294. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/workflow_records/workflow_records_common.py +0 -0
  295. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/services/workflow_records/workflow_records_sqlite.py +0 -0
  296. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/shared/__init__.py +0 -0
  297. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/shared/models.py +0 -0
  298. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/util/__init__.py +0 -0
  299. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/util/controlnet_utils.py +0 -0
  300. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/util/custom_openapi.py +0 -0
  301. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/util/metaenum.py +0 -0
  302. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/util/misc.py +0 -0
  303. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/util/model_exclude_null.py +0 -0
  304. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/util/profiler.py +0 -0
  305. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/util/step_callback.py +0 -0
  306. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/util/suppress_output.py +0 -0
  307. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/util/thumbnails.py +0 -0
  308. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/app/util/ti_utils.py +0 -0
  309. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/assets/fonts/inter/Inter-Regular.ttf +0 -0
  310. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/__init__.py +0 -0
  311. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/flux/math.py +0 -0
  312. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/flux/model.py +0 -0
  313. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/flux/modules/autoencoder.py +0 -0
  314. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/flux/modules/conditioner.py +0 -0
  315. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/flux/modules/layers.py +0 -0
  316. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/flux/util.py +0 -0
  317. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/__init__.py +0 -0
  318. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/basicsr/__init__.py +0 -0
  319. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/basicsr/arch_util.py +0 -0
  320. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/basicsr/rrdbnet_arch.py +0 -0
  321. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/canny.py +0 -0
  322. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/content_shuffle.py +0 -0
  323. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/depth_anything/depth_anything_pipeline.py +0 -0
  324. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/dw_openpose/__init__.py +0 -0
  325. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/dw_openpose/onnxdet.py +0 -0
  326. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/dw_openpose/onnxpose.py +0 -0
  327. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/dw_openpose/utils.py +0 -0
  328. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/dw_openpose/wholebody.py +0 -0
  329. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/grounding_dino/__init__.py +0 -0
  330. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/grounding_dino/detection_result.py +0 -0
  331. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/grounding_dino/grounding_dino_pipeline.py +0 -0
  332. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/hed.py +0 -0
  333. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/infill_methods/cv2_inpaint.py +0 -0
  334. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/infill_methods/lama.py +0 -0
  335. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/infill_methods/mosaic.py +0 -0
  336. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/infill_methods/patchmatch.py +0 -0
  337. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/infill_methods/tile.py +0 -0
  338. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/invisible_watermark.py +0 -0
  339. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/lineart.py +0 -0
  340. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/lineart_anime.py +0 -0
  341. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/mediapipe_face/__init__.py +0 -0
  342. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/mediapipe_face/mediapipe_face_common.py +0 -0
  343. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/mlsd/__init__.py +0 -0
  344. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/mlsd/models/__init__.py +0 -0
  345. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/mlsd/models/mbv2_mlsd_large.py +0 -0
  346. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/mlsd/models/mbv2_mlsd_tiny.py +0 -0
  347. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/mlsd/utils.py +0 -0
  348. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/normal_bae/__init__.py +0 -0
  349. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/normal_bae/nets/NNET.py +0 -0
  350. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/normal_bae/nets/__init__.py +0 -0
  351. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/normal_bae/nets/baseline.py +0 -0
  352. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/normal_bae/nets/submodules/__init__.py +0 -0
  353. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/normal_bae/nets/submodules/decoder.py +0 -0
  354. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/__init__.py +0 -0
  355. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/caffe2_benchmark.py +0 -0
  356. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/caffe2_validate.py +0 -0
  357. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/geffnet/__init__.py +0 -0
  358. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/geffnet/activations/__init__.py +0 -0
  359. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/geffnet/activations/activations.py +0 -0
  360. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/geffnet/activations/activations_jit.py +0 -0
  361. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/geffnet/activations/activations_me.py +0 -0
  362. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/geffnet/config.py +0 -0
  363. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/geffnet/conv2d_layers.py +0 -0
  364. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/geffnet/efficientnet_builder.py +0 -0
  365. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/geffnet/gen_efficientnet.py +0 -0
  366. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/geffnet/helpers.py +0 -0
  367. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/geffnet/mobilenetv3.py +0 -0
  368. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/geffnet/model_factory.py +0 -0
  369. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/geffnet/version.py +0 -0
  370. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/hubconf.py +0 -0
  371. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/onnx_export.py +0 -0
  372. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/onnx_optimize.py +0 -0
  373. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/onnx_to_caffe.py +0 -0
  374. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/onnx_validate.py +0 -0
  375. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/setup.py +0 -0
  376. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/utils.py +0 -0
  377. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/normal_bae/nets/submodules/efficientnet_repo/validate.py +0 -0
  378. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/normal_bae/nets/submodules/encoder.py +0 -0
  379. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/normal_bae/nets/submodules/submodules.py +0 -0
  380. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/pidi/__init__.py +0 -0
  381. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/pidi/model.py +0 -0
  382. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/pngwriter.py +0 -0
  383. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/realesrgan/__init__.py +0 -0
  384. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/realesrgan/realesrgan.py +0 -0
  385. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/safety_checker.py +0 -0
  386. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/segment_anything/__init__.py +0 -0
  387. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/segment_anything/mask_refinement.py +0 -0
  388. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/segment_anything/segment_anything_pipeline.py +0 -0
  389. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/image_util/util.py +0 -0
  390. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/ip_adapter/__init__.py +0 -0
  391. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/ip_adapter/ip_adapter.py +0 -0
  392. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/ip_adapter/ip_attention_weights.py +0 -0
  393. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/ip_adapter/resampler.py +0 -0
  394. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/lora/__init__.py +0 -0
  395. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/lora/conversions/__init__.py +0 -0
  396. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/lora/conversions/sd_lora_conversion_utils.py +0 -0
  397. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/lora/conversions/sdxl_lora_conversion_utils.py +0 -0
  398. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/lora/layers/__init__.py +0 -0
  399. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/lora/layers/any_lora_layer.py +0 -0
  400. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/lora/layers/concatenated_lora_layer.py +0 -0
  401. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/lora/layers/full_layer.py +0 -0
  402. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/lora/layers/ia3_layer.py +0 -0
  403. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/lora/layers/loha_layer.py +0 -0
  404. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/lora/layers/lokr_layer.py +0 -0
  405. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/lora/layers/lora_layer.py +0 -0
  406. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/lora/layers/lora_layer_base.py +0 -0
  407. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/lora/layers/norm_layer.py +0 -0
  408. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/lora/layers/utils.py +0 -0
  409. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/lora/lora_model_raw.py +0 -0
  410. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/lora/lora_patcher.py +0 -0
  411. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/lora/sidecar_layers/__init__.py +0 -0
  412. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/lora/sidecar_layers/concatenated_lora/__init__.py +0 -0
  413. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/lora/sidecar_layers/concatenated_lora/concatenated_lora_linear_sidecar_layer.py +0 -0
  414. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/lora/sidecar_layers/lora/__init__.py +0 -0
  415. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/lora/sidecar_layers/lora/lora_linear_sidecar_layer.py +0 -0
  416. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/lora/sidecar_layers/lora_sidecar_layer.py +0 -0
  417. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/lora/sidecar_layers/lora_sidecar_module.py +0 -0
  418. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_hash/hash_validator.py +0 -0
  419. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_hash/model_hash.py +0 -0
  420. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/__init__.py +0 -0
  421. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/load/__init__.py +0 -0
  422. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/load/load_base.py +0 -0
  423. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/load/load_default.py +0 -0
  424. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/load/memory_snapshot.py +0 -0
  425. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/load/model_cache/__init__.py +0 -0
  426. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/load/model_cache/model_cache_base.py +0 -0
  427. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/load/model_cache/model_cache_default.py +0 -0
  428. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/load/model_cache/model_locker.py +0 -0
  429. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/load/model_loader_registry.py +0 -0
  430. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/load/model_loaders/__init__.py +0 -0
  431. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/load/model_loaders/controlnet.py +0 -0
  432. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/load/model_loaders/flux.py +0 -0
  433. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/load/model_loaders/generic_diffusers.py +0 -0
  434. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/load/model_loaders/ip_adapter.py +0 -0
  435. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/load/model_loaders/lora.py +0 -0
  436. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/load/model_loaders/onnx.py +0 -0
  437. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/load/model_loaders/spandrel_image_to_image.py +0 -0
  438. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/load/model_loaders/stable_diffusion.py +0 -0
  439. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/load/model_loaders/textual_inversion.py +0 -0
  440. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/load/model_loaders/vae.py +0 -0
  441. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/load/model_util.py +0 -0
  442. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/load/optimizations.py +0 -0
  443. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/merge.py +0 -0
  444. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/metadata/__init__.py +0 -0
  445. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/metadata/fetch/__init__.py +0 -0
  446. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/metadata/fetch/fetch_base.py +0 -0
  447. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/metadata/fetch/huggingface.py +0 -0
  448. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/metadata/metadata_base.py +0 -0
  449. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/probe.py +0 -0
  450. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/search.py +0 -0
  451. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/starter_models.py +0 -0
  452. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/util/libc_util.py +0 -0
  453. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/util/model_util.py +0 -0
  454. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_manager/util/select_hf_files.py +0 -0
  455. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/model_patcher.py +0 -0
  456. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/onnx/onnx_runtime.py +0 -0
  457. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/quantization/__init__.py +0 -0
  458. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/quantization/bnb_llm_int8.py +0 -0
  459. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/quantization/bnb_nf4.py +0 -0
  460. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/quantization/scripts/load_flux_model_bnb_llm_int8.py +0 -0
  461. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/quantization/scripts/load_flux_model_bnb_nf4.py +0 -0
  462. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/quantization/scripts/quantize_t5_xxl_bnb_llm_int8.py +0 -0
  463. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/raw_model.py +0 -0
  464. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/spandrel_image_to_image_model.py +0 -0
  465. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/stable_diffusion/__init__.py +0 -0
  466. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/stable_diffusion/denoise_context.py +0 -0
  467. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/stable_diffusion/diffusers_pipeline.py +0 -0
  468. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/stable_diffusion/diffusion/__init__.py +0 -0
  469. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/stable_diffusion/diffusion/conditioning_data.py +0 -0
  470. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/stable_diffusion/diffusion/custom_atttention.py +0 -0
  471. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/stable_diffusion/diffusion/regional_ip_data.py +0 -0
  472. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/stable_diffusion/diffusion/regional_prompt_data.py +0 -0
  473. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py +0 -0
  474. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/stable_diffusion/diffusion/unet_attention_patcher.py +0 -0
  475. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/stable_diffusion/diffusion_backend.py +0 -0
  476. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/stable_diffusion/extension_callback_type.py +0 -0
  477. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/stable_diffusion/extensions/base.py +0 -0
  478. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/stable_diffusion/extensions/controlnet.py +0 -0
  479. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/stable_diffusion/extensions/freeu.py +0 -0
  480. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/stable_diffusion/extensions/inpaint.py +0 -0
  481. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/stable_diffusion/extensions/inpaint_model.py +0 -0
  482. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/stable_diffusion/extensions/lora.py +0 -0
  483. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/stable_diffusion/extensions/preview.py +0 -0
  484. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/stable_diffusion/extensions/rescale_cfg.py +0 -0
  485. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/stable_diffusion/extensions/seamless.py +0 -0
  486. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/stable_diffusion/extensions/t2i_adapter.py +0 -0
  487. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/stable_diffusion/extensions_manager.py +0 -0
  488. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/stable_diffusion/multi_diffusion_pipeline.py +0 -0
  489. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/stable_diffusion/schedulers/__init__.py +0 -0
  490. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/stable_diffusion/schedulers/schedulers.py +0 -0
  491. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/stable_diffusion/vae_tiling.py +0 -0
  492. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/textual_inversion.py +0 -0
  493. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/tiles/__init__.py +0 -0
  494. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/tiles/tiles.py +0 -0
  495. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/tiles/utils.py +0 -0
  496. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/util/__init__.py +0 -0
  497. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/util/attention.py +0 -0
  498. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/util/build_line.py +0 -0
  499. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/util/calc_tensor_size.py +0 -0
  500. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/util/catch_sigint.py +0 -0
  501. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/util/db_maintenance.py +0 -0
  502. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/util/devices.py +0 -0
  503. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/util/hotfixes.py +0 -0
  504. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/util/logging.py +0 -0
  505. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/util/mask.py +0 -0
  506. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/util/mps_fixes.py +0 -0
  507. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/util/original_weights_storage.py +0 -0
  508. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/util/silence_warnings.py +0 -0
  509. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/util/test_utils.py +0 -0
  510. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/backend/util/util.py +0 -0
  511. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/configs/controlnet/cldm_v15.yaml +0 -0
  512. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/configs/controlnet/cldm_v21.yaml +0 -0
  513. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/configs/stable-diffusion/sd_xl_base.yaml +0 -0
  514. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/configs/stable-diffusion/sd_xl_inpaint.yaml +0 -0
  515. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/configs/stable-diffusion/sd_xl_refiner.yaml +0 -0
  516. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/configs/stable-diffusion/v1-finetune.yaml +0 -0
  517. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/configs/stable-diffusion/v1-finetune_style.yaml +0 -0
  518. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/configs/stable-diffusion/v1-inference-v.yaml +0 -0
  519. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/configs/stable-diffusion/v1-inference.yaml +0 -0
  520. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/configs/stable-diffusion/v1-inpainting-inference.yaml +0 -0
  521. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/configs/stable-diffusion/v1-m1-finetune.yaml +0 -0
  522. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/configs/stable-diffusion/v2-inference-v.yaml +0 -0
  523. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/configs/stable-diffusion/v2-inference.yaml +0 -0
  524. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/configs/stable-diffusion/v2-inpainting-inference-v.yaml +0 -0
  525. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/configs/stable-diffusion/v2-inpainting-inference.yaml +0 -0
  526. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/configs/stable-diffusion/v2-midas-inference.yaml +0 -0
  527. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/__init__.py +0 -0
  528. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/cli/__init__.py +0 -0
  529. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/cli/arg_parser.py +0 -0
  530. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/install/__init__.py +0 -0
  531. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/install/import_images.py +0 -0
  532. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/__init__.py +0 -0
  533. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/assets/App-DEu4J2pT.css +0 -0
  534. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/assets/ThemeLocaleProvider-B2NxUfIp.css +0 -0
  535. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/assets/commercial-license-bg-C_dHp7on.png +0 -0
  536. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/assets/images/commercial-license-bg.png +0 -0
  537. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/assets/images/invoke-alert-favicon.svg +0 -0
  538. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/assets/images/invoke-avatar-circle.svg +0 -0
  539. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/assets/images/invoke-avatar-square.svg +0 -0
  540. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/assets/images/invoke-favicon.png +0 -0
  541. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/assets/images/invoke-favicon.svg +0 -0
  542. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/assets/images/invoke-key-char-lrg.svg +0 -0
  543. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/assets/images/invoke-key-char-sml.svg +0 -0
  544. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/assets/images/invoke-key-wht-lrg.svg +0 -0
  545. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/assets/images/invoke-key-wht-sml.svg +0 -0
  546. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/assets/images/invoke-symbol-char-lrg.svg +0 -0
  547. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/assets/images/invoke-symbol-char-sml.svg +0 -0
  548. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/assets/images/invoke-symbol-wht-lrg.svg +0 -0
  549. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/assets/images/invoke-symbol-wht-sml.svg +0 -0
  550. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/assets/images/invoke-symbol-ylw-lrg.svg +0 -0
  551. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/assets/images/invoke-tag-char-lrg.svg +0 -0
  552. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/assets/images/invoke-tag-char-sml.svg +0 -0
  553. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/assets/images/invoke-tag-lrg.svg +0 -0
  554. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/assets/images/invoke-tag-sml.svg +0 -0
  555. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/assets/images/invoke-wordmark-charcoal.svg +0 -0
  556. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/assets/images/invoke-wordmark-white.svg +0 -0
  557. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/assets/images/mask.svg +0 -0
  558. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/assets/inter-cyrillic-ext-wght-normal-B2xhLi22.woff2 +0 -0
  559. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/assets/inter-cyrillic-wght-normal-CMZtQduZ.woff2 +0 -0
  560. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/assets/inter-greek-ext-wght-normal-CGAr0uHJ.woff2 +0 -0
  561. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/assets/inter-greek-wght-normal-CaVNZxsx.woff2 +0 -0
  562. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/assets/inter-latin-ext-wght-normal-CFHvXkgd.woff2 +0 -0
  563. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/assets/inter-latin-wght-normal-C2S99t-D.woff2 +0 -0
  564. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2 +0 -0
  565. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/assets/worker-Dywf1EVc.js +0 -0
  566. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/locales/az.json +0 -0
  567. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/locales/bg.json +0 -0
  568. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/locales/mn.json +0 -0
  569. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/locales/ro.json +0 -0
  570. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/dist/locales/vi.json +0 -0
  571. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/frontend/web/static/docs/invoke-favicon-docs.svg +0 -0
  572. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/invocation_api/__init__.py +0 -0
  573. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/invokeai/version/__init__.py +0 -0
  574. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/pyproject.toml +0 -0
  575. {InvokeAI-5.0.0rc2 → InvokeAI-5.0.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: InvokeAI
3
- Version: 5.0.0rc2
3
+ Version: 5.0.2
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
@@ -346,15 +346,15 @@ Invoke is a combined effort of [passionate and talented people from across the w
346
346
 
347
347
  Original portions of the software are Copyright © 2024 by respective contributors.
348
348
 
349
- [features docs]: https://invoke-ai.github.io/InvokeAI/features/
350
- [faq]: https://invoke-ai.github.io/InvokeAI/help/FAQ/
351
- [contributors]: https://invoke-ai.github.io/InvokeAI/other/CONTRIBUTORS/
349
+ [features docs]: https://invoke-ai.github.io/InvokeAI/features/database/
350
+ [faq]: https://invoke-ai.github.io/InvokeAI/faq/
351
+ [contributors]: https://invoke-ai.github.io/InvokeAI/contributing/contributors/
352
352
  [invoke.com]: https://www.invoke.com/about
353
353
  [github issues]: https://github.com/invoke-ai/InvokeAI/issues
354
354
  [docs home]: https://invoke-ai.github.io/InvokeAI
355
- [installation docs]: https://invoke-ai.github.io/InvokeAI/installation/INSTALLATION/
355
+ [installation docs]: https://invoke-ai.github.io/InvokeAI/installation/
356
356
  [#dev-chat]: https://discord.com/channels/1020123559063990373/1049495067846524939
357
- [contributing docs]: https://invoke-ai.github.io/InvokeAI/contributing/CONTRIBUTING/
357
+ [contributing docs]: https://invoke-ai.github.io/InvokeAI/contributing/
358
358
  [CI checks on main badge]: https://flat.badgen.net/github/checks/invoke-ai/InvokeAI/main?label=CI%20status%20on%20main&cache=900&icon=github
359
359
  [CI checks on main link]: https://github.com/invoke-ai/InvokeAI/actions?query=branch%3Amain
360
360
  [discord badge]: https://flat.badgen.net/discord/members/ZmtBAhwWhy?icon=discord
@@ -270,7 +270,6 @@ invokeai/backend/flux/inpaint_extension.py
270
270
  invokeai/backend/flux/math.py
271
271
  invokeai/backend/flux/model.py
272
272
  invokeai/backend/flux/sampling_utils.py
273
- invokeai/backend/flux/trajectory_guidance_extension.py
274
273
  invokeai/backend/flux/util.py
275
274
  invokeai/backend/flux/modules/autoencoder.py
276
275
  invokeai/backend/flux/modules/conditioner.py
@@ -358,6 +357,7 @@ invokeai/backend/lora/lora_patcher.py
358
357
  invokeai/backend/lora/conversions/__init__.py
359
358
  invokeai/backend/lora/conversions/flux_diffusers_lora_conversion_utils.py
360
359
  invokeai/backend/lora/conversions/flux_kohya_lora_conversion_utils.py
360
+ invokeai/backend/lora/conversions/flux_lora_constants.py
361
361
  invokeai/backend/lora/conversions/sd_lora_conversion_utils.py
362
362
  invokeai/backend/lora/conversions/sdxl_lora_conversion_utils.py
363
363
  invokeai/backend/lora/layers/__init__.py
@@ -491,12 +491,12 @@ invokeai/frontend/install/__init__.py
491
491
  invokeai/frontend/install/import_images.py
492
492
  invokeai/frontend/web/__init__.py
493
493
  invokeai/frontend/web/dist/index.html
494
- invokeai/frontend/web/dist/assets/App-D-QNpkyu.js
494
+ invokeai/frontend/web/dist/assets/App-CsIbq0US.js
495
495
  invokeai/frontend/web/dist/assets/App-DEu4J2pT.css
496
496
  invokeai/frontend/web/dist/assets/ThemeLocaleProvider-B2NxUfIp.css
497
- invokeai/frontend/web/dist/assets/ThemeLocaleProvider-CnZFp6o9.js
497
+ invokeai/frontend/web/dist/assets/ThemeLocaleProvider-CGYUFFev.js
498
498
  invokeai/frontend/web/dist/assets/commercial-license-bg-C_dHp7on.png
499
- invokeai/frontend/web/dist/assets/index-DeiCYymX.js
499
+ invokeai/frontend/web/dist/assets/index-DXIqgMot.js
500
500
  invokeai/frontend/web/dist/assets/inter-cyrillic-ext-wght-normal-B2xhLi22.woff2
501
501
  invokeai/frontend/web/dist/assets/inter-cyrillic-wght-normal-CMZtQduZ.woff2
502
502
  invokeai/frontend/web/dist/assets/inter-greek-ext-wght-normal-CGAr0uHJ.woff2
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: InvokeAI
3
- Version: 5.0.0rc2
3
+ Version: 5.0.2
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
@@ -346,15 +346,15 @@ Invoke is a combined effort of [passionate and talented people from across the w
346
346
 
347
347
  Original portions of the software are Copyright © 2024 by respective contributors.
348
348
 
349
- [features docs]: https://invoke-ai.github.io/InvokeAI/features/
350
- [faq]: https://invoke-ai.github.io/InvokeAI/help/FAQ/
351
- [contributors]: https://invoke-ai.github.io/InvokeAI/other/CONTRIBUTORS/
349
+ [features docs]: https://invoke-ai.github.io/InvokeAI/features/database/
350
+ [faq]: https://invoke-ai.github.io/InvokeAI/faq/
351
+ [contributors]: https://invoke-ai.github.io/InvokeAI/contributing/contributors/
352
352
  [invoke.com]: https://www.invoke.com/about
353
353
  [github issues]: https://github.com/invoke-ai/InvokeAI/issues
354
354
  [docs home]: https://invoke-ai.github.io/InvokeAI
355
- [installation docs]: https://invoke-ai.github.io/InvokeAI/installation/INSTALLATION/
355
+ [installation docs]: https://invoke-ai.github.io/InvokeAI/installation/
356
356
  [#dev-chat]: https://discord.com/channels/1020123559063990373/1049495067846524939
357
- [contributing docs]: https://invoke-ai.github.io/InvokeAI/contributing/CONTRIBUTING/
357
+ [contributing docs]: https://invoke-ai.github.io/InvokeAI/contributing/
358
358
  [CI checks on main badge]: https://flat.badgen.net/github/checks/invoke-ai/InvokeAI/main?label=CI%20status%20on%20main&cache=900&icon=github
359
359
  [CI checks on main link]: https://github.com/invoke-ai/InvokeAI/actions?query=branch%3Amain
360
360
  [discord badge]: https://flat.badgen.net/discord/members/ZmtBAhwWhy?icon=discord
@@ -126,15 +126,15 @@ Invoke is a combined effort of [passionate and talented people from across the w
126
126
 
127
127
  Original portions of the software are Copyright © 2024 by respective contributors.
128
128
 
129
- [features docs]: https://invoke-ai.github.io/InvokeAI/features/
130
- [faq]: https://invoke-ai.github.io/InvokeAI/help/FAQ/
131
- [contributors]: https://invoke-ai.github.io/InvokeAI/other/CONTRIBUTORS/
129
+ [features docs]: https://invoke-ai.github.io/InvokeAI/features/database/
130
+ [faq]: https://invoke-ai.github.io/InvokeAI/faq/
131
+ [contributors]: https://invoke-ai.github.io/InvokeAI/contributing/contributors/
132
132
  [invoke.com]: https://www.invoke.com/about
133
133
  [github issues]: https://github.com/invoke-ai/InvokeAI/issues
134
134
  [docs home]: https://invoke-ai.github.io/InvokeAI
135
- [installation docs]: https://invoke-ai.github.io/InvokeAI/installation/INSTALLATION/
135
+ [installation docs]: https://invoke-ai.github.io/InvokeAI/installation/
136
136
  [#dev-chat]: https://discord.com/channels/1020123559063990373/1049495067846524939
137
- [contributing docs]: https://invoke-ai.github.io/InvokeAI/contributing/CONTRIBUTING/
137
+ [contributing docs]: https://invoke-ai.github.io/InvokeAI/contributing/
138
138
  [CI checks on main badge]: https://flat.badgen.net/github/checks/invoke-ai/InvokeAI/main?label=CI%20status%20on%20main&cache=900&icon=github
139
139
  [CI checks on main link]: https://github.com/invoke-ai/InvokeAI/actions?query=branch%3Amain
140
140
  [discord badge]: https://flat.badgen.net/discord/members/ZmtBAhwWhy?icon=discord
@@ -7,13 +7,14 @@ from pathlib import Path
7
7
 
8
8
  import torch
9
9
  import uvicorn
10
- from fastapi import FastAPI
10
+ from fastapi import FastAPI, Request
11
11
  from fastapi.middleware.cors import CORSMiddleware
12
12
  from fastapi.middleware.gzip import GZipMiddleware
13
13
  from fastapi.openapi.docs import get_redoc_html, get_swagger_ui_html
14
- from fastapi.responses import HTMLResponse
14
+ from fastapi.responses import HTMLResponse, RedirectResponse
15
15
  from fastapi_events.handlers.local import local_handler
16
16
  from fastapi_events.middleware import EventHandlerASGIMiddleware
17
+ from starlette.middleware.base import BaseHTTPMiddleware, RequestResponseEndpoint
17
18
  from torch.backends.mps import is_available as is_mps_available
18
19
 
19
20
  # for PyCharm:
@@ -78,6 +79,29 @@ app = FastAPI(
78
79
  lifespan=lifespan,
79
80
  )
80
81
 
82
+
83
+ class RedirectRootWithQueryStringMiddleware(BaseHTTPMiddleware):
84
+ """When a request is made to the root path with a query string, redirect to the root path without the query string.
85
+
86
+ For example, to force a Gradio app to use dark mode, users may append `?__theme=dark` to the URL. Their browser may
87
+ have this query string saved in history or a bookmark, so when the user navigates to `http://127.0.0.1:9090/`, the
88
+ browser takes them to `http://127.0.0.1:9090/?__theme=dark`.
89
+
90
+ This breaks the static file serving in the UI, so we redirect the user to the root path without the query string.
91
+ """
92
+
93
+ async def dispatch(self, request: Request, call_next: RequestResponseEndpoint):
94
+ if request.url.path == "/" and request.url.query:
95
+ return RedirectResponse(url="/")
96
+
97
+ response = await call_next(request)
98
+ return response
99
+
100
+
101
+ # Add the middleware
102
+ app.add_middleware(RedirectRootWithQueryStringMiddleware)
103
+
104
+
81
105
  # Add event handler
82
106
  event_handler_id: int = id(app)
83
107
  app.add_middleware(
@@ -20,16 +20,17 @@ from invokeai.app.invocations.model import TransformerField
20
20
  from invokeai.app.invocations.primitives import LatentsOutput
21
21
  from invokeai.app.services.shared.invocation_context import InvocationContext
22
22
  from invokeai.backend.flux.denoise import denoise
23
+ from invokeai.backend.flux.inpaint_extension import InpaintExtension
23
24
  from invokeai.backend.flux.model import Flux
24
25
  from invokeai.backend.flux.sampling_utils import (
25
- clip_timestep_schedule,
26
+ clip_timestep_schedule_fractional,
26
27
  generate_img_ids,
27
28
  get_noise,
28
29
  get_schedule,
29
30
  pack,
30
31
  unpack,
31
32
  )
32
- from invokeai.backend.flux.trajectory_guidance_extension import TrajectoryGuidanceExtension
33
+ from invokeai.backend.lora.conversions.flux_lora_constants import FLUX_LORA_TRANSFORMER_PREFIX
33
34
  from invokeai.backend.lora.lora_model_raw import LoRAModelRaw
34
35
  from invokeai.backend.lora.lora_patcher import LoRAPatcher
35
36
  from invokeai.backend.model_manager.config import ModelFormat
@@ -43,7 +44,7 @@ from invokeai.backend.util.devices import TorchDevice
43
44
  title="FLUX Denoise",
44
45
  tags=["image", "flux"],
45
46
  category="image",
46
- version="2.1.0",
47
+ version="3.0.0",
47
48
  classification=Classification.Prototype,
48
49
  )
49
50
  class FluxDenoiseInvocation(BaseInvocation, WithMetadata, WithBoard):
@@ -68,12 +69,6 @@ class FluxDenoiseInvocation(BaseInvocation, WithMetadata, WithBoard):
68
69
  description=FieldDescriptions.denoising_start,
69
70
  )
70
71
  denoising_end: float = InputField(default=1.0, ge=0, le=1, description=FieldDescriptions.denoising_end)
71
- trajectory_guidance_strength: float = InputField(
72
- default=0.0,
73
- ge=0.0,
74
- le=1.0,
75
- description="Value indicating how strongly to guide the denoising process towards the initial latents (during image-to-image). Range [0, 1]. A value of 0.0 is equivalent to vanilla image-to-image. A value of 1.0 will guide the denoising process very close to the original latents.",
76
- )
77
72
  transformer: TransformerField = InputField(
78
73
  description=FieldDescriptions.flux_model,
79
74
  input=Input.Connection,
@@ -143,7 +138,7 @@ class FluxDenoiseInvocation(BaseInvocation, WithMetadata, WithBoard):
143
138
  )
144
139
 
145
140
  # Clip the timesteps schedule based on denoising_start and denoising_end.
146
- timesteps = clip_timestep_schedule(timesteps, self.denoising_start, self.denoising_end)
141
+ timesteps = clip_timestep_schedule_fractional(timesteps, self.denoising_start, self.denoising_end)
147
142
 
148
143
  # Prepare input latent image.
149
144
  if init_latents is not None:
@@ -187,13 +182,14 @@ class FluxDenoiseInvocation(BaseInvocation, WithMetadata, WithBoard):
187
182
  # Now that we have 'packed' the latent tensors, verify that we calculated the image_seq_len correctly.
188
183
  assert image_seq_len == x.shape[1]
189
184
 
190
- # Prepare trajectory guidance extension.
191
- traj_guidance_extension: TrajectoryGuidanceExtension | None = None
192
- if init_latents is not None:
193
- traj_guidance_extension = TrajectoryGuidanceExtension(
185
+ # Prepare inpaint extension.
186
+ inpaint_extension: InpaintExtension | None = None
187
+ if inpaint_mask is not None:
188
+ assert init_latents is not None
189
+ inpaint_extension = InpaintExtension(
194
190
  init_latents=init_latents,
195
191
  inpaint_mask=inpaint_mask,
196
- trajectory_guidance_strength=self.trajectory_guidance_strength,
192
+ noise=noise,
197
193
  )
198
194
 
199
195
  with (
@@ -213,7 +209,7 @@ class FluxDenoiseInvocation(BaseInvocation, WithMetadata, WithBoard):
213
209
  LoRAPatcher.apply_lora_patches(
214
210
  model=transformer,
215
211
  patches=self._lora_iterator(context),
216
- prefix="",
212
+ prefix=FLUX_LORA_TRANSFORMER_PREFIX,
217
213
  cached_weights=cached_weights,
218
214
  )
219
215
  )
@@ -224,7 +220,7 @@ class FluxDenoiseInvocation(BaseInvocation, WithMetadata, WithBoard):
224
220
  LoRAPatcher.apply_lora_sidecar_patches(
225
221
  model=transformer,
226
222
  patches=self._lora_iterator(context),
227
- prefix="",
223
+ prefix=FLUX_LORA_TRANSFORMER_PREFIX,
228
224
  dtype=inference_dtype,
229
225
  )
230
226
  )
@@ -241,7 +237,7 @@ class FluxDenoiseInvocation(BaseInvocation, WithMetadata, WithBoard):
241
237
  timesteps=timesteps,
242
238
  step_callback=self._build_step_callback(context),
243
239
  guidance=self.guidance,
244
- traj_guidance_extension=traj_guidance_extension,
240
+ inpaint_extension=inpaint_extension,
245
241
  )
246
242
 
247
243
  x = unpack(x.float(), self.height, self.width)
@@ -8,7 +8,7 @@ from invokeai.app.invocations.baseinvocation import (
8
8
  invocation_output,
9
9
  )
10
10
  from invokeai.app.invocations.fields import FieldDescriptions, Input, InputField, OutputField, UIType
11
- from invokeai.app.invocations.model import LoRAField, ModelIdentifierField, TransformerField
11
+ from invokeai.app.invocations.model import CLIPField, LoRAField, ModelIdentifierField, TransformerField
12
12
  from invokeai.app.services.shared.invocation_context import InvocationContext
13
13
  from invokeai.backend.model_manager.config import BaseModelType
14
14
 
@@ -20,6 +20,7 @@ class FluxLoRALoaderOutput(BaseInvocationOutput):
20
20
  transformer: Optional[TransformerField] = OutputField(
21
21
  default=None, description=FieldDescriptions.transformer, title="FLUX Transformer"
22
22
  )
23
+ clip: Optional[CLIPField] = OutputField(default=None, description=FieldDescriptions.clip, title="CLIP")
23
24
 
24
25
 
25
26
  @invocation(
@@ -27,21 +28,28 @@ class FluxLoRALoaderOutput(BaseInvocationOutput):
27
28
  title="FLUX LoRA",
28
29
  tags=["lora", "model", "flux"],
29
30
  category="model",
30
- version="1.0.0",
31
+ version="1.1.0",
31
32
  classification=Classification.Prototype,
32
33
  )
33
34
  class FluxLoRALoaderInvocation(BaseInvocation):
34
- """Apply a LoRA model to a FLUX transformer."""
35
+ """Apply a LoRA model to a FLUX transformer and/or text encoder."""
35
36
 
36
37
  lora: ModelIdentifierField = InputField(
37
38
  description=FieldDescriptions.lora_model, title="LoRA", ui_type=UIType.LoRAModel
38
39
  )
39
40
  weight: float = InputField(default=0.75, description=FieldDescriptions.lora_weight)
40
- transformer: TransformerField = InputField(
41
+ transformer: TransformerField | None = InputField(
42
+ default=None,
41
43
  description=FieldDescriptions.transformer,
42
44
  input=Input.Connection,
43
45
  title="FLUX Transformer",
44
46
  )
47
+ clip: CLIPField | None = InputField(
48
+ default=None,
49
+ title="CLIP",
50
+ description=FieldDescriptions.clip,
51
+ input=Input.Connection,
52
+ )
45
53
 
46
54
  def invoke(self, context: InvocationContext) -> FluxLoRALoaderOutput:
47
55
  lora_key = self.lora.key
@@ -49,18 +57,33 @@ class FluxLoRALoaderInvocation(BaseInvocation):
49
57
  if not context.models.exists(lora_key):
50
58
  raise ValueError(f"Unknown lora: {lora_key}!")
51
59
 
52
- if any(lora.lora.key == lora_key for lora in self.transformer.loras):
60
+ # Check for existing LoRAs with the same key.
61
+ if self.transformer and any(lora.lora.key == lora_key for lora in self.transformer.loras):
53
62
  raise ValueError(f'LoRA "{lora_key}" already applied to transformer.')
63
+ if self.clip and any(lora.lora.key == lora_key for lora in self.clip.loras):
64
+ raise ValueError(f'LoRA "{lora_key}" already applied to CLIP encoder.')
65
+
66
+ output = FluxLoRALoaderOutput()
54
67
 
55
- transformer = self.transformer.model_copy(deep=True)
56
- transformer.loras.append(
57
- LoRAField(
58
- lora=self.lora,
59
- weight=self.weight,
68
+ # Attach LoRA layers to the models.
69
+ if self.transformer is not None:
70
+ output.transformer = self.transformer.model_copy(deep=True)
71
+ output.transformer.loras.append(
72
+ LoRAField(
73
+ lora=self.lora,
74
+ weight=self.weight,
75
+ )
76
+ )
77
+ if self.clip is not None:
78
+ output.clip = self.clip.model_copy(deep=True)
79
+ output.clip.loras.append(
80
+ LoRAField(
81
+ lora=self.lora,
82
+ weight=self.weight,
83
+ )
60
84
  )
61
- )
62
85
 
63
- return FluxLoRALoaderOutput(transformer=transformer)
86
+ return output
64
87
 
65
88
 
66
89
  @invocation(
@@ -68,7 +91,7 @@ class FluxLoRALoaderInvocation(BaseInvocation):
68
91
  title="FLUX LoRA Collection Loader",
69
92
  tags=["lora", "model", "flux"],
70
93
  category="model",
71
- version="1.0.0",
94
+ version="1.1.0",
72
95
  classification=Classification.Prototype,
73
96
  )
74
97
  class FLUXLoRACollectionLoader(BaseInvocation):
@@ -84,6 +107,12 @@ class FLUXLoRACollectionLoader(BaseInvocation):
84
107
  input=Input.Connection,
85
108
  title="Transformer",
86
109
  )
110
+ clip: CLIPField | None = InputField(
111
+ default=None,
112
+ title="CLIP",
113
+ description=FieldDescriptions.clip,
114
+ input=Input.Connection,
115
+ )
87
116
 
88
117
  def invoke(self, context: InvocationContext) -> FluxLoRALoaderOutput:
89
118
  output = FluxLoRALoaderOutput()
@@ -106,4 +135,9 @@ class FLUXLoRACollectionLoader(BaseInvocation):
106
135
  output.transformer = self.transformer.model_copy(deep=True)
107
136
  output.transformer.loras.append(lora)
108
137
 
138
+ if self.clip is not None:
139
+ if output.clip is None:
140
+ output.clip = self.clip.model_copy(deep=True)
141
+ output.clip.loras.append(lora)
142
+
109
143
  return output
@@ -1,4 +1,5 @@
1
- from typing import Literal
1
+ from contextlib import ExitStack
2
+ from typing import Iterator, Literal, Tuple
2
3
 
3
4
  import torch
4
5
  from transformers import CLIPTextModel, CLIPTokenizer, T5EncoderModel, T5Tokenizer
@@ -9,6 +10,10 @@ from invokeai.app.invocations.model import CLIPField, T5EncoderField
9
10
  from invokeai.app.invocations.primitives import FluxConditioningOutput
10
11
  from invokeai.app.services.shared.invocation_context import InvocationContext
11
12
  from invokeai.backend.flux.modules.conditioner import HFEncoder
13
+ from invokeai.backend.lora.conversions.flux_lora_constants import FLUX_LORA_CLIP_PREFIX
14
+ from invokeai.backend.lora.lora_model_raw import LoRAModelRaw
15
+ from invokeai.backend.lora.lora_patcher import LoRAPatcher
16
+ from invokeai.backend.model_manager.config import ModelFormat
12
17
  from invokeai.backend.stable_diffusion.diffusion.conditioning_data import ConditioningFieldData, FLUXConditioningInfo
13
18
 
14
19
 
@@ -17,7 +22,7 @@ from invokeai.backend.stable_diffusion.diffusion.conditioning_data import Condit
17
22
  title="FLUX Text Encoding",
18
23
  tags=["prompt", "conditioning", "flux"],
19
24
  category="conditioning",
20
- version="1.0.0",
25
+ version="1.1.0",
21
26
  classification=Classification.Prototype,
22
27
  )
23
28
  class FluxTextEncoderInvocation(BaseInvocation):
@@ -78,15 +83,42 @@ class FluxTextEncoderInvocation(BaseInvocation):
78
83
  prompt = [self.prompt]
79
84
 
80
85
  with (
81
- clip_text_encoder_info as clip_text_encoder,
86
+ clip_text_encoder_info.model_on_device() as (cached_weights, clip_text_encoder),
82
87
  clip_tokenizer_info as clip_tokenizer,
88
+ ExitStack() as exit_stack,
83
89
  ):
84
90
  assert isinstance(clip_text_encoder, CLIPTextModel)
85
91
  assert isinstance(clip_tokenizer, CLIPTokenizer)
86
92
 
93
+ clip_text_encoder_config = clip_text_encoder_info.config
94
+ assert clip_text_encoder_config is not None
95
+
96
+ # Apply LoRA models to the CLIP encoder.
97
+ # Note: We apply the LoRA after the transformer has been moved to its target device for faster patching.
98
+ if clip_text_encoder_config.format in [ModelFormat.Diffusers]:
99
+ # The model is non-quantized, so we can apply the LoRA weights directly into the model.
100
+ exit_stack.enter_context(
101
+ LoRAPatcher.apply_lora_patches(
102
+ model=clip_text_encoder,
103
+ patches=self._clip_lora_iterator(context),
104
+ prefix=FLUX_LORA_CLIP_PREFIX,
105
+ cached_weights=cached_weights,
106
+ )
107
+ )
108
+ else:
109
+ # There are currently no supported CLIP quantized models. Add support here if needed.
110
+ raise ValueError(f"Unsupported model format: {clip_text_encoder_config.format}")
111
+
87
112
  clip_encoder = HFEncoder(clip_text_encoder, clip_tokenizer, True, 77)
88
113
 
89
114
  pooled_prompt_embeds = clip_encoder(prompt)
90
115
 
91
116
  assert isinstance(pooled_prompt_embeds, torch.Tensor)
92
117
  return pooled_prompt_embeds
118
+
119
+ def _clip_lora_iterator(self, context: InvocationContext) -> Iterator[Tuple[LoRAModelRaw, float]]:
120
+ for lora in self.clip.loras:
121
+ lora_info = context.models.load(lora.lora)
122
+ assert isinstance(lora_info.model, LoRAModelRaw)
123
+ yield (lora_info.model, lora.weight)
124
+ del lora_info
@@ -256,7 +256,7 @@ class InvokeAIAppConfig(BaseSettings):
256
256
  file.write("# Internal metadata - do not edit:\n")
257
257
  file.write(yaml.dump(meta_dict, sort_keys=False))
258
258
  file.write("\n")
259
- file.write("# Put user settings here - see https://invoke-ai.github.io/InvokeAI/features/CONFIGURATION/:\n")
259
+ file.write("# Put user settings here - see https://invoke-ai.github.io/InvokeAI/configuration/:\n")
260
260
  if len(config_dict) > 0:
261
261
  file.write(yaml.dump(config_dict, sort_keys=False))
262
262
 
@@ -38,12 +38,12 @@
38
38
  },
39
39
  "nodes": [
40
40
  {
41
- "id": "eebd7252-0bd8-401a-bb26-2b8bc64892fa",
41
+ "id": "cd367e62-2b45-4118-b4ba-7c33e2e0b370",
42
42
  "type": "invocation",
43
43
  "data": {
44
- "id": "eebd7252-0bd8-401a-bb26-2b8bc64892fa",
44
+ "id": "cd367e62-2b45-4118-b4ba-7c33e2e0b370",
45
45
  "type": "flux_denoise",
46
- "version": "2.1.0",
46
+ "version": "3.0.0",
47
47
  "label": "",
48
48
  "notes": "",
49
49
  "isOpen": true,
@@ -77,11 +77,6 @@
77
77
  "label": "",
78
78
  "value": 1
79
79
  },
80
- "trajectory_guidance_strength": {
81
- "name": "trajectory_guidance_strength",
82
- "label": "",
83
- "value": 0.0
84
- },
85
80
  "transformer": {
86
81
  "name": "transformer",
87
82
  "label": ""
@@ -118,8 +113,8 @@
118
113
  }
119
114
  },
120
115
  "position": {
121
- "x": 1159.584057771928,
122
- "y": -175.90561201366845
116
+ "x": 1176.8139201354052,
117
+ "y": -244.36724863022368
123
118
  }
124
119
  },
125
120
  {
@@ -201,14 +196,7 @@
201
196
  "inputs": {
202
197
  "model": {
203
198
  "name": "model",
204
- "label": "Model (dev variant recommended for Image-to-Image)",
205
- "value": {
206
- "key": "b4990a6c-0899-48e9-969b-d6f3801acc6a",
207
- "hash": "random:aad8f7bc19ce76541dfb394b62a30f77722542b66e48064a9f25453263b45fba",
208
- "name": "FLUX Dev (Quantized)_2",
209
- "base": "flux",
210
- "type": "main"
211
- }
199
+ "label": "Model (dev variant recommended for Image-to-Image)"
212
200
  },
213
201
  "t5_encoder_model": {
214
202
  "name": "t5_encoder_model",
@@ -314,67 +302,67 @@
314
302
  }
315
303
  },
316
304
  "position": {
317
- "x": 725.834098928012,
318
- "y": 496.2710031089931
305
+ "x": 750.4061458984118,
306
+ "y": 279.2179215371294
319
307
  }
320
308
  }
321
309
  ],
322
310
  "edges": [
323
311
  {
324
- "id": "reactflow__edge-eebd7252-0bd8-401a-bb26-2b8bc64892falatents-7e5172eb-48c1-44db-a770-8fd83e1435d1latents",
312
+ "id": "reactflow__edge-cd367e62-2b45-4118-b4ba-7c33e2e0b370latents-7e5172eb-48c1-44db-a770-8fd83e1435d1latents",
325
313
  "type": "default",
326
- "source": "eebd7252-0bd8-401a-bb26-2b8bc64892fa",
314
+ "source": "cd367e62-2b45-4118-b4ba-7c33e2e0b370",
327
315
  "target": "7e5172eb-48c1-44db-a770-8fd83e1435d1",
328
316
  "sourceHandle": "latents",
329
317
  "targetHandle": "latents"
330
318
  },
331
319
  {
332
- "id": "reactflow__edge-f8d9d7c8-9ed7-4bd7-9e42-ab0e89bfac90transformer-eebd7252-0bd8-401a-bb26-2b8bc64892fatransformer",
333
- "type": "default",
334
- "source": "f8d9d7c8-9ed7-4bd7-9e42-ab0e89bfac90",
335
- "target": "eebd7252-0bd8-401a-bb26-2b8bc64892fa",
336
- "sourceHandle": "transformer",
337
- "targetHandle": "transformer"
338
- },
339
- {
340
- "id": "reactflow__edge-01f674f8-b3d1-4df1-acac-6cb8e0bfb63cconditioning-eebd7252-0bd8-401a-bb26-2b8bc64892fapositive_text_conditioning",
320
+ "id": "reactflow__edge-4754c534-a5f3-4ad0-9382-7887985e668cvalue-cd367e62-2b45-4118-b4ba-7c33e2e0b370seed",
341
321
  "type": "default",
342
- "source": "01f674f8-b3d1-4df1-acac-6cb8e0bfb63c",
343
- "target": "eebd7252-0bd8-401a-bb26-2b8bc64892fa",
344
- "sourceHandle": "conditioning",
345
- "targetHandle": "positive_text_conditioning"
322
+ "source": "4754c534-a5f3-4ad0-9382-7887985e668c",
323
+ "target": "cd367e62-2b45-4118-b4ba-7c33e2e0b370",
324
+ "sourceHandle": "value",
325
+ "targetHandle": "seed"
346
326
  },
347
327
  {
348
- "id": "reactflow__edge-2981a67c-480f-4237-9384-26b68dbf912blatents-eebd7252-0bd8-401a-bb26-2b8bc64892falatents",
328
+ "id": "reactflow__edge-2981a67c-480f-4237-9384-26b68dbf912bheight-cd367e62-2b45-4118-b4ba-7c33e2e0b370height",
349
329
  "type": "default",
350
330
  "source": "2981a67c-480f-4237-9384-26b68dbf912b",
351
- "target": "eebd7252-0bd8-401a-bb26-2b8bc64892fa",
352
- "sourceHandle": "latents",
353
- "targetHandle": "latents"
331
+ "target": "cd367e62-2b45-4118-b4ba-7c33e2e0b370",
332
+ "sourceHandle": "height",
333
+ "targetHandle": "height"
354
334
  },
355
335
  {
356
- "id": "reactflow__edge-2981a67c-480f-4237-9384-26b68dbf912bwidth-eebd7252-0bd8-401a-bb26-2b8bc64892fawidth",
336
+ "id": "reactflow__edge-2981a67c-480f-4237-9384-26b68dbf912bwidth-cd367e62-2b45-4118-b4ba-7c33e2e0b370width",
357
337
  "type": "default",
358
338
  "source": "2981a67c-480f-4237-9384-26b68dbf912b",
359
- "target": "eebd7252-0bd8-401a-bb26-2b8bc64892fa",
339
+ "target": "cd367e62-2b45-4118-b4ba-7c33e2e0b370",
360
340
  "sourceHandle": "width",
361
341
  "targetHandle": "width"
362
342
  },
363
343
  {
364
- "id": "reactflow__edge-2981a67c-480f-4237-9384-26b68dbf912bheight-eebd7252-0bd8-401a-bb26-2b8bc64892faheight",
344
+ "id": "reactflow__edge-01f674f8-b3d1-4df1-acac-6cb8e0bfb63cconditioning-cd367e62-2b45-4118-b4ba-7c33e2e0b370positive_text_conditioning",
365
345
  "type": "default",
366
- "source": "2981a67c-480f-4237-9384-26b68dbf912b",
367
- "target": "eebd7252-0bd8-401a-bb26-2b8bc64892fa",
368
- "sourceHandle": "height",
369
- "targetHandle": "height"
346
+ "source": "01f674f8-b3d1-4df1-acac-6cb8e0bfb63c",
347
+ "target": "cd367e62-2b45-4118-b4ba-7c33e2e0b370",
348
+ "sourceHandle": "conditioning",
349
+ "targetHandle": "positive_text_conditioning"
370
350
  },
371
351
  {
372
- "id": "reactflow__edge-4754c534-a5f3-4ad0-9382-7887985e668cvalue-eebd7252-0bd8-401a-bb26-2b8bc64892faseed",
352
+ "id": "reactflow__edge-f8d9d7c8-9ed7-4bd7-9e42-ab0e89bfac90transformer-cd367e62-2b45-4118-b4ba-7c33e2e0b370transformer",
373
353
  "type": "default",
374
- "source": "4754c534-a5f3-4ad0-9382-7887985e668c",
375
- "target": "eebd7252-0bd8-401a-bb26-2b8bc64892fa",
376
- "sourceHandle": "value",
377
- "targetHandle": "seed"
354
+ "source": "f8d9d7c8-9ed7-4bd7-9e42-ab0e89bfac90",
355
+ "target": "cd367e62-2b45-4118-b4ba-7c33e2e0b370",
356
+ "sourceHandle": "transformer",
357
+ "targetHandle": "transformer"
358
+ },
359
+ {
360
+ "id": "reactflow__edge-2981a67c-480f-4237-9384-26b68dbf912blatents-cd367e62-2b45-4118-b4ba-7c33e2e0b370latents",
361
+ "type": "default",
362
+ "source": "2981a67c-480f-4237-9384-26b68dbf912b",
363
+ "target": "cd367e62-2b45-4118-b4ba-7c33e2e0b370",
364
+ "sourceHandle": "latents",
365
+ "targetHandle": "latents"
378
366
  },
379
367
  {
380
368
  "id": "reactflow__edge-f8d9d7c8-9ed7-4bd7-9e42-ab0e89bfac90vae-2981a67c-480f-4237-9384-26b68dbf912bvae",