/** * The one wave topic (T12682). * * A Lead listens on `epic-.wave-`, where `n` is the wave number * `cleo orchestrate waves ` prints (from 1). A spawned worker must * publish on exactly that topic. Workers used to be told * `epic-.wave-`, so a Lead never heard * them. Both sides now derive the topic here, from the same wave plan * ({@link planEpicWaves}). * * @task T12682 */ import type { DataAccessor } from '../store/data-accessor.js'; /** * The wave topic a Lead listens on and its workers publish to. * * @param epicId - Parent epic. * @param waveNumber - Wave number as `cleo orchestrate waves` prints it (from 1). * @returns `epic-.wave-`. * @task T12682 */ export declare function waveTopic(epicId: string, waveNumber: number): string; /** * The epic's coordination topic (orchestrator broadcasts). * * @param epicId - Parent epic. * @returns `epic-.coordination`. * @task T12682 */ export declare function coordinationTopic(epicId: string): string; /** * The wave a task belongs to in its epic's plan, or null when the task is not * scheduled (done, cancelled, or not a child of the epic). * * @param epicId - Parent epic. * @param taskId - Task to locate. * @param accessor - Task accessor. * @param cwd - Project root, for the ranking context's focus phase (T12501). * @returns The wave number `cleo orchestrate waves` prints for it, or null. * @task T12682 */ export declare function waveNumberOfTask(epicId: string, taskId: string, accessor: DataAccessor, cwd?: string): Promise; //# sourceMappingURL=wave-topic.d.ts.map