-module(aion_client@handle). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/aion_client/handle.gleam"). -export([new/3, signal_raw/3, signal/4, query_raw/4, 'query'/5, query_payload/3, cancel/2, describe/1, subscribe/2, with_run_id/2, run_id/1, workflow_id/1, target_run/2]). -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(" WorkflowHandle and per-workflow operations.\n"). -file("src/aion_client/handle.gleam", 11). -spec new(aion_client:client(), binary(), binary()) -> aion_client:workflow_handle(). new(Client, Workflow_id, Run_id) -> {workflow_handle, Client, Workflow_id, Run_id}. -file("src/aion_client/handle.gleam", 32). -spec signal_raw( aion_client:workflow_handle(), binary(), aion_client@payload:payload() ) -> {ok, nil} | {error, aion_client@error:error()}. signal_raw(Handle, Signal_name, Input) -> {workflow_handle, Client, Workflow_id, Run_id} = Handle, aion_client:signal_raw( Client, {signal_options, Workflow_id, {some, Run_id}, Signal_name}, Input ). -file("src/aion_client/handle.gleam", 23). -spec signal( aion_client:workflow_handle(), binary(), FNE, fun((FNE) -> gleam@json:json()) ) -> {ok, nil} | {error, aion_client@error:error()}. signal(Handle, Signal_name, Input, Encoder) -> signal_raw(Handle, Signal_name, aion_client@payload:encode(Input, Encoder)). -file("src/aion_client/handle.gleam", 63). -spec query_raw( aion_client:workflow_handle(), binary(), aion_client@payload:payload(), gleam@dynamic@decode:decoder(FNO) ) -> {ok, FNO} | {error, aion_client@error:error()}. query_raw(Handle, Query_name, Args, Decoder) -> {workflow_handle, Client, Workflow_id, Run_id} = Handle, aion_client:query_raw( Client, {query_options, Workflow_id, {some, Run_id}, Query_name}, Args, Decoder ). -file("src/aion_client/handle.gleam", 53). -spec 'query'( aion_client:workflow_handle(), binary(), FNJ, fun((FNJ) -> gleam@json:json()), gleam@dynamic@decode:decoder(FNK) ) -> {ok, FNK} | {error, aion_client@error:error()}. 'query'(Handle, Query_name, Args, Encoder, Decoder) -> query_raw( Handle, Query_name, aion_client@payload:encode(Args, Encoder), Decoder ). -file("src/aion_client/handle.gleam", 86). -spec query_payload( aion_client:workflow_handle(), binary(), aion_client@payload:payload() ) -> {ok, aion_client@payload:payload()} | {error, aion_client@error:error()}. query_payload(Handle, Query_name, Args) -> {workflow_handle, Client, Workflow_id, Run_id} = Handle, aion_client:query_payload( Client, {query_options, Workflow_id, {some, Run_id}, Query_name}, Args ). -file("src/aion_client/handle.gleam", 107). -spec cancel(aion_client:workflow_handle(), binary()) -> {ok, nil} | {error, aion_client@error:error()}. cancel(Handle, Reason) -> {workflow_handle, Client, Workflow_id, Run_id} = Handle, aion_client:cancel( Client, {cancel_options, Workflow_id, {some, Run_id}, Reason} ). -file("src/aion_client/handle.gleam", 126). -spec describe(aion_client:workflow_handle()) -> {ok, aion_client:workflow_description()} | {error, aion_client@error:error()}. describe(Handle) -> {workflow_handle, Client, Workflow_id, Run_id} = Handle, aion_client:describe( Client, {describe_options, Workflow_id, {some, Run_id}} ). -file("src/aion_client/handle.gleam", 140). -spec subscribe( aion_client:workflow_handle(), gleam@dynamic@decode:decoder(FNY) ) -> aion_client@stream:event_stream(FNY). subscribe(Handle, Decoder) -> aion_client@stream:subscribe(Handle, Decoder). -file("src/aion_client/handle.gleam", 147). -spec with_run_id(aion_client:workflow_handle(), binary()) -> aion_client:workflow_handle(). with_run_id(Handle, Run_id) -> {workflow_handle, Client, Workflow_id, _} = Handle, {workflow_handle, Client, Workflow_id, Run_id}. -file("src/aion_client/handle.gleam", 160). -spec run_id(aion_client:workflow_handle()) -> binary(). run_id(Handle) -> {workflow_handle, _, _, Run_id} = Handle, Run_id. -file("src/aion_client/handle.gleam", 165). -spec workflow_id(aion_client:workflow_handle()) -> binary(). workflow_id(Handle) -> {workflow_handle, _, Workflow_id, _} = Handle, Workflow_id. -file("src/aion_client/handle.gleam", 170). -spec target_run(gleam@option:option(binary()), aion_client:workflow_handle()) -> aion_client:workflow_handle(). target_run(Run_id, Handle) -> case Run_id of {some, Run_id@1} -> with_run_id(Handle, Run_id@1); none -> Handle end.