Optionalcontext: JobStateif the job is created/deleted/created with the same key, the 'gid' ensures no stale messages (such as sleep delays) enter the workstream. Any message with a mismatched gid belongs to a prior job and can safely be ignored/dropped.
OptionalmsgGID: stringExecutes the 3-step Leg1 protocol for Category B activities (Leg1-only with children, e.g., Hook passthrough, Signal, Interrupt-another). Uses the incoming Leg1 message GUID as the GUID ledger key.
Step A: setState + notarizeLeg1Completion + step1 markers (transaction 1) Step B: publish children + step2 markers + setStatusAndCollateGuid (transaction 2) Step C: if edge → runJobCompletionTasks + step3 markers + finalize (transaction 3)
true if this transition caused the job to complete
Executes the 3-step Leg2 protocol using GUID ledger for crash-safe resume. Each step bundles durable writes with its concluding digit update in a single transaction.
true if this transition caused the job to complete
Extracts the job status from the last result of a transaction. Used by subclass Leg1 process methods for telemetry.
Extracts the thresholdHit value from transaction results. The setStatusAndCollateGuid result is the last item.
Optionaltransaction: ProviderTransactionOptionaltransaction: ProviderTransaction
Invokes another graph (sub-flow) and optionally waits for its completion. The
awaitactivity enables compositional workflows where one graph triggers another by publishing to itssubscribestopic, creating a parent-child relationship between flows.YAML Configuration
The
topicin the await activity must match thesubscribestopic of the child graph. Both graphs are defined in the same app YAML:Fire-and-Forget Mode
When
awaitis explicitly set tofalse, the activity starts the child flow but does not wait for its completion. The parent flow immediately continues. The child'sjob_idis returned as the output.Execution Model
Await is a Category A (duplex) activity:
process): Maps input data and publishes aStreamDataType.AWAITmessage to the engine stream. The engine starts the child flow.processEvent, inherited): Receives the child flow's final output, maps output data, and transitions to adjacent activities.See
AwaitActivity for the TypeScript interface