bobbai00 opened a new pull request, #6009:
URL: https://github.com/apache/texera/pull/6009
### What changes were proposed in this PR?
Restructures the per-operator summary the sync-execution backend returns and
the agent-service / frontend consume, for a leaner, consistent wire contract.
This is a focused re-do of #5927 cut directly from `main` (no foundation
stack): it changes only the execution result/error model and its consumers.
- Replace the flat `OperatorInfo` with `OperatorExecutionSummary`
(orthogonal sub-summaries: `state`, `errorMessages`, `resultSummary?`,
`consoleLogsSummary?`); rename `SyncExecutionResult` →
`WorkflowExecutionSummary`.
- `resultSummary.sampleTuples` is now `SampleRow[]` (`{ rowIndex, tuple }`)
instead of JSON rows with an embedded `__row_index__`; drop the table-shape
types (the agent derives input-port shapes from the DAG).
- Move `WorkflowFatalError` into `types/execution.ts` and reuse it for
per-operator errors — the same type the workflow-compiling service returns for
compilation errors, so compile and execution errors share one wire shape;
`api/compile-api.ts` re-exports it so its existing importers are unchanged.
- `errorMessages` / `errors` are non-optional (empty = none); drop
`compilationErrors`; collapse the console-message types and derive warnings
from `WARNING:`-titled messages.
- Operator results are still pulled on demand via `GET
/agents/:id/operator-results` (transport unchanged); that REST payload now
carries the canonical `OperatorExecutionSummary`, and the frontend maps it to
its flat display type (re-flattening `sampleTuples` so the display components
are unchanged).
Touches the Scala producer (`SyncExecutionResource`), the agent-service
consumers (`result-formatting`, `workflow-execution-tools`,
`workflow-result-state`, `server`), and the frontend mapping.
Representation/type-level; behavior preserved (input-port shape lines are now
derived rather than explicitly rendered).
### Any related issues, documentation, discussions?
Closes #5750
Part of #5747.
Supersedes #5927.
### How was this PR tested?
- agent-service: `tsc --noEmit` clean, `bun test` 110/110 pass, `prettier
--check` clean.
- The Scala producer (`SyncExecutionResource`) is unchanged from #5927,
which verified it via `sbt WorkflowExecutionService/compile` and a full-stack
end-to-end run (a Claude Haiku 4.5 agent built and executed a CSV workflow;
`/operator-results` returned the new shape — `resultSummary.sampleTuples: [{
rowIndex, tuple }]`, `errorMessages: []`).
### Was this PR authored or co-authored using generative AI tooling?
Generated-by: Claude Opus 4.8 (1M context)
--
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]