diffusers-workflow 0.9.0__tar.gz → 0.11.0__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 (613) hide show
  1. {diffusers_workflow-0.9.0/diffusers_workflow.egg-info → diffusers_workflow-0.11.0}/PKG-INFO +1 -1
  2. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0/diffusers_workflow.egg-info}/PKG-INFO +1 -1
  3. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/diffusers_workflow.egg-info/SOURCES.txt +97 -29
  4. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/__init__.py +18 -0
  5. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/adapter_compatibility.py +8 -24
  6. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/argument_media.py +69 -18
  7. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/arguments.py +15 -5
  8. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/assessment_rules.py +4 -1
  9. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/audio_qc.py +21 -6
  10. diffusers_workflow-0.11.0/dw/community_pipelines/pipeline_ltx2_refine.py +154 -0
  11. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/content_types.py +5 -17
  12. diffusers_workflow-0.11.0/dw/devices.py +247 -0
  13. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/dissolve_frame_errors.py +6 -18
  14. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/docs/ACCELERATION.md +4 -3
  15. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/docs/ARCHITECTURE.md +34 -13
  16. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/docs/DEPENDENCIES.md +1 -1
  17. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/docs/MCP.md +12 -7
  18. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/docs/RECIPES_24GB.md +2 -1
  19. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/docs/RELEASING.md +213 -0
  20. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/docs/SECURITY.md +33 -4
  21. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/docs/SERVER.md +81 -13
  22. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/docs/TASKS.md +1180 -8
  23. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/docs/WORKFLOW_GUIDE.md +574 -20
  24. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/docs/WORKSPACES.md +6 -3
  25. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/dsp.py +377 -2
  26. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/elision.py +65 -9
  27. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/events.py +3 -0
  28. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/for_each.py +65 -18
  29. diffusers_workflow-0.11.0/dw/guides.py +313 -0
  30. diffusers_workflow-0.11.0/dw/hold_audio.py +123 -0
  31. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/host_memory.py +56 -1
  32. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/hub_cache.py +59 -45
  33. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/introspection.py +136 -27
  34. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/kernel_availability.py +4 -19
  35. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/locations.py +235 -113
  36. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/media.py +136 -41
  37. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/media_types.py +43 -0
  38. diffusers_workflow-0.11.0/dw/outbound.py +539 -0
  39. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/output_extraction.py +15 -0
  40. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/path_redaction.py +40 -6
  41. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/pipeline_ownership.py +16 -2
  42. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/pipeline_processors/chain.py +362 -112
  43. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/pipeline_processors/components.py +55 -32
  44. diffusers_workflow-0.11.0/dw/pipeline_processors/h3_guide_steps.py +542 -0
  45. diffusers_workflow-0.11.0/dw/pipeline_processors/h3_guides.py +305 -0
  46. diffusers_workflow-0.11.0/dw/pipeline_processors/h3_hold.py +227 -0
  47. diffusers_workflow-0.11.0/dw/pipeline_processors/h3_hold_steps.py +397 -0
  48. diffusers_workflow-0.11.0/dw/pipeline_processors/h3_rules.py +223 -0
  49. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/pipeline_processors/pipeline.py +174 -1
  50. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/pipeline_processors/remote.py +22 -2
  51. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/plan.py +77 -8
  52. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/previous_results.py +43 -18
  53. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/reference_limits.py +5 -17
  54. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/reference_names.py +4 -15
  55. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/references.py +46 -2
  56. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/result.py +58 -3
  57. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/scalar_result_validation.py +5 -19
  58. diffusers_workflow-0.11.0/dw/script_lines.py +148 -0
  59. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/security.py +2 -0
  60. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/serve.py +41 -0
  61. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/admission.py +130 -53
  62. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/api_models.py +85 -12
  63. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/app.py +5 -1
  64. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/assess.py +24 -6
  65. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/catalog_shape.py +20 -6
  66. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/deps.py +88 -18
  67. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/enhancers.py +6 -0
  68. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/job_history.py +61 -7
  69. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/job_record.py +31 -0
  70. diffusers_workflow-0.11.0/dw/server/job_results.py +188 -0
  71. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/jobs.py +394 -378
  72. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/observed_cost.py +84 -22
  73. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/outputs.py +7 -3
  74. diffusers_workflow-0.11.0/dw/server/pool.py +230 -0
  75. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/routes/assets.py +53 -12
  76. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/routes/jobs.py +118 -17
  77. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/routes/library.py +3 -2
  78. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/routes/system.py +41 -26
  79. diffusers_workflow-0.9.0/dw/server/ui/assets/codicon-Brq4_Ui5.ttf → diffusers_workflow-0.11.0/dw/server/ui/assets/codicon-DF1abBS2.ttf +0 -0
  80. diffusers_workflow-0.9.0/dw/server/ui/assets/css.worker-B3ciXF_0.js → diffusers_workflow-0.11.0/dw/server/ui/assets/css.worker-C6lDtRpF.js +38 -35
  81. diffusers_workflow-0.9.0/dw/server/ui/assets/cssMode-C1mrKegs.js → diffusers_workflow-0.11.0/dw/server/ui/assets/cssMode-ukxfz-ce.js +1 -1
  82. diffusers_workflow-0.11.0/dw/server/ui/assets/editor-DjpsE8to.css +1 -0
  83. diffusers_workflow-0.11.0/dw/server/ui/assets/editor.api-Bkt_tsj1.js +908 -0
  84. diffusers_workflow-0.11.0/dw/server/ui/assets/editor.worker-BmdWdrHZ.js +33 -0
  85. diffusers_workflow-0.9.0/dw/server/ui/assets/freemarker2-Dth1K2Vy.js → diffusers_workflow-0.11.0/dw/server/ui/assets/freemarker2-DbXygLvH.js +1 -1
  86. diffusers_workflow-0.9.0/dw/server/ui/assets/handlebars-8Sswqnxq.js → diffusers_workflow-0.11.0/dw/server/ui/assets/handlebars-BdhZGoSz.js +1 -1
  87. diffusers_workflow-0.9.0/dw/server/ui/assets/html-BYtYo7f1.js → diffusers_workflow-0.11.0/dw/server/ui/assets/html-Chhg10Tp.js +1 -1
  88. diffusers_workflow-0.9.0/dw/server/ui/assets/html.worker-C93Ht9o9.js → diffusers_workflow-0.11.0/dw/server/ui/assets/html.worker-C5yZDBHz.js +29 -26
  89. diffusers_workflow-0.9.0/dw/server/ui/assets/htmlMode-B_AiWoXc.js → diffusers_workflow-0.11.0/dw/server/ui/assets/htmlMode-cC3JW4lx.js +1 -1
  90. diffusers_workflow-0.11.0/dw/server/ui/assets/index-BYEwBCrU.css +1 -0
  91. diffusers_workflow-0.11.0/dw/server/ui/assets/index-CkD0GJG0.js +46 -0
  92. diffusers_workflow-0.9.0/dw/server/ui/assets/javascript-E4m083D3.js → diffusers_workflow-0.11.0/dw/server/ui/assets/javascript-BWWLMkof.js +1 -1
  93. diffusers_workflow-0.11.0/dw/server/ui/assets/json.worker-DdeUAmHa.js +65 -0
  94. diffusers_workflow-0.9.0/dw/server/ui/assets/jsonMode--h7ZikWy.js → diffusers_workflow-0.11.0/dw/server/ui/assets/jsonMode-DrC8C29V.js +2 -2
  95. diffusers_workflow-0.9.0/dw/server/ui/assets/liquid-BzbKdLRW.js → diffusers_workflow-0.11.0/dw/server/ui/assets/liquid-CXdQfmUT.js +1 -1
  96. diffusers_workflow-0.9.0/dw/server/ui/assets/lspLanguageFeatures-CRa0bRFV.js → diffusers_workflow-0.11.0/dw/server/ui/assets/lspLanguageFeatures-BgAhb71w.js +2 -2
  97. diffusers_workflow-0.9.0/dw/server/ui/assets/mdx-BJ4u6XQs.js → diffusers_workflow-0.11.0/dw/server/ui/assets/mdx-CQS0lFaZ.js +1 -1
  98. diffusers_workflow-0.11.0/dw/server/ui/assets/monaco-Z_sI-RLU.js +58 -0
  99. diffusers_workflow-0.11.0/dw/server/ui/assets/monaco-n7clI0si.css +1 -0
  100. diffusers_workflow-0.9.0/dw/server/ui/assets/python-CoX_gCAL.js → diffusers_workflow-0.11.0/dw/server/ui/assets/python-C9MtI630.js +1 -1
  101. diffusers_workflow-0.9.0/dw/server/ui/assets/razor-BCTdG5SN.js → diffusers_workflow-0.11.0/dw/server/ui/assets/razor-DPO5mHyR.js +1 -1
  102. diffusers_workflow-0.9.0/dw/server/ui/assets/ts.worker-D7T1-Ig5.js → diffusers_workflow-0.11.0/dw/server/ui/assets/ts.worker-DGGa2mF8.js +217 -214
  103. diffusers_workflow-0.9.0/dw/server/ui/assets/tsMode-B6BV7a76.js → diffusers_workflow-0.11.0/dw/server/ui/assets/tsMode-D8vGBTVc.js +5 -5
  104. diffusers_workflow-0.9.0/dw/server/ui/assets/typescript-DJe7-fvZ.js → diffusers_workflow-0.11.0/dw/server/ui/assets/typescript-DyoEkQLT.js +1 -1
  105. diffusers_workflow-0.9.0/dw/server/ui/assets/workers-DCzLJTPE.js → diffusers_workflow-0.11.0/dw/server/ui/assets/workers-Bdewp_DS.js +1 -1
  106. diffusers_workflow-0.9.0/dw/server/ui/assets/xml-CNvWfUrB.js → diffusers_workflow-0.11.0/dw/server/ui/assets/xml-DmmKOVWo.js +1 -1
  107. diffusers_workflow-0.9.0/dw/server/ui/assets/yaml-ByARP6WE.js → diffusers_workflow-0.11.0/dw/server/ui/assets/yaml-C4jCTuer.js +1 -1
  108. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/index.html +2 -2
  109. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/updater.py +42 -19
  110. diffusers_workflow-0.11.0/dw/server/worker_memory.py +239 -0
  111. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/settings.py +8 -2
  112. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/shot_span_preflight.py +6 -18
  113. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/shots.py +84 -15
  114. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/slice_preflight.py +10 -20
  115. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/step.py +52 -24
  116. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/step_cache.py +36 -5
  117. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/step_value_checks.py +121 -86
  118. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/subfolders.py +4 -18
  119. diffusers_workflow-0.11.0/dw/task_domains.py +857 -0
  120. diffusers_workflow-0.11.0/dw/task_problems.py +631 -0
  121. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/assess.py +33 -8
  122. diffusers_workflow-0.11.0/dw/tasks/audio_handlers.py +291 -0
  123. diffusers_workflow-0.11.0/dw/tasks/audio_transcription.py +294 -0
  124. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/audio_utils.py +39 -33
  125. diffusers_workflow-0.11.0/dw/tasks/beats.py +318 -0
  126. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/concat_videos.py +45 -9
  127. diffusers_workflow-0.11.0/dw/tasks/cuts.py +1080 -0
  128. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/dissolve_videos.py +1 -1
  129. diffusers_workflow-0.11.0/dw/tasks/face_track.py +696 -0
  130. diffusers_workflow-0.11.0/dw/tasks/finish.py +144 -0
  131. diffusers_workflow-0.11.0/dw/tasks/finish_handlers.py +207 -0
  132. diffusers_workflow-0.11.0/dw/tasks/fit.py +310 -0
  133. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/gather.py +2 -1
  134. diffusers_workflow-0.11.0/dw/tasks/grade.py +202 -0
  135. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/h3_latent_upscale.py +20 -4
  136. diffusers_workflow-0.11.0/dw/tasks/image_ops.py +67 -0
  137. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/image_to_text.py +2 -2
  138. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/image_utils.py +236 -1
  139. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/joins.py +52 -14
  140. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/judge.py +2 -2
  141. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/loop_bed.py +14 -7
  142. diffusers_workflow-0.11.0/dw/tasks/lut.py +328 -0
  143. diffusers_workflow-0.11.0/dw/tasks/measure_sync.py +198 -0
  144. diffusers_workflow-0.11.0/dw/tasks/model_handlers.py +319 -0
  145. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/pair_audio.py +16 -1
  146. diffusers_workflow-0.11.0/dw/tasks/registry.py +205 -0
  147. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/restore_faces.py +2 -2
  148. diffusers_workflow-0.11.0/dw/tasks/script_check.py +732 -0
  149. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/select.py +7 -8
  150. diffusers_workflow-0.11.0/dw/tasks/task.py +367 -0
  151. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/text_generation.py +2 -2
  152. diffusers_workflow-0.11.0/dw/tasks/trim.py +133 -0
  153. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/upscale.py +2 -2
  154. diffusers_workflow-0.11.0/dw/tasks/video_handlers.py +383 -0
  155. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/video_utils.py +45 -39
  156. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/voice_attribution.py +181 -88
  157. diffusers_workflow-0.11.0/dw/tasks/windows.py +506 -0
  158. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/type_helpers.py +14 -6
  159. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/type_references.py +7 -32
  160. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/validation.py +81 -12
  161. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/variable_constraints.py +27 -3
  162. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/video_extensions.py +61 -16
  163. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/video_size_errors.py +6 -18
  164. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/vram_estimate.py +175 -21
  165. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/vram_inheritance.py +51 -1
  166. diffusers_workflow-0.11.0/dw/window_count_errors.py +109 -0
  167. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/worker.py +10 -6
  168. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/worker_manager.py +100 -3
  169. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/worker_protocol.py +10 -0
  170. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/workflow.py +11 -0
  171. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/workflow_run.py +20 -12
  172. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/workflow_schema.json +33 -11
  173. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/writers.py +14 -0
  174. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw_mcp/assets.py +31 -2
  175. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw_mcp/catalog.py +28 -15
  176. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw_mcp/diagnose.py +18 -4
  177. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw_mcp/media.py +39 -31
  178. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw_mcp/prompts.py +5 -2
  179. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw_mcp/server.py +9 -9
  180. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw_mcp/tools_authoring.py +8 -8
  181. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw_mcp/tools_catalog.py +33 -39
  182. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw_mcp/tools_jobs.py +19 -20
  183. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw_mcp/tools_media.py +25 -15
  184. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/pyproject.toml +3 -1
  185. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_admission.py +71 -0
  186. diffusers_workflow-0.11.0/tests/test_admission_capacity.py +56 -0
  187. diffusers_workflow-0.11.0/tests/test_analyze_beats.py +478 -0
  188. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_api_contract.py +9 -1
  189. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_arguments.py +51 -3
  190. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_assemble_and_score_target_lufs.py +18 -0
  191. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_assess.py +92 -0
  192. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_catalog_shape.py +17 -0
  193. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_catalog_structure.py +188 -16
  194. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_chain.py +446 -0
  195. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_concat_videos.py +24 -0
  196. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_dsp.py +11 -0
  197. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_elision.py +83 -3
  198. diffusers_workflow-0.11.0/tests/test_face_track.py +810 -0
  199. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_find_loop_bed.py +14 -0
  200. diffusers_workflow-0.11.0/tests/test_finish.py +461 -0
  201. diffusers_workflow-0.11.0/tests/test_fit_templates.py +137 -0
  202. diffusers_workflow-0.11.0/tests/test_fit_to_model.py +485 -0
  203. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_for_each.py +243 -5
  204. diffusers_workflow-0.11.0/tests/test_grade.py +514 -0
  205. diffusers_workflow-0.11.0/tests/test_guide_chain_validation.py +234 -0
  206. diffusers_workflow-0.11.0/tests/test_guides_validation.py +211 -0
  207. diffusers_workflow-0.11.0/tests/test_h3_guides.py +1052 -0
  208. diffusers_workflow-0.11.0/tests/test_h3_hold_audio.py +869 -0
  209. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_h3_latent_upscale.py +35 -0
  210. diffusers_workflow-0.11.0/tests/test_h3_refine.py +596 -0
  211. diffusers_workflow-0.11.0/tests/test_h3_rules.py +57 -0
  212. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_h3_schedule.py +56 -0
  213. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_host_memory.py +19 -1
  214. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_hub_cache.py +3 -0
  215. diffusers_workflow-0.11.0/tests/test_image_ops.py +124 -0
  216. diffusers_workflow-0.11.0/tests/test_inductor_cache_default.py +58 -0
  217. diffusers_workflow-0.11.0/tests/test_ingredients_grid.py +173 -0
  218. diffusers_workflow-0.11.0/tests/test_inherited_cost.py +195 -0
  219. diffusers_workflow-0.11.0/tests/test_job_history_device.py +172 -0
  220. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_job_progress.py +37 -0
  221. diffusers_workflow-0.11.0/tests/test_join_windows.py +678 -0
  222. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_locations.py +373 -7
  223. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_ltx2_ic_loras.py +35 -5
  224. diffusers_workflow-0.11.0/tests/test_ltx2_refine_pipeline.py +273 -0
  225. diffusers_workflow-0.11.0/tests/test_lut.py +480 -0
  226. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_mcp_assets.py +24 -0
  227. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_mcp_catalog.py +27 -0
  228. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_mcp_prompts.py +23 -0
  229. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_mcp_server.py +12 -2
  230. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_mcp_twins.py +1 -0
  231. diffusers_workflow-0.11.0/tests/test_measure_sync.py +120 -0
  232. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_media_frames.py +10 -0
  233. diffusers_workflow-0.11.0/tests/test_numeric_coercion.py +306 -0
  234. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_observed_cost.py +197 -2
  235. diffusers_workflow-0.11.0/tests/test_outbound.py +556 -0
  236. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_pair_audio.py +1 -1
  237. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_pair_audio_fit.py +36 -6
  238. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_path_redaction.py +24 -1
  239. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_phase_events.py +17 -0
  240. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_pipeline_components.py +55 -4
  241. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_plan.py +75 -0
  242. diffusers_workflow-0.11.0/tests/test_plan_cuts.py +722 -0
  243. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_plugin_skills.py +201 -4
  244. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_prompt_library.py +1 -0
  245. diffusers_workflow-0.11.0/tests/test_read_frame_range.py +87 -0
  246. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_references.py +33 -0
  247. diffusers_workflow-0.11.0/tests/test_restore_faces_video.py +38 -0
  248. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_result.py +147 -8
  249. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_result_fps.py +17 -0
  250. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_runs.py +39 -0
  251. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_schema.py +16 -0
  252. diffusers_workflow-0.11.0/tests/test_script_check.py +990 -0
  253. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_security_input_caps.py +42 -0
  254. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_security_ssrf.py +27 -11
  255. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_select.py +22 -0
  256. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_select_validation.py +115 -0
  257. diffusers_workflow-0.11.0/tests/test_separate_stems.py +105 -0
  258. diffusers_workflow-0.11.0/tests/test_serve_main.py +240 -0
  259. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_server.py +162 -8
  260. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_server_assess.py +22 -0
  261. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_server_guides.py +1 -1
  262. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_server_jobs.py +1 -1
  263. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_server_library_path.py +17 -0
  264. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_server_workspaces.py +17 -0
  265. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_shots.py +91 -4
  266. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_slice_preflight.py +17 -0
  267. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_speech_generation.py +1 -1
  268. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_step_cache.py +142 -13
  269. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_sub_workflow_resolver.py +5 -1
  270. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_task_discovery.py +23 -0
  271. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_task_domains.py +204 -0
  272. diffusers_workflow-0.11.0/tests/test_task_public_imports.py +39 -0
  273. diffusers_workflow-0.11.0/tests/test_task_registry_rules.py +139 -0
  274. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_text_generation.py +2 -2
  275. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_transcribe_audio.py +217 -2
  276. diffusers_workflow-0.11.0/tests/test_trim_video.py +181 -0
  277. diffusers_workflow-0.11.0/tests/test_type_helpers_concurrency.py +23 -0
  278. diffusers_workflow-0.11.0/tests/test_updater.py +167 -0
  279. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_validation.py +6 -1
  280. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_variable_constraints.py +87 -5
  281. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_video_extensions.py +79 -0
  282. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_voice_attribution.py +198 -3
  283. diffusers_workflow-0.11.0/tests/test_vram_guides.py +272 -0
  284. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_vram_inheritance.py +7 -1
  285. diffusers_workflow-0.11.0/tests/test_window_count_errors.py +254 -0
  286. diffusers_workflow-0.11.0/tests/test_window_video.py +428 -0
  287. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_worker_execute.py +41 -0
  288. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_worker_manager.py +99 -0
  289. diffusers_workflow-0.11.0/tests/test_worker_pool.py +1056 -0
  290. diffusers_workflow-0.9.0/dw/server/ui/assets/editor-jjEx9u7D.css +0 -1
  291. diffusers_workflow-0.9.0/dw/server/ui/assets/editor.api-EZbUgQvM.js +0 -847
  292. diffusers_workflow-0.9.0/dw/server/ui/assets/editor.worker-q-txB4vs.js +0 -30
  293. diffusers_workflow-0.9.0/dw/server/ui/assets/index-B6Ujrvuj.js +0 -45
  294. diffusers_workflow-0.9.0/dw/server/ui/assets/index-BChhQc7I.css +0 -1
  295. diffusers_workflow-0.9.0/dw/server/ui/assets/json.worker-B2V3pomh.js +0 -62
  296. diffusers_workflow-0.9.0/dw/server/ui/assets/monaco--ixms01u.css +0 -1
  297. diffusers_workflow-0.9.0/dw/server/ui/assets/monaco-DwaeaVri.js +0 -56
  298. diffusers_workflow-0.9.0/dw/task_domains.py +0 -484
  299. diffusers_workflow-0.9.0/dw/tasks/audio_transcription.py +0 -136
  300. diffusers_workflow-0.9.0/dw/tasks/grade.py +0 -97
  301. diffusers_workflow-0.9.0/dw/tasks/task.py +0 -1021
  302. diffusers_workflow-0.9.0/tests/test_grade.py +0 -265
  303. diffusers_workflow-0.9.0/tests/test_serve_main.py +0 -96
  304. diffusers_workflow-0.9.0/tests/test_updater.py +0 -135
  305. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/LICENSE +0 -0
  306. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/MANIFEST.in +0 -0
  307. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/README.md +0 -0
  308. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/diffusers_workflow.egg-info/dependency_links.txt +0 -0
  309. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/diffusers_workflow.egg-info/entry_points.txt +0 -0
  310. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/diffusers_workflow.egg-info/requires.txt +0 -0
  311. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/diffusers_workflow.egg-info/top_level.txt +0 -0
  312. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/argument_warnings.py +0 -0
  313. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/assets.py +0 -0
  314. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/cache_blocks.json +0 -0
  315. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/cache_blocks.py +0 -0
  316. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/community_pipelines/pipeline_flux_rf_inversion.py +0 -0
  317. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/docs/AGENT_LOOP.md +0 -0
  318. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/docs/IP_ADAPTER.md +0 -0
  319. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/docs/LORAS.md +0 -0
  320. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/docs/PROMPT_WEIGHTING.md +0 -0
  321. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/docs/QUANTIZATION.md +0 -0
  322. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/docs/REMOTE.md +0 -0
  323. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/docs/SECURITY_QUICKREF.md +0 -0
  324. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/docs/TESTING.md +0 -0
  325. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/docs/WORKER_GUIDE.md +0 -0
  326. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/download_watch.py +0 -0
  327. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/host_memory_projection.py +0 -0
  328. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/library.py +0 -0
  329. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/log_setup.py +0 -0
  330. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/lora_catalog.py +0 -0
  331. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/lora_catalog_schema.json +0 -0
  332. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/lora_hub.py +0 -0
  333. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/media_frames.py +0 -0
  334. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/pipeline_processors/adapters.py +0 -0
  335. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/pipeline_processors/config_objects.py +0 -0
  336. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/pipeline_processors/placement.py +0 -0
  337. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/pipeline_processors/progress.py +0 -0
  338. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/probe_paths.py +0 -0
  339. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/prompt_schema.json +0 -0
  340. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/prompt_weighting.py +0 -0
  341. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/prompts.py +0 -0
  342. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/realize.py +0 -0
  343. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/run.py +0 -0
  344. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/runs.py +0 -0
  345. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/schema.py +0 -0
  346. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/__init__.py +0 -0
  347. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/catalog.py +0 -0
  348. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/exports.py +0 -0
  349. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/guides.py +0 -0
  350. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/http_security.py +0 -0
  351. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/inline_media.py +0 -0
  352. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/mcp_mount.py +0 -0
  353. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/netinfo.py +0 -0
  354. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/routes/__init__.py +0 -0
  355. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/routes/files.py +0 -0
  356. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/routes/gallery.py +0 -0
  357. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/routes/loras.py +0 -0
  358. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/routes/media.py +0 -0
  359. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/sysinfo.py +0 -0
  360. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/abap-08VXUWAP.js +0 -0
  361. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/apex-BWPQTe0t.js +0 -0
  362. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/azcli-Bc_sGQ0U.js +0 -0
  363. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/bat-i0X4ZdIN.js +0 -0
  364. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/bicep-B5-_aFwp.js +0 -0
  365. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/cameligo-DMUM7wLl.js +0 -0
  366. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/clojure-Cm7r79vr.js +0 -0
  367. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/coffee-Ba7i2nA0.js +0 -0
  368. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/cpp-C7h46wYY.js +0 -0
  369. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/csharp-BKxtCVv1.js +0 -0
  370. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/csp-bTuwJoIa.js +0 -0
  371. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/css-DIMkf-bt.js +0 -0
  372. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/cypher-CVaqCwHa.js +0 -0
  373. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/dart-onAF5SnQ.js +0 -0
  374. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/dockerfile-DZFCIeNp.js +0 -0
  375. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/ecl-D05T4iGw.js +0 -0
  376. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/elixir-6RTg0lbw.js +0 -0
  377. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/flow9-C5_-GSwl.js +0 -0
  378. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/fsharp-C8Ef5oNN.js +0 -0
  379. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/go-C-y9NEjX.js +0 -0
  380. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/graphql-fmXr3nnJ.js +0 -0
  381. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/hcl-CpzslTdj.js +0 -0
  382. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/ini-sBoK_t0W.js +0 -0
  383. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/java-BEtHBSE6.js +0 -0
  384. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/julia-Bri6UV-V.js +0 -0
  385. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/kotlin-BOotOW0E.js +0 -0
  386. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/less-B9JPFI3C.js +0 -0
  387. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/lexon-CfSJPG6W.js +0 -0
  388. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/lua-CsQS60Ue.js +0 -0
  389. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/m3-D-oSqn_W.js +0 -0
  390. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/markdown-Cimd5fb3.js +0 -0
  391. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/mips-CIPQ_RoX.js +0 -0
  392. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/msdax-DauUninz.js +0 -0
  393. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/mysql-SOo6toE5.js +0 -0
  394. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/objective-c-FvmIjYaQ.js +0 -0
  395. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/pascal-DrH0SRf2.js +0 -0
  396. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/pascaligo-D-ptJ9y-.js +0 -0
  397. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/perl-oz_6vUea.js +0 -0
  398. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/pgsql-DTj74zXo.js +0 -0
  399. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/php-nr791fC2.js +0 -0
  400. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/pla-CopQ2nXW.js +0 -0
  401. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/postiats-43DmfD33.js +0 -0
  402. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/powerquery-D3hlyOfw.js +0 -0
  403. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/powershell-DmHpPYUd.js +0 -0
  404. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/protobuf-C531GsRP.js +0 -0
  405. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/pug-Z5eAx3Zn.js +0 -0
  406. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/qsharp-DkqhCAOL.js +0 -0
  407. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/r-BwWrilGY.js +0 -0
  408. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/redis-ClamHrr6.js +0 -0
  409. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/redshift-DT7zqm-g.js +0 -0
  410. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/restructuredtext-BYgofb2h.js +0 -0
  411. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/ruby-DezsRK8O.js +0 -0
  412. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/rust-DdL9SqIa.js +0 -0
  413. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/sb-CcwsVR0C.js +0 -0
  414. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/scala-DHpiXF5c.js +0 -0
  415. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/scheme-BeGwcela.js +0 -0
  416. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/scss-gp-XZpBa.js +0 -0
  417. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/shell-CC2rA5mh.js +0 -0
  418. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/solidity-BEEn4gHE.js +0 -0
  419. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/sophia-CRfGWb83.js +0 -0
  420. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/sparql-D_Lu-MrJ.js +0 -0
  421. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/sql-NEE52Syq.js +0 -0
  422. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/st-DbInun42.js +0 -0
  423. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/swift-Bxkupp3x.js +0 -0
  424. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/systemverilog-Bz4Y3fRF.js +0 -0
  425. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/tcl-DISqw1ZD.js +0 -0
  426. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/twig-De2hgUGE.js +0 -0
  427. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/typespec-B8J7ngcE.js +0 -0
  428. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/vb-DV3o63ZY.js +0 -0
  429. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/server/ui/assets/wgsl-DpFanUEy.js +0 -0
  430. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/audio_dynamics.py +0 -0
  431. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/background_remover.py +0 -0
  432. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/borders.py +0 -0
  433. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/compose_text.py +0 -0
  434. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/depth_estimator.py +0 -0
  435. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/diffusion_upscale.py +0 -0
  436. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/format_messages.py +0 -0
  437. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/h3_latent_upscaler_model.py +0 -0
  438. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/interpolate_frames.py +0 -0
  439. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/join_into_song.py +0 -0
  440. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/model_cache.py +0 -0
  441. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/qr_code.py +0 -0
  442. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/rife_model.py +0 -0
  443. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/segment.py +0 -0
  444. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/speech_generation.py +0 -0
  445. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/stabilize.py +0 -0
  446. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/tensor_image.py +0 -0
  447. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/text_sections.py +0 -0
  448. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/tasks/zoe_depth.py +0 -0
  449. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/test.py +0 -0
  450. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/trust.py +0 -0
  451. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/validate.py +0 -0
  452. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/variables.py +0 -0
  453. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/workflows/h3_context_ir.json +0 -0
  454. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/workflows/test.json +0 -0
  455. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw/workspace.py +0 -0
  456. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw_mcp/__init__.py +0 -0
  457. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw_mcp/__main__.py +0 -0
  458. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw_mcp/authoring.py +0 -0
  459. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw_mcp/client.py +0 -0
  460. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw_mcp/confine.py +0 -0
  461. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw_mcp/exports.py +0 -0
  462. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw_mcp/guides.py +0 -0
  463. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw_mcp/loras.py +0 -0
  464. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw_mcp/models.py +0 -0
  465. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/dw_mcp/workspaces.py +0 -0
  466. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/setup.cfg +0 -0
  467. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_arch_metrics.py +0 -0
  468. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_arch_report.py +0 -0
  469. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_architecture_map.py +0 -0
  470. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_argument_updates.py +0 -0
  471. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_assessment_rules.py +0 -0
  472. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_assets.py +0 -0
  473. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_attention_slicing.py +0 -0
  474. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_audio_utils.py +0 -0
  475. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_best_of_n_template.py +0 -0
  476. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_borders.py +0 -0
  477. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_cache_blocks.py +0 -0
  478. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_ci_config.py +0 -0
  479. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_cli.py +0 -0
  480. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_component_name_errors.py +0 -0
  481. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_component_pruning.py +0 -0
  482. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_component_type_errors.py +0 -0
  483. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_compose_text.py +0 -0
  484. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_config_objects.py +0 -0
  485. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_configuration_schema.py +0 -0
  486. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_content_types.py +0 -0
  487. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_depth_estimator.py +0 -0
  488. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_device.py +0 -0
  489. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_device_helpers.py +0 -0
  490. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_device_portability.py +0 -0
  491. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_dialogue_short_voices.py +0 -0
  492. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_diffusion_upscale.py +0 -0
  493. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_dissolve_frame_errors.py +0 -0
  494. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_dissolve_videos.py +0 -0
  495. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_docs_links.py +0 -0
  496. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_download_watch.py +0 -0
  497. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_events.py +0 -0
  498. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_examples.py +0 -0
  499. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_gather.py +0 -0
  500. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_h3_adapters.py +0 -0
  501. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_h3_context_ir.py +0 -0
  502. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_h3_upscaler_source.py +0 -0
  503. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_h3_vram_ceiling.py +0 -0
  504. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_hf_placement.py +0 -0
  505. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_host_memory_projection.py +0 -0
  506. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_image_to_text.py +0 -0
  507. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_image_utils.py +0 -0
  508. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_integration.py +0 -0
  509. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_interpolate_frames.py +0 -0
  510. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_introspection.py +0 -0
  511. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_job_history_wal.py +0 -0
  512. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_job_warnings.py +0 -0
  513. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_jobs_listing.py +0 -0
  514. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_jobs_reused.py +0 -0
  515. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_join_into_song.py +0 -0
  516. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_judge.py +0 -0
  517. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_kernel_availability.py +0 -0
  518. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_library_path.py +0 -0
  519. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_library_sources.py +0 -0
  520. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_list_images.py +0 -0
  521. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_lora_alpha.py +0 -0
  522. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_lora_catalog.py +0 -0
  523. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_lora_disable.py +0 -0
  524. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_lora_hub.py +0 -0
  525. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_lora_library.py +0 -0
  526. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_ltx2_diffusion_decode.py +0 -0
  527. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_ltx2_extend_clip.py +0 -0
  528. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_ltx_prompt_library.py +0 -0
  529. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_mcp_authoring.py +0 -0
  530. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_mcp_client.py +0 -0
  531. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_mcp_confine.py +0 -0
  532. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_mcp_diagnose.py +0 -0
  533. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_mcp_exports.py +0 -0
  534. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_mcp_guides.py +0 -0
  535. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_mcp_loras.py +0 -0
  536. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_mcp_main.py +0 -0
  537. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_mcp_media.py +0 -0
  538. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_mcp_models.py +0 -0
  539. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_mcp_workspaces.py +0 -0
  540. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_media_audio.py +0 -0
  541. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_media_info.py +0 -0
  542. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_media_layering.py +0 -0
  543. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_mix_audio.py +0 -0
  544. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_model_cache.py +0 -0
  545. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_modular_output_properties.py +0 -0
  546. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_modular_pipeline.py +0 -0
  547. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_modular_progress.py +0 -0
  548. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_mps_fallback_warning.py +0 -0
  549. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_mps_rope_precision.py +0 -0
  550. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_null_media.py +0 -0
  551. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_offload_placement.py +0 -0
  552. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_output_references.py +0 -0
  553. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_parallel_loading_default.py +0 -0
  554. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_pipeline_caching.py +0 -0
  555. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_prepare_pipeline.py +0 -0
  556. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_previous_result_walker_parity.py +0 -0
  557. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_previous_results.py +0 -0
  558. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_prompt_parser.py +0 -0
  559. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_prompt_references.py +0 -0
  560. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_prompt_weighting.py +0 -0
  561. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_prompts.py +0 -0
  562. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_real_models.py +0 -0
  563. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_realize.py +0 -0
  564. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_recenter_crop.py +0 -0
  565. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_reference_limits.py +0 -0
  566. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_reference_names.py +0 -0
  567. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_reference_skip_sets.py +0 -0
  568. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_rerun_new_seed.py +0 -0
  569. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_resize_bucket.py +0 -0
  570. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_result_output_naming.py +0 -0
  571. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_rule_parity.py +0 -0
  572. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_scalar_result_validation.py +0 -0
  573. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_scheduler_config.py +0 -0
  574. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_security.py +0 -0
  575. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_security_auth.py +0 -0
  576. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_security_decoder_bombs.py +0 -0
  577. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_security_symlinks.py +0 -0
  578. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_security_trust_gate.py +0 -0
  579. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_security_web_headers.py +0 -0
  580. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_segment.py +0 -0
  581. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_server_downloads.py +0 -0
  582. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_server_exports.py +0 -0
  583. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_server_gallery_image.py +0 -0
  584. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_server_info.py +0 -0
  585. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_server_loras.py +0 -0
  586. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_server_mcp.py +0 -0
  587. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_shaping_logs.py +0 -0
  588. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_shot_span_preflight.py +0 -0
  589. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_stabilize.py +0 -0
  590. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_step.py +0 -0
  591. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_strip_exif_and_watermark.py +0 -0
  592. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_subfolders.py +0 -0
  593. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_task.py +0 -0
  594. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_task_signature_errors.py +0 -0
  595. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_template_defaults.py +0 -0
  596. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_template_subfolders.py +0 -0
  597. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_tensor_image.py +0 -0
  598. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_text_sections.py +0 -0
  599. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_type_helpers.py +0 -0
  600. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_ui_twins.py +0 -0
  601. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_validate_arguments.py +0 -0
  602. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_variables.py +0 -0
  603. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_video_size_errors.py +0 -0
  604. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_video_utils.py +0 -0
  605. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_vram_estimate.py +0 -0
  606. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_worker.py +0 -0
  607. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_worker_job_peak_rss.py +0 -0
  608. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_worker_messages.py +0 -0
  609. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_workflow.py +0 -0
  610. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_workflow_snapshot.py +0 -0
  611. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_workflow_step_cache.py +0 -0
  612. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_workflow_trust.py +0 -0
  613. {diffusers_workflow-0.9.0 → diffusers_workflow-0.11.0}/tests/test_workspace.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: diffusers-workflow
