{"version":3,"file":"durable-orchestrations-api-DjADye2N.mjs","names":["options: StartAzureFunctionsOrchestrationOptions","requestOptions: RequestAzureFunctionsDurableTaskWebhookOptions","options: ListAzureFunctionsOrchestrationInstancesOptions","options: GetAzureFunctionsOrchestrationInstanceOptions","options: {\n    /** The ID of the orchestration instance. */\n    instanceId: string;\n  }","options: {\n    /** Filters the list of purged instances that were created at or after the given ISO8601 timestamp. */\n    createdTimeFrom: Date;\n    /** Optional parameter. When specified, filters the list of purged instances that were created at or before the given ISO8601 timestamp. */\n    createdTimeTo?: Date;\n    /** Optional parameter. When specified, filters the list of purged instances based on their runtime status. */\n    runtimeStatuses?: AzureFunctionsOrchestrationRuntimeStatus[];\n  }","options: {\n    /** The ID of the orchestration instance. */\n    instanceId: string;\n    /** The name of the event that the target orchestration instance is waiting on. */\n    eventName: string;\n    /** The JSON-formatted event payload. */\n    eventBody?: object;\n  }","options: AzureFunctionsOrchestrationInstanceActionOptions"],"sources":["../src/durable-orchestrations-api.ts"],"sourcesContent":["/**\n * @module\n * Helper utils to interact with Azure Functions Orchestrations.\n */\n\nimport {\n  type RequestAzureFunctionsDurableTaskWebhookOptions,\n  requestAzureFunctionsDurableTaskWebhookOrThrow,\n} from \"./durable-webhook.js\";\n\n/**\n * An object that contains all the functions for interacting with Azure Functions Durable Orchestrations.\n *\n * @throws Each method can throw an error if the operation fails.\n */\nexport const durableOrchestrations = {\n  /** Starts executing a new instance of the specified orchestrator function. */\n  start: startAzureFunctionsOrchestrationOrThrow,\n  /** List Azure Functions Orchestration Instances.  */\n  list: listAzureFunctionsOrchestrationInstancesOrThrow,\n  /** Gets the status of a specified orchestration instance. */\n  get: getAzureFunctionsOrchestrationInstanceOrThrow,\n  /** Deletes the history and related artifacts for a specified orchestration instance. */\n  purge: purgeAzureFunctionsOrchestrationInstanceOrThrow,\n  /** Delete the history and related artifacts for multiple instances within a task hub. */\n  purgeAll: purgeAzureFunctionsOrchestrationInstancesOrThrow,\n  /** ends an event notification message to a running orchestration instance. */\n  raiseEvent: raiseAzureFunctionsOrchestrationInstanceEventOrThrow,\n  /** Terminates a running orchestration instance. */\n  terminate: terminateAzureFunctionsOrchestrationInstanceOrThrow,\n  /** Suspend/pause Azure Functions Orchestration Instance . */\n  suspend: suspendAzureFunctionsOrchestrationInstanceOrThrow,\n  /** Resume Azure Functions Orchestration Instance. */\n  resume: resumeAzureFunctionsOrchestrationInstanceOrThrow,\n  /** Restores a failed orchestration instance into a running state by replaying the most recent failed operations. */\n  rewind: rewindAzureFunctionsOrchestrationInstanceOrThrow,\n};\n\n// Start Azure Functions Orchestration\n\n/**\n * Options for Starting an Azure Functions Orchestration.\n */\nexport type StartAzureFunctionsOrchestrationOptions = {\n  /**\n   * The name of the orchestrator function to start.\n   */\n  functionName: string;\n  /**\n   * Optional parameter. The ID of the orchestration instance.\n   * If not specified, the orchestrator function will start with a random instance ID.\n   */\n  instanceId?: string;\n  /**\n   * Optional. The JSON-formatted orchestrator function input.\n   */\n  input: unknown;\n};\nexport type StartAzureFunctionsOrchestrationResult = {\n  /** The ID of the orchestration instance. */\n  id: string;\n  /** The status URL of the orchestration instance. */\n  statusQueryGetUri: string;\n  /** The \"raise event\" URL of the orchestration instance. */\n  sendEventPostUri: string;\n  /** The \"terminate\" URL of the orchestration instance. */\n  terminatePostUri: string;\n  /** The \"purge history\" URL of the orchestration instance. */\n  purgeHistoryDeleteUri: string;\n  /** (preview) The \"rewind\" URL of the orchestration instance. */\n  rewindPostUri?: string;\n  /** The \"suspend\" URL of the orchestration instance. */\n  suspendPostUri: string;\n  /** The \"resume\" URL of the orchestration instance. */\n  resumePostUri: string;\n};\n/**\n * Starts executing a new instance of the specified orchestrator function.\n *\n * @see https://learn.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-http-api#start-orchestration\n *\n * The HTTP response is intended to be compatible with the Polling Consumer Pattern. It also includes the following notable response headers:\n * Location (The URL of the status endpoint) and Retry-After (The number of seconds to wait before polling again).\n */\nexport async function startAzureFunctionsOrchestrationOrThrow(\n  options: StartAzureFunctionsOrchestrationOptions,\n  requestOptions: RequestAzureFunctionsDurableTaskWebhookOptions\n): Promise<{\n  status: number;\n  result: StartAzureFunctionsOrchestrationResult;\n  headers: Headers;\n}> {\n  const { functionName, instanceId = \"\", input } = options;\n\n  if (!functionName) {\n    throw new Error(\"Orchestration function name is required.\");\n  }\n  if (!input) {\n    throw new Error(\"Orchestration input object is required.\");\n  }\n\n  const response = await requestAzureFunctionsDurableTaskWebhookOrThrow(\n    `orchestrators/${functionName}/${instanceId}`,\n    { ...requestOptions, body: JSON.stringify(input), method: \"POST\" }\n  );\n\n  return {\n    result: (await response.json()) as StartAzureFunctionsOrchestrationResult,\n    status: response.status,\n    headers: response.headers,\n  };\n}\n\n// List Azure Functions Orchestration Instances\n\n/**\n * Options for listing Azure Functions Orchestration Instances.\n */\nexport type ListAzureFunctionsOrchestrationInstancesOptions = {\n  /**\n   * Optional parameter. When specified, filters the list of returned instances that were created at or after the given ISO8601 timestamp.\n   */\n  createdTimeFrom?: Date;\n  /**\n   * Optional parameter. When specified, filters the list of returned instances that were created at or before the given ISO8601 timestamp.\n   */\n  createdTimeTo?: Date;\n  /**\n   * Optional parameter. When specified, filters the list of returned instances based on their runtime status. To see the list of possible runtime status values, see the Querying instances article.\n   */\n  runtimeStatuses?: AzureFunctionsOrchestrationRuntimeStatus[];\n  /**\n   * Optional parameter. When specified, filters the list of returned instances to include only instances whose instance ID starts with the specified prefix string.\n   */\n  instanceIdPrefix?: string;\n  /**\n   * Optional parameter. If set to true, the function outputs will be included in the orchestration execution history.\n   */\n  showHistoryOutput?: boolean;\n  /**\n   * Optional parameter. If set to false, the function input will not be included in the response payload.\n   * @default true\n   */\n  showInput?: boolean;\n\n  /**\n   * Optional parameter. When specified, limits the number of instances returned by the query.\n   */\n  top?: number;\n  /**\n   * Optional parameter. When specified, the continuation token for the next page of results.\n   * This token is returned in the response headers of the previous page of results.\n   */\n  continuationToken?: string;\n};\n/**\n * The result of listing Azure Functions Orchestration Instances.\n */\nexport type ListAzureFunctionsOrchestrationInstancesResult = {\n  /**\n   * The number of instances returned by the query.\n   */\n  top: number | null;\n  /**\n   * The continuation token for the next page of results.\n   * This token is returned in the response headers of the previous page of results.\n   */\n  continuationToken: string | null;\n  /**\n   * The list of Azure Functions Orchestration Instances.\n   */\n  instances: AzureFunctionsOrchestrationInstance[];\n};\n/**\n * List Azure Functions Orchestration Instances. They can be filtered by\n * created time, runtime status, instance ID prefix, and other parameters.\n *\n * @see https://learn.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-http-api#get-all-instances-status\n */\nexport async function listAzureFunctionsOrchestrationInstancesOrThrow(\n  options: ListAzureFunctionsOrchestrationInstancesOptions,\n  requestOptions: RequestAzureFunctionsDurableTaskWebhookOptions\n): Promise<ListAzureFunctionsOrchestrationInstancesResult> {\n  const {\n    createdTimeFrom,\n    createdTimeTo,\n    instanceIdPrefix,\n    runtimeStatuses,\n    showInput,\n    showHistoryOutput,\n    top,\n    continuationToken,\n  } = options;\n\n  const searchParams = new URLSearchParams();\n  if (createdTimeFrom) {\n    searchParams.set(\"createdTimeFrom\", createdTimeFrom.toISOString());\n  }\n  if (createdTimeTo) {\n    searchParams.set(\"createdTimeTo\", createdTimeTo.toISOString());\n  }\n  if (runtimeStatuses) {\n    searchParams.set(\"runtimeStatus\", runtimeStatuses.join(\",\"));\n  }\n  if (instanceIdPrefix) {\n    searchParams.set(\"instanceIdPrefix\", instanceIdPrefix);\n  }\n\n  searchParams.set(\"showInput\", showInput === false ? \"false\" : \"true\");\n  searchParams.set(\n    \"showHistoryOutput\",\n    showHistoryOutput === true ? \"true\" : \"false\"\n  );\n  searchParams.set(\"showOutput\", \"false\");\n\n  if (top) {\n    searchParams.set(\"top\", top.toString());\n  }\n\n  const continuationTokenHeader = \"x-ms-continuation-token\";\n  const headers = new Headers();\n  if (continuationToken) {\n    headers.set(continuationTokenHeader, continuationToken);\n  }\n\n  const response = await requestAzureFunctionsDurableTaskWebhookOrThrow(\n    `instances`,\n    { ...requestOptions, searchParams, headers }\n  );\n\n  const instances =\n    (await response.json()) as AzureFunctionsOrchestrationInstance[];\n\n  return {\n    instances,\n    top: top ?? null,\n    continuationToken: response.headers.get(continuationTokenHeader),\n  };\n}\n\n/** Request options for Query Azure Functions Orchestration Instance by instanceId. */\nexport type GetAzureFunctionsOrchestrationInstanceOptions = {\n  /**\n   * The ID of the orchestration instance.\n   */\n  instanceId: string;\n  /**\n   * Optional parameter. If set to true,\n   * the orchestration execution history will be included in the response payload.\n   */\n  showHistory?: boolean;\n  /**\n   * Optional parameter. If set to true,\n   * the function outputs will be included in the orchestration execution history.\n   */\n  showHistoryOutput?: boolean;\n  /**\n   * Optional parameter. If set to false,\n   * the function input will not be included in the response payload.\n   * @default true\n   */\n  showInput?: boolean;\n  /**\n   * Optional parameter. If set to true, this API will return an HTTP 500\n   * response instead of a 200 if the instance is in a failure state.\n   * This parameter is intended for automated status polling scenarios.\n   */\n  returnInternalServerErrorOnFailure?: boolean;\n};\n/**\n * Gets the status of a specified orchestration instance.\n *\n * @see https://learn.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-http-api#get-instance-status\n */\nexport async function getAzureFunctionsOrchestrationInstanceOrThrow(\n  options: GetAzureFunctionsOrchestrationInstanceOptions,\n  requestOptions: RequestAzureFunctionsDurableTaskWebhookOptions\n): Promise<{\n  instance: AzureFunctionsOrchestrationInstance;\n  status: number;\n  headers: Headers;\n}> {\n  const {\n    instanceId,\n    showHistory,\n    showHistoryOutput,\n    showInput,\n    returnInternalServerErrorOnFailure,\n  } = options;\n\n  if (!instanceId) {\n    throw new Error(\"Orchestration task instanceId is required.\");\n  }\n\n  const searchParams = new URLSearchParams();\n  if (showHistory) {\n    searchParams.set(\"showHistory\", \"true\");\n  }\n  if (showHistoryOutput) {\n    searchParams.set(\"showHistoryOutput\", \"true\");\n  }\n  if (showInput === false) {\n    searchParams.set(\"showInput\", \"false\");\n  }\n  if (returnInternalServerErrorOnFailure) {\n    searchParams.set(\"returnInternalServerErrorOnFailure\", \"true\");\n  }\n\n  const response = await requestAzureFunctionsDurableTaskWebhookOrThrow(\n    `instances/${instanceId}`,\n    { ...requestOptions, searchParams }\n  );\n\n  return {\n    instance: (await response.json()) as AzureFunctionsOrchestrationInstance,\n    status: response.status,\n    headers: response.headers,\n  };\n}\n\n// Purge Azure Functions Orchestration Instance\n\n/**\n * Deletes the history and related artifacts for a specified orchestration instance.\n */\nexport async function purgeAzureFunctionsOrchestrationInstanceOrThrow(\n  options: {\n    /** The ID of the orchestration instance. */\n    instanceId: string;\n  },\n  requestOptions: RequestAzureFunctionsDurableTaskWebhookOptions\n): Promise<boolean> {\n  const response = await requestAzureFunctionsDurableTaskWebhookOrThrow(\n    `instances/${options.instanceId}`,\n    { ...requestOptions, method: \"DELETE\" }\n  );\n  const data = (await response.json()) as { instancesDeleted: number };\n\n  return data.instancesDeleted > 0;\n}\n\n// Purge Azure Functions Orchestration Instances\n\n/**\n * Delete the history and related artifacts for multiple instances within a task hub\n *\n * @see https://learn.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-http-api#purge-multiple-instance-histories\n *\n * @returns The number of instances deleted.\n */\nexport async function purgeAzureFunctionsOrchestrationInstancesOrThrow(\n  options: {\n    /** Filters the list of purged instances that were created at or after the given ISO8601 timestamp. */\n    createdTimeFrom: Date;\n    /** Optional parameter. When specified, filters the list of purged instances that were created at or before the given ISO8601 timestamp. */\n    createdTimeTo?: Date;\n    /** Optional parameter. When specified, filters the list of purged instances based on their runtime status. */\n    runtimeStatuses?: AzureFunctionsOrchestrationRuntimeStatus[];\n  },\n  requestOptions: RequestAzureFunctionsDurableTaskWebhookOptions\n): Promise<number> {\n  const { createdTimeFrom, createdTimeTo, runtimeStatuses } = options;\n\n  const searchParams = new URLSearchParams();\n  searchParams.set(\"createdTimeFrom\", createdTimeFrom.toISOString());\n  if (createdTimeTo) {\n    searchParams.set(\"createdTimeTo\", createdTimeTo.toISOString());\n  }\n  if (runtimeStatuses) {\n    searchParams.set(\"runtimeStatus\", runtimeStatuses.join(\",\"));\n  }\n\n  const response = await requestAzureFunctionsDurableTaskWebhookOrThrow(\n    `instances`,\n    { ...requestOptions, method: \"DELETE\", searchParams }\n  );\n\n  const data = (await response.json()) as { instancesDeleted: number };\n\n  return data.instancesDeleted;\n}\n\n// Azure Functions Orchestration Instance Events\n\n/**\n * Sends an event notification message to a running orchestration instance.\n * Does not return a response.\n *\n * @see https://learn.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-http-api#raise-event\n */\nexport async function raiseAzureFunctionsOrchestrationInstanceEventOrThrow(\n  options: {\n    /** The ID of the orchestration instance. */\n    instanceId: string;\n    /** The name of the event that the target orchestration instance is waiting on. */\n    eventName: string;\n    /** The JSON-formatted event payload. */\n    eventBody?: object;\n  },\n  requestOptions: RequestAzureFunctionsDurableTaskWebhookOptions\n): Promise<void> {\n  const { instanceId, eventName, eventBody = {} } = options;\n\n  await requestAzureFunctionsDurableTaskWebhookOrThrow(\n    `instances/${instanceId}/raiseEvent/${eventName}`,\n    { ...requestOptions, method: \"POST\", body: JSON.stringify(eventBody) }\n  );\n\n  return;\n}\n\n/**\n * Terminates a running orchestration instance.\n * Does not return a response.\n *\n * @see https://learn.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-http-api#terminate-instance\n */\nexport async function terminateAzureFunctionsOrchestrationInstanceOrThrow(\n  options: AzureFunctionsOrchestrationInstanceActionOptions,\n  requestOptions: RequestAzureFunctionsDurableTaskWebhookOptions\n): Promise<void> {\n  const { instanceId, reason } = options;\n\n  await requestAzureFunctionsDurableTaskWebhookOrThrow(\n    `instances/${instanceId}/terminate`,\n    { ...requestOptions, method: \"POST\", searchParams: { reason } }\n  );\n\n  return;\n}\n\n/**\n * Suspend/pause Azure Functions Orchestration Instance .\n * Does not return a response.\n *\n * @see https://learn.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-http-api#suspend-instance\n */\nexport async function suspendAzureFunctionsOrchestrationInstanceOrThrow(\n  options: AzureFunctionsOrchestrationInstanceActionOptions,\n  requestOptions: RequestAzureFunctionsDurableTaskWebhookOptions\n): Promise<void> {\n  const { instanceId, reason } = options;\n\n  await requestAzureFunctionsDurableTaskWebhookOrThrow(\n    `instances/${instanceId}/suspend`,\n    { ...requestOptions, method: \"POST\", searchParams: { reason } }\n  );\n\n  return;\n}\n\n/**\n * Resume Azure Functions Orchestration Instance.\n * Does not return a response.\n *\n * @see https://learn.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-http-api#resume-instance\n */\nexport async function resumeAzureFunctionsOrchestrationInstanceOrThrow(\n  options: AzureFunctionsOrchestrationInstanceActionOptions,\n  requestOptions: RequestAzureFunctionsDurableTaskWebhookOptions\n): Promise<void> {\n  const { instanceId, reason } = options;\n\n  await requestAzureFunctionsDurableTaskWebhookOrThrow(\n    `instances/${instanceId}/resume`,\n    { ...requestOptions, method: \"POST\", searchParams: { reason } }\n  );\n\n  return;\n}\n\n/**\n * Restores a failed orchestration instance into a running state by replaying the most recent failed operations.\n * Does not return a response.\n *\n * @see https://learn.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-http-api#rewind-instance-preview\n */\nexport async function rewindAzureFunctionsOrchestrationInstanceOrThrow(\n  options: AzureFunctionsOrchestrationInstanceActionOptions,\n  requestOptions: RequestAzureFunctionsDurableTaskWebhookOptions\n): Promise<void> {\n  const { instanceId, reason } = options;\n\n  await requestAzureFunctionsDurableTaskWebhookOrThrow(\n    `instances/${instanceId}/resume`,\n    { ...requestOptions, method: \"POST\", searchParams: { reason } }\n  );\n\n  return;\n}\n\nexport type AzureFunctionsOrchestrationInstanceActionOptions = {\n  /** The ID of the orchestration instance. */\n  instanceId: string;\n  /** The reason for performing action the orchestration instance. */\n  reason: string;\n};\n\n/**\n * The Azure Functions Orchestration Instance.\n */\nexport type AzureFunctionsOrchestrationInstance<T = unknown> = {\n  /**\n   * The instance ID of the orchestration.\n   */\n  instanceId: string;\n  /**\n   * The name of the orchestration function.\n   */\n  name: string;\n  /**\n   * The current runtime status of the orchestration instance.\n   */\n  runtimeStatus: AzureFunctionsOrchestrationRuntimeStatus;\n  /**\n   * The input to the orchestration instance.\n   * This is the input that was passed to the orchestrator function when it was started.\n   */\n  input: null | object;\n  /**\n   * The output of the orchestration instance.\n   * This is the output that was returned by the orchestrator function when it completed.\n   */\n  output: T;\n  /**\n   * A field that can be used by orchestrator functions to store custom status information.\n   */\n  customStatus?: unknown;\n  /**\n   * ISO Timestamp of when the orchestration instance was created.\n   */\n  createdTime: string;\n  /**\n   * ISO Timestamp of when the orchestration instance was last updated.\n   */\n  lastUpdatedTime: string;\n  /**\n   * History events of the orchestration instance.\n   * Only available if `showHistory` is set to true in the query.\n   */\n  historyEvents?: AzureFunctionsOrchestrationInstanceHistoryEvent[];\n};\n\n/**\n * The history events of an orchestration instance.\n */\nexport type AzureFunctionsOrchestrationInstanceHistoryEvent =\n  | {\n      EventType: \"ExecutionStarted\";\n      Timestamp: string;\n      FunctionName: string;\n      Correlation?: null;\n      ParentTraceContext?: null;\n      ScheduledStartTime?: string | null;\n      Generation?: number;\n    }\n  | {\n      EventType: \"TaskCompleted\";\n      Timestamp: string;\n      FunctionName: string;\n      Result?: unknown;\n      ScheduledTime?: string | null;\n    }\n  | {\n      EventType: \"TaskFailed\";\n      Timestamp: string;\n      FunctionName: string;\n      Reason?: string;\n      Details?: string | null;\n      FailureDetails?: string | null;\n      ScheduledTime?: string | null;\n    }\n  | {\n      EventType: \"ExecutionCompleted\";\n      Timestamp: string;\n      FunctionName: string | undefined;\n      OrchestrationStatus: AzureFunctionsOrchestrationRuntimeStatus;\n      Result?: unknown;\n      FailureDetails?: null | string;\n    };\n\n/**\n * The runtime status of an orchestration instance (type).\n */\nexport type AzureFunctionsOrchestrationRuntimeStatus = Values<\n  typeof AzureFunctionsOrchestrationRuntimeStatuses\n>;\n\n/**\n * The runtime status of an orchestration instance.\n */\nexport const AzureFunctionsOrchestrationRuntimeStatuses = {\n  /** The orchestration instance has started running.*/\n  Running: \"Running\",\n  /** The orchestration instance has completed normally.*/\n  Completed: \"Completed\",\n  /** The orchestration instance has restarted itself with a new history. This is a transient state.*/\n  ContinuedAsNew: \"ContinuedAsNew\",\n  /** The orchestration instance failed with an error.*/\n  Failed: \"Failed\",\n  /** The orchestration was canceled gracefully.*/\n  Canceled: \"Canceled\",\n  /** The orchestration instance was stopped abruptly.*/\n  Terminated: \"Terminated\",\n  /** The orchestration instance has been scheduled but has not yet started running.*/\n  Pending: \"Pending\",\n  /** The orchestration instance has been suspended and may be resumed to running later.*/\n  Suspended: \"Suspended\",\n} as const;\n\ntype Values<T> = T extends Record<string, unknown> ? T[keyof T] : never;\n"],"mappings":"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"}