diffusers-workflow 0.4.0b5__tar.gz → 0.4.0b7__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 (415) hide show
  1. {diffusers_workflow-0.4.0b5/diffusers_workflow.egg-info → diffusers_workflow-0.4.0b7}/PKG-INFO +5 -3
  2. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/README.md +1 -1
  3. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7/diffusers_workflow.egg-info}/PKG-INFO +5 -3
  4. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/diffusers_workflow.egg-info/SOURCES.txt +63 -21
  5. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/diffusers_workflow.egg-info/requires.txt +3 -1
  6. diffusers_workflow-0.4.0b7/dw/adapter_compatibility.py +226 -0
  7. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/arguments.py +9 -2
  8. diffusers_workflow-0.4.0b7/dw/content_types.py +105 -0
  9. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/docs/MCP.md +56 -26
  10. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/docs/RECIPES_24GB.md +14 -3
  11. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/docs/RELEASING.md +15 -0
  12. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/docs/REMOTE.md +7 -0
  13. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/docs/SERVER.md +131 -34
  14. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/docs/TASKS.md +211 -11
  15. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/docs/WORKFLOW_GUIDE.md +194 -7
  16. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/docs/WORKSPACES.md +23 -12
  17. diffusers_workflow-0.4.0b7/dw/elision.py +306 -0
  18. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/events.py +86 -2
  19. diffusers_workflow-0.4.0b7/dw/host_memory_projection.py +175 -0
  20. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/introspection.py +262 -9
  21. diffusers_workflow-0.4.0b7/dw/kernel_availability.py +208 -0
  22. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/locations.py +10 -4
  23. diffusers_workflow-0.4.0b7/dw/media_audio.py +217 -0
  24. diffusers_workflow-0.4.0b7/dw/media_frames.py +340 -0
  25. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/media_info.py +67 -9
  26. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/pipeline_processors/pipeline.py +138 -0
  27. diffusers_workflow-0.4.0b7/dw/plan.py +853 -0
  28. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/prompt_schema.json +1 -1
  29. diffusers_workflow-0.4.0b7/dw/reference_names.py +125 -0
  30. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/result.py +468 -12
  31. diffusers_workflow-0.4.0b7/dw/scalar_result_validation.py +78 -0
  32. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/schema.py +3 -1
  33. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/security.py +83 -5
  34. diffusers_workflow-0.4.0b7/dw/select_validation.py +115 -0
  35. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/app.py +994 -110
  36. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/catalog_shape.py +85 -5
  37. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/guides.py +34 -3
  38. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/jobs.py +243 -17
  39. diffusers_workflow-0.4.0b7/dw/server/observed_cost.py +351 -0
  40. diffusers_workflow-0.4.0b7/dw/server/sysinfo.py +71 -0
  41. diffusers_workflow-0.4.0b5/dw/server/ui/assets/cssMode-BQ03gENP.js → diffusers_workflow-0.4.0b7/dw/server/ui/assets/cssMode-xQCqMuag.js +1 -1
  42. diffusers_workflow-0.4.0b5/dw/server/ui/assets/editor.api-CzvLX8mb.js → diffusers_workflow-0.4.0b7/dw/server/ui/assets/editor.api-Bfiq9hmW.js +1 -1
  43. diffusers_workflow-0.4.0b5/dw/server/ui/assets/freemarker2-C8c7lwsP.js → diffusers_workflow-0.4.0b7/dw/server/ui/assets/freemarker2-BwDnlSuz.js +1 -1
  44. diffusers_workflow-0.4.0b5/dw/server/ui/assets/handlebars-7APo_5hD.js → diffusers_workflow-0.4.0b7/dw/server/ui/assets/handlebars-Beb1we4G.js +1 -1
  45. diffusers_workflow-0.4.0b5/dw/server/ui/assets/html-JgrkBemQ.js → diffusers_workflow-0.4.0b7/dw/server/ui/assets/html-Yw-qdTCH.js +1 -1
  46. diffusers_workflow-0.4.0b5/dw/server/ui/assets/htmlMode-BH9VsgGh.js → diffusers_workflow-0.4.0b7/dw/server/ui/assets/htmlMode-Dbp7eBPO.js +1 -1
  47. diffusers_workflow-0.4.0b7/dw/server/ui/assets/index-CsXMC8a8.css +1 -0
  48. diffusers_workflow-0.4.0b7/dw/server/ui/assets/index-DqbiZNFq.js +43 -0
  49. diffusers_workflow-0.4.0b5/dw/server/ui/assets/javascript-BrFJ1H6j.js → diffusers_workflow-0.4.0b7/dw/server/ui/assets/javascript-BNzP7yQZ.js +1 -1
  50. diffusers_workflow-0.4.0b5/dw/server/ui/assets/jsonMode-C10gRe-2.js → diffusers_workflow-0.4.0b7/dw/server/ui/assets/jsonMode-DxIEESAg.js +1 -1
  51. diffusers_workflow-0.4.0b5/dw/server/ui/assets/liquid-CjfGWTAZ.js → diffusers_workflow-0.4.0b7/dw/server/ui/assets/liquid-CeQTai1N.js +1 -1
  52. diffusers_workflow-0.4.0b5/dw/server/ui/assets/lspLanguageFeatures-O-lB5SDv.js → diffusers_workflow-0.4.0b7/dw/server/ui/assets/lspLanguageFeatures-DKVB_UCB.js +1 -1
  53. diffusers_workflow-0.4.0b5/dw/server/ui/assets/mdx-D7b-hMTY.js → diffusers_workflow-0.4.0b7/dw/server/ui/assets/mdx-Bczl_PHr.js +1 -1
  54. diffusers_workflow-0.4.0b5/dw/server/ui/assets/monaco-DBnxML20.js → diffusers_workflow-0.4.0b7/dw/server/ui/assets/monaco-Bu2OB6wI.js +4 -4
  55. diffusers_workflow-0.4.0b5/dw/server/ui/assets/python-NfJjzkPL.js → diffusers_workflow-0.4.0b7/dw/server/ui/assets/python-CeTsj82v.js +1 -1
  56. diffusers_workflow-0.4.0b5/dw/server/ui/assets/razor-CgQtwMBj.js → diffusers_workflow-0.4.0b7/dw/server/ui/assets/razor-CN7JaWqc.js +1 -1
  57. diffusers_workflow-0.4.0b5/dw/server/ui/assets/tsMode-BuMW6Qar.js → diffusers_workflow-0.4.0b7/dw/server/ui/assets/tsMode-CoSEMx-L.js +1 -1
  58. diffusers_workflow-0.4.0b5/dw/server/ui/assets/typescript-Bfmxt754.js → diffusers_workflow-0.4.0b7/dw/server/ui/assets/typescript-CcsolRTO.js +1 -1
  59. diffusers_workflow-0.4.0b5/dw/server/ui/assets/workers-BSu9lD5s.js → diffusers_workflow-0.4.0b7/dw/server/ui/assets/workers-DLaycdy4.js +1 -1
  60. diffusers_workflow-0.4.0b5/dw/server/ui/assets/xml-BJ2IwGRC.js → diffusers_workflow-0.4.0b7/dw/server/ui/assets/xml-QEwuyn1w.js +1 -1
  61. diffusers_workflow-0.4.0b5/dw/server/ui/assets/yaml-Cq85tEmC.js → diffusers_workflow-0.4.0b7/dw/server/ui/assets/yaml-BB4U5D-R.js +1 -1
  62. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/index.html +2 -2
  63. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/step.py +17 -3
  64. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/step_cache.py +94 -7
  65. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/task_domains.py +60 -14
  66. diffusers_workflow-0.4.0b7/dw/tasks/audio_transcription.py +88 -0
  67. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/tasks/audio_utils.py +787 -55
  68. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/tasks/concat_videos.py +19 -3
  69. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/tasks/dissolve_videos.py +57 -8
  70. diffusers_workflow-0.4.0b7/dw/tasks/judge.py +68 -0
  71. diffusers_workflow-0.4.0b7/dw/tasks/pair_audio.py +189 -0
  72. diffusers_workflow-0.4.0b7/dw/tasks/select.py +111 -0
  73. diffusers_workflow-0.4.0b7/dw/tasks/speech_generation.py +228 -0
  74. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/tasks/task.py +211 -15
  75. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/tasks/video_utils.py +206 -3
  76. diffusers_workflow-0.4.0b7/dw/variable_constraints.py +444 -0
  77. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/variables.py +27 -0
  78. diffusers_workflow-0.4.0b7/dw/vram_estimate.py +116 -0
  79. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/worker.py +93 -9
  80. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/workflow.py +243 -5
  81. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/workflow_schema.json +116 -23
  82. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/workspace.py +5 -2
  83. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw_mcp/assets.py +131 -20
  84. diffusers_workflow-0.4.0b7/dw_mcp/authoring.py +135 -0
  85. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw_mcp/catalog.py +52 -13
  86. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw_mcp/client.py +40 -8
  87. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw_mcp/diagnose.py +63 -18
  88. diffusers_workflow-0.4.0b7/dw_mcp/media.py +578 -0
  89. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw_mcp/prompts.py +15 -3
  90. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw_mcp/server.py +438 -164
  91. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw_mcp/workspaces.py +84 -7
  92. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/pyproject.toml +20 -2
  93. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_assets.py +13 -0
  94. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_audio_utils.py +602 -3
  95. diffusers_workflow-0.4.0b7/tests/test_best_of_n_template.py +66 -0
  96. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_cache_blocks.py +26 -15
  97. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_catalog_shape.py +52 -0
  98. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_catalog_structure.py +90 -8
  99. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_cli.py +1 -1
  100. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_concat_videos.py +82 -1
  101. diffusers_workflow-0.4.0b7/tests/test_content_types.py +132 -0
  102. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_dissolve_videos.py +43 -2
  103. diffusers_workflow-0.4.0b7/tests/test_elision.py +499 -0
  104. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_events.py +144 -0
  105. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_examples.py +5 -0
  106. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_for_each.py +15 -2
  107. diffusers_workflow-0.4.0b7/tests/test_h3_adapters.py +195 -0
  108. diffusers_workflow-0.4.0b7/tests/test_h3_schedule.py +152 -0
  109. diffusers_workflow-0.4.0b7/tests/test_host_memory_projection.py +122 -0
  110. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_integration.py +5 -4
  111. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_introspection.py +113 -0
  112. diffusers_workflow-0.4.0b7/tests/test_job_history_wal.py +14 -0
  113. diffusers_workflow-0.4.0b7/tests/test_job_warnings.py +46 -0
  114. diffusers_workflow-0.4.0b7/tests/test_judge.py +105 -0
  115. diffusers_workflow-0.4.0b7/tests/test_kernel_availability.py +255 -0
  116. diffusers_workflow-0.4.0b7/tests/test_lora_alpha.py +128 -0
  117. diffusers_workflow-0.4.0b7/tests/test_ltx2_diffusion_decode.py +97 -0
  118. diffusers_workflow-0.4.0b7/tests/test_ltx2_ic_loras.py +166 -0
  119. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_ltx_prompt_library.py +52 -1
  120. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_mcp_assets.py +78 -0
  121. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_mcp_authoring.py +59 -0
  122. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_mcp_catalog.py +10 -0
  123. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_mcp_client.py +62 -0
  124. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_mcp_diagnose.py +126 -0
  125. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_mcp_media.py +601 -1
  126. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_mcp_prompts.py +45 -0
  127. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_mcp_server.py +483 -0
  128. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_mcp_workspaces.py +55 -0
  129. diffusers_workflow-0.4.0b7/tests/test_media_audio.py +343 -0
  130. diffusers_workflow-0.4.0b7/tests/test_media_frames.py +521 -0
  131. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_media_info.py +20 -4
  132. diffusers_workflow-0.4.0b7/tests/test_mix_audio.py +152 -0
  133. diffusers_workflow-0.4.0b7/tests/test_observed_cost.py +719 -0
  134. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_output_references.py +37 -0
  135. diffusers_workflow-0.4.0b7/tests/test_pair_audio_fit.py +158 -0
  136. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_pipeline_caching.py +207 -1
  137. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_pipeline_components.py +68 -0
  138. diffusers_workflow-0.4.0b7/tests/test_plan.py +1216 -0
  139. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_plugin_skills.py +102 -21
  140. diffusers_workflow-0.4.0b7/tests/test_prompt_library.py +71 -0
  141. diffusers_workflow-0.4.0b7/tests/test_reference_names.py +103 -0
  142. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_result.py +657 -2
  143. diffusers_workflow-0.4.0b7/tests/test_scalar_result_validation.py +103 -0
  144. diffusers_workflow-0.4.0b7/tests/test_select.py +119 -0
  145. diffusers_workflow-0.4.0b7/tests/test_select_validation.py +185 -0
  146. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_server.py +1030 -8
  147. diffusers_workflow-0.4.0b7/tests/test_server_downloads.py +283 -0
  148. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_server_exports.py +14 -0
  149. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_server_guides.py +39 -3
  150. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_server_jobs.py +51 -0
  151. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_server_workspaces.py +30 -0
  152. diffusers_workflow-0.4.0b7/tests/test_speech_generation.py +481 -0
  153. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_step_cache.py +118 -5
  154. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_subfolders.py +4 -4
  155. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_task.py +25 -0
  156. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_task_discovery.py +12 -5
  157. diffusers_workflow-0.4.0b7/tests/test_task_signature_errors.py +150 -0
  158. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_template_subfolders.py +20 -16
  159. diffusers_workflow-0.4.0b7/tests/test_transcribe_audio.py +104 -0
  160. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_updater.py +9 -0
  161. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_validate_arguments.py +56 -0
  162. diffusers_workflow-0.4.0b7/tests/test_variable_constraints.py +566 -0
  163. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_variables.py +73 -0
  164. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_video_utils.py +224 -1
  165. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_worker_execute.py +61 -4
  166. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_workflow.py +48 -1
  167. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_workflow_step_cache.py +6 -0
  168. diffusers_workflow-0.4.0b5/dw/plan.py +0 -435
  169. diffusers_workflow-0.4.0b5/dw/server/ui/assets/index-B1DfbIuu.js +0 -37
  170. diffusers_workflow-0.4.0b5/dw/server/ui/assets/index-CRVAbEJ9.css +0 -1
  171. diffusers_workflow-0.4.0b5/dw/tasks/pair_audio.py +0 -81
  172. diffusers_workflow-0.4.0b5/dw/tasks/speech_generation.py +0 -105
  173. diffusers_workflow-0.4.0b5/dw_mcp/authoring.py +0 -48
  174. diffusers_workflow-0.4.0b5/dw_mcp/media.py +0 -278
  175. diffusers_workflow-0.4.0b5/tests/test_mix_audio.py +0 -67
  176. diffusers_workflow-0.4.0b5/tests/test_plan.py +0 -597
  177. diffusers_workflow-0.4.0b5/tests/test_server_downloads.py +0 -123
  178. diffusers_workflow-0.4.0b5/tests/test_speech_generation.py +0 -163
  179. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/LICENSE +0 -0
  180. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/MANIFEST.in +0 -0
  181. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/diffusers_workflow.egg-info/dependency_links.txt +0 -0
  182. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/diffusers_workflow.egg-info/entry_points.txt +0 -0
  183. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/diffusers_workflow.egg-info/top_level.txt +0 -0
  184. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/__init__.py +0 -0
  185. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/assets.py +0 -0
  186. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/cache_blocks.json +0 -0
  187. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/cache_blocks.py +0 -0
  188. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/community_pipelines/pipeline_flux_rf_inversion.py +0 -0
  189. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/docs/ACCELERATION.md +0 -0
  190. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/docs/AGENT_LOOP.md +0 -0
  191. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/docs/DEPENDENCIES.md +0 -0
  192. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/docs/IP_ADAPTER.md +0 -0
  193. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/docs/LORAS.md +0 -0
  194. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/docs/PROMPT_WEIGHTING.md +0 -0
  195. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/docs/QUANTIZATION.md +0 -0
  196. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/docs/REPL_COMMANDS.md +0 -0
  197. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/docs/REPL_WORKER_GUIDE.md +0 -0
  198. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/docs/SECURITY.md +0 -0
  199. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/docs/SECURITY_QUICKREF.md +0 -0
  200. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/docs/TESTING.md +0 -0
  201. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/for_each.py +0 -0
  202. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/host_memory.py +0 -0
  203. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/hub_cache.py +0 -0
  204. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/log_setup.py +0 -0
  205. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/pipeline_processors/chain.py +0 -0
  206. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/pipeline_processors/config_objects.py +0 -0
  207. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/pipeline_processors/remote.py +0 -0
  208. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/previous_results.py +0 -0
  209. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/prompt_weighting.py +0 -0
  210. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/prompts.py +0 -0
  211. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/realize.py +0 -0
  212. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/reference_limits.py +0 -0
  213. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/repl.py +0 -0
  214. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/repl_commands.py +0 -0
  215. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/repl_worker.py +0 -0
  216. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/run.py +0 -0
  217. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/runs.py +0 -0
  218. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/serve.py +0 -0
  219. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/__init__.py +0 -0
  220. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/enhancers.py +0 -0
  221. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/exports.py +0 -0
  222. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/mcp_mount.py +0 -0
  223. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/netinfo.py +0 -0
  224. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/abap-08VXUWAP.js +0 -0
  225. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/apex-BWPQTe0t.js +0 -0
  226. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/azcli-Bc_sGQ0U.js +0 -0
  227. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/bat-i0X4ZdIN.js +0 -0
  228. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/bicep-B5-_aFwp.js +0 -0
  229. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/cameligo-DMUM7wLl.js +0 -0
  230. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/clojure-Cm7r79vr.js +0 -0
  231. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/codicon-Brq4_Ui5.ttf +0 -0
  232. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/coffee-Ba7i2nA0.js +0 -0
  233. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/cpp-C7h46wYY.js +0 -0
  234. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/csharp-BKxtCVv1.js +0 -0
  235. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/csp-bTuwJoIa.js +0 -0
  236. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/css-DIMkf-bt.js +0 -0
  237. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/css.worker-B3ciXF_0.js +0 -0
  238. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/cypher-CVaqCwHa.js +0 -0
  239. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/dart-onAF5SnQ.js +0 -0
  240. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/dockerfile-DZFCIeNp.js +0 -0
  241. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/ecl-D05T4iGw.js +0 -0
  242. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/editor-jjEx9u7D.css +0 -0
  243. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/editor.worker-q-txB4vs.js +0 -0
  244. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/elixir-6RTg0lbw.js +0 -0
  245. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/flow9-C5_-GSwl.js +0 -0
  246. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/fsharp-C8Ef5oNN.js +0 -0
  247. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/go-C-y9NEjX.js +0 -0
  248. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/graphql-fmXr3nnJ.js +0 -0
  249. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/hcl-CpzslTdj.js +0 -0
  250. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/html.worker-C93Ht9o9.js +0 -0
  251. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/ini-sBoK_t0W.js +0 -0
  252. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/java-BEtHBSE6.js +0 -0
  253. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/json.worker-B2V3pomh.js +0 -0
  254. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/julia-Bri6UV-V.js +0 -0
  255. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/kotlin-BOotOW0E.js +0 -0
  256. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/less-B9JPFI3C.js +0 -0
  257. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/lexon-CfSJPG6W.js +0 -0
  258. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/lua-CsQS60Ue.js +0 -0
  259. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/m3-D-oSqn_W.js +0 -0
  260. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/markdown-Cimd5fb3.js +0 -0
  261. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/mips-CIPQ_RoX.js +0 -0
  262. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/monaco--ixms01u.css +0 -0
  263. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/msdax-DauUninz.js +0 -0
  264. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/mysql-SOo6toE5.js +0 -0
  265. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/objective-c-FvmIjYaQ.js +0 -0
  266. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/pascal-DrH0SRf2.js +0 -0
  267. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/pascaligo-D-ptJ9y-.js +0 -0
  268. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/perl-oz_6vUea.js +0 -0
  269. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/pgsql-DTj74zXo.js +0 -0
  270. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/php-nr791fC2.js +0 -0
  271. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/pla-CopQ2nXW.js +0 -0
  272. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/postiats-43DmfD33.js +0 -0
  273. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/powerquery-D3hlyOfw.js +0 -0
  274. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/powershell-DmHpPYUd.js +0 -0
  275. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/protobuf-C531GsRP.js +0 -0
  276. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/pug-Z5eAx3Zn.js +0 -0
  277. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/qsharp-DkqhCAOL.js +0 -0
  278. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/r-BwWrilGY.js +0 -0
  279. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/redis-ClamHrr6.js +0 -0
  280. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/redshift-DT7zqm-g.js +0 -0
  281. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/restructuredtext-BYgofb2h.js +0 -0
  282. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/ruby-DezsRK8O.js +0 -0
  283. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/rust-DdL9SqIa.js +0 -0
  284. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/sb-CcwsVR0C.js +0 -0
  285. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/scala-DHpiXF5c.js +0 -0
  286. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/scheme-BeGwcela.js +0 -0
  287. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/scss-gp-XZpBa.js +0 -0
  288. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/shell-CC2rA5mh.js +0 -0
  289. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/solidity-BEEn4gHE.js +0 -0
  290. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/sophia-CRfGWb83.js +0 -0
  291. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/sparql-D_Lu-MrJ.js +0 -0
  292. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/sql-NEE52Syq.js +0 -0
  293. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/st-DbInun42.js +0 -0
  294. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/swift-Bxkupp3x.js +0 -0
  295. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/systemverilog-Bz4Y3fRF.js +0 -0
  296. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/tcl-DISqw1ZD.js +0 -0
  297. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/ts.worker-D7T1-Ig5.js +0 -0
  298. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/twig-De2hgUGE.js +0 -0
  299. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/typespec-B8J7ngcE.js +0 -0
  300. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/vb-DV3o63ZY.js +0 -0
  301. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/ui/assets/wgsl-DpFanUEy.js +0 -0
  302. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/server/updater.py +0 -0
  303. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/settings.py +0 -0
  304. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/subfolders.py +0 -0
  305. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/tasks/background_remover.py +0 -0
  306. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/tasks/borders.py +0 -0
  307. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/tasks/compose_text.py +0 -0
  308. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/tasks/depth_estimator.py +0 -0
  309. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/tasks/diffusion_upscale.py +0 -0
  310. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/tasks/format_messages.py +0 -0
  311. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/tasks/gather.py +0 -0
  312. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/tasks/image_to_text.py +0 -0
  313. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/tasks/image_utils.py +0 -0
  314. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/tasks/interpolate_frames.py +0 -0
  315. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/tasks/model_cache.py +0 -0
  316. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/tasks/qr_code.py +0 -0
  317. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/tasks/restore_faces.py +0 -0
  318. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/tasks/rife_model.py +0 -0
  319. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/tasks/segment.py +0 -0
  320. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/tasks/stabilize.py +0 -0
  321. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/tasks/tensor_image.py +0 -0
  322. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/tasks/text_generation.py +0 -0
  323. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/tasks/text_sections.py +0 -0
  324. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/tasks/upscale.py +0 -0
  325. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/tasks/zoe_depth.py +0 -0
  326. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/teacache.py +0 -0
  327. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/teacache_models.json +0 -0
  328. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/test.py +0 -0
  329. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/type_helpers.py +0 -0
  330. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/validate.py +0 -0
  331. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/workflow_sources.py +0 -0
  332. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/workflows/h3_context_ir.json +0 -0
  333. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw/workflows/test.json +0 -0
  334. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw_mcp/__init__.py +0 -0
  335. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw_mcp/__main__.py +0 -0
  336. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw_mcp/exports.py +0 -0
  337. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw_mcp/guides.py +0 -0
  338. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/dw_mcp/models.py +0 -0
  339. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/setup.cfg +0 -0
  340. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_argument_updates.py +0 -0
  341. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_arguments.py +0 -0
  342. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_borders.py +0 -0
  343. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_chain.py +0 -0
  344. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_component_pruning.py +0 -0
  345. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_compose_text.py +0 -0
  346. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_config_objects.py +0 -0
  347. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_configuration_schema.py +0 -0
  348. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_depth_estimator.py +0 -0
  349. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_device.py +0 -0
  350. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_device_helpers.py +0 -0
  351. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_device_portability.py +0 -0
  352. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_dialogue_short_voices.py +0 -0
  353. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_diffusion_upscale.py +0 -0
  354. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_docs_links.py +0 -0
  355. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_gather.py +0 -0
  356. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_h3_context_ir.py +0 -0
  357. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_hf_placement.py +0 -0
  358. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_host_memory.py +0 -0
  359. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_hub_cache.py +0 -0
  360. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_image_to_text.py +0 -0
  361. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_image_utils.py +0 -0
  362. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_interpolate_frames.py +0 -0
  363. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_job_progress.py +0 -0
  364. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_jobs_listing.py +0 -0
  365. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_jobs_reused.py +0 -0
  366. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_library_sources.py +0 -0
  367. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_list_images.py +0 -0
  368. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_locations.py +0 -0
  369. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_mcp_exports.py +0 -0
  370. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_mcp_guides.py +0 -0
  371. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_mcp_main.py +0 -0
  372. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_mcp_models.py +0 -0
  373. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_model_cache.py +0 -0
  374. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_modular_pipeline.py +0 -0
  375. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_modular_progress.py +0 -0
  376. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_offload_placement.py +0 -0
  377. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_pair_audio.py +0 -0
  378. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_phase_events.py +0 -0
  379. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_previous_results.py +0 -0
  380. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_prompt_parser.py +0 -0
  381. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_prompt_references.py +0 -0
  382. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_prompt_weighting.py +0 -0
  383. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_prompts.py +0 -0
  384. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_realize.py +0 -0
  385. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_recenter_crop.py +0 -0
  386. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_reference_limits.py +0 -0
  387. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_repl_commands.py +0 -0
  388. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_repl_ergonomics.py +0 -0
  389. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_repl_hierarchical.py +0 -0
  390. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_repl_reorganization.py +0 -0
  391. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_repl_worker.py +0 -0
  392. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_rerun_new_seed.py +0 -0
  393. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_resize_bucket.py +0 -0
  394. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_result_output_naming.py +0 -0
  395. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_runs.py +0 -0
  396. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_scheduler_config.py +0 -0
  397. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_schema.py +0 -0
  398. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_security.py +0 -0
  399. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_segment.py +0 -0
  400. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_serve_main.py +0 -0
  401. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_server_info.py +0 -0
  402. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_server_mcp.py +0 -0
  403. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_stabilize.py +0 -0
  404. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_step.py +0 -0
  405. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_strip_exif_and_watermark.py +0 -0
  406. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_task_domains.py +0 -0
  407. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_teacache.py +0 -0
  408. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_tensor_image.py +0 -0
  409. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_text_generation.py +0 -0
  410. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_text_sections.py +0 -0
  411. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_type_helpers.py +0 -0
  412. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_worker.py +0 -0
  413. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_workflow_sources.py +0 -0
  414. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_workflow_trust.py +0 -0
  415. {diffusers_workflow-0.4.0b5 → diffusers_workflow-0.4.0b7}/tests/test_workspace.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: diffusers-workflow