3
- Version: 0.9.0
3
+ Version: 0.11.0
4
4
  Summary: Declarative workflow engine and web UI for Hugging Face Diffusers
5
5
  Author: dkackman
6
6
  License: Apache-2.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: diffusers-workflow
3
- Version: 0.9.0
3
+ Version: 0.11.0
4
4
  Summary: Declarative workflow engine and web UI for Hugging Face Diffusers
5
5
  Author: dkackman
6
6
  License: Apache-2.0
@@ -19,12 +19,15 @@ dw/audio_qc.py
19
19
  dw/cache_blocks.json
20
20
  dw/cache_blocks.py
21
21
  dw/content_types.py
22
+ dw/devices.py
22
23
  dw/dissolve_frame_errors.py
23
24
  dw/download_watch.py
24
25
  dw/dsp.py
25
26
  dw/elision.py
26
27
  dw/events.py
27
28
  dw/for_each.py
29
+ dw/guides.py
30
+ dw/hold_audio.py
28
31
  dw/host_memory.py
29
32
  dw/host_memory_projection.py
30
33
  dw/hub_cache.py
@@ -39,6 +42,7 @@ dw/lora_hub.py
39
42
  dw/media.py
40
43
  dw/media_frames.py
41
44
  dw/media_types.py
45
+ dw/outbound.py
42
46
  dw/output_extraction.py
