Documentation Index
Fetch the complete documentation index at: https://smithers.sh/llms.txt
Use this file to discover all available pages before exploring further.
import { WaitForEvent } from "smithers-orchestrator";
type WaitForEventProps = {
id: string;
event: string;
output: z.ZodObject | Table | string;
correlationId?: string;
outputSchema?: z.ZodObject;
timeoutMs?: number;
onTimeout?: "fail" | "skip" | "continue"; // default "fail"
async?: boolean; // unrelated downstream may proceed while pending
skipIf?: boolean;
dependsOn?: string[];
needs?: Record<string, string>;
label?: string;
meta?: Record<string, unknown>;
};
<Workflow name="deploy-watcher">
<Sequence>
<WaitForEvent
id="wait-deploy"
event="deploy.completed"
correlationId={ctx.input.deployId}
output={outputs.deployEvent}
outputSchema={deployPayload}
timeoutMs={600_000}
onTimeout="fail"
/>
<Task id="notify" output={outputs.summary} agent={notifier}>
The deploy finished. Summarize the result.
</Task>
</Sequence>
</Workflow>
Notes
- Push-based; for poll-based checks use
<Task> with a compute function.
- With
async, dependents via dependsOn/needs still block until payload arrives.
- Async waits increment
smithers_external_wait_async_pending{kind="event"} while pending.