ELin2025 opened a new issue, #5316:
URL: https://github.com/apache/texera/issues/5316

   ### Task Summary
   
   ### Task Summary
   
   ## Feature Summary
   
   The HuggingFace inference operator (#5041) is being landed as a sequence of 
focused PRs. The previous PR (#5314) registered custom formly field type 
components for the task selector, model browser, and audio upload — but they 
are not yet wired into the property editor. This issue activates those 
components and adds task-aware field visibility.
   
   Concretely, landing this would enable:
   
   - Remapping `modelId` to the `huggingface` formly type, rendering the task 
dropdown and model browser in the property editor
   - Remapping `imageInput` to `huggingface-image-upload` and `audioInput` to 
`huggingface-audio-upload`
   - Hiding the raw `task` schema field (selection is handled by the 
HuggingFace component)
   - Showing/hiding `promptColumn`, `imageInput`, `audioInput`, `systemPrompt`, 
`maxNewTokens`, `temperature`, `contextColumn`, `candidateLabels`, 
`sentencesColumn` based on the selected task
   - Custom validators for conditionally-required fields (e.g., image upload 
required for image tasks unless an input column is selected)
   - A task preview card showing media type, input/output flow, and description 
per task
   
   ## Proposed Solution or Design
   
   Modify:
   
   | File | Change |
   | --- | --- |
   | `operator-property-edit-frame.component.ts` | Remap `modelId`, 
`imageInput`, `audioInput` to custom formly types; hide `task` field; add 
formly expression functions for field visibility based on task; add task 
preview metadata map and getter; add custom validators for 
conditionally-required fields |
   | `operator-property-edit-frame.component.html` | Add task preview card with 
`ngSwitch` for video/image/audio/text media types |
   | `operator-property-edit-frame.component.scss` | Styles for the task 
preview card layout |
   | `operator-property-edit-frame.component.spec.ts` | Tests for task preview 
resolution (text, image, audio, video, unknown, empty task) |
   | `mock-operator-metadata.data.ts` | Add `mockHuggingFaceSchema` with all HF 
fields for test harness |
   | `mock-workflow-data.ts` | Add `mockHuggingFacePredicate` operator 
predicate for tests |
   
   Design constraints:
   
   - Field visibility uses formly `expressions.hide` functions that read the 
current task from the form control or model — not static configuration.
   - Custom validators (e.g., `requiredImageInput`, `requiredPromptColumn`) 
must return `true` (valid) when the field is not applicable to the current task.
   - The `task` field is hidden with `hide: true` since the HuggingFace 
component manages task selection — the raw text input must not be visible.
   - Task preview metadata is a static map keyed by task string — unknown tasks 
get a generic fallback card.
   
   References:
   
   - Parent issue: #5041
   - Stacked on: #5314 — this PR branches off the task selector and audio 
upload PR; it wires those registered components into the property editor so 
they become visible to the user.
   
   ## Impact / Priority
   
   (P2) Medium — this is the PR that makes the HuggingFace operator's custom UI 
visible in the property editor. Does not affect existing operators.
   
   ## Affected Area
   
   Frontend (Angular) — workspace property editor component.
   
   ### Task Type
   
   - [ ] Refactor / Cleanup
   - [ ] DevOps / Deployment / CI
   - [ ] Testing / QA
   - [ ] Documentation
   - [ ] Performance
   - [x] Other
   
   ### Task Type
   
   - [ ] Refactor / Cleanup
   - [ ] DevOps / Deployment / CI
   - [ ] Testing / QA
   - [ ] Documentation
   - [ ] Performance
   - [x] Other


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to