43
47
  dw/path_redaction.py
44
48
  dw/pipeline_ownership.py
@@ -57,6 +61,7 @@ dw/run.py
57
61
  dw/runs.py
58
62
  dw/scalar_result_validation.py
59
63
  dw/schema.py
64
+ dw/script_lines.py
60
65
  dw/security.py
61
66
  dw/serve.py
62
67
  dw/settings.py
@@ -68,6 +73,7 @@ dw/step_cache.py
68
73
  dw/step_value_checks.py
69
74
  dw/subfolders.py
70
75
  dw/task_domains.py
76
+ dw/task_problems.py
71
77
  dw/test.py
72
78
  dw/trust.py
73
79
  dw/type_helpers.py
@@ -80,6 +86,7 @@ dw/video_extensions.py
80
86
  dw/video_size_errors.py
81
87
  dw/vram_estimate.py
82
88
  dw/vram_inheritance.py
89
+ dw/window_count_errors.py
83
90
  dw/worker.py
84
91
  dw/worker_manager.py
85
92
  dw/worker_protocol.py
@@ -89,6 +96,7 @@ dw/workflow_schema.json
89
96
  dw/workspace.py
90
97
  dw/writers.py
91
98
  dw/community_pipelines/pipeline_flux_rf_inversion.py
99
+ dw/community_pipelines/pipeline_ltx2_refine.py
92
100
  dw/docs/ACCELERATION.md