3
- Version: 0.4.0b5
3
+ Version: 0.4.0b7
4
4
  Summary: Declarative workflow engine and web UI for Hugging Face Diffusers
5
5
  Author: dkackman
6
6
  License: Apache-2.0
@@ -19,7 +19,7 @@ License-File: LICENSE
19
19
  Requires-Dist: torch>=2.13.0
20
20
  Requires-Dist: torchvision>=0.28.0
21
21
  Requires-Dist: diffusers>=0.40.0
22
- Requires-Dist: transformers>=5.16.1
22
+ Requires-Dist: transformers!=5.17.0,>=5.16.1
23
23
  Requires-Dist: accelerate>=1.14.0
24
24
  Requires-Dist: peft>=0.20.0
25
25
  Requires-Dist: safetensors>=0.8.0
@@ -36,6 +36,7 @@ Requires-Dist: bitsandbytes>=0.50.2; sys_platform == "linux"
36
36
  Requires-Dist: controlnet-aux>=0.0.10
37
37
  Requires-Dist: opencv-python-headless>=5.0.0.93
38
38
  Requires-Dist: kornia>=0.8.3
39
+ Requires-Dist: kernels>=0.17.0
39
40
  Requires-Dist: spandrel>=0.4.2
40
41
  Requires-Dist: facexlib>=0.3.0
