diffusers-workflow 0.6.0__tar.gz → 0.8.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 (534) hide show
  1. {diffusers_workflow-0.6.0/diffusers_workflow.egg-info → diffusers_workflow-0.8.0}/PKG-INFO +2 -2
  2. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/README.md +1 -1
  3. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0/diffusers_workflow.egg-info}/PKG-INFO +2 -2
  4. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/diffusers_workflow.egg-info/SOURCES.txt +50 -22
  5. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/__init__.py +9 -0
  6. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/adapter_compatibility.py +6 -7
  7. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/argument_media.py +2 -2
  8. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/arguments.py +10 -7
  9. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/assets.py +11 -6
  10. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/content_types.py +3 -6
  11. diffusers_workflow-0.8.0/dw/docs/ARCHITECTURE.md +172 -0
  12. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/LORAS.md +66 -0
  13. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/MCP.md +7 -4
  14. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/RELEASING.md +155 -2
  15. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/SECURITY.md +1 -0
  16. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/SERVER.md +29 -4
  17. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/WORKFLOW_GUIDE.md +241 -1
  18. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/WORKSPACES.md +6 -2
  19. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/elision.py +1 -1
  20. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/events.py +6 -0
  21. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/for_each.py +6 -4
  22. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/introspection.py +5 -0
  23. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/kernel_availability.py +19 -3
  24. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/library.py +79 -21
  25. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/locations.py +54 -19
  26. diffusers_workflow-0.8.0/dw/lora_catalog.py +134 -0
  27. diffusers_workflow-0.8.0/dw/lora_catalog_schema.json +57 -0
  28. diffusers_workflow-0.8.0/dw/lora_hub.py +237 -0
  29. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/media.py +11 -5
  30. diffusers_workflow-0.8.0/dw/path_redaction.py +72 -0
  31. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/pipeline_processors/placement.py +7 -0
  32. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/plan.py +7 -11
  33. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/previous_results.py +4 -1
  34. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/probe_paths.py +4 -6
  35. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/prompts.py +10 -20
  36. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/realize.py +29 -23
  37. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/reference_limits.py +3 -5
  38. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/reference_names.py +25 -18
  39. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/references.py +7 -0
  40. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/run.py +2 -2
  41. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/runs.py +13 -6
  42. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/security.py +20 -0
  43. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/admission.py +38 -19
  44. diffusers_workflow-0.8.0/dw/server/api_models.py +824 -0
  45. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/app.py +26 -1
  46. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/assess.py +44 -1
  47. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/catalog.py +8 -7
  48. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/deps.py +21 -1
  49. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/enhancers.py +3 -1
  50. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/exports.py +5 -6
  51. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/guides.py +1 -1
  52. diffusers_workflow-0.8.0/dw/server/inline_media.py +131 -0
  53. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/job_history.py +7 -1
  54. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/jobs.py +24 -11
  55. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/outputs.py +68 -7
  56. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/routes/__init__.py +2 -1
  57. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/routes/assets.py +26 -6
  58. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/routes/files.py +3 -3
  59. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/routes/gallery.py +28 -38
  60. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/routes/jobs.py +112 -17
  61. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/routes/library.py +138 -40
  62. diffusers_workflow-0.8.0/dw/server/routes/loras.py +275 -0
  63. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/routes/media.py +102 -19
  64. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/routes/system.py +72 -17
  65. diffusers_workflow-0.6.0/dw/server/ui/assets/cssMode-CjZLP_Pe.js → diffusers_workflow-0.8.0/dw/server/ui/assets/cssMode-C1mrKegs.js +1 -1
  66. diffusers_workflow-0.6.0/dw/server/ui/assets/editor.api-DXlBngV6.js → diffusers_workflow-0.8.0/dw/server/ui/assets/editor.api-EZbUgQvM.js +1 -1
  67. diffusers_workflow-0.6.0/dw/server/ui/assets/freemarker2-CtKALOjK.js → diffusers_workflow-0.8.0/dw/server/ui/assets/freemarker2-Dth1K2Vy.js +1 -1
  68. diffusers_workflow-0.6.0/dw/server/ui/assets/handlebars-teGPbQUB.js → diffusers_workflow-0.8.0/dw/server/ui/assets/handlebars-8Sswqnxq.js +1 -1
  69. diffusers_workflow-0.6.0/dw/server/ui/assets/html-DfSymt9C.js → diffusers_workflow-0.8.0/dw/server/ui/assets/html-BYtYo7f1.js +1 -1
  70. diffusers_workflow-0.6.0/dw/server/ui/assets/htmlMode-Cr3jQp_U.js → diffusers_workflow-0.8.0/dw/server/ui/assets/htmlMode-B_AiWoXc.js +1 -1
  71. diffusers_workflow-0.8.0/dw/server/ui/assets/index-B6Ujrvuj.js +45 -0
  72. diffusers_workflow-0.8.0/dw/server/ui/assets/index-BChhQc7I.css +1 -0
  73. diffusers_workflow-0.6.0/dw/server/ui/assets/javascript-BeSdrNYj.js → diffusers_workflow-0.8.0/dw/server/ui/assets/javascript-E4m083D3.js +1 -1
  74. diffusers_workflow-0.6.0/dw/server/ui/assets/jsonMode-DJLaxAu8.js → diffusers_workflow-0.8.0/dw/server/ui/assets/jsonMode--h7ZikWy.js +1 -1
  75. diffusers_workflow-0.6.0/dw/server/ui/assets/liquid-D5XtXQ2P.js → diffusers_workflow-0.8.0/dw/server/ui/assets/liquid-BzbKdLRW.js +1 -1
  76. diffusers_workflow-0.6.0/dw/server/ui/assets/lspLanguageFeatures-BJkK4mNN.js → diffusers_workflow-0.8.0/dw/server/ui/assets/lspLanguageFeatures-CRa0bRFV.js +1 -1
  77. diffusers_workflow-0.6.0/dw/server/ui/assets/mdx-CIThOdKr.js → diffusers_workflow-0.8.0/dw/server/ui/assets/mdx-BJ4u6XQs.js +1 -1
  78. diffusers_workflow-0.6.0/dw/server/ui/assets/monaco-CYXGxb41.js → diffusers_workflow-0.8.0/dw/server/ui/assets/monaco-DwaeaVri.js +4 -4
  79. diffusers_workflow-0.6.0/dw/server/ui/assets/python-BlzkzsC6.js → diffusers_workflow-0.8.0/dw/server/ui/assets/python-CoX_gCAL.js +1 -1
  80. diffusers_workflow-0.6.0/dw/server/ui/assets/razor-DeSKNqSl.js → diffusers_workflow-0.8.0/dw/server/ui/assets/razor-BCTdG5SN.js +1 -1
  81. diffusers_workflow-0.6.0/dw/server/ui/assets/tsMode-BCUw0fMr.js → diffusers_workflow-0.8.0/dw/server/ui/assets/tsMode-B6BV7a76.js +1 -1
  82. diffusers_workflow-0.6.0/dw/server/ui/assets/typescript-3N0ou1YS.js → diffusers_workflow-0.8.0/dw/server/ui/assets/typescript-DJe7-fvZ.js +1 -1
  83. diffusers_workflow-0.6.0/dw/server/ui/assets/workers-C91O0to6.js → diffusers_workflow-0.8.0/dw/server/ui/assets/workers-DCzLJTPE.js +1 -1
  84. diffusers_workflow-0.6.0/dw/server/ui/assets/xml-DmIqin7X.js → diffusers_workflow-0.8.0/dw/server/ui/assets/xml-CNvWfUrB.js +1 -1
  85. diffusers_workflow-0.6.0/dw/server/ui/assets/yaml-BQg2lXI1.js → diffusers_workflow-0.8.0/dw/server/ui/assets/yaml-ByARP6WE.js +1 -1
  86. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/index.html +2 -2
  87. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/settings.py +14 -0
  88. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/shots.py +11 -14
  89. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/step_cache.py +3 -1
  90. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/step_value_checks.py +3 -6
  91. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/subfolders.py +10 -6
  92. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/task_domains.py +1 -0
  93. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/audio_utils.py +15 -9
  94. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/dissolve_videos.py +0 -1
  95. diffusers_workflow-0.8.0/dw/tasks/h3_latent_upscale.py +341 -0
  96. diffusers_workflow-0.8.0/dw/tasks/h3_latent_upscaler_model.py +274 -0
  97. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/joins.py +14 -11
  98. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/loop_bed.py +9 -2
  99. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/task.py +74 -0
  100. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/validation.py +15 -14
  101. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/variable_constraints.py +15 -10
  102. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/video_extensions.py +4 -6
  103. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/vram_estimate.py +9 -8
  104. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/worker.py +28 -4
  105. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/workflow.py +20 -176
  106. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/workflow_run.py +3 -4
  107. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/workflow_schema.json +1 -1
  108. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/workspace.py +5 -3
  109. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/__init__.py +4 -0
  110. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/__main__.py +1 -1
  111. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/assets.py +25 -82
  112. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/authoring.py +5 -31
  113. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/catalog.py +9 -23
  114. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/client.py +75 -53
  115. diffusers_workflow-0.8.0/dw_mcp/confine.py +70 -0
  116. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/diagnose.py +32 -23
  117. diffusers_workflow-0.8.0/dw_mcp/loras.py +29 -0
  118. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/media.py +84 -254
  119. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/server.py +12 -1
  120. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/tools_authoring.py +37 -2
  121. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/tools_catalog.py +2 -4
  122. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/tools_media.py +4 -4
  123. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/workspaces.py +17 -31
  124. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/pyproject.toml +3 -1
  125. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_admission.py +1 -1
  126. diffusers_workflow-0.8.0/tests/test_api_contract.py +597 -0
  127. diffusers_workflow-0.8.0/tests/test_arch_metrics.py +355 -0
  128. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_arch_report.py +20 -0
  129. diffusers_workflow-0.8.0/tests/test_architecture_map.py +172 -0
  130. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_arguments.py +8 -0
  131. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_assets.py +10 -0
  132. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_audio_utils.py +28 -0
  133. diffusers_workflow-0.8.0/tests/test_ci_config.py +26 -0
  134. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_concat_videos.py +16 -0
  135. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_dissolve_videos.py +11 -9
  136. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_events.py +22 -0
  137. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_find_loop_bed.py +9 -0
  138. diffusers_workflow-0.8.0/tests/test_h3_latent_upscale.py +471 -0
  139. diffusers_workflow-0.8.0/tests/test_h3_upscaler_source.py +174 -0
  140. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_kernel_availability.py +33 -0
  141. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_library_sources.py +7 -2
  142. diffusers_workflow-0.8.0/tests/test_lora_catalog.py +265 -0
  143. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_lora_disable.py +7 -2
  144. diffusers_workflow-0.8.0/tests/test_lora_hub.py +326 -0
  145. diffusers_workflow-0.8.0/tests/test_lora_library.py +115 -0
  146. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_mcp_assets.py +34 -0
  147. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_mcp_authoring.py +10 -36
  148. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_mcp_catalog.py +23 -23
  149. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_mcp_client.py +65 -28
  150. diffusers_workflow-0.8.0/tests/test_mcp_confine.py +81 -0
  151. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_mcp_diagnose.py +24 -3
  152. diffusers_workflow-0.8.0/tests/test_mcp_loras.py +58 -0
  153. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_mcp_main.py +16 -0
  154. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_mcp_media.py +159 -325
  155. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_mcp_server.py +47 -6
  156. diffusers_workflow-0.8.0/tests/test_mcp_twins.py +224 -0
  157. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_mcp_workspaces.py +31 -37
  158. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_modular_output_properties.py +81 -2
  159. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_output_references.py +8 -0
  160. diffusers_workflow-0.8.0/tests/test_path_redaction.py +57 -0
  161. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_prompt_references.py +3 -3
  162. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_prompts.py +18 -2
  163. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_realize.py +2 -1
  164. diffusers_workflow-0.8.0/tests/test_reference_skip_sets.py +108 -0
  165. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_references.py +30 -0
  166. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_runs.py +27 -0
  167. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_security_auth.py +13 -0
  168. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_security_decoder_bombs.py +39 -47
  169. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_server.py +174 -2
  170. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_server_assess.py +61 -0
  171. diffusers_workflow-0.8.0/tests/test_server_gallery_image.py +188 -0
  172. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_server_guides.py +19 -2
  173. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_server_jobs.py +120 -1
  174. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_server_library_path.py +66 -0
  175. diffusers_workflow-0.8.0/tests/test_server_loras.py +375 -0
  176. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_shot_span_preflight.py +2 -1
  177. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_shots.py +1 -0
  178. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_slice_preflight.py +4 -1
  179. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_step_cache.py +8 -4
  180. diffusers_workflow-0.8.0/tests/test_sub_workflow_resolver.py +243 -0
  181. diffusers_workflow-0.8.0/tests/test_ui_twins.py +302 -0
  182. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_validation.py +23 -8
  183. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_vram_inheritance.py +5 -2
  184. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_worker_execute.py +55 -17
  185. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_workflow.py +6 -3
  186. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_workflow_step_cache.py +9 -6
  187. diffusers_workflow-0.6.0/dw/server/ui/assets/index-3Vw6WAPW.css +0 -1
  188. diffusers_workflow-0.6.0/dw/server/ui/assets/index-J5rsq_M9.js +0 -43
  189. diffusers_workflow-0.6.0/tests/test_arch_metrics.py +0 -183
  190. diffusers_workflow-0.6.0/tests/test_reference_sets.py +0 -36
  191. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/LICENSE +0 -0
  192. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/MANIFEST.in +0 -0
  193. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/diffusers_workflow.egg-info/dependency_links.txt +0 -0
  194. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/diffusers_workflow.egg-info/entry_points.txt +0 -0
  195. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/diffusers_workflow.egg-info/requires.txt +0 -0
  196. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/diffusers_workflow.egg-info/top_level.txt +0 -0
  197. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/argument_warnings.py +0 -0
  198. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/assessment_rules.py +0 -0
  199. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/audio_qc.py +0 -0
  200. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/cache_blocks.json +0 -0
  201. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/cache_blocks.py +0 -0
  202. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/community_pipelines/pipeline_flux_rf_inversion.py +0 -0
  203. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/dissolve_frame_errors.py +0 -0
  204. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/ACCELERATION.md +0 -0
  205. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/AGENT_LOOP.md +0 -0
  206. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/DEPENDENCIES.md +0 -0
  207. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/IP_ADAPTER.md +0 -0
  208. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/PROMPT_WEIGHTING.md +0 -0
  209. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/QUANTIZATION.md +0 -0
  210. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/RECIPES_24GB.md +0 -0
  211. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/REMOTE.md +0 -0
  212. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/SECURITY_QUICKREF.md +0 -0
  213. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/TASKS.md +0 -0
  214. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/TESTING.md +0 -0
  215. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/WORKER_GUIDE.md +0 -0
  216. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/download_watch.py +0 -0
  217. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/dsp.py +0 -0
  218. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/host_memory.py +0 -0
  219. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/host_memory_projection.py +0 -0
  220. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/hub_cache.py +0 -0
  221. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/log_setup.py +0 -0
  222. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/media_frames.py +0 -0
  223. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/media_types.py +0 -0
  224. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/output_extraction.py +0 -0
  225. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/pipeline_ownership.py +0 -0
  226. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/pipeline_processors/adapters.py +0 -0
  227. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/pipeline_processors/chain.py +0 -0
  228. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/pipeline_processors/components.py +0 -0
  229. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/pipeline_processors/config_objects.py +0 -0
  230. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/pipeline_processors/pipeline.py +0 -0
  231. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/pipeline_processors/progress.py +0 -0
  232. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/pipeline_processors/remote.py +0 -0
  233. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/prompt_schema.json +0 -0
  234. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/prompt_weighting.py +0 -0
  235. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/result.py +0 -0
  236. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/scalar_result_validation.py +0 -0
  237. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/schema.py +0 -0
  238. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/serve.py +0 -0
  239. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/__init__.py +0 -0
  240. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/catalog_shape.py +0 -0
  241. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/http_security.py +0 -0
  242. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/job_record.py +0 -0
  243. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/mcp_mount.py +0 -0
  244. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/netinfo.py +0 -0
  245. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/observed_cost.py +0 -0
  246. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/sysinfo.py +0 -0
  247. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/abap-08VXUWAP.js +0 -0
  248. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/apex-BWPQTe0t.js +0 -0
  249. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/azcli-Bc_sGQ0U.js +0 -0
  250. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/bat-i0X4ZdIN.js +0 -0
  251. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/bicep-B5-_aFwp.js +0 -0
  252. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/cameligo-DMUM7wLl.js +0 -0
  253. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/clojure-Cm7r79vr.js +0 -0
  254. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/codicon-Brq4_Ui5.ttf +0 -0
  255. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/coffee-Ba7i2nA0.js +0 -0
  256. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/cpp-C7h46wYY.js +0 -0
  257. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/csharp-BKxtCVv1.js +0 -0
  258. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/csp-bTuwJoIa.js +0 -0
  259. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/css-DIMkf-bt.js +0 -0
  260. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/css.worker-B3ciXF_0.js +0 -0
  261. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/cypher-CVaqCwHa.js +0 -0
  262. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/dart-onAF5SnQ.js +0 -0
  263. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/dockerfile-DZFCIeNp.js +0 -0
  264. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/ecl-D05T4iGw.js +0 -0
  265. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/editor-jjEx9u7D.css +0 -0
  266. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/editor.worker-q-txB4vs.js +0 -0
  267. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/elixir-6RTg0lbw.js +0 -0
  268. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/flow9-C5_-GSwl.js +0 -0
  269. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/fsharp-C8Ef5oNN.js +0 -0
  270. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/go-C-y9NEjX.js +0 -0
  271. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/graphql-fmXr3nnJ.js +0 -0
  272. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/hcl-CpzslTdj.js +0 -0
  273. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/html.worker-C93Ht9o9.js +0 -0
  274. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/ini-sBoK_t0W.js +0 -0
  275. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/java-BEtHBSE6.js +0 -0
  276. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/json.worker-B2V3pomh.js +0 -0
  277. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/julia-Bri6UV-V.js +0 -0
  278. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/kotlin-BOotOW0E.js +0 -0
  279. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/less-B9JPFI3C.js +0 -0
  280. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/lexon-CfSJPG6W.js +0 -0
  281. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/lua-CsQS60Ue.js +0 -0
  282. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/m3-D-oSqn_W.js +0 -0
  283. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/markdown-Cimd5fb3.js +0 -0
  284. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/mips-CIPQ_RoX.js +0 -0
  285. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/monaco--ixms01u.css +0 -0
  286. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/msdax-DauUninz.js +0 -0
  287. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/mysql-SOo6toE5.js +0 -0
  288. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/objective-c-FvmIjYaQ.js +0 -0
  289. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/pascal-DrH0SRf2.js +0 -0
  290. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/pascaligo-D-ptJ9y-.js +0 -0
  291. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/perl-oz_6vUea.js +0 -0
  292. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/pgsql-DTj74zXo.js +0 -0
  293. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/php-nr791fC2.js +0 -0
  294. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/pla-CopQ2nXW.js +0 -0
  295. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/postiats-43DmfD33.js +0 -0
  296. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/powerquery-D3hlyOfw.js +0 -0
  297. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/powershell-DmHpPYUd.js +0 -0
  298. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/protobuf-C531GsRP.js +0 -0
  299. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/pug-Z5eAx3Zn.js +0 -0
  300. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/qsharp-DkqhCAOL.js +0 -0
  301. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/r-BwWrilGY.js +0 -0
  302. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/redis-ClamHrr6.js +0 -0
  303. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/redshift-DT7zqm-g.js +0 -0
  304. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/restructuredtext-BYgofb2h.js +0 -0
  305. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/ruby-DezsRK8O.js +0 -0
  306. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/rust-DdL9SqIa.js +0 -0
  307. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/sb-CcwsVR0C.js +0 -0
  308. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/scala-DHpiXF5c.js +0 -0
  309. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/scheme-BeGwcela.js +0 -0
  310. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/scss-gp-XZpBa.js +0 -0
  311. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/shell-CC2rA5mh.js +0 -0
  312. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/solidity-BEEn4gHE.js +0 -0
  313. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/sophia-CRfGWb83.js +0 -0
  314. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/sparql-D_Lu-MrJ.js +0 -0
  315. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/sql-NEE52Syq.js +0 -0
  316. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/st-DbInun42.js +0 -0
  317. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/swift-Bxkupp3x.js +0 -0
  318. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/systemverilog-Bz4Y3fRF.js +0 -0
  319. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/tcl-DISqw1ZD.js +0 -0
  320. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/ts.worker-D7T1-Ig5.js +0 -0
  321. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/twig-De2hgUGE.js +0 -0
  322. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/typespec-B8J7ngcE.js +0 -0
  323. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/vb-DV3o63ZY.js +0 -0
  324. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/wgsl-DpFanUEy.js +0 -0
  325. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/updater.py +0 -0
  326. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/shot_span_preflight.py +0 -0
  327. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/slice_preflight.py +0 -0
  328. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/step.py +0 -0
  329. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/assess.py +0 -0
  330. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/audio_dynamics.py +0 -0
  331. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/audio_transcription.py +0 -0
  332. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/background_remover.py +0 -0
  333. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/borders.py +0 -0
  334. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/compose_text.py +0 -0
  335. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/concat_videos.py +0 -0
  336. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/depth_estimator.py +0 -0
  337. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/diffusion_upscale.py +0 -0
  338. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/format_messages.py +0 -0
  339. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/gather.py +0 -0
  340. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/grade.py +0 -0
  341. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/image_to_text.py +0 -0
  342. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/image_utils.py +0 -0
  343. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/interpolate_frames.py +0 -0
  344. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/join_into_song.py +0 -0
  345. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/judge.py +0 -0
  346. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/model_cache.py +0 -0
  347. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/pair_audio.py +0 -0
  348. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/qr_code.py +0 -0
  349. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/restore_faces.py +0 -0
  350. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/rife_model.py +0 -0
  351. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/segment.py +0 -0
  352. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/select.py +0 -0
  353. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/speech_generation.py +0 -0
  354. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/stabilize.py +0 -0
  355. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/tensor_image.py +0 -0
  356. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/text_generation.py +0 -0
  357. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/text_sections.py +0 -0
  358. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/upscale.py +0 -0
  359. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/video_utils.py +0 -0
  360. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/voice_attribution.py +0 -0
  361. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/zoe_depth.py +0 -0
  362. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/test.py +0 -0
  363. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/trust.py +0 -0
  364. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/type_helpers.py +0 -0
  365. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/type_references.py +0 -0
  366. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/validate.py +0 -0
  367. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/variables.py +0 -0
  368. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/video_size_errors.py +0 -0
  369. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/vram_inheritance.py +0 -0
  370. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/worker_manager.py +0 -0
  371. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/worker_protocol.py +0 -0
  372. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/workflows/h3_context_ir.json +0 -0
  373. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/workflows/test.json +0 -0
  374. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/writers.py +0 -0
  375. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/exports.py +0 -0
  376. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/guides.py +0 -0
  377. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/models.py +0 -0
  378. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/prompts.py +0 -0
  379. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/tools_jobs.py +0 -0
  380. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/setup.cfg +0 -0
  381. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_argument_updates.py +0 -0
  382. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_assemble_and_score_target_lufs.py +0 -0
  383. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_assess.py +0 -0
  384. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_assessment_rules.py +0 -0
  385. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_attention_slicing.py +0 -0
  386. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_best_of_n_template.py +0 -0
  387. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_borders.py +0 -0
  388. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_cache_blocks.py +0 -0
  389. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_catalog_shape.py +0 -0
  390. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_catalog_structure.py +0 -0
  391. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_chain.py +0 -0
  392. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_cli.py +0 -0
  393. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_component_name_errors.py +0 -0
  394. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_component_pruning.py +0 -0
  395. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_component_type_errors.py +0 -0
  396. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_compose_text.py +0 -0
  397. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_config_objects.py +0 -0
  398. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_configuration_schema.py +0 -0
  399. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_content_types.py +0 -0
  400. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_depth_estimator.py +0 -0
  401. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_device.py +0 -0
  402. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_device_helpers.py +0 -0
  403. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_device_portability.py +0 -0
  404. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_dialogue_short_voices.py +0 -0
  405. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_diffusion_upscale.py +0 -0
  406. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_dissolve_frame_errors.py +0 -0
  407. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_docs_links.py +0 -0
  408. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_download_watch.py +0 -0
  409. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_dsp.py +0 -0
  410. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_elision.py +0 -0
  411. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_examples.py +0 -0
  412. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_for_each.py +0 -0
  413. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_gather.py +0 -0
  414. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_grade.py +0 -0
  415. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_h3_adapters.py +0 -0
  416. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_h3_context_ir.py +0 -0
  417. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_h3_schedule.py +0 -0
  418. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_h3_vram_ceiling.py +0 -0
  419. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_hf_placement.py +0 -0
  420. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_host_memory.py +0 -0
  421. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_host_memory_projection.py +0 -0
  422. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_hub_cache.py +0 -0
  423. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_image_to_text.py +0 -0
  424. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_image_utils.py +0 -0
  425. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_integration.py +0 -0
  426. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_interpolate_frames.py +0 -0
  427. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_introspection.py +0 -0
  428. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_job_history_wal.py +0 -0
  429. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_job_progress.py +0 -0
  430. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_job_warnings.py +0 -0
  431. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_jobs_listing.py +0 -0
  432. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_jobs_reused.py +0 -0
  433. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_join_into_song.py +0 -0
  434. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_judge.py +0 -0
  435. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_library_path.py +0 -0
  436. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_list_images.py +0 -0
  437. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_locations.py +0 -0
  438. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_lora_alpha.py +0 -0
  439. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_ltx2_diffusion_decode.py +0 -0
  440. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_ltx2_extend_clip.py +0 -0
  441. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_ltx2_ic_loras.py +0 -0
  442. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_ltx_prompt_library.py +0 -0
  443. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_mcp_exports.py +0 -0
  444. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_mcp_guides.py +0 -0
  445. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_mcp_models.py +0 -0
  446. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_mcp_prompts.py +0 -0
  447. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_media_audio.py +0 -0
  448. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_media_frames.py +0 -0
  449. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_media_info.py +0 -0
  450. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_media_layering.py +0 -0
  451. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_mix_audio.py +0 -0
  452. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_model_cache.py +0 -0
  453. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_modular_pipeline.py +0 -0
  454. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_modular_progress.py +0 -0
  455. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_mps_fallback_warning.py +0 -0
  456. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_mps_rope_precision.py +0 -0
  457. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_null_media.py +0 -0
  458. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_observed_cost.py +0 -0
  459. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_offload_placement.py +0 -0
  460. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_pair_audio.py +0 -0
  461. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_pair_audio_fit.py +0 -0
  462. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_parallel_loading_default.py +0 -0
  463. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_phase_events.py +0 -0
  464. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_pipeline_caching.py +0 -0
  465. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_pipeline_components.py +0 -0
  466. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_plan.py +0 -0
  467. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_plugin_skills.py +0 -0
  468. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_prepare_pipeline.py +0 -0
  469. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_previous_result_walker_parity.py +0 -0
  470. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_previous_results.py +0 -0
  471. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_prompt_library.py +0 -0
  472. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_prompt_parser.py +0 -0
  473. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_prompt_weighting.py +0 -0
  474. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_real_models.py +0 -0
  475. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_recenter_crop.py +0 -0
  476. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_reference_limits.py +0 -0
  477. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_reference_names.py +0 -0
  478. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_rerun_new_seed.py +0 -0
  479. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_resize_bucket.py +0 -0
  480. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_result.py +0 -0
  481. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_result_fps.py +0 -0
  482. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_result_output_naming.py +0 -0
  483. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_rule_parity.py +0 -0
  484. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_scalar_result_validation.py +0 -0
  485. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_scheduler_config.py +0 -0
  486. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_schema.py +0 -0
  487. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_security.py +0 -0
  488. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_security_input_caps.py +0 -0
  489. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_security_ssrf.py +0 -0
  490. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_security_symlinks.py +0 -0
  491. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_security_trust_gate.py +0 -0
  492. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_security_web_headers.py +0 -0
  493. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_segment.py +0 -0
  494. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_select.py +0 -0
  495. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_select_validation.py +0 -0
  496. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_serve_main.py +0 -0
  497. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_server_downloads.py +0 -0
  498. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_server_exports.py +0 -0
  499. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_server_info.py +0 -0
  500. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_server_mcp.py +0 -0
  501. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_server_workspaces.py +0 -0
  502. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_shaping_logs.py +0 -0
  503. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_speech_generation.py +0 -0
  504. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_stabilize.py +0 -0
  505. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_step.py +0 -0
  506. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_strip_exif_and_watermark.py +0 -0
  507. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_subfolders.py +0 -0
  508. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_task.py +0 -0
  509. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_task_discovery.py +0 -0
  510. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_task_domains.py +0 -0
  511. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_task_signature_errors.py +0 -0
  512. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_template_defaults.py +0 -0
  513. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_template_subfolders.py +0 -0
  514. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_tensor_image.py +0 -0
  515. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_text_generation.py +0 -0
  516. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_text_sections.py +0 -0
  517. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_transcribe_audio.py +0 -0
  518. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_type_helpers.py +0 -0
  519. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_updater.py +0 -0
  520. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_validate_arguments.py +0 -0
  521. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_variable_constraints.py +0 -0
  522. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_variables.py +0 -0
  523. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_video_extensions.py +0 -0
  524. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_video_size_errors.py +0 -0
  525. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_video_utils.py +0 -0
  526. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_voice_attribution.py +0 -0
  527. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_vram_estimate.py +0 -0
  528. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_worker.py +0 -0
  529. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_worker_job_peak_rss.py +0 -0
  530. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_worker_manager.py +0 -0
  531. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_worker_messages.py +0 -0
  532. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_workflow_snapshot.py +0 -0
  533. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_workflow_trust.py +0 -0
  534. {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.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.6.0
3
+ Version: 0.8.0
4
4
  Summary: Declarative workflow engine and web UI for Hugging Face Diffusers
5
5
  Author: dkackman
6
6
  License: Apache-2.0
@@ -168,7 +168,7 @@ once; without it the run fails partway through with a 401/403 from the Hub.
168
168
 
169
169
  ## Drive it from an agent
170
170
 
171
- Then just ask. The agent has 59 tools covering the whole surface — the
171
+ Then just ask. The agent has 62 tools covering the whole surface — the
172
172
  workflow catalog, the real diffusers pipeline signatures, the job queue, the
173
173
  gallery, the model cache:
174
174
 
@@ -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 59 tools covering the whole surface — the
86
+ Then just ask. The agent has 62 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.6.0
3
+ Version: 0.8.0
4
4
  Summary: Declarative workflow engine and web UI for Hugging Face Diffusers
5
5
  Author: dkackman
6
6
  License: Apache-2.0
@@ -168,7 +168,7 @@ once; without it the run fails partway through with a 401/403 from the Hub.
168
168
 
169
169
  ## Drive it from an agent
170
170
 
171
- Then just ask. The agent has 59 tools covering the whole surface — the
171
+ Then just ask. The agent has 62 tools covering the whole surface — the
172
172
  workflow catalog, the real diffusers pipeline signatures, the job queue, the
173
173
  gallery, the model cache:
174
174
 
@@ -33,10 +33,14 @@ dw/kernel_availability.py
33
33
  dw/library.py
34
34
  dw/locations.py
35
35
  dw/log_setup.py
36
+ dw/lora_catalog.py
37
+ dw/lora_catalog_schema.json
38
+ dw/lora_hub.py
36
39
  dw/media.py
37
40
  dw/media_frames.py
38
41
  dw/media_types.py
39
42
  dw/output_extraction.py
43
+ dw/path_redaction.py
40
44
  dw/pipeline_ownership.py
41
45
  dw/plan.py
42
46
  dw/previous_results.py
@@ -87,6 +91,7 @@ dw/writers.py
87
91
  dw/community_pipelines/pipeline_flux_rf_inversion.py
88
92
  dw/docs/ACCELERATION.md
89
93
  dw/docs/AGENT_LOOP.md
94
+ dw/docs/ARCHITECTURE.md
90
95
  dw/docs/DEPENDENCIES.md
91
96
  dw/docs/IP_ADAPTER.md
92
97
  dw/docs/LORAS.md
@@ -114,6 +119,7 @@ dw/pipeline_processors/progress.py
114
119
  dw/pipeline_processors/remote.py
115
120
  dw/server/__init__.py
116
121
  dw/server/admission.py
122
+ dw/server/api_models.py
117
123
  dw/server/app.py
118
124
  dw/server/assess.py
119
125
  dw/server/catalog.py
@@ -123,6 +129,7 @@ dw/server/enhancers.py
123
129
  dw/server/exports.py
124
130
  dw/server/guides.py
125
131
  dw/server/http_security.py
132
+ dw/server/inline_media.py
126
133
  dw/server/job_history.py
127
134
  dw/server/job_record.py
128
135
  dw/server/jobs.py
@@ -138,6 +145,7 @@ dw/server/routes/files.py
138
145
  dw/server/routes/gallery.py
139
146
  dw/server/routes/jobs.py
140
147
  dw/server/routes/library.py
148
+ dw/server/routes/loras.py
141
149
  dw/server/routes/media.py
142
150
  dw/server/routes/system.py
143
151
  dw/server/ui/index.html
@@ -155,45 +163,45 @@ dw/server/ui/assets/csharp-BKxtCVv1.js
155
163
  dw/server/ui/assets/csp-bTuwJoIa.js
156
164
  dw/server/ui/assets/css-DIMkf-bt.js
157
165
  dw/server/ui/assets/css.worker-B3ciXF_0.js
158
- dw/server/ui/assets/cssMode-CjZLP_Pe.js
166
+ dw/server/ui/assets/cssMode-C1mrKegs.js
159
167
  dw/server/ui/assets/cypher-CVaqCwHa.js
160
168
  dw/server/ui/assets/dart-onAF5SnQ.js
161
169
  dw/server/ui/assets/dockerfile-DZFCIeNp.js
162
170
  dw/server/ui/assets/ecl-D05T4iGw.js
163
171
  dw/server/ui/assets/editor-jjEx9u7D.css
164
- dw/server/ui/assets/editor.api-DXlBngV6.js
172
+ dw/server/ui/assets/editor.api-EZbUgQvM.js
165
173
  dw/server/ui/assets/editor.worker-q-txB4vs.js
166
174
  dw/server/ui/assets/elixir-6RTg0lbw.js
167
175
  dw/server/ui/assets/flow9-C5_-GSwl.js
168
- dw/server/ui/assets/freemarker2-CtKALOjK.js
176
+ dw/server/ui/assets/freemarker2-Dth1K2Vy.js
169
177
  dw/server/ui/assets/fsharp-C8Ef5oNN.js
170
178
  dw/server/ui/assets/go-C-y9NEjX.js
171
179
  dw/server/ui/assets/graphql-fmXr3nnJ.js
172
- dw/server/ui/assets/handlebars-teGPbQUB.js
180
+ dw/server/ui/assets/handlebars-8Sswqnxq.js
173
181
  dw/server/ui/assets/hcl-CpzslTdj.js
174
- dw/server/ui/assets/html-DfSymt9C.js
182
+ dw/server/ui/assets/html-BYtYo7f1.js
175
183
  dw/server/ui/assets/html.worker-C93Ht9o9.js
176
- dw/server/ui/assets/htmlMode-Cr3jQp_U.js
177
- dw/server/ui/assets/index-3Vw6WAPW.css
178
- dw/server/ui/assets/index-J5rsq_M9.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
179
187
  dw/server/ui/assets/ini-sBoK_t0W.js
180
188
  dw/server/ui/assets/java-BEtHBSE6.js
181
- dw/server/ui/assets/javascript-BeSdrNYj.js
189
+ dw/server/ui/assets/javascript-E4m083D3.js
182
190
  dw/server/ui/assets/json.worker-B2V3pomh.js
183
- dw/server/ui/assets/jsonMode-DJLaxAu8.js
191
+ dw/server/ui/assets/jsonMode--h7ZikWy.js
184
192
  dw/server/ui/assets/julia-Bri6UV-V.js
185
193
  dw/server/ui/assets/kotlin-BOotOW0E.js
186
194
  dw/server/ui/assets/less-B9JPFI3C.js
187
195
  dw/server/ui/assets/lexon-CfSJPG6W.js
188
- dw/server/ui/assets/liquid-D5XtXQ2P.js
189
- dw/server/ui/assets/lspLanguageFeatures-BJkK4mNN.js
196
+ dw/server/ui/assets/liquid-BzbKdLRW.js
197
+ dw/server/ui/assets/lspLanguageFeatures-CRa0bRFV.js
190
198
  dw/server/ui/assets/lua-CsQS60Ue.js
191
199
  dw/server/ui/assets/m3-D-oSqn_W.js
192
200
  dw/server/ui/assets/markdown-Cimd5fb3.js
193
- dw/server/ui/assets/mdx-CIThOdKr.js
201
+ dw/server/ui/assets/mdx-BJ4u6XQs.js
194
202
  dw/server/ui/assets/mips-CIPQ_RoX.js
195
203
  dw/server/ui/assets/monaco--ixms01u.css
196
- dw/server/ui/assets/monaco-CYXGxb41.js
204
+ dw/server/ui/assets/monaco-DwaeaVri.js
197
205
  dw/server/ui/assets/msdax-DauUninz.js
198
206
  dw/server/ui/assets/mysql-SOo6toE5.js
199
207
  dw/server/ui/assets/objective-c-FvmIjYaQ.js
@@ -208,10 +216,10 @@ dw/server/ui/assets/powerquery-D3hlyOfw.js
208
216
  dw/server/ui/assets/powershell-DmHpPYUd.js
209
217
  dw/server/ui/assets/protobuf-C531GsRP.js
210
218
  dw/server/ui/assets/pug-Z5eAx3Zn.js
211
- dw/server/ui/assets/python-BlzkzsC6.js
219
+ dw/server/ui/assets/python-CoX_gCAL.js
212
220
  dw/server/ui/assets/qsharp-DkqhCAOL.js
213
221
  dw/server/ui/assets/r-BwWrilGY.js
214
- dw/server/ui/assets/razor-DeSKNqSl.js
222
+ dw/server/ui/assets/razor-BCTdG5SN.js
215
223
  dw/server/ui/assets/redis-ClamHrr6.js
216
224
  dw/server/ui/assets/redshift-DT7zqm-g.js
217
225
  dw/server/ui/assets/restructuredtext-BYgofb2h.js
@@ -231,15 +239,15 @@ dw/server/ui/assets/swift-Bxkupp3x.js
231
239
  dw/server/ui/assets/systemverilog-Bz4Y3fRF.js
232
240
  dw/server/ui/assets/tcl-DISqw1ZD.js
233
241
  dw/server/ui/assets/ts.worker-D7T1-Ig5.js
234
- dw/server/ui/assets/tsMode-BCUw0fMr.js
242
+ dw/server/ui/assets/tsMode-B6BV7a76.js
235
243
  dw/server/ui/assets/twig-De2hgUGE.js
236
- dw/server/ui/assets/typescript-3N0ou1YS.js
244
+ dw/server/ui/assets/typescript-DJe7-fvZ.js
237
245
  dw/server/ui/assets/typespec-B8J7ngcE.js
238
246
  dw/server/ui/assets/vb-DV3o63ZY.js
239
247
  dw/server/ui/assets/wgsl-DpFanUEy.js
240
- dw/server/ui/assets/workers-C91O0to6.js
241
- dw/server/ui/assets/xml-DmIqin7X.js
242
- dw/server/ui/assets/yaml-BQg2lXI1.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
243
251
  dw/tasks/assess.py
244
252
  dw/tasks/audio_dynamics.py
245
253
  dw/tasks/audio_transcription.py
@@ -254,6 +262,8 @@ dw/tasks/dissolve_videos.py
254
262
  dw/tasks/format_messages.py
255
263
  dw/tasks/gather.py
256
264
  dw/tasks/grade.py
265
+ dw/tasks/h3_latent_upscale.py
266
+ dw/tasks/h3_latent_upscaler_model.py
257
267
  dw/tasks/image_to_text.py
258
268
  dw/tasks/image_utils.py
259
269
  dw/tasks/interpolate_frames.py
@@ -286,9 +296,11 @@ dw_mcp/assets.py
286
296
  dw_mcp/authoring.py
287
297
  dw_mcp/catalog.py
288
298
  dw_mcp/client.py
299
+ dw_mcp/confine.py
289
300
  dw_mcp/diagnose.py
290
301
  dw_mcp/exports.py
291
302
  dw_mcp/guides.py
303
+ dw_mcp/loras.py
292
304
  dw_mcp/media.py
293
305
  dw_mcp/models.py
294
306
  dw_mcp/prompts.py
@@ -299,8 +311,10 @@ dw_mcp/tools_jobs.py
299
311
  dw_mcp/tools_media.py
300
312
  dw_mcp/workspaces.py
301
313
  tests/test_admission.py
314
+ tests/test_api_contract.py
302
315
  tests/test_arch_metrics.py
303
316
  tests/test_arch_report.py
317
+ tests/test_architecture_map.py
304
318
  tests/test_argument_updates.py
305
319
  tests/test_arguments.py
306
320
  tests/test_assemble_and_score_target_lufs.py
@@ -315,6 +329,7 @@ tests/test_cache_blocks.py
315
329
  tests/test_catalog_shape.py
316
330
  tests/test_catalog_structure.py
317
331
  tests/test_chain.py
332
+ tests/test_ci_config.py
318
333
  tests/test_cli.py
319
334
  tests/test_component_name_errors.py
320
335
  tests/test_component_pruning.py
@@ -344,7 +359,9 @@ tests/test_gather.py
344
359
  tests/test_grade.py
345
360
  tests/test_h3_adapters.py
346
361
  tests/test_h3_context_ir.py
362
+ tests/test_h3_latent_upscale.py
347
363
  tests/test_h3_schedule.py
364
+ tests/test_h3_upscaler_source.py
348
365
  tests/test_h3_vram_ceiling.py
349
366
  tests/test_hf_placement.py
350
367
  tests/test_host_memory.py
@@ -368,7 +385,10 @@ tests/test_library_sources.py
368
385
  tests/test_list_images.py
369
386
  tests/test_locations.py
370
387
  tests/test_lora_alpha.py
388
+ tests/test_lora_catalog.py
371
389
  tests/test_lora_disable.py
390
+ tests/test_lora_hub.py
391
+ tests/test_lora_library.py
372
392
  tests/test_ltx2_diffusion_decode.py
373
393
  tests/test_ltx2_extend_clip.py
374
394
  tests/test_ltx2_ic_loras.py
@@ -377,14 +397,17 @@ tests/test_mcp_assets.py
377
397
  tests/test_mcp_authoring.py
378
398
  tests/test_mcp_catalog.py
379
399
  tests/test_mcp_client.py
400
+ tests/test_mcp_confine.py
380
401
  tests/test_mcp_diagnose.py
381
402
  tests/test_mcp_exports.py
382
403
  tests/test_mcp_guides.py
404
+ tests/test_mcp_loras.py
383
405
  tests/test_mcp_main.py
384
406
  tests/test_mcp_media.py
385
407
  tests/test_mcp_models.py
386
408
  tests/test_mcp_prompts.py
387
409
  tests/test_mcp_server.py
410
+ tests/test_mcp_twins.py
388
411
  tests/test_mcp_workspaces.py
389
412
  tests/test_media_audio.py
390
413
  tests/test_media_frames.py
@@ -404,6 +427,7 @@ tests/test_output_references.py
404
427
  tests/test_pair_audio.py
405
428
  tests/test_pair_audio_fit.py
406
429
  tests/test_parallel_loading_default.py
430
+ tests/test_path_redaction.py
407
431
  tests/test_phase_events.py
408
432
  tests/test_pipeline_caching.py
409
433
  tests/test_pipeline_components.py
@@ -422,7 +446,7 @@ tests/test_realize.py
422
446
  tests/test_recenter_crop.py
423
447
  tests/test_reference_limits.py
424
448
  tests/test_reference_names.py
425
- tests/test_reference_sets.py
449
+ tests/test_reference_skip_sets.py
426
450
  tests/test_references.py
427
451
  tests/test_rerun_new_seed.py
428
452
  tests/test_resize_bucket.py
@@ -450,10 +474,12 @@ tests/test_server.py
450
474
  tests/test_server_assess.py
451
475
  tests/test_server_downloads.py
452
476
  tests/test_server_exports.py
477
+ tests/test_server_gallery_image.py
453
478
  tests/test_server_guides.py
454
479
  tests/test_server_info.py
455
480
  tests/test_server_jobs.py
456
481
  tests/test_server_library_path.py
482
+ tests/test_server_loras.py
457
483
  tests/test_server_mcp.py
458
484
  tests/test_server_workspaces.py
459
485
  tests/test_shaping_logs.py
@@ -465,6 +491,7 @@ tests/test_stabilize.py
465
491
  tests/test_step.py
466
492
  tests/test_step_cache.py
467
493
  tests/test_strip_exif_and_watermark.py
494
+ tests/test_sub_workflow_resolver.py
468
495
  tests/test_subfolders.py
469
496
  tests/test_task.py
470
497
  tests/test_task_discovery.py
@@ -477,6 +504,7 @@ tests/test_text_generation.py
477
504
  tests/test_text_sections.py
478
505
  tests/test_transcribe_audio.py
479
506
  tests/test_type_helpers.py
507
+ tests/test_ui_twins.py
480
508
  tests/test_updater.py
481
509
  tests/test_validate_arguments.py
482
510
  tests/test_validation.py
@@ -1,3 +1,12 @@
1
+ """diffusers-workflow: device detection and the startup that configures it.
2
+
3
+ The default torch device is deliberately never set. Diffusers loads weights
4
+ into system memory and then places them, onto the device or under offload
5
+ hooks; a default device of 'cuda' would build every module directly in VRAM
6
+ and run a large pipeline out of memory before any offload hook exists. Device
7
+ placement is explicit throughout dw.
8
+ """
9
+
1
10
  from .settings import resolve_path, load_settings
2
11
  from .log_setup import setup_logging
3
12
  import functools
@@ -53,9 +53,6 @@ MODEL_NAME_KEY = "model_name"
53
53
  WEIGHT_NAME_KEY = "weight_name"
54
54
  WORKFLOW_KEY = "workflow"
55
55
  FROM_PRETRAINED_KEY = "from_pretrained_arguments"
56
- # Values another pass resolves; one still spelled out here is not this
57
- # pass's complaint
58
- _UNRESOLVED_PREFIXES = references.UNRESOLVED
59
56
 
60
57
 
61
58
  def _trained_for(weight_name):
@@ -140,8 +137,10 @@ def _lora_problems(steps, source_indices, written=None, supplied=()):
140
137
  if not isinstance(lora, dict):
141
138
  continue
142
139
  weight_name = lora.get(WEIGHT_NAME_KEY)
143
- if not isinstance(weight_name, str) or weight_name.startswith(
144
- _UNRESOLVED_PREFIXES
140
+ # Values another pass resolves; one still spelled out here is not
141
+ # this pass's complaint
142
+ if not isinstance(weight_name, str) or references.is_ref(
143
+ references.UNRESOLVED, weight_name
145
144
  ):
146
145
  continue
147
146
  problem = _problem(workflow, weight_name)
@@ -180,9 +179,9 @@ def _path_for(written_steps, source, position, supplied, key=WEIGHT_NAME_KEY):
180
179
  return None
181
180
  entry = loras[position]
182
181
  reference = entry.get(key) if isinstance(entry, dict) else None
183
- if not isinstance(reference, str) or not reference.startswith(references.VARIABLE):
182
+ variable = references.ref_name(references.VARIABLE, reference)
183
+ if variable is None:
184
184
  return None
185
- variable = reference.removeprefix(references.VARIABLE)
186
185
  return f"arguments.{variable}" if variable in (supplied or ()) else None
187
186
 
188
187
 
@@ -135,7 +135,7 @@ def fetch_image(img_spec, base_dir=None):
135
135
  raise ValueError(f"Image specification must be a string, got {type(img_spec)}")
136
136
 
137
137
  # Skip cross-step and variable references — these are resolved later during execution
138
- if references.is_ref((references.PREVIOUS_RESULT, references.VARIABLE), img_spec):
138
+ if references.is_ref(references.LAZY_MEDIA, img_spec):
139
139
  logger.debug(f"Skipping deferred reference: {img_spec}")
140
140
  return img_spec
141
141
 
@@ -291,7 +291,7 @@ def fetch_video(video_spec, base_dir=None):
291
291
  )
292
292
 
293
293
  # Skip cross-step and variable references — these are resolved later during execution
294
- if references.is_ref((references.PREVIOUS_RESULT, references.VARIABLE), video_spec):
294
+ if references.is_ref(references.LAZY_MEDIA, video_spec):
295
295
  logger.debug(f"Skipping deferred reference: {video_spec}")
296
296
  return video_spec
297
297
 
@@ -14,7 +14,7 @@ from .type_helpers import (
14
14
  load_constant_from_name,
15
15
  has_method,
16
16
  )
17
- from .prompts import PROMPT_PREFIX, fetch_prompt
17
+ from .prompts import fetch_prompt
18
18
  from .assets import fetch_asset, is_asset_reference
19
19
  from .runs import fetch_output, is_output_reference
20
20
  from .argument_media import (
@@ -286,7 +286,7 @@ def is_constant_reference(value):
286
286
 
287
287
  def is_prompt_reference(value):
288
288
  """Whether a value references a stored prompt in the prompt library."""
289
- return references.is_ref(PROMPT_PREFIX, value)
289
+ return references.is_ref(references.PROMPT, value)
290
290
 
291
291
 
292
292
  def fetch_constant(reference):
@@ -312,7 +312,12 @@ def fetch_constant(reference):
312
312
  ValueError: If the name resolves to nothing, or to something callable
313
313
  InvalidInputError: If the name is not a dotted python name
314
314
  """
315
- name = validate_constant_name(reference.removeprefix(references.CONSTANT).strip())
315
+ name = references.ref_name(references.CONSTANT, reference)
316
+ if name is None:
317
+ # A bare name reads as written: callers guard with is_constant_reference,
318
+ # a direct caller need not
319
+ name = reference
320
+ name = validate_constant_name(name.strip())
316
321
 
317
322
  try:
318
323
  value = load_constant_from_name(name)
@@ -325,7 +330,7 @@ def fetch_constant(reference):
325
330
  if callable(value):
326
331
  raise ValueError(
327
332
  f"'{name}' is a {type(value).__name__}, not a constant - "
328
- f"'{references.CONSTANT}' reads a value, and a type is named with a "
333
+ f"'constant:' reads a value, and a type is named with a "
329
334
  f"'_type' argument instead"
330
335
  )
331
336
 
@@ -931,9 +936,7 @@ def _realize_lazy_frame_arguments(arguments, base_dir):
931
936
  video = arguments["video"]
932
937
  if is_path_reference(video) or isinstance(video, (list, dict)):
933
938
  video = resolve_path_references(video, base_dir)
934
- deferred = references.is_ref(
935
- (references.PREVIOUS_RESULT, references.VARIABLE), video
936
- )
939
+ deferred = references.is_ref(references.LAZY_MEDIA, video)
937
940
  url = isinstance(video, str) and (
938
941
  video.startswith("http://") or video.startswith("https://")
939
942
  )
@@ -26,9 +26,6 @@ from .workspace import ASSETS_SUBDIR, discover_library
26
26
 
27
27
  logger = logging.getLogger("dw")
28
28
 
29
- # The prefix marking a value as a reference to a stored asset
30
- ASSET_PREFIX = references.ASSET
31
-
32
29
  # The asset library of the run in progress. A server holds several
33
30
  # workspaces and each has its own assets, so this cannot be a process-wide
34
31
  # environment variable there the way the prompt library can - there is one
@@ -110,7 +107,12 @@ def resolve_asset_reference(reference, asset_dir=None, base_dir=None, library=No
110
107
  ValueError: If no file exists under that name in any directory on
111
108
  the search path
112
109
  """
113
- name = validate_asset_reference(reference.removeprefix(ASSET_PREFIX).strip())
110
+ name = references.ref_name(references.ASSET, reference)
111
+ if name is None:
112
+ # A bare name resolves as written: callers guard with is_asset_reference,
113
+ # a direct caller need not
114
+ name = reference
115
+ name = validate_asset_reference(name.strip())
114
116
  library = library or asset_library(asset_dir, base_dir)
115
117
  # Confined to the library it was found in: the name is joined onto a
116
118
  # directory, so the containment check is what makes a name a name
@@ -119,9 +121,12 @@ def resolve_asset_reference(reference, asset_dir=None, base_dir=None, library=No
119
121
  if found:
120
122
  logger.debug(f"Resolved {reference} to {found[0]}")
121
123
  return found[0]
122
- searched = ", ".join(root.root for root in library.roots())
124
+ # Named by origin, not directory: this message reaches API and MCP
125
+ # callers, and the roots are the server's filesystem layout
126
+ searched = ", ".join(dict.fromkeys(root.origin for root in library.roots()))
123
127
  raise ValueError(
124
- f"Asset '{name}' not found in {searched} - an 'asset:' reference "
128
+ f"Asset '{name}' not found in the asset library ({searched}) - an "
129
+ f"'asset:' reference "
125
130
  f"names a file in the asset library, with its extension, like "
126
131
  f"'asset:iris.jpg' or 'asset:gyre/frame_1.jpg'"
127
132
  )
@@ -67,11 +67,6 @@ LOSSY_AUDIO_CONTENT_TYPES = {
67
67
  # The only container encode_video writes - it always encodes h264 video
68
68
  MUXED_VIDEO_CONTENT_TYPE = "video/mp4"
69
69
 
70
- # Reference prefixes substitution resolves before this pass runs. One still
71
- # spelled out here is one nothing resolved, and that is the undeclared-
72
- # variable pass's complaint rather than a shape error
73
- _UNRESOLVED_PREFIXES = references.SUBSTITUTED
74
-
75
70
  # Result types a browser would run as a document on the UI origin
76
71
  REFUSED_ACTIVE_CONTENT_TYPES = frozenset({"text/html", "text/xml"})
77
72
 
@@ -143,7 +138,9 @@ def content_type_errors(workflow_definition, source_indices=None):
143
138
  if not isinstance(result, dict) or CONTENT_TYPE_KEY not in result:
144
139
  continue
145
140
  value = result[CONTENT_TYPE_KEY]
146
- if isinstance(value, str) and value.startswith(_UNRESOLVED_PREFIXES):
141
+ # A prefix substitution resolves before this pass: one still spelled
142
+ # out is the undeclared-variable pass's complaint, not a shape error
143
+ if references.is_ref(references.SUBSTITUTED, value):
147
144
  continue
148
145
  source = references.author_index(source_indices, index)
149
146
  name = step.get("name")