import type * as deadline from "@distilled.cloud/aws/deadline"; import type * as Effect from "effect/Effect"; import * as Binding from "../../Binding.ts"; import type { Queue } from "./Queue.ts"; /** * Runtime binding for `deadline:GetTask`. * * Reads a task's detail for a step in the bound {@link Queue} — run status, * parameters, retry count, latest session action. The queue's * `farmId`/`queueId` are injected from the binding. Provide the * implementation with `Effect.provide(AWS.Deadline.GetTaskHttp)`. * ### Monitoring Tasks * **Example:** Inspect A Task * ```typescript * // init — bind the operation to the queue * const getTask = yield* AWS.Deadline.GetTask(queue); * * // runtime * const task = yield* getTask({ jobId, stepId, taskId }); * ``` * * @binding */ export interface GetTask extends Binding.Service< GetTask, "AWS.Deadline.GetTask", ( queue: Queue, ) => Effect.Effect< ( request: Omit, ) => Effect.Effect > > {} export const GetTask = Binding.Service("AWS.Deadline.GetTask");