harn-modules 0.7.30

Cross-file module graph and import resolution utilities for Harn
Documentation
// std/waitpoints — typed aliases for durable waitpoint coordination.
//
// Import with: `import "std/waitpoints"`.

type WaitpointStatus = "open" | "completed" | "cancelled"

type WaitpointHandle = {
  id: string,
  status: WaitpointStatus,
  created_at: string,
  created_by: string | nil,
  completed_at: string | nil,
  completed_by: string | nil,
  cancelled_at: string | nil,
  cancelled_by: string | nil,
  reason: string | nil,
  metadata: dict,
}

type WaitpointWaitStatus = "completed" | "cancelled" | "timed_out" | "interrupted"

type WaitpointCreateOptions = {
  id?: string,
  by?: string,
  metadata?: dict,
}

type WaitpointSignalOptions = {
  by?: string,
  reason?: string,
}

type WaitpointWaitOptions = {
  timeout?: duration,
  wait_id?: string,
}

type WaitpointWaitResult = {
  wait_id: string,
  waitpoint_ids: list<string>,
  status: WaitpointWaitStatus,
  started_at: string,
  resolved_at: string,
  waitpoints: list<WaitpointHandle>,
  cancelled_waitpoint_id: string | nil,
  trace_id: string | nil,
  replay_of_event_id: string | nil,
  reason: string | nil,
}