Add WorkflowExecutionResult data transfer object
>>> [!note] Migrated issue <!-- Drupal.org comment --> <!-- Migrated from issue #3571279. --> Reported by: [joevagyok](https://www.drupal.org/user/2876343) >>> <h3>Summary</h3> <p>Add a <code>WorkflowExecutionResult</code> DTO class that encapsulates the result of a workflow execution, including status, session information, outputs, and timing data.</p> <h3>Business Value</h3> <ul> <li>Provides type-safe result handling for workflow execution</li> <li>Standardizes result format across all execution modes</li> <li>Enables clean error handling with status codes</li> <li>Supports serialization for queue storage and API responses</li> </ul> <h3>Status Constants</h3> <ul> <li><code>STATUS_COMPLETED</code>: Workflow finished successfully</li> <li><code>STATUS_RUNNING</code>: Workflow is currently executing</li> <li><code>STATUS_PENDING</code>: Workflow is queued or starting</li> <li><code>STATUS_FAILED</code>: Workflow execution failed</li> <li><code>STATUS_TIMEOUT</code>: Workflow exceeded timeout limit</li> </ul> <h3>Factory Methods</h3> <ul> <li><code>success()</code>: Create a successful completion result</li> <li><code>pending()</code>: Create a pending/async result</li> <li><code>running()</code>: Create a running status result</li> <li><code>failure()</code>: Create a failure result with error message</li> <li><code>timeout()</code>: Create a timeout result</li> </ul> <h3>Properties</h3> <ul> <li><code>success</code>: Boolean success indicator</li> <li><code>status</code>: Status string constant</li> <li><code>sessionId</code>: Playground session ID</li> <li><code>jobId</code>: Job ID if available</li> <li><code>outputs</code>: Workflow output data</li> <li><code>errorMessage</code>: Error details if failed</li> <li><code>executionTimeMs</code>: Execution duration in milliseconds</li> </ul>
issue