feat(automate): make the pipeline builder fully multi-modal (#335)

* feat(shared): add outputModality to Tool metadata for crossing tools

* feat(shared): add modalityForExtension, toolInputModality, toolOutputModality

* fix(pipeline): route finalize and parent jobs to the pipeline's modality pool

* feat(automate): add ConvertAudioControls pipeline step (exemplar)

* feat(automate): add video tool settings controls to pipelines

* feat(automate): add audio tool settings controls to pipelines

* feat(automate): add document tool settings controls to pipelines

* feat(automate): add chart-maker settings control to pipelines

* feat(automate): warn on modality-incompatible pipeline steps

* feat(automate): add single-file download button for pipeline results

* refactor(automate): modality-aware icons, nav handler rename, mobile size bar

* test(pipeline): cover audio, document, file, and cross-modality chains

* i18n(automate): translate the modality-warning tooltip

* test(pipeline): gate media-pool routing assertion on ffmpeg availability
This commit is contained in:
SnapOtter
2026-06-24 00:21:41 +08:00
committed by GitHub
parent 35e18d8b79
commit a53038ed96
69 changed files with 3258 additions and 55 deletions
+3
View File
@@ -3223,6 +3223,9 @@ export const ru: TranslationKeys = {
noStepsHeading: "Шагов пока нет",
searchToolsPlaceholder: "Поиск инструментов...",
step: "Шаг",
modalityWarning: "Несоответствие модальности",
modalityWarningTooltip:
"Этот шаг ожидает {expected}, но получает {received}; он может завершиться ошибкой при запуске конвейера.",
},
nav: {
tools: "Инструменты",