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.
- {diffusers_workflow-0.6.0/diffusers_workflow.egg-info → diffusers_workflow-0.8.0}/PKG-INFO +2 -2
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/README.md +1 -1
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0/diffusers_workflow.egg-info}/PKG-INFO +2 -2
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/diffusers_workflow.egg-info/SOURCES.txt +50 -22
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/__init__.py +9 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/adapter_compatibility.py +6 -7
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/argument_media.py +2 -2
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/arguments.py +10 -7
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/assets.py +11 -6
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/content_types.py +3 -6
- diffusers_workflow-0.8.0/dw/docs/ARCHITECTURE.md +172 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/LORAS.md +66 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/MCP.md +7 -4
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/RELEASING.md +155 -2
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/SECURITY.md +1 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/SERVER.md +29 -4
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/WORKFLOW_GUIDE.md +241 -1
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/WORKSPACES.md +6 -2
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/elision.py +1 -1
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/events.py +6 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/for_each.py +6 -4
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/introspection.py +5 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/kernel_availability.py +19 -3
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/library.py +79 -21
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/locations.py +54 -19
- diffusers_workflow-0.8.0/dw/lora_catalog.py +134 -0
- diffusers_workflow-0.8.0/dw/lora_catalog_schema.json +57 -0
- diffusers_workflow-0.8.0/dw/lora_hub.py +237 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/media.py +11 -5
- diffusers_workflow-0.8.0/dw/path_redaction.py +72 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/pipeline_processors/placement.py +7 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/plan.py +7 -11
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/previous_results.py +4 -1
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/probe_paths.py +4 -6
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/prompts.py +10 -20
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/realize.py +29 -23
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/reference_limits.py +3 -5
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/reference_names.py +25 -18
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/references.py +7 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/run.py +2 -2
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/runs.py +13 -6
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/security.py +20 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/admission.py +38 -19
- diffusers_workflow-0.8.0/dw/server/api_models.py +824 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/app.py +26 -1
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/assess.py +44 -1
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/catalog.py +8 -7
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/deps.py +21 -1
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/enhancers.py +3 -1
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/exports.py +5 -6
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/guides.py +1 -1
- diffusers_workflow-0.8.0/dw/server/inline_media.py +131 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/job_history.py +7 -1
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/jobs.py +24 -11
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/outputs.py +68 -7
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/routes/__init__.py +2 -1
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/routes/assets.py +26 -6
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/routes/files.py +3 -3
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/routes/gallery.py +28 -38
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/routes/jobs.py +112 -17
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/routes/library.py +138 -40
- diffusers_workflow-0.8.0/dw/server/routes/loras.py +275 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/routes/media.py +102 -19
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/routes/system.py +72 -17
- 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
- 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
- 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
- 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
- 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
- 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
- diffusers_workflow-0.8.0/dw/server/ui/assets/index-B6Ujrvuj.js +45 -0
- diffusers_workflow-0.8.0/dw/server/ui/assets/index-BChhQc7I.css +1 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/index.html +2 -2
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/settings.py +14 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/shots.py +11 -14
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/step_cache.py +3 -1
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/step_value_checks.py +3 -6
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/subfolders.py +10 -6
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/task_domains.py +1 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/audio_utils.py +15 -9
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/dissolve_videos.py +0 -1
- diffusers_workflow-0.8.0/dw/tasks/h3_latent_upscale.py +341 -0
- diffusers_workflow-0.8.0/dw/tasks/h3_latent_upscaler_model.py +274 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/joins.py +14 -11
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/loop_bed.py +9 -2
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/task.py +74 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/validation.py +15 -14
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/variable_constraints.py +15 -10
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/video_extensions.py +4 -6
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/vram_estimate.py +9 -8
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/worker.py +28 -4
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/workflow.py +20 -176
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/workflow_run.py +3 -4
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/workflow_schema.json +1 -1
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/workspace.py +5 -3
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/__init__.py +4 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/__main__.py +1 -1
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/assets.py +25 -82
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/authoring.py +5 -31
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/catalog.py +9 -23
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/client.py +75 -53
- diffusers_workflow-0.8.0/dw_mcp/confine.py +70 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/diagnose.py +32 -23
- diffusers_workflow-0.8.0/dw_mcp/loras.py +29 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/media.py +84 -254
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/server.py +12 -1
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/tools_authoring.py +37 -2
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/tools_catalog.py +2 -4
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/tools_media.py +4 -4
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/workspaces.py +17 -31
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/pyproject.toml +3 -1
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_admission.py +1 -1
- diffusers_workflow-0.8.0/tests/test_api_contract.py +597 -0
- diffusers_workflow-0.8.0/tests/test_arch_metrics.py +355 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_arch_report.py +20 -0
- diffusers_workflow-0.8.0/tests/test_architecture_map.py +172 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_arguments.py +8 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_assets.py +10 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_audio_utils.py +28 -0
- diffusers_workflow-0.8.0/tests/test_ci_config.py +26 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_concat_videos.py +16 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_dissolve_videos.py +11 -9
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_events.py +22 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_find_loop_bed.py +9 -0
- diffusers_workflow-0.8.0/tests/test_h3_latent_upscale.py +471 -0
- diffusers_workflow-0.8.0/tests/test_h3_upscaler_source.py +174 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_kernel_availability.py +33 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_library_sources.py +7 -2
- diffusers_workflow-0.8.0/tests/test_lora_catalog.py +265 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_lora_disable.py +7 -2
- diffusers_workflow-0.8.0/tests/test_lora_hub.py +326 -0
- diffusers_workflow-0.8.0/tests/test_lora_library.py +115 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_mcp_assets.py +34 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_mcp_authoring.py +10 -36
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_mcp_catalog.py +23 -23
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_mcp_client.py +65 -28
- diffusers_workflow-0.8.0/tests/test_mcp_confine.py +81 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_mcp_diagnose.py +24 -3
- diffusers_workflow-0.8.0/tests/test_mcp_loras.py +58 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_mcp_main.py +16 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_mcp_media.py +159 -325
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_mcp_server.py +47 -6
- diffusers_workflow-0.8.0/tests/test_mcp_twins.py +224 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_mcp_workspaces.py +31 -37
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_modular_output_properties.py +81 -2
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_output_references.py +8 -0
- diffusers_workflow-0.8.0/tests/test_path_redaction.py +57 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_prompt_references.py +3 -3
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_prompts.py +18 -2
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_realize.py +2 -1
- diffusers_workflow-0.8.0/tests/test_reference_skip_sets.py +108 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_references.py +30 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_runs.py +27 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_security_auth.py +13 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_security_decoder_bombs.py +39 -47
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_server.py +174 -2
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_server_assess.py +61 -0
- diffusers_workflow-0.8.0/tests/test_server_gallery_image.py +188 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_server_guides.py +19 -2
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_server_jobs.py +120 -1
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_server_library_path.py +66 -0
- diffusers_workflow-0.8.0/tests/test_server_loras.py +375 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_shot_span_preflight.py +2 -1
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_shots.py +1 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_slice_preflight.py +4 -1
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_step_cache.py +8 -4
- diffusers_workflow-0.8.0/tests/test_sub_workflow_resolver.py +243 -0
- diffusers_workflow-0.8.0/tests/test_ui_twins.py +302 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_validation.py +23 -8
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_vram_inheritance.py +5 -2
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_worker_execute.py +55 -17
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_workflow.py +6 -3
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_workflow_step_cache.py +9 -6
- diffusers_workflow-0.6.0/dw/server/ui/assets/index-3Vw6WAPW.css +0 -1
- diffusers_workflow-0.6.0/dw/server/ui/assets/index-J5rsq_M9.js +0 -43
- diffusers_workflow-0.6.0/tests/test_arch_metrics.py +0 -183
- diffusers_workflow-0.6.0/tests/test_reference_sets.py +0 -36
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/LICENSE +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/MANIFEST.in +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/diffusers_workflow.egg-info/dependency_links.txt +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/diffusers_workflow.egg-info/entry_points.txt +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/diffusers_workflow.egg-info/requires.txt +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/diffusers_workflow.egg-info/top_level.txt +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/argument_warnings.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/assessment_rules.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/audio_qc.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/cache_blocks.json +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/cache_blocks.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/community_pipelines/pipeline_flux_rf_inversion.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/dissolve_frame_errors.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/ACCELERATION.md +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/AGENT_LOOP.md +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/DEPENDENCIES.md +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/IP_ADAPTER.md +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/PROMPT_WEIGHTING.md +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/QUANTIZATION.md +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/RECIPES_24GB.md +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/REMOTE.md +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/SECURITY_QUICKREF.md +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/TASKS.md +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/TESTING.md +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/docs/WORKER_GUIDE.md +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/download_watch.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/dsp.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/host_memory.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/host_memory_projection.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/hub_cache.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/log_setup.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/media_frames.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/media_types.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/output_extraction.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/pipeline_ownership.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/pipeline_processors/adapters.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/pipeline_processors/chain.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/pipeline_processors/components.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/pipeline_processors/config_objects.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/pipeline_processors/pipeline.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/pipeline_processors/progress.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/pipeline_processors/remote.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/prompt_schema.json +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/prompt_weighting.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/result.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/scalar_result_validation.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/schema.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/serve.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/__init__.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/catalog_shape.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/http_security.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/job_record.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/mcp_mount.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/netinfo.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/observed_cost.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/sysinfo.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/abap-08VXUWAP.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/apex-BWPQTe0t.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/azcli-Bc_sGQ0U.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/bat-i0X4ZdIN.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/bicep-B5-_aFwp.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/cameligo-DMUM7wLl.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/clojure-Cm7r79vr.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/codicon-Brq4_Ui5.ttf +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/coffee-Ba7i2nA0.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/cpp-C7h46wYY.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/csharp-BKxtCVv1.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/csp-bTuwJoIa.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/css-DIMkf-bt.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/css.worker-B3ciXF_0.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/cypher-CVaqCwHa.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/dart-onAF5SnQ.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/dockerfile-DZFCIeNp.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/ecl-D05T4iGw.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/editor-jjEx9u7D.css +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/editor.worker-q-txB4vs.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/elixir-6RTg0lbw.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/flow9-C5_-GSwl.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/fsharp-C8Ef5oNN.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/go-C-y9NEjX.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/graphql-fmXr3nnJ.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/hcl-CpzslTdj.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/html.worker-C93Ht9o9.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/ini-sBoK_t0W.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/java-BEtHBSE6.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/json.worker-B2V3pomh.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/julia-Bri6UV-V.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/kotlin-BOotOW0E.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/less-B9JPFI3C.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/lexon-CfSJPG6W.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/lua-CsQS60Ue.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/m3-D-oSqn_W.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/markdown-Cimd5fb3.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/mips-CIPQ_RoX.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/monaco--ixms01u.css +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/msdax-DauUninz.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/mysql-SOo6toE5.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/objective-c-FvmIjYaQ.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/pascal-DrH0SRf2.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/pascaligo-D-ptJ9y-.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/perl-oz_6vUea.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/pgsql-DTj74zXo.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/php-nr791fC2.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/pla-CopQ2nXW.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/postiats-43DmfD33.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/powerquery-D3hlyOfw.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/powershell-DmHpPYUd.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/protobuf-C531GsRP.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/pug-Z5eAx3Zn.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/qsharp-DkqhCAOL.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/r-BwWrilGY.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/redis-ClamHrr6.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/redshift-DT7zqm-g.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/restructuredtext-BYgofb2h.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/ruby-DezsRK8O.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/rust-DdL9SqIa.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/sb-CcwsVR0C.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/scala-DHpiXF5c.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/scheme-BeGwcela.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/scss-gp-XZpBa.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/shell-CC2rA5mh.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/solidity-BEEn4gHE.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/sophia-CRfGWb83.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/sparql-D_Lu-MrJ.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/sql-NEE52Syq.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/st-DbInun42.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/swift-Bxkupp3x.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/systemverilog-Bz4Y3fRF.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/tcl-DISqw1ZD.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/ts.worker-D7T1-Ig5.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/twig-De2hgUGE.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/typespec-B8J7ngcE.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/vb-DV3o63ZY.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/ui/assets/wgsl-DpFanUEy.js +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/server/updater.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/shot_span_preflight.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/slice_preflight.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/step.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/assess.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/audio_dynamics.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/audio_transcription.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/background_remover.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/borders.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/compose_text.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/concat_videos.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/depth_estimator.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/diffusion_upscale.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/format_messages.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/gather.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/grade.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/image_to_text.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/image_utils.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/interpolate_frames.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/join_into_song.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/judge.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/model_cache.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/pair_audio.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/qr_code.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/restore_faces.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/rife_model.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/segment.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/select.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/speech_generation.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/stabilize.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/tensor_image.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/text_generation.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/text_sections.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/upscale.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/video_utils.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/voice_attribution.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/tasks/zoe_depth.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/test.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/trust.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/type_helpers.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/type_references.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/validate.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/variables.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/video_size_errors.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/vram_inheritance.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/worker_manager.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/worker_protocol.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/workflows/h3_context_ir.json +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/workflows/test.json +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw/writers.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/exports.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/guides.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/models.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/prompts.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/dw_mcp/tools_jobs.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/setup.cfg +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_argument_updates.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_assemble_and_score_target_lufs.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_assess.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_assessment_rules.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_attention_slicing.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_best_of_n_template.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_borders.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_cache_blocks.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_catalog_shape.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_catalog_structure.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_chain.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_cli.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_component_name_errors.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_component_pruning.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_component_type_errors.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_compose_text.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_config_objects.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_configuration_schema.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_content_types.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_depth_estimator.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_device.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_device_helpers.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_device_portability.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_dialogue_short_voices.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_diffusion_upscale.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_dissolve_frame_errors.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_docs_links.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_download_watch.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_dsp.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_elision.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_examples.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_for_each.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_gather.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_grade.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_h3_adapters.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_h3_context_ir.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_h3_schedule.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_h3_vram_ceiling.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_hf_placement.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_host_memory.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_host_memory_projection.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_hub_cache.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_image_to_text.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_image_utils.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_integration.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_interpolate_frames.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_introspection.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_job_history_wal.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_job_progress.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_job_warnings.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_jobs_listing.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_jobs_reused.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_join_into_song.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_judge.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_library_path.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_list_images.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_locations.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_lora_alpha.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_ltx2_diffusion_decode.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_ltx2_extend_clip.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_ltx2_ic_loras.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_ltx_prompt_library.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_mcp_exports.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_mcp_guides.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_mcp_models.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_mcp_prompts.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_media_audio.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_media_frames.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_media_info.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_media_layering.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_mix_audio.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_model_cache.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_modular_pipeline.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_modular_progress.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_mps_fallback_warning.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_mps_rope_precision.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_null_media.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_observed_cost.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_offload_placement.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_pair_audio.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_pair_audio_fit.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_parallel_loading_default.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_phase_events.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_pipeline_caching.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_pipeline_components.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_plan.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_plugin_skills.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_prepare_pipeline.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_previous_result_walker_parity.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_previous_results.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_prompt_library.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_prompt_parser.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_prompt_weighting.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_real_models.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_recenter_crop.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_reference_limits.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_reference_names.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_rerun_new_seed.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_resize_bucket.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_result.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_result_fps.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_result_output_naming.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_rule_parity.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_scalar_result_validation.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_scheduler_config.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_schema.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_security.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_security_input_caps.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_security_ssrf.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_security_symlinks.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_security_trust_gate.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_security_web_headers.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_segment.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_select.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_select_validation.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_serve_main.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_server_downloads.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_server_exports.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_server_info.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_server_mcp.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_server_workspaces.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_shaping_logs.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_speech_generation.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_stabilize.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_step.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_strip_exif_and_watermark.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_subfolders.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_task.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_task_discovery.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_task_domains.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_task_signature_errors.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_template_defaults.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_template_subfolders.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_tensor_image.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_text_generation.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_text_sections.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_transcribe_audio.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_type_helpers.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_updater.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_validate_arguments.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_variable_constraints.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_variables.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_video_extensions.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_video_size_errors.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_video_utils.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_voice_attribution.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_vram_estimate.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_worker.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_worker_job_peak_rss.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_worker_manager.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_worker_messages.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_workflow_snapshot.py +0 -0
- {diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/tests/test_workflow_trust.py +0 -0
- {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.
|
|
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
|
|
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
|
|
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.
|
|
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
|
|
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
|
|
{diffusers_workflow-0.6.0 → diffusers_workflow-0.8.0}/diffusers_workflow.egg-info/SOURCES.txt
RENAMED
|
@@ -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-
|
|
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-
|
|
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-
|
|
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-
|
|
180
|
+
dw/server/ui/assets/handlebars-8Sswqnxq.js
|
|
173
181
|
dw/server/ui/assets/hcl-CpzslTdj.js
|
|
174
|
-
dw/server/ui/assets/html-
|
|
182
|
+
dw/server/ui/assets/html-BYtYo7f1.js
|
|
175
183
|
dw/server/ui/assets/html.worker-C93Ht9o9.js
|
|
176
|
-
dw/server/ui/assets/htmlMode-
|
|
177
|
-
dw/server/ui/assets/index-
|
|
178
|
-
dw/server/ui/assets/index-
|
|
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-
|
|
189
|
+
dw/server/ui/assets/javascript-E4m083D3.js
|
|
182
190
|
dw/server/ui/assets/json.worker-B2V3pomh.js
|
|
183
|
-
dw/server/ui/assets/jsonMode
|
|
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-
|
|
189
|
-
dw/server/ui/assets/lspLanguageFeatures-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
242
|
+
dw/server/ui/assets/tsMode-B6BV7a76.js
|
|
235
243
|
dw/server/ui/assets/twig-De2hgUGE.js
|
|
236
|
-
dw/server/ui/assets/typescript-
|
|
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-
|
|
241
|
-
dw/server/ui/assets/xml-
|
|
242
|
-
dw/server/ui/assets/yaml-
|
|
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/
|
|
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
|
-
|
|
144
|
-
|
|
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
|
-
|
|
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(
|
|
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(
|
|
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
|
|
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(
|
|
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 =
|
|
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"'
|
|
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 =
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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")
|