2024-02-01 15:34:26 +00:00
|
|
|
defmodule Prymn.Messaging do
|
|
|
|
@moduledoc """
|
|
|
|
The Prymn messaging system
|
|
|
|
"""
|
|
|
|
|
2024-02-02 18:53:52 +00:00
|
|
|
alias Prymn.Messaging
|
2024-02-01 15:34:26 +00:00
|
|
|
|
2024-02-02 18:53:52 +00:00
|
|
|
def open_terminal(agent_id) do
|
|
|
|
msg = Jason.encode!(%{"id" => "foo"})
|
|
|
|
:ok = Messaging.Connection.subscribe_to_agent(:nats1, agent_id, "terminal.foo.output")
|
|
|
|
:ok = Messaging.Connection.publish_to_agent(:nats1, agent_id, "open_terminal", msg)
|
|
|
|
end
|
|
|
|
|
|
|
|
def close_terminal(agent_id) do
|
|
|
|
:ok = Messaging.Connection.publish_to_agent(:nats1, agent_id, "terminal.foo.close")
|
|
|
|
end
|
|
|
|
|
|
|
|
def resize_terminal(agent_id, rows, cols) do
|
|
|
|
msg = Jason.encode!(%{"rows" => rows, "cols" => cols})
|
|
|
|
:ok = Messaging.Connection.publish_to_agent(:nats1, agent_id, "terminal.foo.resize", msg)
|
|
|
|
end
|
|
|
|
|
|
|
|
def send_terminal_input(agent_id, input) do
|
|
|
|
:ok = Messaging.Connection.publish_to_agent(:nats1, agent_id, "terminal.foo.input", input)
|
2024-02-01 15:34:26 +00:00
|
|
|
end
|
|
|
|
end
|