-module(gabsurd@sql). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/gabsurd/sql.gleam"). -export([create_queue/1, create_queue_decoder/0, create_queue_with_mode/2, create_queue_with_mode_decoder/0, drop_queue/1, drop_queue_decoder/0, list_queues_decoder/0, list_queues/0, get_queue_policy_decoder/0, get_queue_policy/1, set_queue_policy/2, set_queue_policy_decoder/0, spawn_task_decoder/0, spawn_task/4, claim_task_decoder/0, claim_task/4, complete_run/3, complete_run_decoder/0, schedule_run/3, schedule_run_decoder/0, fail_run/3, fail_run_decoder/0, fail_run_with_retry/4, fail_run_with_retry_decoder/0, retry_task_decoder/0, retry_task/3, cancel_task/2, cancel_task_decoder/0, get_task_result_decoder/0, get_task_result/2, set_task_checkpoint_state/6, set_task_checkpoint_state_decoder/0, get_task_checkpoint_state_decoder/0, get_task_checkpoint_state/4, get_task_checkpoint_states_decoder/0, get_task_checkpoint_states/3, await_event_decoder/0, await_event/6, emit_event/3, emit_event_decoder/0, extend_claim/3, extend_claim_decoder/0, cleanup_all_queues_decoder/0, cleanup_all_queues/1, cleanup_tasks_decoder/0, cleanup_tasks/3, cleanup_events_decoder/0, cleanup_events/3, get_schema_version_decoder/0, get_schema_version/0]). -export_type([create_queue/0, create_queue_with_mode/0, drop_queue/0, list_queues/0, get_queue_policy/0, set_queue_policy/0, spawn_task/0, claim_task/0, complete_run/0, schedule_run/0, fail_run/0, fail_run_with_retry/0, retry_task/0, cancel_task/0, get_task_result/0, set_task_checkpoint_state/0, get_task_checkpoint_state/0, get_task_checkpoint_states/0, await_event/0, emit_event/0, extend_claim/0, cleanup_all_queues/0, cleanup_tasks/0, cleanup_events/0, get_schema_version/0]). -if(?OTP_RELEASE >= 27). -define(MODULEDOC(Str), -moduledoc(Str)). -define(DOC(Str), -doc(Str)). -else. -define(MODULEDOC(Str), -compile([])). -define(DOC(Str), -compile([])). -endif. ?MODULEDOC( " Code generated by parrot. DO NOT EDIT.\n" "\n" ). -type create_queue() :: {create_queue, binary()}. -type create_queue_with_mode() :: {create_queue_with_mode, binary()}. -type drop_queue() :: {drop_queue, binary()}. -type list_queues() :: {list_queues, binary()}. -type get_queue_policy() :: {get_queue_policy, binary(), binary(), binary(), binary(), binary(), binary(), integer(), binary(), binary()}. -type set_queue_policy() :: {set_queue_policy, binary()}. -type spawn_task() :: {spawn_task, bitstring(), bitstring(), integer(), boolean()}. -type claim_task() :: {claim_task, bitstring(), bitstring(), integer(), binary(), binary(), binary(), integer(), binary(), binary(), binary()}. -type complete_run() :: {complete_run, binary()}. -type schedule_run() :: {schedule_run, binary()}. -type fail_run() :: {fail_run, binary()}. -type fail_run_with_retry() :: {fail_run_with_retry, binary()}. -type retry_task() :: {retry_task, bitstring(), bitstring(), integer(), boolean()}. -type cancel_task() :: {cancel_task, binary()}. -type get_task_result() :: {get_task_result, bitstring(), binary(), binary(), binary()}. -type set_task_checkpoint_state() :: {set_task_checkpoint_state, binary()}. -type get_task_checkpoint_state() :: {get_task_checkpoint_state, binary(), binary(), binary(), bitstring(), gleam@time@timestamp:timestamp()}. -type get_task_checkpoint_states() :: {get_task_checkpoint_states, binary(), binary(), binary(), bitstring(), gleam@time@timestamp:timestamp()}. -type await_event() :: {await_event, boolean(), binary()}. -type emit_event() :: {emit_event, binary()}. -type extend_claim() :: {extend_claim, binary()}. -type cleanup_all_queues() :: {cleanup_all_queues, binary(), integer(), integer()}. -type cleanup_tasks() :: {cleanup_tasks, integer()}. -type cleanup_events() :: {cleanup_events, integer()}. -type get_schema_version() :: {get_schema_version, binary()}. -file("src/gabsurd/sql.gleam", 12). -spec create_queue(binary()) -> {binary(), list(parrot@dev:param())}. create_queue(P_queue_name) -> Sql = <<" SELECT absurd.create_queue($1)::text"/utf8>>, {Sql, [{param_string, P_queue_name}]}. -file("src/gabsurd/sql.gleam", 20). -spec create_queue_decoder() -> gleam@dynamic@decode:decoder(create_queue()). create_queue_decoder() -> gleam@dynamic@decode:field( 0, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Col_0) -> gleam@dynamic@decode:success({create_queue, Col_0}) end ). -file("src/gabsurd/sql.gleam", 29). -spec create_queue_with_mode(binary(), binary()) -> {binary(), list(parrot@dev:param())}. create_queue_with_mode(P_queue_name, P_storage_mode) -> Sql = <<"SELECT absurd.create_queue($1, $2)::text"/utf8>>, {Sql, [{param_string, P_queue_name}, {param_string, P_storage_mode}]}. -file("src/gabsurd/sql.gleam", 37). -spec create_queue_with_mode_decoder() -> gleam@dynamic@decode:decoder(create_queue_with_mode()). create_queue_with_mode_decoder() -> gleam@dynamic@decode:field( 0, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Col_0) -> gleam@dynamic@decode:success({create_queue_with_mode, Col_0}) end ). -file("src/gabsurd/sql.gleam", 46). -spec drop_queue(binary()) -> {binary(), list(parrot@dev:param())}. drop_queue(P_queue_name) -> Sql = <<"SELECT absurd.drop_queue($1)::text"/utf8>>, {Sql, [{param_string, P_queue_name}]}. -file("src/gabsurd/sql.gleam", 51). -spec drop_queue_decoder() -> gleam@dynamic@decode:decoder(drop_queue()). drop_queue_decoder() -> gleam@dynamic@decode:field( 0, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Col_0) -> gleam@dynamic@decode:success({drop_queue, Col_0}) end ). -file("src/gabsurd/sql.gleam", 67). -spec list_queues_decoder() -> gleam@dynamic@decode:decoder(list_queues()). list_queues_decoder() -> gleam@dynamic@decode:field( 0, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Queue_name) -> gleam@dynamic@decode:success({list_queues, Queue_name}) end ). -file("src/gabsurd/sql.gleam", 60). -spec list_queues() -> {binary(), list(any()), gleam@dynamic@decode:decoder(list_queues())}. list_queues() -> Sql = <<"SELECT queue_name::text FROM absurd.list_queues()"/utf8>>, {Sql, [], list_queues_decoder()}. -file("src/gabsurd/sql.gleam", 102). -spec get_queue_policy_decoder() -> gleam@dynamic@decode:decoder(get_queue_policy()). get_queue_policy_decoder() -> gleam@dynamic@decode:field( 0, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Queue_name) -> gleam@dynamic@decode:field( 1, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Storage_mode) -> gleam@dynamic@decode:field( 2, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Default_partition) -> gleam@dynamic@decode:field( 3, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Partition_lookahead) -> gleam@dynamic@decode:field( 4, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Partition_lookback) -> gleam@dynamic@decode:field( 5, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Cleanup_ttl) -> gleam@dynamic@decode:field( 6, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Cleanup_limit) -> gleam@dynamic@decode:field( 7, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Detach_mode) -> gleam@dynamic@decode:field( 8, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun( Detach_min_age ) -> gleam@dynamic@decode:success( {get_queue_policy, Queue_name, Storage_mode, Default_partition, Partition_lookahead, Partition_lookback, Cleanup_ttl, Cleanup_limit, Detach_mode, Detach_min_age} ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/gabsurd/sql.gleam", 86). -spec get_queue_policy(binary()) -> {binary(), list(parrot@dev:param()), gleam@dynamic@decode:decoder(get_queue_policy())}. get_queue_policy(P_queue_name) -> Sql = <<"SELECT queue_name::text, storage_mode::text, default_partition::text, partition_lookahead::text, partition_lookback::text, cleanup_ttl::text, cleanup_limit::integer, detach_mode::text, detach_min_age::text FROM absurd.get_queue_policy($1)"/utf8>>, {Sql, [{param_string, P_queue_name}], get_queue_policy_decoder()}. -file("src/gabsurd/sql.gleam", 129). -spec set_queue_policy(binary(), binary()) -> {binary(), list(parrot@dev:param())}. set_queue_policy(P_queue_name, P_policy) -> Sql = <<"SELECT absurd.set_queue_policy($1, $2)::text"/utf8>>, {Sql, [{param_string, P_queue_name}, {param_string, P_policy}]}. -file("src/gabsurd/sql.gleam", 137). -spec set_queue_policy_decoder() -> gleam@dynamic@decode:decoder(set_queue_policy()). set_queue_policy_decoder() -> gleam@dynamic@decode:field( 0, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Col_0) -> gleam@dynamic@decode:success({set_queue_policy, Col_0}) end ). -file("src/gabsurd/sql.gleam", 172). -spec spawn_task_decoder() -> gleam@dynamic@decode:decoder(spawn_task()). spawn_task_decoder() -> gleam@dynamic@decode:field( 0, {decoder, fun gleam@dynamic@decode:decode_bit_array/1}, fun(Task_id) -> gleam@dynamic@decode:field( 1, {decoder, fun gleam@dynamic@decode:decode_bit_array/1}, fun(Run_id) -> gleam@dynamic@decode:field( 2, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Attempt) -> gleam@dynamic@decode:field( 3, parrot@dev:bool_decoder(), fun(Created) -> gleam@dynamic@decode:success( {spawn_task, Task_id, Run_id, Attempt, Created} ) end ) end ) end ) end ). -file("src/gabsurd/sql.gleam", 146). -spec spawn_task(binary(), binary(), binary(), binary()) -> {binary(), list(parrot@dev:param()), gleam@dynamic@decode:decoder(spawn_task())}. spawn_task(P_queue_name, P_task_name, P_params, P_options) -> Sql = <<" SELECT task_id::uuid, run_id::uuid, attempt::integer, created::boolean FROM absurd.spawn_task($1, $2, $3, $4)"/utf8>>, {Sql, [{param_string, P_queue_name}, {param_string, P_task_name}, {param_string, P_params}, {param_string, P_options}], spawn_task_decoder()}. -file("src/gabsurd/sql.gleam", 226). -spec claim_task_decoder() -> gleam@dynamic@decode:decoder(claim_task()). claim_task_decoder() -> gleam@dynamic@decode:field( 0, {decoder, fun gleam@dynamic@decode:decode_bit_array/1}, fun(Run_id) -> gleam@dynamic@decode:field( 1, {decoder, fun gleam@dynamic@decode:decode_bit_array/1}, fun(Task_id) -> gleam@dynamic@decode:field( 2, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Attempt) -> gleam@dynamic@decode:field( 3, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Task_name) -> gleam@dynamic@decode:field( 4, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Params) -> gleam@dynamic@decode:field( 5, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Retry_strategy) -> gleam@dynamic@decode:field( 6, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Max_attempts) -> gleam@dynamic@decode:field( 7, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Headers) -> gleam@dynamic@decode:field( 8, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun( Wake_event ) -> gleam@dynamic@decode:field( 9, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun( Event_payload ) -> gleam@dynamic@decode:success( {claim_task, Run_id, Task_id, Attempt, Task_name, Params, Retry_strategy, Max_attempts, Headers, Wake_event, Event_payload} ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("src/gabsurd/sql.gleam", 195). -spec claim_task(binary(), binary(), integer(), integer()) -> {binary(), list(parrot@dev:param()), gleam@dynamic@decode:decoder(claim_task())}. claim_task(P_queue_name, P_worker_id, P_claim_timeout, P_qty) -> Sql = <<"SELECT run_id::uuid, task_id::uuid, attempt::integer, task_name::text, params::text, COALESCE(retry_strategy, '{}')::text AS retry_strategy, COALESCE(max_attempts, 0)::integer AS max_attempts, COALESCE(headers, '{}')::text AS headers, COALESCE(wake_event, '')::text AS wake_event, COALESCE(event_payload, '{}')::text AS event_payload FROM absurd.claim_task($1, $2, $3, $4)"/utf8>>, {Sql, [{param_string, P_queue_name}, {param_string, P_worker_id}, {param_int, P_claim_timeout}, {param_int, P_qty}], claim_task_decoder()}. -file("src/gabsurd/sql.gleam", 255). -spec complete_run(binary(), bitstring(), binary()) -> {binary(), list(parrot@dev:param())}. complete_run(P_queue_name, P_run_id, P_state) -> Sql = <<"SELECT absurd.complete_run($1, $2, $3)::text"/utf8>>, {Sql, [{param_string, P_queue_name}, {param_bit_array, P_run_id}, {param_string, P_state}]}. -file("src/gabsurd/sql.gleam", 268). -spec complete_run_decoder() -> gleam@dynamic@decode:decoder(complete_run()). complete_run_decoder() -> gleam@dynamic@decode:field( 0, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Col_0) -> gleam@dynamic@decode:success({complete_run, Col_0}) end ). -file("src/gabsurd/sql.gleam", 277). -spec schedule_run(binary(), bitstring(), gleam@time@timestamp:timestamp()) -> {binary(), list(parrot@dev:param())}. schedule_run(P_queue_name, P_run_id, P_wake_at) -> Sql = <<"SELECT absurd.schedule_run($1, $2, $3)::text"/utf8>>, {Sql, [{param_string, P_queue_name}, {param_bit_array, P_run_id}, {param_timestamp, P_wake_at}]}. -file("src/gabsurd/sql.gleam", 290). -spec schedule_run_decoder() -> gleam@dynamic@decode:decoder(schedule_run()). schedule_run_decoder() -> gleam@dynamic@decode:field( 0, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Col_0) -> gleam@dynamic@decode:success({schedule_run, Col_0}) end ). -file("src/gabsurd/sql.gleam", 299). -spec fail_run(binary(), bitstring(), binary()) -> {binary(), list(parrot@dev:param())}. fail_run(P_queue_name, P_run_id, P_reason) -> Sql = <<"SELECT absurd.fail_run($1, $2, $3, NULL)::text"/utf8>>, {Sql, [{param_string, P_queue_name}, {param_bit_array, P_run_id}, {param_string, P_reason}]}. -file("src/gabsurd/sql.gleam", 312). -spec fail_run_decoder() -> gleam@dynamic@decode:decoder(fail_run()). fail_run_decoder() -> gleam@dynamic@decode:field( 0, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Col_0) -> gleam@dynamic@decode:success({fail_run, Col_0}) end ). -file("src/gabsurd/sql.gleam", 321). -spec fail_run_with_retry( binary(), bitstring(), binary(), gleam@time@timestamp:timestamp() ) -> {binary(), list(parrot@dev:param())}. fail_run_with_retry(P_queue_name, P_run_id, P_reason, P_retry_at) -> Sql = <<"SELECT absurd.fail_run($1, $2, $3, $4)::text"/utf8>>, {Sql, [{param_string, P_queue_name}, {param_bit_array, P_run_id}, {param_string, P_reason}, {param_timestamp, P_retry_at}]}. -file("src/gabsurd/sql.gleam", 336). -spec fail_run_with_retry_decoder() -> gleam@dynamic@decode:decoder(fail_run_with_retry()). fail_run_with_retry_decoder() -> gleam@dynamic@decode:field( 0, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Col_0) -> gleam@dynamic@decode:success({fail_run_with_retry, Col_0}) end ). -file("src/gabsurd/sql.gleam", 368). -spec retry_task_decoder() -> gleam@dynamic@decode:decoder(retry_task()). retry_task_decoder() -> gleam@dynamic@decode:field( 0, {decoder, fun gleam@dynamic@decode:decode_bit_array/1}, fun(Task_id) -> gleam@dynamic@decode:field( 1, {decoder, fun gleam@dynamic@decode:decode_bit_array/1}, fun(Run_id) -> gleam@dynamic@decode:field( 2, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Attempt) -> gleam@dynamic@decode:field( 3, parrot@dev:bool_decoder(), fun(Created) -> gleam@dynamic@decode:success( {retry_task, Task_id, Run_id, Attempt, Created} ) end ) end ) end ) end ). -file("src/gabsurd/sql.gleam", 345). -spec retry_task(binary(), bitstring(), binary()) -> {binary(), list(parrot@dev:param()), gleam@dynamic@decode:decoder(retry_task())}. retry_task(P_queue_name, P_task_id, P_options) -> Sql = <<"SELECT task_id::uuid, run_id::uuid, attempt::integer, created::boolean FROM absurd.retry_task($1, $2, $3)"/utf8>>, {Sql, [{param_string, P_queue_name}, {param_bit_array, P_task_id}, {param_string, P_options}], retry_task_decoder()}. -file("src/gabsurd/sql.gleam", 380). -spec cancel_task(binary(), bitstring()) -> {binary(), list(parrot@dev:param())}. cancel_task(P_queue_name, P_task_id) -> Sql = <<"SELECT absurd.cancel_task($1, $2)::text"/utf8>>, {Sql, [{param_string, P_queue_name}, {param_bit_array, P_task_id}]}. -file("src/gabsurd/sql.gleam", 388). -spec cancel_task_decoder() -> gleam@dynamic@decode:decoder(cancel_task()). cancel_task_decoder() -> gleam@dynamic@decode:field( 0, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Col_0) -> gleam@dynamic@decode:success({cancel_task, Col_0}) end ). -file("src/gabsurd/sql.gleam", 420). -spec get_task_result_decoder() -> gleam@dynamic@decode:decoder(get_task_result()). get_task_result_decoder() -> gleam@dynamic@decode:field( 0, {decoder, fun gleam@dynamic@decode:decode_bit_array/1}, fun(Task_id) -> gleam@dynamic@decode:field( 1, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(State) -> gleam@dynamic@decode:field( 2, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Result) -> gleam@dynamic@decode:field( 3, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Failure_reason) -> gleam@dynamic@decode:success( {get_task_result, Task_id, State, Result, Failure_reason} ) end ) end ) end ) end ). -file("src/gabsurd/sql.gleam", 402). -spec get_task_result(binary(), bitstring()) -> {binary(), list(parrot@dev:param()), gleam@dynamic@decode:decoder(get_task_result())}. get_task_result(P_queue_name, P_task_id) -> Sql = <<"SELECT task_id::uuid, state::text, COALESCE(result, '{}')::text AS result, COALESCE(failure_reason, '{}')::text AS failure_reason FROM absurd.get_task_result($1, $2)"/utf8>>, {Sql, [{param_string, P_queue_name}, {param_bit_array, P_task_id}], get_task_result_decoder()}. -file("src/gabsurd/sql.gleam", 432). -spec set_task_checkpoint_state( binary(), bitstring(), binary(), binary(), bitstring(), integer() ) -> {binary(), list(parrot@dev:param())}. set_task_checkpoint_state( P_queue_name, P_task_id, P_step_name, P_state, P_owner_run, P_extend_claim_by ) -> Sql = <<" SELECT absurd.set_task_checkpoint_state($1, $2, $3, $4, $5, $6)::text"/utf8>>, {Sql, [{param_string, P_queue_name}, {param_bit_array, P_task_id}, {param_string, P_step_name}, {param_string, P_state}, {param_bit_array, P_owner_run}, {param_int, P_extend_claim_by}]}. -file("src/gabsurd/sql.gleam", 453). -spec set_task_checkpoint_state_decoder() -> gleam@dynamic@decode:decoder(set_task_checkpoint_state()). set_task_checkpoint_state_decoder() -> gleam@dynamic@decode:field( 0, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Col_0) -> gleam@dynamic@decode:success({set_task_checkpoint_state, Col_0}) end ). -file("src/gabsurd/sql.gleam", 496). -spec get_task_checkpoint_state_decoder() -> gleam@dynamic@decode:decoder(get_task_checkpoint_state()). get_task_checkpoint_state_decoder() -> gleam@dynamic@decode:field( 0, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Checkpoint_name) -> gleam@dynamic@decode:field( 1, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(State) -> gleam@dynamic@decode:field( 2, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Status) -> gleam@dynamic@decode:field( 3, {decoder, fun gleam@dynamic@decode:decode_bit_array/1}, fun(Owner_run_id) -> gleam@dynamic@decode:field( 4, parrot@dev:datetime_decoder(), fun(Updated_at) -> gleam@dynamic@decode:success( {get_task_checkpoint_state, Checkpoint_name, State, Status, Owner_run_id, Updated_at} ) end ) end ) end ) end ) end ). -file("src/gabsurd/sql.gleam", 470). -spec get_task_checkpoint_state(binary(), bitstring(), binary(), boolean()) -> {binary(), list(parrot@dev:param()), gleam@dynamic@decode:decoder(get_task_checkpoint_state())}. get_task_checkpoint_state( P_queue_name, P_task_id, P_step_name, P_include_pending ) -> Sql = <<"SELECT checkpoint_name::text, COALESCE(state, '{}')::text AS state, status::text, COALESCE(owner_run_id, '00000000-0000-0000-0000-000000000000'::uuid)::uuid AS owner_run_id, updated_at::timestamp FROM absurd.get_task_checkpoint_state($1, $2, $3, $4)"/utf8>>, {Sql, [{param_string, P_queue_name}, {param_bit_array, P_task_id}, {param_string, P_step_name}, {param_bool, P_include_pending}], get_task_checkpoint_state_decoder()}. -file("src/gabsurd/sql.gleam", 547). -spec get_task_checkpoint_states_decoder() -> gleam@dynamic@decode:decoder(get_task_checkpoint_states()). get_task_checkpoint_states_decoder() -> gleam@dynamic@decode:field( 0, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Checkpoint_name) -> gleam@dynamic@decode:field( 1, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(State) -> gleam@dynamic@decode:field( 2, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Status) -> gleam@dynamic@decode:field( 3, {decoder, fun gleam@dynamic@decode:decode_bit_array/1}, fun(Owner_run_id) -> gleam@dynamic@decode:field( 4, parrot@dev:datetime_decoder(), fun(Updated_at) -> gleam@dynamic@decode:success( {get_task_checkpoint_states, Checkpoint_name, State, Status, Owner_run_id, Updated_at} ) end ) end ) end ) end ) end ). -file("src/gabsurd/sql.gleam", 523). -spec get_task_checkpoint_states(binary(), bitstring(), bitstring()) -> {binary(), list(parrot@dev:param()), gleam@dynamic@decode:decoder(get_task_checkpoint_states())}. get_task_checkpoint_states(P_queue_name, P_task_id, P_run_id) -> Sql = <<"SELECT checkpoint_name::text, COALESCE(state, '{}')::text AS state, status::text, COALESCE(owner_run_id, '00000000-0000-0000-0000-000000000000'::uuid)::uuid AS owner_run_id, updated_at::timestamp FROM absurd.get_task_checkpoint_states($1, $2, $3)"/utf8>>, {Sql, [{param_string, P_queue_name}, {param_bit_array, P_task_id}, {param_bit_array, P_run_id}], get_task_checkpoint_states_decoder()}. -file("src/gabsurd/sql.gleam", 596). -spec await_event_decoder() -> gleam@dynamic@decode:decoder(await_event()). await_event_decoder() -> gleam@dynamic@decode:field( 0, parrot@dev:bool_decoder(), fun(Should_suspend) -> gleam@dynamic@decode:field( 1, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Payload) -> gleam@dynamic@decode:success( {await_event, Should_suspend, Payload} ) end ) end ). -file("src/gabsurd/sql.gleam", 568). -spec await_event( binary(), bitstring(), bitstring(), binary(), binary(), integer() ) -> {binary(), list(parrot@dev:param()), gleam@dynamic@decode:decoder(await_event())}. await_event( P_queue_name, P_task_id, P_run_id, P_step_name, P_event_name, P_timeout ) -> Sql = <<" SELECT should_suspend::boolean, COALESCE(payload, '{}')::text AS payload FROM absurd.await_event($1, $2, $3, $4, $5, $6)"/utf8>>, {Sql, [{param_string, P_queue_name}, {param_bit_array, P_task_id}, {param_bit_array, P_run_id}, {param_string, P_step_name}, {param_string, P_event_name}, {param_int, P_timeout}], await_event_decoder()}. -file("src/gabsurd/sql.gleam", 606). -spec emit_event(binary(), binary(), binary()) -> {binary(), list(parrot@dev:param())}. emit_event(P_queue_name, P_event_name, P_payload) -> Sql = <<"SELECT absurd.emit_event($1, $2, $3)::text"/utf8>>, {Sql, [{param_string, P_queue_name}, {param_string, P_event_name}, {param_string, P_payload}]}. -file("src/gabsurd/sql.gleam", 619). -spec emit_event_decoder() -> gleam@dynamic@decode:decoder(emit_event()). emit_event_decoder() -> gleam@dynamic@decode:field( 0, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Col_0) -> gleam@dynamic@decode:success({emit_event, Col_0}) end ). -file("src/gabsurd/sql.gleam", 628). -spec extend_claim(binary(), bitstring(), integer()) -> {binary(), list(parrot@dev:param())}. extend_claim(P_queue_name, P_run_id, P_extend_by) -> Sql = <<" SELECT absurd.extend_claim($1, $2, $3)::text"/utf8>>, {Sql, [{param_string, P_queue_name}, {param_bit_array, P_run_id}, {param_int, P_extend_by}]}. -file("src/gabsurd/sql.gleam", 643). -spec extend_claim_decoder() -> gleam@dynamic@decode:decoder(extend_claim()). extend_claim_decoder() -> gleam@dynamic@decode:field( 0, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Col_0) -> gleam@dynamic@decode:success({extend_claim, Col_0}) end ). -file("src/gabsurd/sql.gleam", 663). -spec cleanup_all_queues_decoder() -> gleam@dynamic@decode:decoder(cleanup_all_queues()). cleanup_all_queues_decoder() -> gleam@dynamic@decode:field( 0, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Queue_name) -> gleam@dynamic@decode:field( 1, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Tasks_deleted) -> gleam@dynamic@decode:field( 2, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Events_deleted) -> gleam@dynamic@decode:success( {cleanup_all_queues, Queue_name, Tasks_deleted, Events_deleted} ) end ) end ) end ). -file("src/gabsurd/sql.gleam", 652). -spec cleanup_all_queues(binary()) -> {binary(), list(parrot@dev:param()), gleam@dynamic@decode:decoder(cleanup_all_queues())}. cleanup_all_queues(P_queue_name) -> Sql = <<" SELECT queue_name::text, tasks_deleted::integer, events_deleted::integer FROM absurd.cleanup_all_queues($1)"/utf8>>, {Sql, [{param_string, P_queue_name}], cleanup_all_queues_decoder()}. -file("src/gabsurd/sql.gleam", 693). -spec cleanup_tasks_decoder() -> gleam@dynamic@decode:decoder(cleanup_tasks()). cleanup_tasks_decoder() -> gleam@dynamic@decode:field( 0, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Cleanup_tasks) -> gleam@dynamic@decode:success({cleanup_tasks, Cleanup_tasks}) end ). -file("src/gabsurd/sql.gleam", 674). -spec cleanup_tasks(binary(), integer(), integer()) -> {binary(), list(parrot@dev:param()), gleam@dynamic@decode:decoder(cleanup_tasks())}. cleanup_tasks(P_queue_name, P_ttl_seconds, P_limit) -> Sql = <<"SELECT cleanup_tasks::integer FROM absurd.cleanup_tasks($1, $2, $3)"/utf8>>, {Sql, [{param_string, P_queue_name}, {param_int, P_ttl_seconds}, {param_int, P_limit}], cleanup_tasks_decoder()}. -file("src/gabsurd/sql.gleam", 721). -spec cleanup_events_decoder() -> gleam@dynamic@decode:decoder(cleanup_events()). cleanup_events_decoder() -> gleam@dynamic@decode:field( 0, {decoder, fun gleam@dynamic@decode:decode_int/1}, fun(Cleanup_events) -> gleam@dynamic@decode:success({cleanup_events, Cleanup_events}) end ). -file("src/gabsurd/sql.gleam", 702). -spec cleanup_events(binary(), integer(), integer()) -> {binary(), list(parrot@dev:param()), gleam@dynamic@decode:decoder(cleanup_events())}. cleanup_events(P_queue_name, P_ttl_seconds, P_limit) -> Sql = <<"SELECT cleanup_events::integer FROM absurd.cleanup_events($1, $2, $3)"/utf8>>, {Sql, [{param_string, P_queue_name}, {param_int, P_ttl_seconds}, {param_int, P_limit}], cleanup_events_decoder()}. -file("src/gabsurd/sql.gleam", 738). -spec get_schema_version_decoder() -> gleam@dynamic@decode:decoder(get_schema_version()). get_schema_version_decoder() -> gleam@dynamic@decode:field( 0, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Get_schema_version) -> gleam@dynamic@decode:success( {get_schema_version, Get_schema_version} ) end ). -file("src/gabsurd/sql.gleam", 730). -spec get_schema_version() -> {binary(), list(any()), gleam@dynamic@decode:decoder(get_schema_version())}. get_schema_version() -> Sql = <<" SELECT get_schema_version::text FROM absurd.get_schema_version()"/utf8>>, {Sql, [], get_schema_version_decoder()}.