zyratlo opened a new issue, #5261:
URL: https://github.com/apache/texera/issues/5261
### Task Summary
Introduce the frontend orchestration service that sits between the upcoming
migration-tool UI and the lower layers — the LLM client
(`migration-tool-llm-client`) and the backend microservice
(`migration-tool-backend-notebook-migration-service`). Centralises model
lookup, the LLM-conversion lifecycle, the HTTP calls into the
notebook-migration microservice, and the in-memory cell↔operator mapping cache.
### Scope
Adds two files under
`frontend/src/app/workspace/service/notebook-migration/`:
- `notebook-migration.service.ts` (~195 lines) —
`NotebookMigrationService`, an Angular `providedIn: "root"` service exposing:
- `getAvailableModels()` (GETs the LiteLLM proxy's `/models`)
- `sendToAIGenerateWorkflow(notebook, modelType, apiKey)` (drives the
full `NotebookMigrationLLM` lifecycle — initialize → verify → convert → close —
and returns the resulting workflow + mapping content)
- `sendNotebookToJupyter(notebook)`, `getJupyterURL()`,
`getJupyterIframeURL()` (HTTP calls into the notebook-migration microservice)
- `storeNotebookAndMapping(wid, vid, mapping, notebook)` (microservice
persistence call)
- a small in-memory mapping cache (`hasMapping`, `getMapping`,
`setMapping`, `deleteMapping`) keyed by
`mapping_wid_<workflowId>`
- `notebook-migration.service.spec.ts` (~187 lines)
- `getAvailableModels` (success + error → empty array)
- `sendNotebookToJupyter` (success + error), both Jupyter URL getters
(success + null on failure)
- mapping cache (set/get + delete)
- `storeNotebookAndMapping`
### 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]