93
101
  dw/docs/AGENT_LOOP.md
94
102
  dw/docs/ARCHITECTURE.md
@@ -113,6 +121,11 @@ dw/pipeline_processors/adapters.py
113
121
  dw/pipeline_processors/chain.py
114
122
  dw/pipeline_processors/components.py
115
123
  dw/pipeline_processors/config_objects.py
124
+ dw/pipeline_processors/h3_guide_steps.py
125
+ dw/pipeline_processors/h3_guides.py
126
+ dw/pipeline_processors/h3_hold.py
127
+ dw/pipeline_processors/h3_hold_steps.py
128
+ dw/pipeline_processors/h3_rules.py
116
129
  dw/pipeline_processors/pipeline.py
117
130
  dw/pipeline_processors/placement.py
118
131
  dw/pipeline_processors/progress.py
@@ -132,13 +145,16 @@ dw/server/http_security.py
132
145
  dw/server/inline_media.py
133
146
  dw/server/job_history.py
134
147
  dw/server/job_record.py
148
+ dw/server/job_results.py
135
149
  dw/server/jobs.py
136
150
  dw/server/mcp_mount.py
137
151
  dw/server/netinfo.py
138
152
  dw/server/observed_cost.py
139
153
  dw/server/outputs.py
154
+ dw/server/pool.py
140
155
  dw/server/sysinfo.py
