Callback contract for the Managed Agents control plane, so consumers can swap in
a mock client in tests. ReqManagedAgents.Client is the live implementation.
Summary
Types
Callbacks
@callback archive_agent(ReqManagedAgents.Client.t(), String.t()) :: result()
@callback archive_environment(ReqManagedAgents.Client.t(), String.t()) :: result()
@callback archive_session(ReqManagedAgents.Client.t(), String.t()) :: result()
@callback attach_file_to_session(ReqManagedAgents.Client.t(), String.t(), map()) :: result()
@callback create_agent(ReqManagedAgents.Client.t(), map()) :: result()
@callback create_environment(ReqManagedAgents.Client.t(), map()) :: result()
@callback create_session(ReqManagedAgents.Client.t(), map()) :: result()
@callback delete_session(ReqManagedAgents.Client.t(), String.t()) :: result()
@callback download_file(ReqManagedAgents.Client.t(), String.t()) :: {:ok, binary()} | {:error, term()}
@callback get_agent(ReqManagedAgents.Client.t(), String.t()) :: result()
@callback get_environment(ReqManagedAgents.Client.t(), String.t()) :: result()
@callback get_session(ReqManagedAgents.Client.t(), String.t()) :: result()
@callback list_agents(ReqManagedAgents.Client.t(), map()) :: result()
@callback list_all_events(ReqManagedAgents.Client.t(), String.t(), map()) :: {:ok, [map()]} | {:error, term()}
@callback list_environments(ReqManagedAgents.Client.t(), map()) :: result()
@callback list_events(ReqManagedAgents.Client.t(), String.t(), map()) :: result()
@callback list_sessions(ReqManagedAgents.Client.t(), map()) :: result()
@callback send_event(ReqManagedAgents.Client.t(), String.t(), map()) :: result()
@callback send_events(ReqManagedAgents.Client.t(), String.t(), [map()]) :: result()
@callback update_agent(ReqManagedAgents.Client.t(), String.t(), map()) :: result()
@callback upload_file(ReqManagedAgents.Client.t(), map()) :: result()