Skip to content

Commit 3367331

Browse files
committed
feat(workflow): add workflow:name event for early name display
Add new workflow:name event type to display workflow name in TelemetryBar before workflow starts. This provides better visibility of the workflow name during the controller view phase.
1 parent 3d0807b commit 3367331

4 files changed

Lines changed: 20 additions & 0 deletions

File tree

src/cli/tui/routes/workflow/adapters/opentui.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,11 @@ export class OpenTUIAdapter extends BaseUIAdapter {
142142
this.actions.setWorkflowView(event.view)
143143
break
144144

145+
case "workflow:name":
146+
debug('[ADAPTER] workflow:name → name=%s', event.workflowName)
147+
this.actions.setWorkflowName(event.workflowName)
148+
break
149+
145150
// Agent events
146151
case "agent:added": {
147152
// Register with timer if starting as running or delegated

src/workflows/controller/view.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,9 @@ export async function runControllerView(
6565

6666
debug('[ControllerView] Starting controller view check');
6767

68+
// Set workflow name early so TelemetryBar shows it during controller view
69+
emitter.setWorkflowName(template.name);
70+
6871
// Check if template has controller definition
6972
if (!template.controller || !isControllerDefinition(template.controller)) {
7073
debug('[ControllerView] Template does not have controller definition, skipping');

src/workflows/events/emitter.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,17 @@ export class WorkflowEventEmitter {
106106
});
107107
}
108108

109+
/**
110+
* Emit workflow name (for early display before workflow:started)
111+
*/
112+
setWorkflowName(workflowName: string): void {
113+
debug('[Emitter] workflow:name name=%s', workflowName);
114+
this.bus.emit({
115+
type: 'workflow:name',
116+
workflowName,
117+
});
118+
}
119+
109120
// ─────────────────────────────────────────────────────────────────
110121
// Main Agents
111122
// ─────────────────────────────────────────────────────────────────

src/workflows/events/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ export type WorkflowEvent =
111111
| { type: 'triggered:added'; sourceAgentId: string; triggeredAgent: TriggeredAgentState }
112112

113113
// Workflow state events
114+
| { type: 'workflow:name'; workflowName: string }
114115
| { type: 'workflow:status'; status: WorkflowStatus }
115116
| { type: 'workflow:started'; workflowName: string; totalSteps: number }
116117
| { type: 'workflow:stopped'; reason?: string }

0 commit comments

Comments
 (0)