141
156
  dw/server/updater.py
157
+ dw/server/worker_memory.py
142
158
  dw/server/routes/__init__.py
143
159
  dw/server/routes/assets.py
144
160
  dw/server/routes/files.py
@@ -156,52 +172,52 @@ dw/server/ui/assets/bat-i0X4ZdIN.js
156
172
  dw/server/ui/assets/bicep-B5-_aFwp.js
157
173
  dw/server/ui/assets/cameligo-DMUM7wLl.js
158
174
  dw/server/ui/assets/clojure-Cm7r79vr.js
159
- dw/server/ui/assets/codicon-Brq4_Ui5.ttf
175
+ dw/server/ui/assets/codicon-DF1abBS2.ttf
160
176
  dw/server/ui/assets/coffee-Ba7i2nA0.js
161
177
  dw/server/ui/assets/cpp-C7h46wYY.js
162
178
  dw/server/ui/assets/csharp-BKxtCVv1.js
163
179
  dw/server/ui/assets/csp-bTuwJoIa.js
164
180
  dw/server/ui/assets/css-DIMkf-bt.js
165
- dw/server/ui/assets/css.worker-B3ciXF_0.js
166
- dw/server/ui/assets/cssMode-C1mrKegs.js
181
+ dw/server/ui/assets/css.worker-C6lDtRpF.js
182
+ dw/server/ui/assets/cssMode-ukxfz-ce.js
167
183
  dw/server/ui/assets/cypher-CVaqCwHa.js
168
184
  dw/server/ui/assets/dart-onAF5SnQ.js
169
185
  dw/server/ui/assets/dockerfile-DZFCIeNp.js
170
186
  dw/server/ui/assets/ecl-D05T4iGw.js
171
- dw/server/ui/assets/editor-jjEx9u7D.css
172
- dw/server/ui/assets/editor.api-EZbUgQvM.js
173
- dw/server/ui/assets/editor.worker-q-txB4vs.js
187
+ dw/server/ui/assets/editor-DjpsE8to.css
188
+ dw/server/ui/assets/editor.api-Bkt_tsj1.js
189
+ dw/server/ui/assets/editor.worker-BmdWdrHZ.js
174
190
  dw/server/ui/assets/elixir-6RTg0lbw.js
175
191
  dw/server/ui/assets/flow9-C5_-GSwl.js
176
- dw/server/ui/assets/freemarker2-Dth1K2Vy.js
192
+ dw/server/ui/assets/freemarker2-DbXygLvH.js
177
193
  dw/server/ui/assets/fsharp-C8Ef5oNN.js
178
194
  dw/server/ui/assets/go-C-y9NEjX.js
179
195
  dw/server/ui/assets/graphql-fmXr3nnJ.js
180
- dw/server/ui/assets/handlebars-8Sswqnxq.js
196
+ dw/server/ui/assets/handlebars-BdhZGoSz.js
181
197
  dw/server/ui/assets/hcl-CpzslTdj.js
182
- dw/server/ui/assets/html-BYtYo7f1.js
183
- dw/server/ui/assets/html.worker-C93Ht9o9.js
184
- dw/server/ui/assets/htmlMode-B_AiWoXc.js
185
- dw/server/ui/assets/index-B6Ujrvuj.js
186
- dw/server/ui/assets/index-BChhQc7I.css
198
+ dw/server/ui/assets/html-Chhg10Tp.js
199
+ dw/server/ui/assets/html.worker-C5yZDBHz.js
200
+ dw/server/ui/assets/htmlMode-cC3JW4lx.js
201
+ dw/server/ui/assets/index-BYEwBCrU.css
202
+ dw/server/ui/assets/index-CkD0GJG0.js
187
203
  dw/server/ui/assets/ini-sBoK_t0W.js