41
42
  Requires-Dist: numpy>=2.5.2
@@ -46,6 +47,7 @@ Requires-Dist: imageio-ffmpeg>=0.6.0
46
47
  Requires-Dist: av>=18.1.0
47
48
  Requires-Dist: soundfile>=0.14.0
48
49
  Requires-Dist: matplotlib>=3.11.1
50
+ Requires-Dist: speechbrain>=1.0.3
49
51
  Requires-Dist: qrcode>=8.2
50
52
  Requires-Dist: requests>=2.34.2
51
53
  Requires-Dist: aiohttp>=3.14.3
@@ -158,7 +160,7 @@ once; without it the run fails partway through with a 401/403 from the Hub.
158
160
 
159
161
  ## Drive it from an agent
160
162
 
161
- Then just ask. The agent has 55 tools covering the whole surface — the
163
+ Then just ask. The agent has 58 tools covering the whole surface — the
162
164
  workflow catalog, the real diffusers pipeline signatures, the job queue, the
163
165
  gallery, the model cache:
164
166
 
@@ -83,7 +83,7 @@ once; without it the run fails partway through with a 401/403 from the Hub.
83
83
 
84
84
  ## Drive it from an agent
85
85
 
86
- Then just ask. The agent has 55 tools covering the whole surface — the
86
+ Then just ask. The agent has 58 tools covering the whole surface — the
87
87
  workflow catalog, the real diffusers pipeline signatures, the job queue, the
