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:SearchTasks`. * * Searches the tasks of the bound {@link Queue} (optionally narrowed to one * `jobId`) with filter and sort expressions. The queue's * `farmId`/`queueIds: [queueId]` are injected from the binding. Provide the * implementation with `Effect.provide(AWS.Deadline.SearchTasksHttp)`. * ### Monitoring Tasks * **Example:** Page Through A Job's Tasks * ```typescript * // init — bind the operation to the queue * const searchTasks = yield* AWS.Deadline.SearchTasks(queue); * * // runtime * const { tasks, totalResults } = yield* searchTasks({ * itemOffset: 0, * jobId, * }); * ``` * * @binding */ export interface SearchTasks extends Binding.Service< SearchTasks, "AWS.Deadline.SearchTasks", ( queue: Queue, ) => Effect.Effect< ( request: Omit, ) => Effect.Effect > > {} export const SearchTasks = Binding.Service( "AWS.Deadline.SearchTasks", );