ELin2025 opened a new pull request, #5566:
URL: https://github.com/apache/texera/pull/5566

   ### What changes were proposed in this PR?
   
   Add `HuggingFaceComponent`, a custom formly field type (`huggingface`) that 
provides:
   - A task dropdown listing all supported HuggingFace inference tasks (fetched 
from the Texera backend's `/huggingface/tasks` endpoint, with a static fallback 
list)
   - A paginated model list with client-side search, fetched from the Texera 
backend's `/huggingface/models` endpoint (which proxies HuggingFace Hub)
   - Per-task field state preservation — when switching tasks, previously 
entered values (modelId, promptColumn, etc.) are saved and restored
   
   This PR registers the component in `formly-config.ts` and declares it in 
`AppModule`. The component is not yet wired into the HuggingFace operator's 
property editor; the `jsonSchemaMapIntercept` mapping that routes the `modelId` 
field to this component is added in the follow-up property-editor PR (PR 7).
   
   ### Any related issues, documentation, discussions?
   
   - Tracking issue: https://github.com/apache/texera/issues/5314
   - Closes: https://github.com/apache/texera/issues/5314
   - Stacked on: PR tracked in issue #5292
   - Parent issue: https://github.com/apache/texera/issues/5041
   
   ### How was this PR tested?
   
   7 unit tests added in `hugging-face.component.spec.ts` covering:
   - Static task list is non-empty and contains expected tasks 
(text-generation, image tasks, audio tasks, QA/ranking tasks)
   - Task tags are unique
   - Cache invalidation does not throw
   
   Run with `ng test`.
   
   ### Was this PR authored or co-authored using generative AI tooling?
   
   Co-authored with Claude Opus 4.7


-- 
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