88
88
  gallery, the model cache:
89
89
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: diffusers-workflow
3
- Version: 0.4.0b5
3
+ Version: 0.4.0b7
4
4
  Summary: Declarative workflow engine and web UI for Hugging Face Diffusers
5
5
  Author: dkackman
6
6
  License: Apache-2.0
@@ -19,7 +19,7 @@ License-File: LICENSE
19
19
  Requires-Dist: torch>=2.13.0
20
20
  Requires-Dist: torchvision>=0.28.0
21
21
  Requires-Dist: diffusers>=0.40.0
22
- Requires-Dist: transformers>=5.16.1
22
+ Requires-Dist: transformers!=5.17.0,>=5.16.1
23
23
  Requires-Dist: accelerate>=1.14.0
24
24
  Requires-Dist: peft>=0.20.0
25
25
  Requires-Dist: safetensors>=0.8.0
@@ -36,6 +36,7 @@ Requires-Dist: bitsandbytes>=0.50.2; sys_platform == "linux"
36
36
  Requires-Dist: controlnet-aux>=0.0.10
37
37
  Requires-Dist: opencv-python-headless>=5.0.0.93
38
38
  Requires-Dist: kornia>=0.8.3
39
+ Requires-Dist: kernels>=0.17.0
39
40
  Requires-Dist: spandrel>=0.4.2
