dotfiles/app/lib/prymn/messaging.ex
Nikos Papadakis 59945bd2de
terminal
2024-02-02 20:53:52 +02:00

26 lines
855 B
Elixir

defmodule Prymn.Messaging do
@moduledoc """
The Prymn messaging system
"""
alias Prymn.Messaging
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)
end
end