188
204
  dw/server/ui/assets/java-BEtHBSE6.js
189
- dw/server/ui/assets/javascript-E4m083D3.js
190
- dw/server/ui/assets/json.worker-B2V3pomh.js
191
- dw/server/ui/assets/jsonMode--h7ZikWy.js
205
+ dw/server/ui/assets/javascript-BWWLMkof.js
206
+ dw/server/ui/assets/json.worker-DdeUAmHa.js
207
+ dw/server/ui/assets/jsonMode-DrC8C29V.js
192
208
  dw/server/ui/assets/julia-Bri6UV-V.js
193
209
  dw/server/ui/assets/kotlin-BOotOW0E.js
194
210
  dw/server/ui/assets/less-B9JPFI3C.js
195
211
  dw/server/ui/assets/lexon-CfSJPG6W.js
196
- dw/server/ui/assets/liquid-BzbKdLRW.js
197
- dw/server/ui/assets/lspLanguageFeatures-CRa0bRFV.js
212
+ dw/server/ui/assets/liquid-CXdQfmUT.js
213
+ dw/server/ui/assets/lspLanguageFeatures-BgAhb71w.js
198
214
  dw/server/ui/assets/lua-CsQS60Ue.js
199
215
  dw/server/ui/assets/m3-D-oSqn_W.js
200
216
  dw/server/ui/assets/markdown-Cimd5fb3.js
201
- dw/server/ui/assets/mdx-BJ4u6XQs.js
217
+ dw/server/ui/assets/mdx-CQS0lFaZ.js
202
218
  dw/server/ui/assets/mips-CIPQ_RoX.js
203
- dw/server/ui/assets/monaco--ixms01u.css
204
- dw/server/ui/assets/monaco-DwaeaVri.js
219
+ dw/server/ui/assets/monaco-Z_sI-RLU.js
220
+ dw/server/ui/assets/monaco-n7clI0si.css
205
221
  dw/server/ui/assets/msdax-DauUninz.js
206
222
  dw/server/ui/assets/mysql-SOo6toE5.js
207
223
  dw/server/ui/assets/objective-c-FvmIjYaQ.js
@@ -216,10 +232,10 @@ dw/server/ui/assets/powerquery-D3hlyOfw.js
216
232
  dw/server/ui/assets/powershell-DmHpPYUd.js
217
233
  dw/server/ui/assets/protobuf-C531GsRP.js
218
234
  dw/server/ui/assets/pug-Z5eAx3Zn.js
219
- dw/server/ui/assets/python-CoX_gCAL.js
235
+ dw/server/ui/assets/python-C9MtI630.js
220
236
  dw/server/ui/assets/qsharp-DkqhCAOL.js
221
237
  dw/server/ui/assets/r-BwWrilGY.js
222
- dw/server/ui/assets/razor-BCTdG5SN.js
238
+ dw/server/ui/assets/razor-DPO5mHyR.js
223
239
  dw/server/ui/assets/redis-ClamHrr6.js
224
240
  dw/server/ui/assets/redshift-DT7zqm-g.js
225
241
  dw/server/ui/assets/restructuredtext-BYgofb2h.js
@@ -238,32 +254,40 @@ dw/server/ui/assets/st-DbInun42.js
238
254
  dw/server/ui/assets/swift-Bxkupp3x.js
239
255
  dw/server/ui/assets/systemverilog-Bz4Y3fRF.js
240
256
  dw/server/ui/assets/tcl-DISqw1ZD.js
241
- dw/server/ui/assets/ts.worker-D7T1-Ig5.js
242
- dw/server/ui/assets/tsMode-B6BV7a76.js
257
+ dw/server/ui/assets/ts.worker-DGGa2mF8.js
258
+ dw/server/ui/assets/tsMode-D8vGBTVc.js
243
259
  dw/server/ui/assets/twig-De2hgUGE.js
244
- dw/server/ui/assets/typescript-DJe7-fvZ.js
260
+ dw/server/ui/assets/typescript-DyoEkQLT.js
245
261
  dw/server/ui/assets/typespec-B8J7ngcE.js
246
262
  dw/server/ui/assets/vb-DV3o63ZY.js
247
263
  dw/server/ui/assets/wgsl-DpFanUEy.js
248
- dw/server/ui/assets/workers-DCzLJTPE.js
249
- dw/server/ui/assets/xml-CNvWfUrB.js
250
- dw/server/ui/assets/yaml-ByARP6WE.js
264
+ dw/server/ui/assets/workers-Bdewp_DS.js
265
+ dw/server/ui/assets/xml-DmmKOVWo.js
266
+ dw/server/ui/assets/yaml-C4jCTuer.js
251
267
  dw/tasks/assess.py
252
268
  dw/tasks/audio_dynamics.py
269
+ dw/tasks/audio_handlers.py
253
270
  dw/tasks/audio_transcription.py
254
271
  dw/tasks/audio_utils.py
255
272
  dw/tasks/background_remover.py
273
+ dw/tasks/beats.py
256
274
  dw/tasks/borders.py
257
275
  dw/tasks/compose_text.py
258
276
  dw/tasks/concat_videos.py
277
+ dw/tasks/cuts.py
259
278
  dw/tasks/depth_estimator.py
260
279
  dw/tasks/diffusion_upscale.py
261
280
  dw/tasks/dissolve_videos.py
281
+ dw/tasks/face_track.py
282
+ dw/tasks/finish.py
283
+ dw/tasks/finish_handlers.py
284
+ dw/tasks/fit.py
262
285
  dw/tasks/format_messages.py
263
286
  dw/tasks/gather.py
264
287
  dw/tasks/grade.py
265
288
  dw/tasks/h3_latent_upscale.py
266
289
  dw/tasks/h3_latent_upscaler_model.py
290
+ dw/tasks/image_ops.py
267
291
  dw/tasks/image_to_text.py
268
292
  dw/tasks/image_utils.py
269
293
  dw/tasks/interpolate_frames.py
@@ -271,11 +295,16 @@ dw/tasks/join_into_song.py
271
295
  dw/tasks/joins.py
272
296
  dw/tasks/judge.py
273
297
  dw/tasks/loop_bed.py
298
+ dw/tasks/lut.py
299
+ dw/tasks/measure_sync.py
274
300
  dw/tasks/model_cache.py
301
+ dw/tasks/model_handlers.py
275
302
  dw/tasks/pair_audio.py
276
303
  dw/tasks/qr_code.py
304
+ dw/tasks/registry.py
277
305
  dw/tasks/restore_faces.py
278
306
  dw/tasks/rife_model.py
307
+ dw/tasks/script_check.py
279
308
  dw/tasks/segment.py
280
309
  dw/tasks/select.py
281
310
  dw/tasks/speech_generation.py
@@ -284,9 +313,12 @@ dw/tasks/task.py
284
313
  dw/tasks/tensor_image.py
285
314
  dw/tasks/text_generation.py
286
315
  dw/tasks/text_sections.py
316
+ dw/tasks/trim.py
287
317
  dw/tasks/upscale.py
318
+ dw/tasks/video_handlers.py
288
319
  dw/tasks/video_utils.py
289
320
  dw/tasks/voice_attribution.py
321
+ dw/tasks/windows.py
290
322
  dw/tasks/zoe_depth.py
291
323
  dw/workflows/h3_context_ir.json
292
324
  dw/workflows/test.json
@@ -311,6 +343,8 @@ dw_mcp/tools_jobs.py
311
343
  dw_mcp/tools_media.py
312
344
  dw_mcp/workspaces.py
313
345
  tests/test_admission.py
346
+ tests/test_admission_capacity.py
347
+ tests/test_analyze_beats.py
314
348
  tests/test_api_contract.py
315
349
  tests/test_arch_metrics.py
316
350
  tests/test_arch_report.py
@@ -353,13 +387,23 @@ tests/test_dsp.py
353
387
  tests/test_elision.py
354
388
  tests/test_events.py
355
389
  tests/test_examples.py
390
+ tests/test_face_track.py
356
391
  tests/test_find_loop_bed.py
392
+ tests/test_finish.py
393
+ tests/test_fit_templates.py
394
+ tests/test_fit_to_model.py
357
395
  tests/test_for_each.py
358
396
  tests/test_gather.py
359
397
  tests/test_grade.py
398
+ tests/test_guide_chain_validation.py
399
+ tests/test_guides_validation.py
360
400
  tests/test_h3_adapters.py
361
401
  tests/test_h3_context_ir.py
402
+ tests/test_h3_guides.py
403
+ tests/test_h3_hold_audio.py
362
404
  tests/test_h3_latent_upscale.py
405
+ tests/test_h3_refine.py
406
+ tests/test_h3_rules.py
363
407
  tests/test_h3_schedule.py
364
408
  tests/test_h3_upscaler_source.py
365
409
  tests/test_h3_vram_ceiling.py
@@ -367,17 +411,23 @@ tests/test_hf_placement.py
367
411
  tests/test_host_memory.py