40
41
  Requires-Dist: facexlib>=0.3.0
41
42
  Requires-Dist: numpy>=2.5.2
@@ -46,6 +47,7 @@ Requires-Dist: imageio-ffmpeg>=0.6.0
46
47
  Requires-Dist: av>=18.1.0
47
48
  Requires-Dist: soundfile>=0.14.0
48
49
  Requires-Dist: matplotlib>=3.11.1
50
+ Requires-Dist: speechbrain>=1.0.3
49
51
  Requires-Dist: qrcode>=8.2
50
52
  Requires-Dist: requests>=2.34.2
51
53
  Requires-Dist: aiohttp>=3.14.3
@@ -158,7 +160,7 @@ once; without it the run fails partway through with a 401/403 from the Hub.
158
160
 
159
161
  ## Drive it from an agent
160
162
 
161
- Then just ask. The agent has 55 tools covering the whole surface — the
163
+ Then just ask. The agent has 58 tools covering the whole surface — the
162
164
  workflow catalog, the real diffusers pipeline signatures, the job queue, the
163
165
  gallery, the model cache:
164
166
 
@@ -9,17 +9,24 @@ diffusers_workflow.egg-info/entry_points.txt
9
9
  diffusers_workflow.egg-info/requires.txt
10
10
  diffusers_workflow.egg-info/top_level.txt
11
11
  dw/__init__.py
12
+ dw/adapter_compatibility.py
12
13
  dw/arguments.py
13
14
  dw/assets.py
14
15
  dw/cache_blocks.json
15
16
  dw/cache_blocks.py
17
+ dw/content_types.py
18
+ dw/elision.py
16
19
  dw/events.py
17
20
  dw/for_each.py
18
21
  dw/host_memory.py
22
+ dw/host_memory_projection.py
19
23
  dw/hub_cache.py
20
24
  dw/introspection.py
25
+ dw/kernel_availability.py
21
26
  dw/locations.py
22
27
  dw/log_setup.py
28
+ dw/media_audio.py
29
+ dw/media_frames.py
23
30
  dw/media_info.py
24
31
  dw/plan.py
25
32
  dw/previous_results.py
@@ -28,14 +35,17 @@ dw/prompt_weighting.py
28
35
  dw/prompts.py
29
36
  dw/realize.py
30
37
  dw/reference_limits.py
38
+ dw/reference_names.py
31
39
  dw/repl.py
32
40
  dw/repl_commands.py
33
41
  dw/repl_worker.py
34
42
  dw/result.py
35
43
  dw/run.py
36
44
  dw/runs.py
45
+ dw/scalar_result_validation.py
37
46
  dw/schema.py
38
47
  dw/security.py
48
+ dw/select_validation.py
39
49
  dw/serve.py
40
50
  dw/settings.py
41
51
  dw/step.py
@@ -47,7 +57,9 @@ dw/teacache_models.json
47
57
  dw/test.py
48
58
  dw/type_helpers.py
49
59
  dw/validate.py
60
+ dw/variable_constraints.py
50
61
  dw/variables.py
62
+ dw/vram_estimate.py
51
63
  dw/worker.py
52
64
  dw/workflow.py
53
65
  dw/workflow_schema.json
@@ -87,6 +99,8 @@ dw/server/guides.py
87
99
  dw/server/jobs.py
88
100
  dw/server/mcp_mount.py
89
101
  dw/server/netinfo.py
102
+ dw/server/observed_cost.py
103
+ dw/server/sysinfo.py
90
104
  dw/server/updater.py
91
105
  dw/server/ui/index.html
92
106
  dw/server/ui/assets/abap-08VXUWAP.js
@@ -103,45 +117,45 @@ dw/server/ui/assets/csharp-BKxtCVv1.js
103
117
  dw/server/ui/assets/csp-bTuwJoIa.js
104
118
  dw/server/ui/assets/css-DIMkf-bt.js
105
119
  dw/server/ui/assets/css.worker-B3ciXF_0.js
106
- dw/server/ui/assets/cssMode-BQ03gENP.js
120
+ dw/server/ui/assets/cssMode-xQCqMuag.js
107
121
  dw/server/ui/assets/cypher-CVaqCwHa.js
108
122
  dw/server/ui/assets/dart-onAF5SnQ.js
109
123
  dw/server/ui/assets/dockerfile-DZFCIeNp.js
110
124
  dw/server/ui/assets/ecl-D05T4iGw.js
111
125
  dw/server/ui/assets/editor-jjEx9u7D.css
112
- dw/server/ui/assets/editor.api-CzvLX8mb.js
126
+ dw/server/ui/assets/editor.api-Bfiq9hmW.js
113
127
  dw/server/ui/assets/editor.worker-q-txB4vs.js
114
128
  dw/server/ui/assets/elixir-6RTg0lbw.js
115
129
  dw/server/ui/assets/flow9-C5_-GSwl.js
116
- dw/server/ui/assets/freemarker2-C8c7lwsP.js
130
+ dw/server/ui/assets/freemarker2-BwDnlSuz.js
117
131
  dw/server/ui/assets/fsharp-C8Ef5oNN.js
118
132
  dw/server/ui/assets/go-C-y9NEjX.js
119
133
  dw/server/ui/assets/graphql-fmXr3nnJ.js
120
- dw/server/ui/assets/handlebars-7APo_5hD.js
134
+ dw/server/ui/assets/handlebars-Beb1we4G.js
121
135
  dw/server/ui/assets/hcl-CpzslTdj.js
122
- dw/server/ui/assets/html-JgrkBemQ.js
136
+ dw/server/ui/assets/html-Yw-qdTCH.js
123
137
  dw/server/ui/assets/html.worker-C93Ht9o9.js
124
- dw/server/ui/assets/htmlMode-BH9VsgGh.js
125
- dw/server/ui/assets/index-B1DfbIuu.js
126
- dw/server/ui/assets/index-CRVAbEJ9.css
138
+ dw/server/ui/assets/htmlMode-Dbp7eBPO.js
139
+ dw/server/ui/assets/index-CsXMC8a8.css
140
+ dw/server/ui/assets/index-DqbiZNFq.js
127
141
  dw/server/ui/assets/ini-sBoK_t0W.js
128
142
  dw/server/ui/assets/java-BEtHBSE6.js
129
- dw/server/ui/assets/javascript-BrFJ1H6j.js
143
+ dw/server/ui/assets/javascript-BNzP7yQZ.js
130
144
  dw/server/ui/assets/json.worker-B2V3pomh.js
131
- dw/server/ui/assets/jsonMode-C10gRe-2.js
145
+ dw/server/ui/assets/jsonMode-DxIEESAg.js
132
146
  dw/server/ui/assets/julia-Bri6UV-V.js
133
147
  dw/server/ui/assets/kotlin-BOotOW0E.js
134
148
  dw/server/ui/assets/less-B9JPFI3C.js
135
149
  dw/server/ui/assets/lexon-CfSJPG6W.js
