/** SDK-owned platform module. This implementation is maintained in goodvibes-sdk. */ import type { TriggerRecord } from '../../../triggers/types.js'; import type { ProcessNode } from '../types.js'; /** * Trigger-family TriggerRecord → ProcessNode. * * Distinct from adapters/trigger.ts, which adapts the workflow tool's * event→action TriggerDefinition. Both surface under the 'trigger' kind, a * consumer showing "a thing armed to fire" should not have to learn two * vocabularies, so the raw payload is tagged (see isWatcherTriggerRaw) and * every control path routes on that tag rather than on the kind alone. * * State mapping keeps the supervision story visible rather than flattening it: * idle → 'idle' armed, waiting for its next check * running → 'running'-ish: a supervised child or stream is live, so * 'executing-tool' is the honest fleet-shaped state * backoff → 'retrying' a failed check is walking the ladder * circuit-open → 'stalled' parked after its strikes ran out; NOT 'failed', * because the definition is intact and a reset resumes it * fired → 'done' a one-shot that delivered its payload * cancelled → 'killed' * failed → 'failed' */ export declare function adaptWatcherTrigger(record: TriggerRecord, now: number): ProcessNode; /** * Discriminates a trigger-family node from a workflow-trigger node. Both use * the 'trigger' kind, and routing a control verb to the wrong manager would * silently no-op, so every control path asks this rather than assuming. */ export declare function isWatcherTriggerRaw(raw: unknown): raw is { readonly watcherTrigger: TriggerRecord; }; //# sourceMappingURL=watcher-trigger.d.ts.map