This repository has been archived on 2026-08-16. You can view files and clone it, but cannot push or open issues or pull requests.
ollie-kde/daemon/org.ollie.SessionManager.xml

147 lines
4.5 KiB
XML

<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node>
<interface name="org.ollie.SessionManager">
<!-- Session lifecycle -->
<method name="CreateSession">
<arg name="cwd" type="s" direction="in"/>
<arg name="backend" type="s" direction="in"/>
<arg name="model" type="s" direction="in"/>
<arg name="agent" type="s" direction="in"/>
<arg name="session_id" type="s" direction="out"/>
</method>
<method name="ListSessions">
<arg name="sessions" type="as" direction="out"/>
<!-- each entry: "id\tstate\tmodel\tagent" -->
</method>
<method name="KillSession">
<arg name="session_id" type="s" direction="in"/>
<arg name="success" type="b" direction="out"/>
</method>
<method name="RenameSession">
<arg name="session_id" type="s" direction="in"/>
<arg name="new_name" type="s" direction="in"/>
<arg name="success" type="b" direction="out"/>
</method>
<!-- Interaction -->
<method name="Submit">
<arg name="session_id" type="s" direction="in"/>
<arg name="prompt" type="s" direction="in"/>
<arg name="success" type="b" direction="out"/>
</method>
<method name="Interrupt">
<arg name="session_id" type="s" direction="in"/>
<arg name="success" type="b" direction="out"/>
</method>
<!-- State queries -->
<method name="GetState">
<arg name="session_id" type="s" direction="in"/>
<arg name="state" type="s" direction="out"/>
</method>
<method name="GetChat">
<arg name="session_id" type="s" direction="in"/>
<arg name="offset" type="x" direction="in"/>
<arg name="text" type="s" direction="out"/>
<arg name="new_offset" type="x" direction="out"/>
</method>
<method name="GetUsage">
<arg name="session_id" type="s" direction="in"/>
<arg name="usage" type="s" direction="out"/>
</method>
<method name="GetCost">
<arg name="session_id" type="s" direction="in"/>
<arg name="cost" type="s" direction="out"/>
</method>
<!-- Config -->
<method name="GetConfig">
<arg name="session_id" type="s" direction="in"/>
<arg name="config" type="s" direction="out"/>
<!-- key=value\n pairs -->
</method>
<method name="SetConfig">
<arg name="session_id" type="s" direction="in"/>
<arg name="key" type="s" direction="in"/>
<arg name="value" type="s" direction="in"/>
<arg name="success" type="b" direction="out"/>
</method>
<!-- Context -->
<method name="GetContext">
<arg name="session_id" type="s" direction="in"/>
<arg name="context" type="s" direction="out"/>
<!-- JSONL: one JSON message per line -->
</method>
<!-- Model/backend management -->
<method name="ListBackends">
<arg name="backends" type="as" direction="out"/>
</method>
<method name="ListModels">
<arg name="session_id" type="s" direction="in"/>
<arg name="models" type="as" direction="out"/>
</method>
<!-- Agents -->
<method name="ListAgents">
<arg name="agents" type="as" direction="out"/>
</method>
<!-- Peers -->
<method name="PeerAdd">
<arg name="session_id" type="s" direction="in"/>
<arg name="peer_id" type="s" direction="in"/>
<arg name="success" type="b" direction="out"/>
</method>
<method name="PeerRemove">
<arg name="session_id" type="s" direction="in"/>
<arg name="peer_id" type="s" direction="in"/>
<arg name="success" type="b" direction="out"/>
</method>
<method name="PeerList">
<arg name="session_id" type="s" direction="in"/>
<arg name="peers" type="as" direction="out"/>
</method>
<method name="PeerSubmit">
<arg name="session_id" type="s" direction="in"/>
<arg name="peer_id" type="s" direction="in"/>
<arg name="prompt" type="s" direction="in"/>
<arg name="success" type="b" direction="out"/>
</method>
<!-- Signals -->
<signal name="SessionCreated">
<arg name="session_id" type="s"/>
</signal>
<signal name="SessionKilled">
<arg name="session_id" type="s"/>
</signal>
<signal name="StateChanged">
<arg name="session_id" type="s"/>
<arg name="new_state" type="s"/>
</signal>
<signal name="ChatUpdated">
<arg name="session_id" type="s"/>
<arg name="offset" type="x"/>
<arg name="new_text" type="s"/>
</signal>
</interface>
</node>