136
- dw/server/ui/assets/liquid-CjfGWTAZ.js
137
- dw/server/ui/assets/lspLanguageFeatures-O-lB5SDv.js
150
+ dw/server/ui/assets/liquid-CeQTai1N.js
151
+ dw/server/ui/assets/lspLanguageFeatures-DKVB_UCB.js
138
152
  dw/server/ui/assets/lua-CsQS60Ue.js
139
153
  dw/server/ui/assets/m3-D-oSqn_W.js
140
154
  dw/server/ui/assets/markdown-Cimd5fb3.js
141
- dw/server/ui/assets/mdx-D7b-hMTY.js
155
+ dw/server/ui/assets/mdx-Bczl_PHr.js
142
156
  dw/server/ui/assets/mips-CIPQ_RoX.js
143
157
  dw/server/ui/assets/monaco--ixms01u.css
144
- dw/server/ui/assets/monaco-DBnxML20.js
158
+ dw/server/ui/assets/monaco-Bu2OB6wI.js
145
159
  dw/server/ui/assets/msdax-DauUninz.js
146
160
  dw/server/ui/assets/mysql-SOo6toE5.js
147
161
  dw/server/ui/assets/objective-c-FvmIjYaQ.js
@@ -156,10 +170,10 @@ dw/server/ui/assets/powerquery-D3hlyOfw.js
156
170
  dw/server/ui/assets/powershell-DmHpPYUd.js
157
171
  dw/server/ui/assets/protobuf-C531GsRP.js
158
172
  dw/server/ui/assets/pug-Z5eAx3Zn.js
159
- dw/server/ui/assets/python-NfJjzkPL.js
173
+ dw/server/ui/assets/python-CeTsj82v.js
160
174
  dw/server/ui/assets/qsharp-DkqhCAOL.js
161
175
  dw/server/ui/assets/r-BwWrilGY.js
162
- dw/server/ui/assets/razor-CgQtwMBj.js
176
+ dw/server/ui/assets/razor-CN7JaWqc.js
163
177
  dw/server/ui/assets/redis-ClamHrr6.js
164
178
  dw/server/ui/assets/redshift-DT7zqm-g.js
165
179
  dw/server/ui/assets/restructuredtext-BYgofb2h.js
@@ -179,15 +193,16 @@ dw/server/ui/assets/swift-Bxkupp3x.js
179
193
  dw/server/ui/assets/systemverilog-Bz4Y3fRF.js
180
194
  dw/server/ui/assets/tcl-DISqw1ZD.js
181
195
  dw/server/ui/assets/ts.worker-D7T1-Ig5.js
182
- dw/server/ui/assets/tsMode-BuMW6Qar.js
196
+ dw/server/ui/assets/tsMode-CoSEMx-L.js
183
197
  dw/server/ui/assets/twig-De2hgUGE.js
184
- dw/server/ui/assets/typescript-Bfmxt754.js
198
+ dw/server/ui/assets/typescript-CcsolRTO.js
185
199
  dw/server/ui/assets/typespec-B8J7ngcE.js
186
200
  dw/server/ui/assets/vb-DV3o63ZY.js
187
201
  dw/server/ui/assets/wgsl-DpFanUEy.js
188
- dw/server/ui/assets/workers-BSu9lD5s.js
189
- dw/server/ui/assets/xml-BJ2IwGRC.js
190
- dw/server/ui/assets/yaml-Cq85tEmC.js
202
+ dw/server/ui/assets/workers-DLaycdy4.js
203
+ dw/server/ui/assets/xml-QEwuyn1w.js
204
+ dw/server/ui/assets/yaml-BB4U5D-R.js
205
+ dw/tasks/audio_transcription.py
191
206
  dw/tasks/audio_utils.py
192
207
  dw/tasks/background_remover.py
193
208
  dw/tasks/borders.py
@@ -201,12 +216,14 @@ dw/tasks/gather.py
201
216
  dw/tasks/image_to_text.py
202
217
  dw/tasks/image_utils.py
203
218
  dw/tasks/interpolate_frames.py
219
+ dw/tasks/judge.py
204
220
  dw/tasks/model_cache.py
205
221
  dw/tasks/pair_audio.py
206
222
  dw/tasks/qr_code.py
207
223
  dw/tasks/restore_faces.py
208
224
  dw/tasks/rife_model.py
209
225
  dw/tasks/segment.py
226
+ dw/tasks/select.py
210
227
  dw/tasks/speech_generation.py
211
228
  dw/tasks/stabilize.py
212
229
  dw/tasks/task.py
@@ -236,6 +253,7 @@ tests/test_argument_updates.py
236
253
  tests/test_arguments.py
237
254
  tests/test_assets.py
238
255
  tests/test_audio_utils.py
256
+ tests/test_best_of_n_template.py
239
257
  tests/test_borders.py
240
258
  tests/test_cache_blocks.py
241
259
  tests/test_catalog_shape.py
@@ -247,6 +265,7 @@ tests/test_compose_text.py
247
265
  tests/test_concat_videos.py
248
266
  tests/test_config_objects.py
249
267
  tests/test_configuration_schema.py
268
+ tests/test_content_types.py
250
269
  tests/test_depth_estimator.py
251
270
  tests/test_device.py
252
271
  tests/test_device_helpers.py
@@ -255,25 +274,36 @@ tests/test_dialogue_short_voices.py
255
274
  tests/test_diffusion_upscale.py
256
275
  tests/test_dissolve_videos.py
257
276
  tests/test_docs_links.py
277
+ tests/test_elision.py
258
278
  tests/test_events.py
259
279
  tests/test_examples.py
260
280
  tests/test_for_each.py
261
281
  tests/test_gather.py
282
+ tests/test_h3_adapters.py
262
283
  tests/test_h3_context_ir.py
284
+ tests/test_h3_schedule.py
263
285
  tests/test_hf_placement.py
264
286
  tests/test_host_memory.py
287
+ tests/test_host_memory_projection.py
265
288
  tests/test_hub_cache.py
266
289
  tests/test_image_to_text.py
267
290
  tests/test_image_utils.py
268
291
  tests/test_integration.py
269
292
  tests/test_interpolate_frames.py
270
293
  tests/test_introspection.py
294
+ tests/test_job_history_wal.py
271
295
  tests/test_job_progress.py
296
+ tests/test_job_warnings.py
272
297
  tests/test_jobs_listing.py
273
298
  tests/test_jobs_reused.py
299
+ tests/test_judge.py
300
+ tests/test_kernel_availability.py
274
301
  tests/test_library_sources.py
275
302
  tests/test_list_images.py
276
303
  tests/test_locations.py
304
+ tests/test_lora_alpha.py
305
+ tests/test_ltx2_diffusion_decode.py
306
+ tests/test_ltx2_ic_loras.py
277
307
  tests/test_ltx_prompt_library.py
278
308
  tests/test_mcp_assets.py
279
309
  tests/test_mcp_authoring.py
@@ -288,20 +318,25 @@ tests/test_mcp_models.py
288
318
  tests/test_mcp_prompts.py
289
319
  tests/test_mcp_server.py
290
320
  tests/test_mcp_workspaces.py
321
+ tests/test_media_audio.py
322
+ tests/test_media_frames.py
291
323
  tests/test_media_info.py
292
324
  tests/test_mix_audio.py
293
325
  tests/test_model_cache.py
294
326
  tests/test_modular_pipeline.py
295
327
  tests/test_modular_progress.py
328
+ tests/test_observed_cost.py
296
329
  tests/test_offload_placement.py
297
330
  tests/test_output_references.py
298
331
  tests/test_pair_audio.py
332
+ tests/test_pair_audio_fit.py
299
333
  tests/test_phase_events.py
300
334
  tests/test_pipeline_caching.py
301
335
  tests/test_pipeline_components.py