368
412
  tests/test_host_memory_projection.py
369
413
  tests/test_hub_cache.py
414
+ tests/test_image_ops.py
370
415
  tests/test_image_to_text.py
371
416
  tests/test_image_utils.py
417
+ tests/test_inductor_cache_default.py
418
+ tests/test_ingredients_grid.py
419
+ tests/test_inherited_cost.py
372
420
  tests/test_integration.py
373
421
  tests/test_interpolate_frames.py
374
422
  tests/test_introspection.py
423
+ tests/test_job_history_device.py
375
424
  tests/test_job_history_wal.py
376
425
  tests/test_job_progress.py
377
426
  tests/test_job_warnings.py
378
427
  tests/test_jobs_listing.py
379
428
  tests/test_jobs_reused.py
380
429
  tests/test_join_into_song.py
430
+ tests/test_join_windows.py
381
431
  tests/test_judge.py
382
432
  tests/test_kernel_availability.py
383
433
  tests/test_library_path.py
@@ -392,7 +442,9 @@ tests/test_lora_library.py
392
442
  tests/test_ltx2_diffusion_decode.py
393
443
  tests/test_ltx2_extend_clip.py
394
444
  tests/test_ltx2_ic_loras.py
445
+ tests/test_ltx2_refine_pipeline.py
395
446
  tests/test_ltx_prompt_library.py
447
+ tests/test_lut.py
396
448
  tests/test_mcp_assets.py
397
449
  tests/test_mcp_authoring.py
398
450
  tests/test_mcp_catalog.py
@@ -409,6 +461,7 @@ tests/test_mcp_prompts.py
409
461
  tests/test_mcp_server.py
410
462
  tests/test_mcp_twins.py
411
463
  tests/test_mcp_workspaces.py
464
+ tests/test_measure_sync.py
412
465
  tests/test_media_audio.py
413
466
  tests/test_media_frames.py
414
467
  tests/test_media_info.py
@@ -421,8 +474,10 @@ tests/test_modular_progress.py
421
474
  tests/test_mps_fallback_warning.py
422
475
  tests/test_mps_rope_precision.py
423
476
  tests/test_null_media.py
477
+ tests/test_numeric_coercion.py
424
478
  tests/test_observed_cost.py
425
479
  tests/test_offload_placement.py
480
+ tests/test_outbound.py
426
481
  tests/test_output_references.py
427
482
  tests/test_pair_audio.py
428
483
  tests/test_pair_audio_fit.py
@@ -432,6 +487,7 @@ tests/test_phase_events.py
432
487
  tests/test_pipeline_caching.py
433
488
  tests/test_pipeline_components.py
434
489
  tests/test_plan.py
490
+ tests/test_plan_cuts.py
435
491
  tests/test_plugin_skills.py
436
492
  tests/test_prepare_pipeline.py
437
493
  tests/test_previous_result_walker_parity.py
@@ -441,6 +497,7 @@ tests/test_prompt_parser.py
441
497
  tests/test_prompt_references.py
442
498
  tests/test_prompt_weighting.py
443
499
  tests/test_prompts.py
500
+ tests/test_read_frame_range.py
444
501
  tests/test_real_models.py
445
502
  tests/test_realize.py
446
503
  tests/test_recenter_crop.py
@@ -450,6 +507,7 @@ tests/test_reference_skip_sets.py
450
507
  tests/test_references.py
451
508
  tests/test_rerun_new_seed.py
452
509
  tests/test_resize_bucket.py
510
+ tests/test_restore_faces_video.py
453
511
  tests/test_result.py
454
512
  tests/test_result_fps.py
455
513
  tests/test_result_output_naming.py
@@ -458,6 +516,7 @@ tests/test_runs.py
458
516
  tests/test_scalar_result_validation.py
459
517
  tests/test_scheduler_config.py
460
518
  tests/test_schema.py
519
+ tests/test_script_check.py
461
520
  tests/test_security.py
462
521
  tests/test_security_auth.py
463
522
  tests/test_security_decoder_bombs.py
@@ -469,6 +528,7 @@ tests/test_security_web_headers.py
469
528
  tests/test_segment.py
470
529
  tests/test_select.py
471
530
  tests/test_select_validation.py
531
+ tests/test_separate_stems.py
472
532
  tests/test_serve_main.py
473
533
  tests/test_server.py
474
534
  tests/test_server_assess.py
@@ -496,6 +556,8 @@ tests/test_subfolders.py
496
556
  tests/test_task.py
497
557
  tests/test_task_discovery.py
498
558
  tests/test_task_domains.py
559
+ tests/test_task_public_imports.py
560
+ tests/test_task_registry_rules.py
499
561
  tests/test_task_signature_errors.py
500
562
  tests/test_template_defaults.py
501
563
  tests/test_template_subfolders.py
@@ -503,7 +565,9 @@ tests/test_tensor_image.py
503
565
  tests/test_text_generation.py
504
566
  tests/test_text_sections.py
505
567
  tests/test_transcribe_audio.py
568
+ tests/test_trim_video.py
506
569
  tests/test_type_helpers.py
570
+ tests/test_type_helpers_concurrency.py
507
571
  tests/test_ui_twins.py
508
572
  tests/test_updater.py
509
573
  tests/test_validate_arguments.py
@@ -515,12 +579,16 @@ tests/test_video_size_errors.py
515
579
  tests/test_video_utils.py
516
580
  tests/test_voice_attribution.py
517
581
  tests/test_vram_estimate.py
582
+ tests/test_vram_guides.py
518
583
  tests/test_vram_inheritance.py
584
+ tests/test_window_count_errors.py
585
+ tests/test_window_video.py
519
586
  tests/test_worker.py
520
587
  tests/test_worker_execute.py
521
588
  tests/test_worker_job_peak_rss.py
522
589
  tests/test_worker_manager.py
523
590
  tests/test_worker_messages.py
591
+ tests/test_worker_pool.py
524
592
  tests/test_workflow.py
525
593
  tests/test_workflow_snapshot.py
526
594
  tests/test_workflow_step_cache.py
@@ -48,6 +48,24 @@ def _parallel_loading_default(platform):
48
48
  if "HF_ENABLE_PARALLEL_LOADING" not in os.environ:
49
49
  os.environ["HF_ENABLE_PARALLEL_LOADING"] = _parallel_loading_default(sys.platform)
50
50
 
51
+
52
+ def _inductor_cache_dir_default(environ):
53
+ """Where torch.compile keeps its on-disk cache.
54
+
55
+ Inductor's own default is /tmp/torchinductor_<user>, which a reboot wipes.
56
+ A fresh worker always retraces, but a cache hit skips codegen and kernel
57
+ builds - most of a cold compile, about 90s of MiniMax-H3's first step on a
58
+ 3090 - so the user's cache directory keeps that paid once per shape rather
59
+ than once per boot. An empty XDG_CACHE_HOME counts as unset, per the spec."""
60
+ base = environ.get("XDG_CACHE_HOME") or os.path.join(
61
+ os.path.expanduser("~"), ".cache"
62
+ )
63
+ return os.path.join(base, "dw", "torchinductor")
64
+
65
+
66
+ if "TORCHINDUCTOR_CACHE_DIR" not in os.environ:
67
+ os.environ["TORCHINDUCTOR_CACHE_DIR"] = _inductor_cache_dir_default(os.environ)
68
+
51
69
  # Suppress all common library warnings before any imports
52
70
  warnings.filterwarnings("ignore", category=FutureWarning)
53
71
  warnings.filterwarnings("ignore", category=UserWarning)
@@ -30,7 +30,7 @@ names and the partition each one denoises against are diffusers' own, and
30
30
  import logging
31
31
 
32
32
  from . import references
33
- from .for_each import MEMBER_SEPARATOR, render_path
33
+ from .references import render_path
34
34
 
35
35
  logger = logging.getLogger("dw")
36
36
 
@@ -109,13 +109,9 @@ def _lora_problems(steps, source_indices, written=None, supplied=()):
109
109
  """
110
110
  written_steps = (written or {}).get("steps")
111
111
  found = []
112
- for index, step in enumerate(steps):
113
- if not isinstance(step, dict):
114
- continue
115
- pipeline = step.get("pipeline")
116
- if not isinstance(pipeline, dict):
117
- continue
118
- source = references.author_index(source_indices, index)
112
+ for _, _, pipeline, source, where in references.iter_steps(
113
+ steps, source_indices, "pipeline"
114
+ ):
119
115
  from_pretrained = pipeline.get(FROM_PRETRAINED_KEY)
120
116
  workflow = (
121
117
  from_pretrained.get(WORKFLOW_KEY)
@@ -127,12 +123,6 @@ def _lora_problems(steps, source_indices, written=None, supplied=()):
127
123
  loras = pipeline.get(LORAS_KEY)
128
124
  if not isinstance(loras, list):
129
125
  continue
130
- name = step.get("name")
131
- where = (
132
- f" in member '{name}'"
133
- if isinstance(name, str) and MEMBER_SEPARATOR in name
134
- else ""
135
- )
136
126
  for position, lora in enumerate(loras):
137
127
  if not isinstance(lora, dict):
138
128
  continue
@@ -212,18 +202,12 @@ def _disabled_loras(steps, source_indices, written=None, supplied=()):
212
202
  engine's, and so is saying that it was used."""