302
336
  tests/test_plan.py
303
337
  tests/test_plugin_skills.py
304
338
  tests/test_previous_results.py
339
+ tests/test_prompt_library.py
305
340
  tests/test_prompt_parser.py
306
341
  tests/test_prompt_references.py
307
342
  tests/test_prompt_weighting.py
@@ -309,6 +344,7 @@ tests/test_prompts.py
309
344
  tests/test_realize.py
310
345
  tests/test_recenter_crop.py
311
346
  tests/test_reference_limits.py
347
+ tests/test_reference_names.py
312
348
  tests/test_repl_commands.py
313
349
  tests/test_repl_ergonomics.py
314
350
  tests/test_repl_hierarchical.py
@@ -319,10 +355,13 @@ tests/test_resize_bucket.py
319
355
  tests/test_result.py
320
356
  tests/test_result_output_naming.py
321
357
  tests/test_runs.py
358
+ tests/test_scalar_result_validation.py
322
359
  tests/test_scheduler_config.py
323
360
  tests/test_schema.py
324
361
  tests/test_security.py
325
362
  tests/test_segment.py
363
+ tests/test_select.py
364
+ tests/test_select_validation.py
326
365
  tests/test_serve_main.py
327
366
  tests/test_server.py
328
367
  tests/test_server_downloads.py
@@ -341,14 +380,17 @@ tests/test_subfolders.py
341
380
  tests/test_task.py
342
381
  tests/test_task_discovery.py
343
382
  tests/test_task_domains.py
383
+ tests/test_task_signature_errors.py
344
384
  tests/test_teacache.py
345
385
  tests/test_template_subfolders.py
346
386
  tests/test_tensor_image.py
347
387
  tests/test_text_generation.py
348
388
  tests/test_text_sections.py
389
+ tests/test_transcribe_audio.py
349
390
  tests/test_type_helpers.py
350
391
  tests/test_updater.py
351
392
  tests/test_validate_arguments.py
393
+ tests/test_variable_constraints.py
352
394
  tests/test_variables.py
353
395
  tests/test_video_utils.py
354
396
  tests/test_worker.py
@@ -1,7 +1,7 @@
1
1
  torch>=2.13.0
2
2
  torchvision>=0.28.0
3
3
  diffusers>=0.40.0
4
- transformers>=5.16.1
4
+ transformers!=5.17.0,>=5.16.1
5
5
  accelerate>=1.14.0
6
6
  peft>=0.20.0
7
7
  safetensors>=0.8.0
@@ -17,6 +17,7 @@ gguf>=0.19.0
17
17
  controlnet-aux>=0.0.10
18
18
  opencv-python-headless>=5.0.0.93
19
19
  kornia>=0.8.3
20
+ kernels>=0.17.0
20
21
  spandrel>=0.4.2
21
22
  facexlib>=0.3.0
22
23
  numpy>=2.5.2
@@ -27,6 +28,7 @@ imageio-ffmpeg>=0.6.0
27
28
  av>=18.1.0
28
29
  soundfile>=0.14.0
29
30
  matplotlib>=3.11.1
31
+ speechbrain>=1.0.3
30
32
  qrcode>=8.2
31
33
  requests>=2.34.2
32
34
  aiohttp>=3.14.3