213
203
  written_steps = (written or {}).get("steps")
214
204
  found = []
215
- for index, step in enumerate(steps):
216
- pipeline = step.get("pipeline") if isinstance(step, dict) else None
217
- loras = pipeline.get(LORAS_KEY) if isinstance(pipeline, dict) else None
205
+ for _, _, pipeline, source, where in references.iter_steps(
206
+ steps, source_indices, "pipeline"
207
+ ):
208
+ loras = pipeline.get(LORAS_KEY)
218
209
  if not isinstance(loras, list):
219
210
  continue
220
- source = references.author_index(source_indices, index)
221
- name = step.get("name")
222
- where = (
223
- f" in member '{name}'"
224
- if isinstance(name, str) and MEMBER_SEPARATOR in name
225
- else ""
226
- )
227
211
  for position, lora in enumerate(loras):
228
212
  if not isinstance(lora, dict) or lora.get(MODEL_NAME_KEY) is not None:
229
213
  continue
@@ -2,6 +2,7 @@
2
2
  {media_type, location} reference, an `image`/`video` argument's path or URL, and
3
3
  the frame rate and shots a loaded video carries."""
4
4
 
5
+ import contextlib
5
6
  import io
6
7
  import os
7
8
  import logging
@@ -16,7 +17,8 @@ from .security import (
16
17
  ALLOWED_IMAGE_EXTENSIONS,
17
18
  ALLOWED_VIDEO_EXTENSIONS,
18
19
  )
19
- from .locations import safe_get, validate_media_path
20
+ from .locations import is_http_url, validate_media_path
21
+ from .outbound import safe_get
20
22
 
21
23
  logger = logging.getLogger("dw")
22
24
 
@@ -81,10 +83,14 @@ def fetch_image_with_context(v, base_dir, key):
81
83
  ) from error
82
84
 
83
85
 
84
- def fetch_video_with_context(v, base_dir, key):
86
+ def fetch_video_with_context(v, base_dir, key, with_audio=False):
85
87
  """fetch_video, with the same argument-key context as
86
- fetch_image_with_context."""
88
+ fetch_image_with_context. `with_audio` reads a file's soundtrack along with
89
+ its frames, as an AudioVideo - an H3 guide's `"audio": true` beside its
90
+ `video` (#649), where frames alone leave the guide no audio to hold."""
87
91
  try:
92
+ if with_audio:
93
+ return _fetch_audio_video(v, base_dir)
88
94
  return fetch_video(v, base_dir)
89
95
  except ValueError as error:
90
96
  raise ValueError(
@@ -94,7 +100,30 @@ def fetch_video_with_context(v, base_dir, key):
94
100
  ) from error
95
101
 
96
102
 
97
- def fetch_image(img_spec, base_dir=None):
103
+ def _fetch_audio_video(video_spec, base_dir=None):
104
+ """A video file - a path, URL or {"location": ...} - loaded with its audio
105
+ as an AudioVideo. A deferred reference stays for later resolution, and a
106
+ value already loaded passes through, so a second realization keeps it."""
107
+ from .tasks.video_utils import is_video_location, load_audio_video
108
+
109
+ if isinstance(video_spec, str) and references.is_ref(
110
+ references.LAZY_MEDIA, video_spec
111
+ ):
112
+ return video_spec
113
+ if is_video_location(video_spec):
114
+ return load_audio_video(video_spec, base_dir)
115
+ return video_spec
116
+
117
+
118
+ def _rgb_keeping_alpha(image):
119
+ """RGBA when the file carries transparency (an alpha band, or a palette
120
+ or greyscale image's transparency key), plain RGB otherwise."""
121
+ if "A" in image.getbands() or "transparency" in image.info:
122
+ return image.convert("RGBA")
123
+ return image.convert("RGB")
124
+
125
+
126
+ def fetch_image(img_spec, base_dir=None, keep_alpha=False):
98
127
  """
99
128
  Load image from file path or URL with security validation.
100
129
 
@@ -102,6 +131,10 @@ def fetch_image(img_spec, base_dir=None):
102
131
  img_spec: Image specification (file path, URL, dict with 'location' key, PIL Image, or list of any of these)
103
132
  base_dir: Directory relative file paths are resolved against - the
104
133
  workflow file's directory. Defaults to the process working directory
134
+ keep_alpha: Load a file with transparency as RGBA instead of
135
+ flattening it to RGB. A pipeline input wants RGB; the finishing
136
+ commands (grade, sharpen, film_grain, apply_lut) put the alpha
137
+ back after their op, so a cutout stays a cutout (#775)
105
138
 
106
139
  Returns:
107
140
  Loaded PIL Image, list of PIL Images, or None if img_spec is None
@@ -116,7 +149,7 @@ def fetch_image(img_spec, base_dir=None):
116
149
  # Handle lists of images (recursively process each)
117
150
  if isinstance(img_spec, list):
118
151
  logger.debug(f"Loading list of {len(img_spec)} images")
119
- return [fetch_image(img, base_dir) for img in img_spec]
152
+ return [fetch_image(img, base_dir, keep_alpha) for img in img_spec]
120
153
 
121
154
  # If already a PIL Image, return as-is (allows multiple realize_args calls)
122
155
  if hasattr(img_spec, "mode") and hasattr(img_spec, "size"):
@@ -140,6 +173,7 @@ def fetch_image(img_spec, base_dir=None):
140
173
  return img_spec
141
174
 
142
175
  logger.debug(f"Loading image from: {img_spec}")
176
+ convert_method = _rgb_keeping_alpha if keep_alpha else None
143
177
 
144
178
  try:
145
179
  # Check if it's a URL
@@ -150,7 +184,7 @@ def fetch_image(img_spec, base_dir=None):
150
184
  # without re-checking them; load_image still does the EXIF
151
185
  # transpose and RGB conversion on the decoded result
152
186
  response = safe_get(img_spec, "an image argument", timeout=60)
153
- return load_image(Image.open(io.BytesIO(response.content)))
187
+ return load_image(Image.open(io.BytesIO(response.content)), convert_method)
154
188
  else:
155
189
  # Treat as file path, relative to the workflow file, and confined
156
190
  # to the directories this workflow may read (dw/locations.py)
@@ -164,7 +198,7 @@ def fetch_image(img_spec, base_dir=None):
164
198
  f"Image file extension not allowed: {ext} - a video file "
165
199
  "must go through video_frames first"
166
200
  )
167
- return load_image(validated_path)
201
+ return load_image(validated_path, convert_method)
168
202
 
169
203
  except SecurityError:
170
204
  raise
@@ -209,24 +243,41 @@ def _declared_fps(path):
209
243
  return None
210
244
 
211
245
 
212
- def _fetch_remote_video(url):
213
- """A video URL's frames, fetched through `safe_get` and decoded from a
214
- temporary file. `load_video` would fetch the URL itself and follow its
215
- redirects unchecked; handed a path, it only decodes. The suffix comes
216
- from the URL, as `load_video`'s own download names it, since a `.gif`
217
- decodes differently."""
218
- from .tasks.video_utils import FrameList
246
+ @contextlib.contextmanager
247
+ def local_media_file(location, what, default_suffix=""):
248
+ """`location` as a path a loader opens: a path as it is, an http(s) URL
249
+ fetched through `safe_get` into a temporary file that lasts as long as
250
+ the `with` block.
219
251
 
220
- response = safe_get(url, "a video argument", timeout=300)
221
- suffix = os.path.splitext(unquote(urlparse(url).path))[1] or ".mp4"
252
+ A loader handed a URL fetches it itself - diffusers' `load_video`,
253
+ `load_image` and its H3 references' `from_file` all call requests
254
+ directly, resolving the host a second time and following redirects
255
+ unchecked, with no cap on the body. Handed a path, they only decode.
256
+ The suffix comes from the URL, as those loaders' own downloads name
257
+ it, since a container is often told apart by it. The loader must have
258
+ read the file before the block ends.
259
+ """
260
+ if not is_http_url(location):
261
+ yield location
262
+ return
263
+ response = safe_get(location, what, timeout=300)
264
+ suffix = os.path.splitext(unquote(urlparse(location).path))[1] or default_suffix
222
265
  handle = tempfile.NamedTemporaryFile(suffix=suffix, delete=False)
223
266
  try:
224
267
  with handle:
225
268
  handle.write(response.content)
226
- frames = load_video(handle.name)
227
- fps = _declared_fps(handle.name)
269
+ yield handle.name
228
270
  finally:
229
271
  os.remove(handle.name)
272
+
273
+
274
+ def _fetch_remote_video(url):
275
+ """A video URL's frames, decoded from `local_media_file`'s copy."""
276
+ from .tasks.video_utils import FrameList
277
+
278
+ with local_media_file(url, "a video argument", default_suffix=".mp4") as path:
279
+ frames = load_video(path)
280
+ fps = _declared_fps(path)
230
281
  # A URL has no run beside it, so it carries no shots
231
282
  return FrameList(frames, fps, None) if fps else frames
232
283