@@ -0,0 +1,226 @@
1
+ """The LoRA a step loads has to be trained for the path that step runs.
2
+
3
+ MiniMax-H3 ships one repository holding two checkpoint partitions -
4
+ `transformer/` for the `t2va` and `fl2va` workflows, `transformer_ref/` for
5
+ `ref2va` - and a separate turbo adapter trained against each. Handing the
6
+ FL2VA adapter to a `ref2va` step is the one H3 misconfiguration that never
7
+ shows up as a failure: a `ref2va` step holds `transformer_ref` alone, so
8
+ diffusers loads whatever it is given straight onto it, the run succeeds, and
9
+ the only symptom is identity retention that quietly is not as good as it
10
+ should be. Four templates carried exactly that mistake and nothing ever
11
+ complained (#149, #155).
12
+
13
+ Everything a pipeline itself would refuse is refused by the pipeline. This
14
+ is the other kind: a request the pipeline accepts and answers wrongly, which
15
+ costs a whole render to discover and cannot be seen in the output. So it is
16
+ checked where it is free - `validation_errors`, so `POST /api/validate` and
17
+ the pre-queue check both refuse it, at the JSON path the value sits at.
18
+
19
+ What is *not* written here: the adapter file names. `lora_weight_name` is a
20
+ free string and a future reference-trained checkpoint cannot be predicted, so
21
+ an unrecognised name is a warning naming the rule rather than a refusal - the
22
+ default inverts from "anything passes" to "the one documented mistake is
23
+ caught", and someone testing `my-new-ref-lora.safetensors` still gets
24
+ through. What *is* written here is a vendor naming convention (`ref2v` /
25
+ `fl2v` in the file name) that no diffusers symbol declares; the workflow
26
+ names and the partition each one denoises against are diffusers' own, and
27
+ `tests/test_h3_adapters.py` pins them to it.
28
+ """
29
+
30
+ import logging
31
+
32
+ from .for_each import MEMBER_SEPARATOR, render_path
33
+
34
+ logger = logging.getLogger("dw")
35
+
36
+ # The `workflow=` values MiniMaxH3Blocks._workflow_map declares, split by the
37
+ # transformer partition each one denoises against - a `ref2va` step loads
38
+ # `transformer_ref` and nothing else, every other H3 workflow loads
39
+ # `transformer`. A workflow name not listed here is not checked
40
+ REFERENCE_WORKFLOWS = frozenset({"ref2va"})
41
+ KEYFRAME_WORKFLOWS = frozenset({"t2va", "fl2va"})
42
+ H3_WORKFLOWS = REFERENCE_WORKFLOWS | KEYFRAME_WORKFLOWS
43
+
44
+ # The token MiniMax puts in an adapter's file name to say which partition it
45
+ # was trained against. `ref2v` first: it is the longer match and a name
46
+ # carrying both is ambiguous rather than a keyframe adapter
47
+ REFERENCE_TOKEN = "ref2v"
48
+ KEYFRAME_TOKEN = "fl2v"
49
+
50
+ LORAS_KEY = "loras"
51
+ WEIGHT_NAME_KEY = "weight_name"
52
+ WORKFLOW_KEY = "workflow"
53
+ FROM_PRETRAINED_KEY = "from_pretrained_arguments"
54
+ VARIABLE_PREFIX = "variable:"
55
+ # Values another pass resolves; one still spelled out here is not this
56
+ # pass's complaint
57
+ _UNRESOLVED_PREFIXES = ("variable:", "item:", "previous_result:", "gather:")
58
+
59
+
60
+ def _trained_for(weight_name):
61
+ """Which partition an adapter's file name says it was trained against -
62
+ 'reference', 'keyframe', or None when the name says neither."""
63
+ lowered = weight_name.lower()
64
+ if REFERENCE_TOKEN in lowered:
65
+ return "reference"
66
+ if KEYFRAME_TOKEN in lowered:
67
+ return "keyframe"
68
+ return None
69
+
70
+
71
+ def _problem(workflow, weight_name):
72
+ """(severity, message) for one adapter on one step, or None when the
73
+ pairing is right."""
74
+ trained = _trained_for(weight_name)
75
+ wants = "reference" if workflow in REFERENCE_WORKFLOWS else "keyframe"
76
+ if trained == wants:
77
+ return None
78
+ if trained is None:
79
+ return (
80
+ "warning",
81
+ f"'{weight_name}' names neither '{REFERENCE_TOKEN}' nor "
82
+ f"'{KEYFRAME_TOKEN}', so it cannot be checked against this "
83
+ f"step's '{workflow}' workflow. A '{workflow}' step denoises "
84
+ f"against the "
85
+ f"'{'transformer_ref' if wants == 'reference' else 'transformer'}' "
86
+ f"partition, and an adapter trained against the other one loads "
87
+ f"onto it without error and only degrades the result",
88
+ )
89
+ return (
90
+ "error",
91
+ f"'{weight_name}' is trained against the "
92
+ f"'{'transformer_ref' if trained == 'reference' else 'transformer'}' "
93
+ f"partition and this step runs the '{workflow}' workflow, which "
94
+ f"denoises against "
95
+ f"'{'transformer_ref' if wants == 'reference' else 'transformer'}'. "
96
+ f"MiniMax-H3 loads it anyway and the run succeeds - the only symptom "
97
+ f"is a worse result - so it is refused here. Use an adapter trained "
98
+ f"for this workflow (its name carries "
99
+ f"'{REFERENCE_TOKEN if wants == 'reference' else KEYFRAME_TOKEN}')",
100
+ )
101
+
102
+
103
+ def _lora_problems(steps, source_indices, written=None, supplied=()):
104
+ """Every adapter/workflow mismatch in an expanded step list, as
105
+ (severity, path, message).
106
+
107
+ `written` is the definition as the author wrote it and `supplied` the
108
+ argument names the caller passed: when the value arrived through a
109
+ variable the caller set, the path reported is `arguments.<name>`, where
110
+ they wrote it, rather than the step it landed in.
111
+ """
112
+ written_steps = (written or {}).get("steps")
113
+ found = []
114
+ for index, step in enumerate(steps):
115
+ if not isinstance(step, dict):
116
+ continue
117
+ pipeline = step.get("pipeline")
118
+ if not isinstance(pipeline, dict):
119
+ continue
120
+ source = (
121
+ source_indices[index]
122
+ if source_indices is not None and index < len(source_indices)
123
+ else index
124
+ )
125
+ from_pretrained = pipeline.get(FROM_PRETRAINED_KEY)
126
+ workflow = (
127
+ from_pretrained.get(WORKFLOW_KEY)
128
+ if isinstance(from_pretrained, dict)
129
+ else None
130
+ )
131
+ if workflow not in H3_WORKFLOWS:
132
+ continue
133
+ loras = pipeline.get(LORAS_KEY)
134
+ if not isinstance(loras, list):
135
+ continue
136
+ name = step.get("name")
137
+ where = (
138
+ f" in member '{name}'"
139
+ if isinstance(name, str) and MEMBER_SEPARATOR in name
140
+ else ""
141
+ )
142
+ for position, lora in enumerate(loras):
143
+ if not isinstance(lora, dict):
144
+ continue
145
+ weight_name = lora.get(WEIGHT_NAME_KEY)
146
+ if not isinstance(weight_name, str) or weight_name.startswith(
147
+ _UNRESOLVED_PREFIXES
148
+ ):
149
+ continue
150
+ problem = _problem(workflow, weight_name)
151
+ if problem is None:
152
+ continue
153
+ severity, message = problem
154
+ found.append(
155
+ (
156
+ severity,
157
+ _path_for(written_steps, source, position, supplied)
158
+ or render_path(
159
+ (
160
+ "steps",
161
+ source,
162
+ "pipeline",
163
+ LORAS_KEY,
164
+ position,
165
+ WEIGHT_NAME_KEY,
166
+ )
167
+ ),
168
+ message + where,
169
+ )
170
+ )
171
+ return found
172
+
173
+
174
+ def _path_for(written_steps, source, position, supplied):
175
+ """`arguments.<name>` when the adapter came from a variable the caller
176
+ set, else None - the value is reported where it was written."""
177
+ if not isinstance(written_steps, list) or source >= len(written_steps):
178
+ return None
179
+ step = written_steps[source]
180
+ pipeline = step.get("pipeline") if isinstance(step, dict) else None
181
+ loras = pipeline.get(LORAS_KEY) if isinstance(pipeline, dict) else None
182
+ if not isinstance(loras, list) or position >= len(loras):
183
+ return None
184
+ entry = loras[position]
185
+ reference = entry.get(WEIGHT_NAME_KEY) if isinstance(entry, dict) else None
186
+ if not isinstance(reference, str) or not reference.startswith(VARIABLE_PREFIX):
187
+ return None
188
+ variable = reference.removeprefix(VARIABLE_PREFIX)
189
+ return f"arguments.{variable}" if variable in (supplied or ()) else None
190
+
191
+
192
+ def adapter_errors(workflow_definition, source_indices=None, written=None, supplied=()):
193
+ """Every adapter loaded onto the wrong checkpoint partition, as
194
+ [{path, message}]. The definition is the expanded, substituted one, so a
195
+ `for_each` member's own adapter is checked as it will run."""
196
+ return [
197
+ {"path": path, "message": message}
198
+ for severity, path, message in _lora_problems(
199
+ workflow_definition.get("steps") or [], source_indices, written, supplied
200
+ )
201
+ if severity == "error"
202
+ ]
203
+
204
+
205
+ def adapter_warnings(
206
+ workflow_definition, source_indices=None, written=None, supplied=()
207
+ ):
208
+ """Every adapter whose name says nothing about what it was trained for,
209
+ as messages - valid, and said out loud because nothing at run time will."""
210
+ return [
211
+ f"{path}: {message}"
212
+ for severity, path, message in _lora_problems(
213
+ workflow_definition.get("steps") or [], source_indices, written, supplied
214
+ )
215
+ if severity == "warning"
216
+ ]
217
+
218
+
219
+ def warn_adapters(workflow_definition):
220
+ """Say the unrecognised-adapter warning where whoever asked for the run
221
+ can read it - a run started from the CLI or a rerun never passed through
222
+ the validate route."""
223
+ from .events import emit_warning
224
+
225
+ for message in adapter_warnings(workflow_definition):
226
+ emit_warning(message, kind="adapter_unrecognized")
@@ -116,7 +116,7 @@ def realize_args(arg, base_dir=None):
116
116
  # library, and does it first: what it stands for is a path, so
117
117
  # everything below - the media conventions, an object's
118
118
  # 'from_file' - then handles it as the path it always was
119
- if is_path_reference(v) or isinstance(v, list):
119
+ if is_path_reference(v) or isinstance(v, (list, dict)):
120
120
  v = arg[k] = resolve_path_references(v, base_dir)
121
121
  # A constant resolves under any argument name, and before the
122
122
  # conventions below - what it holds is the value, not a file to load
@@ -212,7 +212,12 @@ def resolve_path_references(value, base_dir=None):
212
212
  A list is walked in place, because an 'image' argument may be a list of
213
213
  references and the key conventions hand the whole list to the loader at
214
214
  once - by then it is too late for a reference to be recognized.
215
- Dictionaries are left alone: realize_args recurses into those itself,
215
+ A {"location": ...} dict is walked the same way, for the same reason: the
216
+ media conventions hand the whole dict to the loader, which reads the
217
+ location out of it and joins it onto the workflow directory - so
218
+ {"location": "asset:x.png"} passed validation (which sees every string)
219
+ and then failed the run on a path that was never resolved. Other
220
+ dictionaries are left alone: realize_args recurses into those itself,
216
221
  and each of their values reaches this on the way through.
217
222
  """
218
223
  if is_asset_reference(value):
@@ -222,6 +227,8 @@ def resolve_path_references(value, base_dir=None):
222
227
  if isinstance(value, list):
223
228
  for index, item in enumerate(value):
224
229
  value[index] = resolve_path_references(item, base_dir)
230
+ elif isinstance(value, dict) and is_path_reference(value.get("location")):
231
+ value["location"] = resolve_path_references(value["location"], base_dir)
225
232
  return value
226
233
 
227
234