Py Access to Management

This commit is contained in:
Magnus Bender 2024-10-30 19:27:56 +01:00
parent cfe3dbd5bb
commit f2b9df7611
Signed by: bender
GPG Key ID: 5149A211831F2BD7
6 changed files with 393 additions and 292 deletions

View File

@ -18,22 +18,43 @@ if __name__ == "__main__":
m_request = ManagementRequest() m_request = ManagementRequest()
# get info from Management # get infos from Management
print( print(
# message number 12
m_request.get_message(count=12) m_request.get_message(count=12)
) )
print( print(
# first two messages of id "test"
m_request.list_messages(id="test", limit=2) m_request.list_messages(id="test", limit=2)
) )
print( print(
# count messages with id "test"
m_request.total_messages(id="test") m_request.total_messages(id="test")
) )
from ums.utils import AgentMessage, RiddleData, RiddleDataType, RiddleSolution from ums.utils import AgentMessage, Riddle, RiddleData, RiddleDataType, RiddleSolution
# send messages to management # send messages to management
# TODO # basic message
msg = AgentMessage(
id="example",
riddle=Riddle(context="Today is the 1. January 1970", question="What time is it?"),
data=[
RiddleData(
type=RiddleDataType.TEXT,
file_plain="./cv.txt" # make sure this file exists!
)
]
)
# disable some steps
msg.status.extract.required = False
msg.status.validate.required = False
print(
# send the message
m_request.send_message(msg)
)

View File

@ -59,22 +59,24 @@ class ManagementRequest():
If `allow_lazy` is active, the type checking (by pydantic) is less strict. If `allow_lazy` is active, the type checking (by pydantic) is less strict.
E.g. it does not require that all files in the data section of messages must exist on the file system. E.g. it does not require that all files in the data section of messages must exist on the file system.
""" """
self.allow_lazy = allow_lazy self._allow_lazy = allow_lazy
self.pydantic_context = { self._pydantic_context = {
"require_file_exists": not self.allow_lazy "require_file_exists": not self._allow_lazy
} }
@validate_call @validate_call
def get_message(self, count:int) -> MessageDbRow: def get_message(self, count:int) -> MessageDbRow:
""" """
Get a message (like a table row) from the management by using the `count`. Get a message (like a table row) from the management by using the `count`.
May raise `RequestException`.
""" """
row = self._get_request( row = self._get_request(
'list/single', 'list/single',
{"count": count} {"count": count}
) )
return MessageDbRow.model_validate( return MessageDbRow.model_validate(
row, context=self.pydantic_context row, context=self._pydantic_context
) )
@validate_call @validate_call
@ -87,6 +89,8 @@ class ManagementRequest():
""" """
Get the rows in the tables as list of messages. Get the rows in the tables as list of messages.
The arguments are used for filtering. The arguments are used for filtering.
May raise `RequestException`.
""" """
kwargs = locals().copy() kwargs = locals().copy()
@ -100,7 +104,7 @@ class ManagementRequest():
return [ return [
MessageDbRow.model_validate( MessageDbRow.model_validate(
row, context=self.pydantic_context row, context=self._pydantic_context
) for row in rows ) for row in rows
] ]
@ -112,6 +116,8 @@ class ManagementRequest():
) -> int: ) -> int:
""" """
Get the total number of rows in the tables matching the filters. Get the total number of rows in the tables matching the filters.
May raise `RequestException`.
""" """
kwargs = locals().copy() kwargs = locals().copy()
@ -135,20 +141,33 @@ class ManagementRequest():
raise RequestException(str(r.text)+"\n"+str(r.headers)) raise RequestException(str(r.text)+"\n"+str(r.headers))
@validate_call @validate_call
def send_message(self, ) -> AgentResponse: def send_message(self, message:AgentMessage) -> AgentResponse:
# TODO """
pass Send the `message` to the management and return the management's agent response.
(On error an agent response with error message).
def _post_request(self, message:AgentMessage) -> AgentResponse: """
# TODO try:
return AgentResponse.model_validate(
self._post_request(
"message",
message.model_dump_json()
)
)
except RequestException as e:
return AgentResponse(
count=-1,
error=True,
error_msg=str(e)
)
def _post_request(self, endpoint:str, data:Dict[str, Any]):
r = requests.post( r = requests.post(
"{}/message".format(self.url), "{}/{}".format(self.MANAGEMENT_URL, endpoint),
data=message.model_dump_json(), data=data,
headers={"accept" : "application/json", "content-type" : "application/json"} headers={"accept" : "application/json", "content-type" : "application/json"}
) )
if r.status_code == 200: if r.status_code == 200:
return AgentResponse.model_validate_json(r.text) return r.json()
else: else:
return AgentResponse(count=-1, error=True, error_msg=str(r.text)+str(r.headers)) return RequestException(str(r.text)+"\n"+str(r.headers))

File diff suppressed because one or more lines are too long

View File

@ -71,25 +71,46 @@
</span><span id="L-18"><a href="#L-18"><span class="linenos">18</span></a> </span><span id="L-18"><a href="#L-18"><span class="linenos">18</span></a>
</span><span id="L-19"><a href="#L-19"><span class="linenos">19</span></a> <span class="n">m_request</span> <span class="o">=</span> <span class="n">ManagementRequest</span><span class="p">()</span> </span><span id="L-19"><a href="#L-19"><span class="linenos">19</span></a> <span class="n">m_request</span> <span class="o">=</span> <span class="n">ManagementRequest</span><span class="p">()</span>
</span><span id="L-20"><a href="#L-20"><span class="linenos">20</span></a> </span><span id="L-20"><a href="#L-20"><span class="linenos">20</span></a>
</span><span id="L-21"><a href="#L-21"><span class="linenos">21</span></a> <span class="c1"># get info from Management</span> </span><span id="L-21"><a href="#L-21"><span class="linenos">21</span></a> <span class="c1"># get infos from Management</span>
</span><span id="L-22"><a href="#L-22"><span class="linenos">22</span></a> </span><span id="L-22"><a href="#L-22"><span class="linenos">22</span></a>
</span><span id="L-23"><a href="#L-23"><span class="linenos">23</span></a> <span class="nb">print</span><span class="p">(</span> </span><span id="L-23"><a href="#L-23"><span class="linenos">23</span></a> <span class="nb">print</span><span class="p">(</span>
</span><span id="L-24"><a href="#L-24"><span class="linenos">24</span></a> <span class="n">m_request</span><span class="o">.</span><span class="n">get_message</span><span class="p">(</span><span class="n">count</span><span class="o">=</span><span class="mi">12</span><span class="p">)</span> </span><span id="L-24"><a href="#L-24"><span class="linenos">24</span></a> <span class="c1"># message number 12</span>
</span><span id="L-25"><a href="#L-25"><span class="linenos">25</span></a> <span class="p">)</span> </span><span id="L-25"><a href="#L-25"><span class="linenos">25</span></a> <span class="n">m_request</span><span class="o">.</span><span class="n">get_message</span><span class="p">(</span><span class="n">count</span><span class="o">=</span><span class="mi">12</span><span class="p">)</span>
</span><span id="L-26"><a href="#L-26"><span class="linenos">26</span></a> </span><span id="L-26"><a href="#L-26"><span class="linenos">26</span></a> <span class="p">)</span>
</span><span id="L-27"><a href="#L-27"><span class="linenos">27</span></a> <span class="nb">print</span><span class="p">(</span> </span><span id="L-27"><a href="#L-27"><span class="linenos">27</span></a>
</span><span id="L-28"><a href="#L-28"><span class="linenos">28</span></a> <span class="n">m_request</span><span class="o">.</span><span class="n">list_messages</span><span class="p">(</span><span class="nb">id</span><span class="o">=</span><span class="s2">&quot;test&quot;</span><span class="p">,</span> <span class="n">limit</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span> </span><span id="L-28"><a href="#L-28"><span class="linenos">28</span></a> <span class="nb">print</span><span class="p">(</span>
</span><span id="L-29"><a href="#L-29"><span class="linenos">29</span></a> <span class="p">)</span> </span><span id="L-29"><a href="#L-29"><span class="linenos">29</span></a> <span class="c1"># first two messages of id &quot;test&quot;</span>
</span><span id="L-30"><a href="#L-30"><span class="linenos">30</span></a> </span><span id="L-30"><a href="#L-30"><span class="linenos">30</span></a> <span class="n">m_request</span><span class="o">.</span><span class="n">list_messages</span><span class="p">(</span><span class="nb">id</span><span class="o">=</span><span class="s2">&quot;test&quot;</span><span class="p">,</span> <span class="n">limit</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span>
</span><span id="L-31"><a href="#L-31"><span class="linenos">31</span></a> <span class="nb">print</span><span class="p">(</span> </span><span id="L-31"><a href="#L-31"><span class="linenos">31</span></a> <span class="p">)</span>
</span><span id="L-32"><a href="#L-32"><span class="linenos">32</span></a> <span class="n">m_request</span><span class="o">.</span><span class="n">total_messages</span><span class="p">(</span><span class="nb">id</span><span class="o">=</span><span class="s2">&quot;test&quot;</span><span class="p">)</span> </span><span id="L-32"><a href="#L-32"><span class="linenos">32</span></a>
</span><span id="L-33"><a href="#L-33"><span class="linenos">33</span></a> <span class="p">)</span> </span><span id="L-33"><a href="#L-33"><span class="linenos">33</span></a> <span class="nb">print</span><span class="p">(</span>
</span><span id="L-34"><a href="#L-34"><span class="linenos">34</span></a> </span><span id="L-34"><a href="#L-34"><span class="linenos">34</span></a> <span class="c1"># count messages with id &quot;test&quot;</span>
</span><span id="L-35"><a href="#L-35"><span class="linenos">35</span></a> <span class="kn">from</span> <span class="nn">ums.utils</span> <span class="kn">import</span> <span class="n">AgentMessage</span><span class="p">,</span> <span class="n">RiddleData</span><span class="p">,</span> <span class="n">RiddleDataType</span><span class="p">,</span> <span class="n">RiddleSolution</span> </span><span id="L-35"><a href="#L-35"><span class="linenos">35</span></a> <span class="n">m_request</span><span class="o">.</span><span class="n">total_messages</span><span class="p">(</span><span class="nb">id</span><span class="o">=</span><span class="s2">&quot;test&quot;</span><span class="p">)</span>
</span><span id="L-36"><a href="#L-36"><span class="linenos">36</span></a> </span><span id="L-36"><a href="#L-36"><span class="linenos">36</span></a> <span class="p">)</span>
</span><span id="L-37"><a href="#L-37"><span class="linenos">37</span></a> <span class="c1"># send messages to management</span> </span><span id="L-37"><a href="#L-37"><span class="linenos">37</span></a>
</span><span id="L-38"><a href="#L-38"><span class="linenos">38</span></a> </span><span id="L-38"><a href="#L-38"><span class="linenos">38</span></a> <span class="kn">from</span> <span class="nn">ums.utils</span> <span class="kn">import</span> <span class="n">AgentMessage</span><span class="p">,</span> <span class="n">Riddle</span><span class="p">,</span> <span class="n">RiddleData</span><span class="p">,</span> <span class="n">RiddleDataType</span><span class="p">,</span> <span class="n">RiddleSolution</span>
</span><span id="L-39"><a href="#L-39"><span class="linenos">39</span></a> <span class="c1"># TODO</span> </span><span id="L-39"><a href="#L-39"><span class="linenos">39</span></a>
</span><span id="L-40"><a href="#L-40"><span class="linenos">40</span></a> <span class="c1"># send messages to management</span>
</span><span id="L-41"><a href="#L-41"><span class="linenos">41</span></a>
</span><span id="L-42"><a href="#L-42"><span class="linenos">42</span></a> <span class="c1"># basic message</span>
</span><span id="L-43"><a href="#L-43"><span class="linenos">43</span></a> <span class="n">msg</span> <span class="o">=</span> <span class="n">AgentMessage</span><span class="p">(</span>
</span><span id="L-44"><a href="#L-44"><span class="linenos">44</span></a> <span class="nb">id</span><span class="o">=</span><span class="s2">&quot;example&quot;</span><span class="p">,</span>
</span><span id="L-45"><a href="#L-45"><span class="linenos">45</span></a> <span class="n">riddle</span><span class="o">=</span><span class="n">Riddle</span><span class="p">(</span><span class="n">context</span><span class="o">=</span><span class="s2">&quot;Today is the 1. January 1970&quot;</span><span class="p">,</span> <span class="n">question</span><span class="o">=</span><span class="s2">&quot;What time is it?&quot;</span><span class="p">),</span>
</span><span id="L-46"><a href="#L-46"><span class="linenos">46</span></a> <span class="n">data</span><span class="o">=</span><span class="p">[</span>
</span><span id="L-47"><a href="#L-47"><span class="linenos">47</span></a> <span class="n">RiddleData</span><span class="p">(</span>
</span><span id="L-48"><a href="#L-48"><span class="linenos">48</span></a> <span class="nb">type</span><span class="o">=</span><span class="n">RiddleDataType</span><span class="o">.</span><span class="n">TEXT</span><span class="p">,</span>
</span><span id="L-49"><a href="#L-49"><span class="linenos">49</span></a> <span class="n">file_plain</span><span class="o">=</span><span class="s2">&quot;./cv.txt&quot;</span> <span class="c1"># make sure this file exists!</span>
</span><span id="L-50"><a href="#L-50"><span class="linenos">50</span></a> <span class="p">)</span>
</span><span id="L-51"><a href="#L-51"><span class="linenos">51</span></a> <span class="p">]</span>
</span><span id="L-52"><a href="#L-52"><span class="linenos">52</span></a> <span class="p">)</span>
</span><span id="L-53"><a href="#L-53"><span class="linenos">53</span></a> <span class="c1"># disable some steps </span>
</span><span id="L-54"><a href="#L-54"><span class="linenos">54</span></a> <span class="n">msg</span><span class="o">.</span><span class="n">status</span><span class="o">.</span><span class="n">extract</span><span class="o">.</span><span class="n">required</span> <span class="o">=</span> <span class="kc">False</span>
</span><span id="L-55"><a href="#L-55"><span class="linenos">55</span></a> <span class="n">msg</span><span class="o">.</span><span class="n">status</span><span class="o">.</span><span class="n">validate</span><span class="o">.</span><span class="n">required</span> <span class="o">=</span> <span class="kc">False</span>
</span><span id="L-56"><a href="#L-56"><span class="linenos">56</span></a>
</span><span id="L-57"><a href="#L-57"><span class="linenos">57</span></a> <span class="nb">print</span><span class="p">(</span>
</span><span id="L-58"><a href="#L-58"><span class="linenos">58</span></a> <span class="c1"># send the message</span>
</span><span id="L-59"><a href="#L-59"><span class="linenos">59</span></a> <span class="n">m_request</span><span class="o">.</span><span class="n">send_message</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span>
</span><span id="L-60"><a href="#L-60"><span class="linenos">60</span></a> <span class="p">)</span>
</span></pre></div> </span></pre></div>

View File

@ -47,12 +47,6 @@
<li> <li>
<a class="variable" href="#ManagementRequest.MANAGEMENT_URL">MANAGEMENT_URL</a> <a class="variable" href="#ManagementRequest.MANAGEMENT_URL">MANAGEMENT_URL</a>
</li> </li>
<li>
<a class="variable" href="#ManagementRequest.allow_lazy">allow_lazy</a>
</li>
<li>
<a class="variable" href="#ManagementRequest.pydantic_context">pydantic_context</a>
</li>
<li> <li>
<a class="function" href="#ManagementRequest.get_message">get_message</a> <a class="function" href="#ManagementRequest.get_message">get_message</a>
</li> </li>
@ -174,99 +168,118 @@ Manually send messages (if necessary, the platforms should do this). </p>
</span><span id="L-59"><a href="#L-59"><span class="linenos"> 59</span></a><span class="sd"> If `allow_lazy` is active, the type checking (by pydantic) is less strict. </span> </span><span id="L-59"><a href="#L-59"><span class="linenos"> 59</span></a><span class="sd"> If `allow_lazy` is active, the type checking (by pydantic) is less strict. </span>
</span><span id="L-60"><a href="#L-60"><span class="linenos"> 60</span></a><span class="sd"> E.g. it does not require that all files in the data section of messages must exist on the file system.</span> </span><span id="L-60"><a href="#L-60"><span class="linenos"> 60</span></a><span class="sd"> E.g. it does not require that all files in the data section of messages must exist on the file system.</span>
</span><span id="L-61"><a href="#L-61"><span class="linenos"> 61</span></a><span class="sd"> &quot;&quot;&quot;</span> </span><span id="L-61"><a href="#L-61"><span class="linenos"> 61</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-62"><a href="#L-62"><span class="linenos"> 62</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">allow_lazy</span> <span class="o">=</span> <span class="n">allow_lazy</span> </span><span id="L-62"><a href="#L-62"><span class="linenos"> 62</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_allow_lazy</span> <span class="o">=</span> <span class="n">allow_lazy</span>
</span><span id="L-63"><a href="#L-63"><span class="linenos"> 63</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">pydantic_context</span> <span class="o">=</span> <span class="p">{</span> </span><span id="L-63"><a href="#L-63"><span class="linenos"> 63</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_pydantic_context</span> <span class="o">=</span> <span class="p">{</span>
</span><span id="L-64"><a href="#L-64"><span class="linenos"> 64</span></a> <span class="s2">&quot;require_file_exists&quot;</span><span class="p">:</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">allow_lazy</span> </span><span id="L-64"><a href="#L-64"><span class="linenos"> 64</span></a> <span class="s2">&quot;require_file_exists&quot;</span><span class="p">:</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_allow_lazy</span>
</span><span id="L-65"><a href="#L-65"><span class="linenos"> 65</span></a> <span class="p">}</span> </span><span id="L-65"><a href="#L-65"><span class="linenos"> 65</span></a> <span class="p">}</span>
</span><span id="L-66"><a href="#L-66"><span class="linenos"> 66</span></a> </span><span id="L-66"><a href="#L-66"><span class="linenos"> 66</span></a>
</span><span id="L-67"><a href="#L-67"><span class="linenos"> 67</span></a> <span class="nd">@validate_call</span> </span><span id="L-67"><a href="#L-67"><span class="linenos"> 67</span></a> <span class="nd">@validate_call</span>
</span><span id="L-68"><a href="#L-68"><span class="linenos"> 68</span></a> <span class="k">def</span> <span class="nf">get_message</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">count</span><span class="p">:</span><span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">MessageDbRow</span><span class="p">:</span> </span><span id="L-68"><a href="#L-68"><span class="linenos"> 68</span></a> <span class="k">def</span> <span class="nf">get_message</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">count</span><span class="p">:</span><span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">MessageDbRow</span><span class="p">:</span>
</span><span id="L-69"><a href="#L-69"><span class="linenos"> 69</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span> </span><span id="L-69"><a href="#L-69"><span class="linenos"> 69</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="L-70"><a href="#L-70"><span class="linenos"> 70</span></a><span class="sd"> Get a message (like a table row) from the management by using the `count`.</span> </span><span id="L-70"><a href="#L-70"><span class="linenos"> 70</span></a><span class="sd"> Get a message (like a table row) from the management by using the `count`.</span>
</span><span id="L-71"><a href="#L-71"><span class="linenos"> 71</span></a><span class="sd"> &quot;&quot;&quot;</span> </span><span id="L-71"><a href="#L-71"><span class="linenos"> 71</span></a>
</span><span id="L-72"><a href="#L-72"><span class="linenos"> 72</span></a> <span class="n">row</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_request</span><span class="p">(</span> </span><span id="L-72"><a href="#L-72"><span class="linenos"> 72</span></a><span class="sd"> May raise `RequestException`.</span>
</span><span id="L-73"><a href="#L-73"><span class="linenos"> 73</span></a> <span class="s1">&#39;list/single&#39;</span><span class="p">,</span> </span><span id="L-73"><a href="#L-73"><span class="linenos"> 73</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-74"><a href="#L-74"><span class="linenos"> 74</span></a> <span class="p">{</span><span class="s2">&quot;count&quot;</span><span class="p">:</span> <span class="n">count</span><span class="p">}</span> </span><span id="L-74"><a href="#L-74"><span class="linenos"> 74</span></a> <span class="n">row</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_request</span><span class="p">(</span>
</span><span id="L-75"><a href="#L-75"><span class="linenos"> 75</span></a> <span class="p">)</span> </span><span id="L-75"><a href="#L-75"><span class="linenos"> 75</span></a> <span class="s1">&#39;list/single&#39;</span><span class="p">,</span>
</span><span id="L-76"><a href="#L-76"><span class="linenos"> 76</span></a> <span class="k">return</span> <span class="n">MessageDbRow</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span> </span><span id="L-76"><a href="#L-76"><span class="linenos"> 76</span></a> <span class="p">{</span><span class="s2">&quot;count&quot;</span><span class="p">:</span> <span class="n">count</span><span class="p">}</span>
</span><span id="L-77"><a href="#L-77"><span class="linenos"> 77</span></a> <span class="n">row</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">pydantic_context</span> </span><span id="L-77"><a href="#L-77"><span class="linenos"> 77</span></a> <span class="p">)</span>
</span><span id="L-78"><a href="#L-78"><span class="linenos"> 78</span></a> <span class="p">)</span> </span><span id="L-78"><a href="#L-78"><span class="linenos"> 78</span></a> <span class="k">return</span> <span class="n">MessageDbRow</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span>
</span><span id="L-79"><a href="#L-79"><span class="linenos"> 79</span></a> </span><span id="L-79"><a href="#L-79"><span class="linenos"> 79</span></a> <span class="n">row</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_pydantic_context</span>
</span><span id="L-80"><a href="#L-80"><span class="linenos"> 80</span></a> <span class="nd">@validate_call</span> </span><span id="L-80"><a href="#L-80"><span class="linenos"> 80</span></a> <span class="p">)</span>
</span><span id="L-81"><a href="#L-81"><span class="linenos"> 81</span></a> <span class="k">def</span> <span class="nf">list_messages</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> </span><span id="L-81"><a href="#L-81"><span class="linenos"> 81</span></a>
</span><span id="L-82"><a href="#L-82"><span class="linenos"> 82</span></a> <span class="nb">id</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">sender</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">recipient</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> </span><span id="L-82"><a href="#L-82"><span class="linenos"> 82</span></a> <span class="nd">@validate_call</span>
</span><span id="L-83"><a href="#L-83"><span class="linenos"> 83</span></a> <span class="n">processed</span><span class="p">:</span><span class="nb">bool</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">solution</span><span class="p">:</span><span class="nb">bool</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> </span><span id="L-83"><a href="#L-83"><span class="linenos"> 83</span></a> <span class="k">def</span> <span class="nf">list_messages</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
</span><span id="L-84"><a href="#L-84"><span class="linenos"> 84</span></a> <span class="n">time_after</span><span class="p">:</span><span class="nb">int</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">time_before</span><span class="p">:</span><span class="nb">int</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> </span><span id="L-84"><a href="#L-84"><span class="linenos"> 84</span></a> <span class="nb">id</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">sender</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">recipient</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
</span><span id="L-85"><a href="#L-85"><span class="linenos"> 85</span></a> <span class="n">limit</span><span class="p">:</span><span class="nb">int</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">offset</span><span class="p">:</span><span class="nb">int</span><span class="o">=</span><span class="mi">0</span> </span><span id="L-85"><a href="#L-85"><span class="linenos"> 85</span></a> <span class="n">processed</span><span class="p">:</span><span class="nb">bool</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">solution</span><span class="p">:</span><span class="nb">bool</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
</span><span id="L-86"><a href="#L-86"><span class="linenos"> 86</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">List</span><span class="p">[</span><span class="n">MessageDbRow</span><span class="p">]:</span> </span><span id="L-86"><a href="#L-86"><span class="linenos"> 86</span></a> <span class="n">time_after</span><span class="p">:</span><span class="nb">int</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">time_before</span><span class="p">:</span><span class="nb">int</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
</span><span id="L-87"><a href="#L-87"><span class="linenos"> 87</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span> </span><span id="L-87"><a href="#L-87"><span class="linenos"> 87</span></a> <span class="n">limit</span><span class="p">:</span><span class="nb">int</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">offset</span><span class="p">:</span><span class="nb">int</span><span class="o">=</span><span class="mi">0</span>
</span><span id="L-88"><a href="#L-88"><span class="linenos"> 88</span></a><span class="sd"> Get the rows in the tables as list of messages.</span> </span><span id="L-88"><a href="#L-88"><span class="linenos"> 88</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">List</span><span class="p">[</span><span class="n">MessageDbRow</span><span class="p">]:</span>
</span><span id="L-89"><a href="#L-89"><span class="linenos"> 89</span></a><span class="sd"> The arguments are used for filtering.</span> </span><span id="L-89"><a href="#L-89"><span class="linenos"> 89</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="L-90"><a href="#L-90"><span class="linenos"> 90</span></a><span class="sd"> &quot;&quot;&quot;</span> </span><span id="L-90"><a href="#L-90"><span class="linenos"> 90</span></a><span class="sd"> Get the rows in the tables as list of messages.</span>
</span><span id="L-91"><a href="#L-91"><span class="linenos"> 91</span></a> </span><span id="L-91"><a href="#L-91"><span class="linenos"> 91</span></a><span class="sd"> The arguments are used for filtering.</span>
</span><span id="L-92"><a href="#L-92"><span class="linenos"> 92</span></a> <span class="n">kwargs</span> <span class="o">=</span> <span class="nb">locals</span><span class="p">()</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span> </span><span id="L-92"><a href="#L-92"><span class="linenos"> 92</span></a>
</span><span id="L-93"><a href="#L-93"><span class="linenos"> 93</span></a> <span class="n">params</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-93"><a href="#L-93"><span class="linenos"> 93</span></a><span class="sd"> May raise `RequestException`.</span>
</span><span id="L-94"><a href="#L-94"><span class="linenos"> 94</span></a> </span><span id="L-94"><a href="#L-94"><span class="linenos"> 94</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-95"><a href="#L-95"><span class="linenos"> 95</span></a> <span class="k">for</span> <span class="n">k</span><span class="p">,</span><span class="n">v</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">items</span><span class="p">():</span> </span><span id="L-95"><a href="#L-95"><span class="linenos"> 95</span></a>
</span><span id="L-96"><a href="#L-96"><span class="linenos"> 96</span></a> <span class="k">if</span> <span class="n">k</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">(</span><span class="s1">&#39;self&#39;</span><span class="p">,)</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">v</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> </span><span id="L-96"><a href="#L-96"><span class="linenos"> 96</span></a> <span class="n">kwargs</span> <span class="o">=</span> <span class="nb">locals</span><span class="p">()</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
</span><span id="L-97"><a href="#L-97"><span class="linenos"> 97</span></a> <span class="n">params</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">=</span> <span class="n">v</span> </span><span id="L-97"><a href="#L-97"><span class="linenos"> 97</span></a> <span class="n">params</span> <span class="o">=</span> <span class="p">{}</span>
</span><span id="L-98"><a href="#L-98"><span class="linenos"> 98</span></a> </span><span id="L-98"><a href="#L-98"><span class="linenos"> 98</span></a>
</span><span id="L-99"><a href="#L-99"><span class="linenos"> 99</span></a> <span class="n">rows</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_request</span><span class="p">(</span><span class="s1">&#39;list&#39;</span><span class="p">,</span> <span class="n">params</span><span class="p">)</span> </span><span id="L-99"><a href="#L-99"><span class="linenos"> 99</span></a> <span class="k">for</span> <span class="n">k</span><span class="p">,</span><span class="n">v</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
</span><span id="L-100"><a href="#L-100"><span class="linenos">100</span></a> </span><span id="L-100"><a href="#L-100"><span class="linenos">100</span></a> <span class="k">if</span> <span class="n">k</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">(</span><span class="s1">&#39;self&#39;</span><span class="p">,)</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">v</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
</span><span id="L-101"><a href="#L-101"><span class="linenos">101</span></a> <span class="k">return</span> <span class="p">[</span> </span><span id="L-101"><a href="#L-101"><span class="linenos">101</span></a> <span class="n">params</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">=</span> <span class="n">v</span>
</span><span id="L-102"><a href="#L-102"><span class="linenos">102</span></a> <span class="n">MessageDbRow</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span> </span><span id="L-102"><a href="#L-102"><span class="linenos">102</span></a>
</span><span id="L-103"><a href="#L-103"><span class="linenos">103</span></a> <span class="n">row</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">pydantic_context</span> </span><span id="L-103"><a href="#L-103"><span class="linenos">103</span></a> <span class="n">rows</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_request</span><span class="p">(</span><span class="s1">&#39;list&#39;</span><span class="p">,</span> <span class="n">params</span><span class="p">)</span>
</span><span id="L-104"><a href="#L-104"><span class="linenos">104</span></a> <span class="p">)</span> <span class="k">for</span> <span class="n">row</span> <span class="ow">in</span> <span class="n">rows</span> </span><span id="L-104"><a href="#L-104"><span class="linenos">104</span></a>
</span><span id="L-105"><a href="#L-105"><span class="linenos">105</span></a> <span class="p">]</span> </span><span id="L-105"><a href="#L-105"><span class="linenos">105</span></a> <span class="k">return</span> <span class="p">[</span>
</span><span id="L-106"><a href="#L-106"><span class="linenos">106</span></a> </span><span id="L-106"><a href="#L-106"><span class="linenos">106</span></a> <span class="n">MessageDbRow</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span>
</span><span id="L-107"><a href="#L-107"><span class="linenos">107</span></a> <span class="nd">@validate_call</span> </span><span id="L-107"><a href="#L-107"><span class="linenos">107</span></a> <span class="n">row</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_pydantic_context</span>
</span><span id="L-108"><a href="#L-108"><span class="linenos">108</span></a> <span class="k">def</span> <span class="nf">total_messages</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> </span><span id="L-108"><a href="#L-108"><span class="linenos">108</span></a> <span class="p">)</span> <span class="k">for</span> <span class="n">row</span> <span class="ow">in</span> <span class="n">rows</span>
</span><span id="L-109"><a href="#L-109"><span class="linenos">109</span></a> <span class="nb">id</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">sender</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">recipient</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> </span><span id="L-109"><a href="#L-109"><span class="linenos">109</span></a> <span class="p">]</span>
</span><span id="L-110"><a href="#L-110"><span class="linenos">110</span></a> <span class="n">processed</span><span class="p">:</span><span class="nb">bool</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">solution</span><span class="p">:</span><span class="nb">bool</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> </span><span id="L-110"><a href="#L-110"><span class="linenos">110</span></a>
</span><span id="L-111"><a href="#L-111"><span class="linenos">111</span></a> <span class="n">time_after</span><span class="p">:</span><span class="nb">int</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">time_before</span><span class="p">:</span><span class="nb">int</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span> </span><span id="L-111"><a href="#L-111"><span class="linenos">111</span></a> <span class="nd">@validate_call</span>
</span><span id="L-112"><a href="#L-112"><span class="linenos">112</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span> </span><span id="L-112"><a href="#L-112"><span class="linenos">112</span></a> <span class="k">def</span> <span class="nf">total_messages</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
</span><span id="L-113"><a href="#L-113"><span class="linenos">113</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span> </span><span id="L-113"><a href="#L-113"><span class="linenos">113</span></a> <span class="nb">id</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">sender</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">recipient</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
</span><span id="L-114"><a href="#L-114"><span class="linenos">114</span></a><span class="sd"> Get the total number of rows in the tables matching the filters.</span> </span><span id="L-114"><a href="#L-114"><span class="linenos">114</span></a> <span class="n">processed</span><span class="p">:</span><span class="nb">bool</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">solution</span><span class="p">:</span><span class="nb">bool</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
</span><span id="L-115"><a href="#L-115"><span class="linenos">115</span></a><span class="sd"> &quot;&quot;&quot;</span> </span><span id="L-115"><a href="#L-115"><span class="linenos">115</span></a> <span class="n">time_after</span><span class="p">:</span><span class="nb">int</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">time_before</span><span class="p">:</span><span class="nb">int</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span>
</span><span id="L-116"><a href="#L-116"><span class="linenos">116</span></a> </span><span id="L-116"><a href="#L-116"><span class="linenos">116</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span>
</span><span id="L-117"><a href="#L-117"><span class="linenos">117</span></a> <span class="n">kwargs</span> <span class="o">=</span> <span class="nb">locals</span><span class="p">()</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span> </span><span id="L-117"><a href="#L-117"><span class="linenos">117</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="L-118"><a href="#L-118"><span class="linenos">118</span></a> <span class="n">params</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-118"><a href="#L-118"><span class="linenos">118</span></a><span class="sd"> Get the total number of rows in the tables matching the filters.</span>
</span><span id="L-119"><a href="#L-119"><span class="linenos">119</span></a> </span><span id="L-119"><a href="#L-119"><span class="linenos">119</span></a>
</span><span id="L-120"><a href="#L-120"><span class="linenos">120</span></a> <span class="k">for</span> <span class="n">k</span><span class="p">,</span><span class="n">v</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">items</span><span class="p">():</span> </span><span id="L-120"><a href="#L-120"><span class="linenos">120</span></a><span class="sd"> May raise `RequestException`.</span>
</span><span id="L-121"><a href="#L-121"><span class="linenos">121</span></a> <span class="k">if</span> <span class="n">k</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">(</span><span class="s1">&#39;self&#39;</span><span class="p">,)</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">v</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> </span><span id="L-121"><a href="#L-121"><span class="linenos">121</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-122"><a href="#L-122"><span class="linenos">122</span></a> <span class="n">params</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">=</span> <span class="n">v</span> </span><span id="L-122"><a href="#L-122"><span class="linenos">122</span></a>
</span><span id="L-123"><a href="#L-123"><span class="linenos">123</span></a> </span><span id="L-123"><a href="#L-123"><span class="linenos">123</span></a> <span class="n">kwargs</span> <span class="o">=</span> <span class="nb">locals</span><span class="p">()</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
</span><span id="L-124"><a href="#L-124"><span class="linenos">124</span></a> <span class="k">return</span> <span class="nb">int</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_get_request</span><span class="p">(</span><span class="s1">&#39;app/table/total&#39;</span><span class="p">,</span> <span class="n">params</span><span class="p">))</span> </span><span id="L-124"><a href="#L-124"><span class="linenos">124</span></a> <span class="n">params</span> <span class="o">=</span> <span class="p">{}</span>
</span><span id="L-125"><a href="#L-125"><span class="linenos">125</span></a> </span><span id="L-125"><a href="#L-125"><span class="linenos">125</span></a>
</span><span id="L-126"><a href="#L-126"><span class="linenos">126</span></a> <span class="k">def</span> <span class="nf">_get_request</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">endpoint</span><span class="p">:</span><span class="nb">str</span><span class="p">,</span> <span class="n">params</span><span class="p">:</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">]):</span> </span><span id="L-126"><a href="#L-126"><span class="linenos">126</span></a> <span class="k">for</span> <span class="n">k</span><span class="p">,</span><span class="n">v</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
</span><span id="L-127"><a href="#L-127"><span class="linenos">127</span></a> <span class="n">r</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span> </span><span id="L-127"><a href="#L-127"><span class="linenos">127</span></a> <span class="k">if</span> <span class="n">k</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">(</span><span class="s1">&#39;self&#39;</span><span class="p">,)</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">v</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
</span><span id="L-128"><a href="#L-128"><span class="linenos">128</span></a> <span class="s2">&quot;</span><span class="si">{}</span><span class="s2">/</span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">MANAGEMENT_URL</span><span class="p">,</span> <span class="n">endpoint</span><span class="p">),</span> </span><span id="L-128"><a href="#L-128"><span class="linenos">128</span></a> <span class="n">params</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">=</span> <span class="n">v</span>
</span><span id="L-129"><a href="#L-129"><span class="linenos">129</span></a> <span class="n">params</span><span class="o">=</span><span class="n">params</span> </span><span id="L-129"><a href="#L-129"><span class="linenos">129</span></a>
</span><span id="L-130"><a href="#L-130"><span class="linenos">130</span></a> <span class="p">)</span> </span><span id="L-130"><a href="#L-130"><span class="linenos">130</span></a> <span class="k">return</span> <span class="nb">int</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_get_request</span><span class="p">(</span><span class="s1">&#39;app/table/total&#39;</span><span class="p">,</span> <span class="n">params</span><span class="p">))</span>
</span><span id="L-131"><a href="#L-131"><span class="linenos">131</span></a> </span><span id="L-131"><a href="#L-131"><span class="linenos">131</span></a>
</span><span id="L-132"><a href="#L-132"><span class="linenos">132</span></a> <span class="k">if</span> <span class="n">r</span><span class="o">.</span><span class="n">status_code</span> <span class="o">==</span> <span class="mi">200</span><span class="p">:</span> </span><span id="L-132"><a href="#L-132"><span class="linenos">132</span></a> <span class="k">def</span> <span class="nf">_get_request</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">endpoint</span><span class="p">:</span><span class="nb">str</span><span class="p">,</span> <span class="n">params</span><span class="p">:</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">]):</span>
</span><span id="L-133"><a href="#L-133"><span class="linenos">133</span></a> <span class="k">return</span> <span class="n">r</span><span class="o">.</span><span class="n">json</span><span class="p">()</span> </span><span id="L-133"><a href="#L-133"><span class="linenos">133</span></a> <span class="n">r</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
</span><span id="L-134"><a href="#L-134"><span class="linenos">134</span></a> <span class="k">else</span><span class="p">:</span> </span><span id="L-134"><a href="#L-134"><span class="linenos">134</span></a> <span class="s2">&quot;</span><span class="si">{}</span><span class="s2">/</span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">MANAGEMENT_URL</span><span class="p">,</span> <span class="n">endpoint</span><span class="p">),</span>
</span><span id="L-135"><a href="#L-135"><span class="linenos">135</span></a> <span class="k">raise</span> <span class="n">RequestException</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">text</span><span class="p">)</span><span class="o">+</span><span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">headers</span><span class="p">))</span> </span><span id="L-135"><a href="#L-135"><span class="linenos">135</span></a> <span class="n">params</span><span class="o">=</span><span class="n">params</span>
</span><span id="L-136"><a href="#L-136"><span class="linenos">136</span></a> </span><span id="L-136"><a href="#L-136"><span class="linenos">136</span></a> <span class="p">)</span>
</span><span id="L-137"><a href="#L-137"><span class="linenos">137</span></a> <span class="nd">@validate_call</span> </span><span id="L-137"><a href="#L-137"><span class="linenos">137</span></a>
</span><span id="L-138"><a href="#L-138"><span class="linenos">138</span></a> <span class="k">def</span> <span class="nf">send_message</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">AgentResponse</span><span class="p">:</span> </span><span id="L-138"><a href="#L-138"><span class="linenos">138</span></a> <span class="k">if</span> <span class="n">r</span><span class="o">.</span><span class="n">status_code</span> <span class="o">==</span> <span class="mi">200</span><span class="p">:</span>
</span><span id="L-139"><a href="#L-139"><span class="linenos">139</span></a> <span class="c1"># TODO</span> </span><span id="L-139"><a href="#L-139"><span class="linenos">139</span></a> <span class="k">return</span> <span class="n">r</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
</span><span id="L-140"><a href="#L-140"><span class="linenos">140</span></a> <span class="k">pass</span> </span><span id="L-140"><a href="#L-140"><span class="linenos">140</span></a> <span class="k">else</span><span class="p">:</span>
</span><span id="L-141"><a href="#L-141"><span class="linenos">141</span></a> </span><span id="L-141"><a href="#L-141"><span class="linenos">141</span></a> <span class="k">raise</span> <span class="n">RequestException</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">text</span><span class="p">)</span><span class="o">+</span><span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">headers</span><span class="p">))</span>
</span><span id="L-142"><a href="#L-142"><span class="linenos">142</span></a> <span class="k">def</span> <span class="nf">_post_request</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">message</span><span class="p">:</span><span class="n">AgentMessage</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">AgentResponse</span><span class="p">:</span> </span><span id="L-142"><a href="#L-142"><span class="linenos">142</span></a>
</span><span id="L-143"><a href="#L-143"><span class="linenos">143</span></a> <span class="c1"># TODO</span> </span><span id="L-143"><a href="#L-143"><span class="linenos">143</span></a> <span class="nd">@validate_call</span>
</span><span id="L-144"><a href="#L-144"><span class="linenos">144</span></a> </span><span id="L-144"><a href="#L-144"><span class="linenos">144</span></a> <span class="k">def</span> <span class="nf">send_message</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">message</span><span class="p">:</span><span class="n">AgentMessage</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">AgentResponse</span><span class="p">:</span>
</span><span id="L-145"><a href="#L-145"><span class="linenos">145</span></a> <span class="n">r</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">post</span><span class="p">(</span> </span><span id="L-145"><a href="#L-145"><span class="linenos">145</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="L-146"><a href="#L-146"><span class="linenos">146</span></a> <span class="s2">&quot;</span><span class="si">{}</span><span class="s2">/message&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">url</span><span class="p">),</span> </span><span id="L-146"><a href="#L-146"><span class="linenos">146</span></a><span class="sd"> Send the `message` to the management and return the management&#39;s agent response.</span>
</span><span id="L-147"><a href="#L-147"><span class="linenos">147</span></a> <span class="n">data</span><span class="o">=</span><span class="n">message</span><span class="o">.</span><span class="n">model_dump_json</span><span class="p">(),</span> </span><span id="L-147"><a href="#L-147"><span class="linenos">147</span></a><span class="sd"> (On error an agent response with error message).</span>
</span><span id="L-148"><a href="#L-148"><span class="linenos">148</span></a> <span class="n">headers</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;accept&quot;</span> <span class="p">:</span> <span class="s2">&quot;application/json&quot;</span><span class="p">,</span> <span class="s2">&quot;content-type&quot;</span> <span class="p">:</span> <span class="s2">&quot;application/json&quot;</span><span class="p">}</span> </span><span id="L-148"><a href="#L-148"><span class="linenos">148</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-149"><a href="#L-149"><span class="linenos">149</span></a> <span class="p">)</span> </span><span id="L-149"><a href="#L-149"><span class="linenos">149</span></a> <span class="k">try</span><span class="p">:</span>
</span><span id="L-150"><a href="#L-150"><span class="linenos">150</span></a> </span><span id="L-150"><a href="#L-150"><span class="linenos">150</span></a> <span class="k">return</span> <span class="n">AgentResponse</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span>
</span><span id="L-151"><a href="#L-151"><span class="linenos">151</span></a> <span class="k">if</span> <span class="n">r</span><span class="o">.</span><span class="n">status_code</span> <span class="o">==</span> <span class="mi">200</span><span class="p">:</span> </span><span id="L-151"><a href="#L-151"><span class="linenos">151</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_post_request</span><span class="p">(</span>
</span><span id="L-152"><a href="#L-152"><span class="linenos">152</span></a> <span class="k">return</span> <span class="n">AgentResponse</span><span class="o">.</span><span class="n">model_validate_json</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">text</span><span class="p">)</span> </span><span id="L-152"><a href="#L-152"><span class="linenos">152</span></a> <span class="s2">&quot;message&quot;</span><span class="p">,</span>
</span><span id="L-153"><a href="#L-153"><span class="linenos">153</span></a> <span class="k">else</span><span class="p">:</span> </span><span id="L-153"><a href="#L-153"><span class="linenos">153</span></a> <span class="n">message</span><span class="o">.</span><span class="n">model_dump_json</span><span class="p">()</span>
</span><span id="L-154"><a href="#L-154"><span class="linenos">154</span></a> <span class="k">return</span> <span class="n">AgentResponse</span><span class="p">(</span><span class="n">count</span><span class="o">=-</span><span class="mi">1</span><span class="p">,</span> <span class="n">error</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">error_msg</span><span class="o">=</span><span class="nb">str</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">text</span><span class="p">)</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">headers</span><span class="p">))</span> </span><span id="L-154"><a href="#L-154"><span class="linenos">154</span></a> <span class="p">)</span>
</span><span id="L-155"><a href="#L-155"><span class="linenos">155</span></a> <span class="p">)</span>
</span><span id="L-156"><a href="#L-156"><span class="linenos">156</span></a> <span class="k">except</span> <span class="n">RequestException</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
</span><span id="L-157"><a href="#L-157"><span class="linenos">157</span></a> <span class="k">return</span> <span class="n">AgentResponse</span><span class="p">(</span>
</span><span id="L-158"><a href="#L-158"><span class="linenos">158</span></a> <span class="n">count</span><span class="o">=-</span><span class="mi">1</span><span class="p">,</span>
</span><span id="L-159"><a href="#L-159"><span class="linenos">159</span></a> <span class="n">error</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
</span><span id="L-160"><a href="#L-160"><span class="linenos">160</span></a> <span class="n">error_msg</span><span class="o">=</span><span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
</span><span id="L-161"><a href="#L-161"><span class="linenos">161</span></a> <span class="p">)</span>
</span><span id="L-162"><a href="#L-162"><span class="linenos">162</span></a>
</span><span id="L-163"><a href="#L-163"><span class="linenos">163</span></a> <span class="k">def</span> <span class="nf">_post_request</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">endpoint</span><span class="p">:</span><span class="nb">str</span><span class="p">,</span> <span class="n">data</span><span class="p">:</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">]):</span>
</span><span id="L-164"><a href="#L-164"><span class="linenos">164</span></a> <span class="n">r</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">post</span><span class="p">(</span>
</span><span id="L-165"><a href="#L-165"><span class="linenos">165</span></a> <span class="s2">&quot;</span><span class="si">{}</span><span class="s2">/</span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">MANAGEMENT_URL</span><span class="p">,</span> <span class="n">endpoint</span><span class="p">),</span>
</span><span id="L-166"><a href="#L-166"><span class="linenos">166</span></a> <span class="n">data</span><span class="o">=</span><span class="n">data</span><span class="p">,</span>
</span><span id="L-167"><a href="#L-167"><span class="linenos">167</span></a> <span class="n">headers</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;accept&quot;</span> <span class="p">:</span> <span class="s2">&quot;application/json&quot;</span><span class="p">,</span> <span class="s2">&quot;content-type&quot;</span> <span class="p">:</span> <span class="s2">&quot;application/json&quot;</span><span class="p">}</span>
</span><span id="L-168"><a href="#L-168"><span class="linenos">168</span></a> <span class="p">)</span>
</span><span id="L-169"><a href="#L-169"><span class="linenos">169</span></a>
</span><span id="L-170"><a href="#L-170"><span class="linenos">170</span></a> <span class="k">if</span> <span class="n">r</span><span class="o">.</span><span class="n">status_code</span> <span class="o">==</span> <span class="mi">200</span><span class="p">:</span>
</span><span id="L-171"><a href="#L-171"><span class="linenos">171</span></a> <span class="k">return</span> <span class="n">r</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
</span><span id="L-172"><a href="#L-172"><span class="linenos">172</span></a> <span class="k">else</span><span class="p">:</span>
</span><span id="L-173"><a href="#L-173"><span class="linenos">173</span></a> <span class="k">return</span> <span class="n">RequestException</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">text</span><span class="p">)</span><span class="o">+</span><span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">headers</span><span class="p">))</span>
</span></pre></div> </span></pre></div>
@ -331,99 +344,118 @@ Manually send messages (if necessary, the platforms should do this). </p>
</span><span id="ManagementRequest-60"><a href="#ManagementRequest-60"><span class="linenos"> 60</span></a><span class="sd"> If `allow_lazy` is active, the type checking (by pydantic) is less strict. </span> </span><span id="ManagementRequest-60"><a href="#ManagementRequest-60"><span class="linenos"> 60</span></a><span class="sd"> If `allow_lazy` is active, the type checking (by pydantic) is less strict. </span>
</span><span id="ManagementRequest-61"><a href="#ManagementRequest-61"><span class="linenos"> 61</span></a><span class="sd"> E.g. it does not require that all files in the data section of messages must exist on the file system.</span> </span><span id="ManagementRequest-61"><a href="#ManagementRequest-61"><span class="linenos"> 61</span></a><span class="sd"> E.g. it does not require that all files in the data section of messages must exist on the file system.</span>
</span><span id="ManagementRequest-62"><a href="#ManagementRequest-62"><span class="linenos"> 62</span></a><span class="sd"> &quot;&quot;&quot;</span> </span><span id="ManagementRequest-62"><a href="#ManagementRequest-62"><span class="linenos"> 62</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="ManagementRequest-63"><a href="#ManagementRequest-63"><span class="linenos"> 63</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">allow_lazy</span> <span class="o">=</span> <span class="n">allow_lazy</span> </span><span id="ManagementRequest-63"><a href="#ManagementRequest-63"><span class="linenos"> 63</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_allow_lazy</span> <span class="o">=</span> <span class="n">allow_lazy</span>
</span><span id="ManagementRequest-64"><a href="#ManagementRequest-64"><span class="linenos"> 64</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">pydantic_context</span> <span class="o">=</span> <span class="p">{</span> </span><span id="ManagementRequest-64"><a href="#ManagementRequest-64"><span class="linenos"> 64</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_pydantic_context</span> <span class="o">=</span> <span class="p">{</span>
</span><span id="ManagementRequest-65"><a href="#ManagementRequest-65"><span class="linenos"> 65</span></a> <span class="s2">&quot;require_file_exists&quot;</span><span class="p">:</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">allow_lazy</span> </span><span id="ManagementRequest-65"><a href="#ManagementRequest-65"><span class="linenos"> 65</span></a> <span class="s2">&quot;require_file_exists&quot;</span><span class="p">:</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_allow_lazy</span>
</span><span id="ManagementRequest-66"><a href="#ManagementRequest-66"><span class="linenos"> 66</span></a> <span class="p">}</span> </span><span id="ManagementRequest-66"><a href="#ManagementRequest-66"><span class="linenos"> 66</span></a> <span class="p">}</span>
</span><span id="ManagementRequest-67"><a href="#ManagementRequest-67"><span class="linenos"> 67</span></a> </span><span id="ManagementRequest-67"><a href="#ManagementRequest-67"><span class="linenos"> 67</span></a>
</span><span id="ManagementRequest-68"><a href="#ManagementRequest-68"><span class="linenos"> 68</span></a> <span class="nd">@validate_call</span> </span><span id="ManagementRequest-68"><a href="#ManagementRequest-68"><span class="linenos"> 68</span></a> <span class="nd">@validate_call</span>
</span><span id="ManagementRequest-69"><a href="#ManagementRequest-69"><span class="linenos"> 69</span></a> <span class="k">def</span> <span class="nf">get_message</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">count</span><span class="p">:</span><span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">MessageDbRow</span><span class="p">:</span> </span><span id="ManagementRequest-69"><a href="#ManagementRequest-69"><span class="linenos"> 69</span></a> <span class="k">def</span> <span class="nf">get_message</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">count</span><span class="p">:</span><span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">MessageDbRow</span><span class="p">:</span>
</span><span id="ManagementRequest-70"><a href="#ManagementRequest-70"><span class="linenos"> 70</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span> </span><span id="ManagementRequest-70"><a href="#ManagementRequest-70"><span class="linenos"> 70</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="ManagementRequest-71"><a href="#ManagementRequest-71"><span class="linenos"> 71</span></a><span class="sd"> Get a message (like a table row) from the management by using the `count`.</span> </span><span id="ManagementRequest-71"><a href="#ManagementRequest-71"><span class="linenos"> 71</span></a><span class="sd"> Get a message (like a table row) from the management by using the `count`.</span>
</span><span id="ManagementRequest-72"><a href="#ManagementRequest-72"><span class="linenos"> 72</span></a><span class="sd"> &quot;&quot;&quot;</span> </span><span id="ManagementRequest-72"><a href="#ManagementRequest-72"><span class="linenos"> 72</span></a>
</span><span id="ManagementRequest-73"><a href="#ManagementRequest-73"><span class="linenos"> 73</span></a> <span class="n">row</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_request</span><span class="p">(</span> </span><span id="ManagementRequest-73"><a href="#ManagementRequest-73"><span class="linenos"> 73</span></a><span class="sd"> May raise `RequestException`.</span>
</span><span id="ManagementRequest-74"><a href="#ManagementRequest-74"><span class="linenos"> 74</span></a> <span class="s1">&#39;list/single&#39;</span><span class="p">,</span> </span><span id="ManagementRequest-74"><a href="#ManagementRequest-74"><span class="linenos"> 74</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="ManagementRequest-75"><a href="#ManagementRequest-75"><span class="linenos"> 75</span></a> <span class="p">{</span><span class="s2">&quot;count&quot;</span><span class="p">:</span> <span class="n">count</span><span class="p">}</span> </span><span id="ManagementRequest-75"><a href="#ManagementRequest-75"><span class="linenos"> 75</span></a> <span class="n">row</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_request</span><span class="p">(</span>
</span><span id="ManagementRequest-76"><a href="#ManagementRequest-76"><span class="linenos"> 76</span></a> <span class="p">)</span> </span><span id="ManagementRequest-76"><a href="#ManagementRequest-76"><span class="linenos"> 76</span></a> <span class="s1">&#39;list/single&#39;</span><span class="p">,</span>
</span><span id="ManagementRequest-77"><a href="#ManagementRequest-77"><span class="linenos"> 77</span></a> <span class="k">return</span> <span class="n">MessageDbRow</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span> </span><span id="ManagementRequest-77"><a href="#ManagementRequest-77"><span class="linenos"> 77</span></a> <span class="p">{</span><span class="s2">&quot;count&quot;</span><span class="p">:</span> <span class="n">count</span><span class="p">}</span>
</span><span id="ManagementRequest-78"><a href="#ManagementRequest-78"><span class="linenos"> 78</span></a> <span class="n">row</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">pydantic_context</span> </span><span id="ManagementRequest-78"><a href="#ManagementRequest-78"><span class="linenos"> 78</span></a> <span class="p">)</span>
</span><span id="ManagementRequest-79"><a href="#ManagementRequest-79"><span class="linenos"> 79</span></a> <span class="p">)</span> </span><span id="ManagementRequest-79"><a href="#ManagementRequest-79"><span class="linenos"> 79</span></a> <span class="k">return</span> <span class="n">MessageDbRow</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span>
</span><span id="ManagementRequest-80"><a href="#ManagementRequest-80"><span class="linenos"> 80</span></a> </span><span id="ManagementRequest-80"><a href="#ManagementRequest-80"><span class="linenos"> 80</span></a> <span class="n">row</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_pydantic_context</span>
</span><span id="ManagementRequest-81"><a href="#ManagementRequest-81"><span class="linenos"> 81</span></a> <span class="nd">@validate_call</span> </span><span id="ManagementRequest-81"><a href="#ManagementRequest-81"><span class="linenos"> 81</span></a> <span class="p">)</span>
</span><span id="ManagementRequest-82"><a href="#ManagementRequest-82"><span class="linenos"> 82</span></a> <span class="k">def</span> <span class="nf">list_messages</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> </span><span id="ManagementRequest-82"><a href="#ManagementRequest-82"><span class="linenos"> 82</span></a>
</span><span id="ManagementRequest-83"><a href="#ManagementRequest-83"><span class="linenos"> 83</span></a> <span class="nb">id</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">sender</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">recipient</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> </span><span id="ManagementRequest-83"><a href="#ManagementRequest-83"><span class="linenos"> 83</span></a> <span class="nd">@validate_call</span>
</span><span id="ManagementRequest-84"><a href="#ManagementRequest-84"><span class="linenos"> 84</span></a> <span class="n">processed</span><span class="p">:</span><span class="nb">bool</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">solution</span><span class="p">:</span><span class="nb">bool</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> </span><span id="ManagementRequest-84"><a href="#ManagementRequest-84"><span class="linenos"> 84</span></a> <span class="k">def</span> <span class="nf">list_messages</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
</span><span id="ManagementRequest-85"><a href="#ManagementRequest-85"><span class="linenos"> 85</span></a> <span class="n">time_after</span><span class="p">:</span><span class="nb">int</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">time_before</span><span class="p">:</span><span class="nb">int</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> </span><span id="ManagementRequest-85"><a href="#ManagementRequest-85"><span class="linenos"> 85</span></a> <span class="nb">id</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">sender</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">recipient</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
</span><span id="ManagementRequest-86"><a href="#ManagementRequest-86"><span class="linenos"> 86</span></a> <span class="n">limit</span><span class="p">:</span><span class="nb">int</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">offset</span><span class="p">:</span><span class="nb">int</span><span class="o">=</span><span class="mi">0</span> </span><span id="ManagementRequest-86"><a href="#ManagementRequest-86"><span class="linenos"> 86</span></a> <span class="n">processed</span><span class="p">:</span><span class="nb">bool</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">solution</span><span class="p">:</span><span class="nb">bool</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
</span><span id="ManagementRequest-87"><a href="#ManagementRequest-87"><span class="linenos"> 87</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">List</span><span class="p">[</span><span class="n">MessageDbRow</span><span class="p">]:</span> </span><span id="ManagementRequest-87"><a href="#ManagementRequest-87"><span class="linenos"> 87</span></a> <span class="n">time_after</span><span class="p">:</span><span class="nb">int</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">time_before</span><span class="p">:</span><span class="nb">int</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
</span><span id="ManagementRequest-88"><a href="#ManagementRequest-88"><span class="linenos"> 88</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span> </span><span id="ManagementRequest-88"><a href="#ManagementRequest-88"><span class="linenos"> 88</span></a> <span class="n">limit</span><span class="p">:</span><span class="nb">int</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">offset</span><span class="p">:</span><span class="nb">int</span><span class="o">=</span><span class="mi">0</span>
</span><span id="ManagementRequest-89"><a href="#ManagementRequest-89"><span class="linenos"> 89</span></a><span class="sd"> Get the rows in the tables as list of messages.</span> </span><span id="ManagementRequest-89"><a href="#ManagementRequest-89"><span class="linenos"> 89</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">List</span><span class="p">[</span><span class="n">MessageDbRow</span><span class="p">]:</span>
</span><span id="ManagementRequest-90"><a href="#ManagementRequest-90"><span class="linenos"> 90</span></a><span class="sd"> The arguments are used for filtering.</span> </span><span id="ManagementRequest-90"><a href="#ManagementRequest-90"><span class="linenos"> 90</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="ManagementRequest-91"><a href="#ManagementRequest-91"><span class="linenos"> 91</span></a><span class="sd"> &quot;&quot;&quot;</span> </span><span id="ManagementRequest-91"><a href="#ManagementRequest-91"><span class="linenos"> 91</span></a><span class="sd"> Get the rows in the tables as list of messages.</span>
</span><span id="ManagementRequest-92"><a href="#ManagementRequest-92"><span class="linenos"> 92</span></a> </span><span id="ManagementRequest-92"><a href="#ManagementRequest-92"><span class="linenos"> 92</span></a><span class="sd"> The arguments are used for filtering.</span>
</span><span id="ManagementRequest-93"><a href="#ManagementRequest-93"><span class="linenos"> 93</span></a> <span class="n">kwargs</span> <span class="o">=</span> <span class="nb">locals</span><span class="p">()</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span> </span><span id="ManagementRequest-93"><a href="#ManagementRequest-93"><span class="linenos"> 93</span></a>
</span><span id="ManagementRequest-94"><a href="#ManagementRequest-94"><span class="linenos"> 94</span></a> <span class="n">params</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="ManagementRequest-94"><a href="#ManagementRequest-94"><span class="linenos"> 94</span></a><span class="sd"> May raise `RequestException`.</span>
</span><span id="ManagementRequest-95"><a href="#ManagementRequest-95"><span class="linenos"> 95</span></a> </span><span id="ManagementRequest-95"><a href="#ManagementRequest-95"><span class="linenos"> 95</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="ManagementRequest-96"><a href="#ManagementRequest-96"><span class="linenos"> 96</span></a> <span class="k">for</span> <span class="n">k</span><span class="p">,</span><span class="n">v</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">items</span><span class="p">():</span> </span><span id="ManagementRequest-96"><a href="#ManagementRequest-96"><span class="linenos"> 96</span></a>
</span><span id="ManagementRequest-97"><a href="#ManagementRequest-97"><span class="linenos"> 97</span></a> <span class="k">if</span> <span class="n">k</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">(</span><span class="s1">&#39;self&#39;</span><span class="p">,)</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">v</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> </span><span id="ManagementRequest-97"><a href="#ManagementRequest-97"><span class="linenos"> 97</span></a> <span class="n">kwargs</span> <span class="o">=</span> <span class="nb">locals</span><span class="p">()</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
</span><span id="ManagementRequest-98"><a href="#ManagementRequest-98"><span class="linenos"> 98</span></a> <span class="n">params</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">=</span> <span class="n">v</span> </span><span id="ManagementRequest-98"><a href="#ManagementRequest-98"><span class="linenos"> 98</span></a> <span class="n">params</span> <span class="o">=</span> <span class="p">{}</span>
</span><span id="ManagementRequest-99"><a href="#ManagementRequest-99"><span class="linenos"> 99</span></a> </span><span id="ManagementRequest-99"><a href="#ManagementRequest-99"><span class="linenos"> 99</span></a>
</span><span id="ManagementRequest-100"><a href="#ManagementRequest-100"><span class="linenos">100</span></a> <span class="n">rows</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_request</span><span class="p">(</span><span class="s1">&#39;list&#39;</span><span class="p">,</span> <span class="n">params</span><span class="p">)</span> </span><span id="ManagementRequest-100"><a href="#ManagementRequest-100"><span class="linenos">100</span></a> <span class="k">for</span> <span class="n">k</span><span class="p">,</span><span class="n">v</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
</span><span id="ManagementRequest-101"><a href="#ManagementRequest-101"><span class="linenos">101</span></a> </span><span id="ManagementRequest-101"><a href="#ManagementRequest-101"><span class="linenos">101</span></a> <span class="k">if</span> <span class="n">k</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">(</span><span class="s1">&#39;self&#39;</span><span class="p">,)</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">v</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
</span><span id="ManagementRequest-102"><a href="#ManagementRequest-102"><span class="linenos">102</span></a> <span class="k">return</span> <span class="p">[</span> </span><span id="ManagementRequest-102"><a href="#ManagementRequest-102"><span class="linenos">102</span></a> <span class="n">params</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">=</span> <span class="n">v</span>
</span><span id="ManagementRequest-103"><a href="#ManagementRequest-103"><span class="linenos">103</span></a> <span class="n">MessageDbRow</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span> </span><span id="ManagementRequest-103"><a href="#ManagementRequest-103"><span class="linenos">103</span></a>
</span><span id="ManagementRequest-104"><a href="#ManagementRequest-104"><span class="linenos">104</span></a> <span class="n">row</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">pydantic_context</span> </span><span id="ManagementRequest-104"><a href="#ManagementRequest-104"><span class="linenos">104</span></a> <span class="n">rows</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_request</span><span class="p">(</span><span class="s1">&#39;list&#39;</span><span class="p">,</span> <span class="n">params</span><span class="p">)</span>
</span><span id="ManagementRequest-105"><a href="#ManagementRequest-105"><span class="linenos">105</span></a> <span class="p">)</span> <span class="k">for</span> <span class="n">row</span> <span class="ow">in</span> <span class="n">rows</span> </span><span id="ManagementRequest-105"><a href="#ManagementRequest-105"><span class="linenos">105</span></a>
</span><span id="ManagementRequest-106"><a href="#ManagementRequest-106"><span class="linenos">106</span></a> <span class="p">]</span> </span><span id="ManagementRequest-106"><a href="#ManagementRequest-106"><span class="linenos">106</span></a> <span class="k">return</span> <span class="p">[</span>
</span><span id="ManagementRequest-107"><a href="#ManagementRequest-107"><span class="linenos">107</span></a> </span><span id="ManagementRequest-107"><a href="#ManagementRequest-107"><span class="linenos">107</span></a> <span class="n">MessageDbRow</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span>
</span><span id="ManagementRequest-108"><a href="#ManagementRequest-108"><span class="linenos">108</span></a> <span class="nd">@validate_call</span> </span><span id="ManagementRequest-108"><a href="#ManagementRequest-108"><span class="linenos">108</span></a> <span class="n">row</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_pydantic_context</span>
</span><span id="ManagementRequest-109"><a href="#ManagementRequest-109"><span class="linenos">109</span></a> <span class="k">def</span> <span class="nf">total_messages</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> </span><span id="ManagementRequest-109"><a href="#ManagementRequest-109"><span class="linenos">109</span></a> <span class="p">)</span> <span class="k">for</span> <span class="n">row</span> <span class="ow">in</span> <span class="n">rows</span>
</span><span id="ManagementRequest-110"><a href="#ManagementRequest-110"><span class="linenos">110</span></a> <span class="nb">id</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">sender</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">recipient</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> </span><span id="ManagementRequest-110"><a href="#ManagementRequest-110"><span class="linenos">110</span></a> <span class="p">]</span>
</span><span id="ManagementRequest-111"><a href="#ManagementRequest-111"><span class="linenos">111</span></a> <span class="n">processed</span><span class="p">:</span><span class="nb">bool</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">solution</span><span class="p">:</span><span class="nb">bool</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> </span><span id="ManagementRequest-111"><a href="#ManagementRequest-111"><span class="linenos">111</span></a>
</span><span id="ManagementRequest-112"><a href="#ManagementRequest-112"><span class="linenos">112</span></a> <span class="n">time_after</span><span class="p">:</span><span class="nb">int</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">time_before</span><span class="p">:</span><span class="nb">int</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span> </span><span id="ManagementRequest-112"><a href="#ManagementRequest-112"><span class="linenos">112</span></a> <span class="nd">@validate_call</span>
</span><span id="ManagementRequest-113"><a href="#ManagementRequest-113"><span class="linenos">113</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span> </span><span id="ManagementRequest-113"><a href="#ManagementRequest-113"><span class="linenos">113</span></a> <span class="k">def</span> <span class="nf">total_messages</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
</span><span id="ManagementRequest-114"><a href="#ManagementRequest-114"><span class="linenos">114</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span> </span><span id="ManagementRequest-114"><a href="#ManagementRequest-114"><span class="linenos">114</span></a> <span class="nb">id</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">sender</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">recipient</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
</span><span id="ManagementRequest-115"><a href="#ManagementRequest-115"><span class="linenos">115</span></a><span class="sd"> Get the total number of rows in the tables matching the filters.</span> </span><span id="ManagementRequest-115"><a href="#ManagementRequest-115"><span class="linenos">115</span></a> <span class="n">processed</span><span class="p">:</span><span class="nb">bool</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">solution</span><span class="p">:</span><span class="nb">bool</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
</span><span id="ManagementRequest-116"><a href="#ManagementRequest-116"><span class="linenos">116</span></a><span class="sd"> &quot;&quot;&quot;</span> </span><span id="ManagementRequest-116"><a href="#ManagementRequest-116"><span class="linenos">116</span></a> <span class="n">time_after</span><span class="p">:</span><span class="nb">int</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">time_before</span><span class="p">:</span><span class="nb">int</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span>
</span><span id="ManagementRequest-117"><a href="#ManagementRequest-117"><span class="linenos">117</span></a> </span><span id="ManagementRequest-117"><a href="#ManagementRequest-117"><span class="linenos">117</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span>
</span><span id="ManagementRequest-118"><a href="#ManagementRequest-118"><span class="linenos">118</span></a> <span class="n">kwargs</span> <span class="o">=</span> <span class="nb">locals</span><span class="p">()</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span> </span><span id="ManagementRequest-118"><a href="#ManagementRequest-118"><span class="linenos">118</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="ManagementRequest-119"><a href="#ManagementRequest-119"><span class="linenos">119</span></a> <span class="n">params</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="ManagementRequest-119"><a href="#ManagementRequest-119"><span class="linenos">119</span></a><span class="sd"> Get the total number of rows in the tables matching the filters.</span>
</span><span id="ManagementRequest-120"><a href="#ManagementRequest-120"><span class="linenos">120</span></a> </span><span id="ManagementRequest-120"><a href="#ManagementRequest-120"><span class="linenos">120</span></a>
</span><span id="ManagementRequest-121"><a href="#ManagementRequest-121"><span class="linenos">121</span></a> <span class="k">for</span> <span class="n">k</span><span class="p">,</span><span class="n">v</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">items</span><span class="p">():</span> </span><span id="ManagementRequest-121"><a href="#ManagementRequest-121"><span class="linenos">121</span></a><span class="sd"> May raise `RequestException`.</span>
</span><span id="ManagementRequest-122"><a href="#ManagementRequest-122"><span class="linenos">122</span></a> <span class="k">if</span> <span class="n">k</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">(</span><span class="s1">&#39;self&#39;</span><span class="p">,)</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">v</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> </span><span id="ManagementRequest-122"><a href="#ManagementRequest-122"><span class="linenos">122</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="ManagementRequest-123"><a href="#ManagementRequest-123"><span class="linenos">123</span></a> <span class="n">params</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">=</span> <span class="n">v</span> </span><span id="ManagementRequest-123"><a href="#ManagementRequest-123"><span class="linenos">123</span></a>
</span><span id="ManagementRequest-124"><a href="#ManagementRequest-124"><span class="linenos">124</span></a> </span><span id="ManagementRequest-124"><a href="#ManagementRequest-124"><span class="linenos">124</span></a> <span class="n">kwargs</span> <span class="o">=</span> <span class="nb">locals</span><span class="p">()</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
</span><span id="ManagementRequest-125"><a href="#ManagementRequest-125"><span class="linenos">125</span></a> <span class="k">return</span> <span class="nb">int</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_get_request</span><span class="p">(</span><span class="s1">&#39;app/table/total&#39;</span><span class="p">,</span> <span class="n">params</span><span class="p">))</span> </span><span id="ManagementRequest-125"><a href="#ManagementRequest-125"><span class="linenos">125</span></a> <span class="n">params</span> <span class="o">=</span> <span class="p">{}</span>
</span><span id="ManagementRequest-126"><a href="#ManagementRequest-126"><span class="linenos">126</span></a> </span><span id="ManagementRequest-126"><a href="#ManagementRequest-126"><span class="linenos">126</span></a>
</span><span id="ManagementRequest-127"><a href="#ManagementRequest-127"><span class="linenos">127</span></a> <span class="k">def</span> <span class="nf">_get_request</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">endpoint</span><span class="p">:</span><span class="nb">str</span><span class="p">,</span> <span class="n">params</span><span class="p">:</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">]):</span> </span><span id="ManagementRequest-127"><a href="#ManagementRequest-127"><span class="linenos">127</span></a> <span class="k">for</span> <span class="n">k</span><span class="p">,</span><span class="n">v</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
</span><span id="ManagementRequest-128"><a href="#ManagementRequest-128"><span class="linenos">128</span></a> <span class="n">r</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span> </span><span id="ManagementRequest-128"><a href="#ManagementRequest-128"><span class="linenos">128</span></a> <span class="k">if</span> <span class="n">k</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">(</span><span class="s1">&#39;self&#39;</span><span class="p">,)</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">v</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
</span><span id="ManagementRequest-129"><a href="#ManagementRequest-129"><span class="linenos">129</span></a> <span class="s2">&quot;</span><span class="si">{}</span><span class="s2">/</span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">MANAGEMENT_URL</span><span class="p">,</span> <span class="n">endpoint</span><span class="p">),</span> </span><span id="ManagementRequest-129"><a href="#ManagementRequest-129"><span class="linenos">129</span></a> <span class="n">params</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">=</span> <span class="n">v</span>
</span><span id="ManagementRequest-130"><a href="#ManagementRequest-130"><span class="linenos">130</span></a> <span class="n">params</span><span class="o">=</span><span class="n">params</span> </span><span id="ManagementRequest-130"><a href="#ManagementRequest-130"><span class="linenos">130</span></a>
</span><span id="ManagementRequest-131"><a href="#ManagementRequest-131"><span class="linenos">131</span></a> <span class="p">)</span> </span><span id="ManagementRequest-131"><a href="#ManagementRequest-131"><span class="linenos">131</span></a> <span class="k">return</span> <span class="nb">int</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_get_request</span><span class="p">(</span><span class="s1">&#39;app/table/total&#39;</span><span class="p">,</span> <span class="n">params</span><span class="p">))</span>
</span><span id="ManagementRequest-132"><a href="#ManagementRequest-132"><span class="linenos">132</span></a> </span><span id="ManagementRequest-132"><a href="#ManagementRequest-132"><span class="linenos">132</span></a>
</span><span id="ManagementRequest-133"><a href="#ManagementRequest-133"><span class="linenos">133</span></a> <span class="k">if</span> <span class="n">r</span><span class="o">.</span><span class="n">status_code</span> <span class="o">==</span> <span class="mi">200</span><span class="p">:</span> </span><span id="ManagementRequest-133"><a href="#ManagementRequest-133"><span class="linenos">133</span></a> <span class="k">def</span> <span class="nf">_get_request</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">endpoint</span><span class="p">:</span><span class="nb">str</span><span class="p">,</span> <span class="n">params</span><span class="p">:</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">]):</span>
</span><span id="ManagementRequest-134"><a href="#ManagementRequest-134"><span class="linenos">134</span></a> <span class="k">return</span> <span class="n">r</span><span class="o">.</span><span class="n">json</span><span class="p">()</span> </span><span id="ManagementRequest-134"><a href="#ManagementRequest-134"><span class="linenos">134</span></a> <span class="n">r</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
</span><span id="ManagementRequest-135"><a href="#ManagementRequest-135"><span class="linenos">135</span></a> <span class="k">else</span><span class="p">:</span> </span><span id="ManagementRequest-135"><a href="#ManagementRequest-135"><span class="linenos">135</span></a> <span class="s2">&quot;</span><span class="si">{}</span><span class="s2">/</span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">MANAGEMENT_URL</span><span class="p">,</span> <span class="n">endpoint</span><span class="p">),</span>
</span><span id="ManagementRequest-136"><a href="#ManagementRequest-136"><span class="linenos">136</span></a> <span class="k">raise</span> <span class="n">RequestException</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">text</span><span class="p">)</span><span class="o">+</span><span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">headers</span><span class="p">))</span> </span><span id="ManagementRequest-136"><a href="#ManagementRequest-136"><span class="linenos">136</span></a> <span class="n">params</span><span class="o">=</span><span class="n">params</span>
</span><span id="ManagementRequest-137"><a href="#ManagementRequest-137"><span class="linenos">137</span></a> </span><span id="ManagementRequest-137"><a href="#ManagementRequest-137"><span class="linenos">137</span></a> <span class="p">)</span>
</span><span id="ManagementRequest-138"><a href="#ManagementRequest-138"><span class="linenos">138</span></a> <span class="nd">@validate_call</span> </span><span id="ManagementRequest-138"><a href="#ManagementRequest-138"><span class="linenos">138</span></a>
</span><span id="ManagementRequest-139"><a href="#ManagementRequest-139"><span class="linenos">139</span></a> <span class="k">def</span> <span class="nf">send_message</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">AgentResponse</span><span class="p">:</span> </span><span id="ManagementRequest-139"><a href="#ManagementRequest-139"><span class="linenos">139</span></a> <span class="k">if</span> <span class="n">r</span><span class="o">.</span><span class="n">status_code</span> <span class="o">==</span> <span class="mi">200</span><span class="p">:</span>
</span><span id="ManagementRequest-140"><a href="#ManagementRequest-140"><span class="linenos">140</span></a> <span class="c1"># TODO</span> </span><span id="ManagementRequest-140"><a href="#ManagementRequest-140"><span class="linenos">140</span></a> <span class="k">return</span> <span class="n">r</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
</span><span id="ManagementRequest-141"><a href="#ManagementRequest-141"><span class="linenos">141</span></a> <span class="k">pass</span> </span><span id="ManagementRequest-141"><a href="#ManagementRequest-141"><span class="linenos">141</span></a> <span class="k">else</span><span class="p">:</span>
</span><span id="ManagementRequest-142"><a href="#ManagementRequest-142"><span class="linenos">142</span></a> </span><span id="ManagementRequest-142"><a href="#ManagementRequest-142"><span class="linenos">142</span></a> <span class="k">raise</span> <span class="n">RequestException</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">text</span><span class="p">)</span><span class="o">+</span><span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">headers</span><span class="p">))</span>
</span><span id="ManagementRequest-143"><a href="#ManagementRequest-143"><span class="linenos">143</span></a> <span class="k">def</span> <span class="nf">_post_request</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">message</span><span class="p">:</span><span class="n">AgentMessage</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">AgentResponse</span><span class="p">:</span> </span><span id="ManagementRequest-143"><a href="#ManagementRequest-143"><span class="linenos">143</span></a>
</span><span id="ManagementRequest-144"><a href="#ManagementRequest-144"><span class="linenos">144</span></a> <span class="c1"># TODO</span> </span><span id="ManagementRequest-144"><a href="#ManagementRequest-144"><span class="linenos">144</span></a> <span class="nd">@validate_call</span>
</span><span id="ManagementRequest-145"><a href="#ManagementRequest-145"><span class="linenos">145</span></a> </span><span id="ManagementRequest-145"><a href="#ManagementRequest-145"><span class="linenos">145</span></a> <span class="k">def</span> <span class="nf">send_message</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">message</span><span class="p">:</span><span class="n">AgentMessage</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">AgentResponse</span><span class="p">:</span>
</span><span id="ManagementRequest-146"><a href="#ManagementRequest-146"><span class="linenos">146</span></a> <span class="n">r</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">post</span><span class="p">(</span> </span><span id="ManagementRequest-146"><a href="#ManagementRequest-146"><span class="linenos">146</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="ManagementRequest-147"><a href="#ManagementRequest-147"><span class="linenos">147</span></a> <span class="s2">&quot;</span><span class="si">{}</span><span class="s2">/message&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">url</span><span class="p">),</span> </span><span id="ManagementRequest-147"><a href="#ManagementRequest-147"><span class="linenos">147</span></a><span class="sd"> Send the `message` to the management and return the management&#39;s agent response.</span>
</span><span id="ManagementRequest-148"><a href="#ManagementRequest-148"><span class="linenos">148</span></a> <span class="n">data</span><span class="o">=</span><span class="n">message</span><span class="o">.</span><span class="n">model_dump_json</span><span class="p">(),</span> </span><span id="ManagementRequest-148"><a href="#ManagementRequest-148"><span class="linenos">148</span></a><span class="sd"> (On error an agent response with error message).</span>
</span><span id="ManagementRequest-149"><a href="#ManagementRequest-149"><span class="linenos">149</span></a> <span class="n">headers</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;accept&quot;</span> <span class="p">:</span> <span class="s2">&quot;application/json&quot;</span><span class="p">,</span> <span class="s2">&quot;content-type&quot;</span> <span class="p">:</span> <span class="s2">&quot;application/json&quot;</span><span class="p">}</span> </span><span id="ManagementRequest-149"><a href="#ManagementRequest-149"><span class="linenos">149</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="ManagementRequest-150"><a href="#ManagementRequest-150"><span class="linenos">150</span></a> <span class="p">)</span> </span><span id="ManagementRequest-150"><a href="#ManagementRequest-150"><span class="linenos">150</span></a> <span class="k">try</span><span class="p">:</span>
</span><span id="ManagementRequest-151"><a href="#ManagementRequest-151"><span class="linenos">151</span></a> </span><span id="ManagementRequest-151"><a href="#ManagementRequest-151"><span class="linenos">151</span></a> <span class="k">return</span> <span class="n">AgentResponse</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span>
</span><span id="ManagementRequest-152"><a href="#ManagementRequest-152"><span class="linenos">152</span></a> <span class="k">if</span> <span class="n">r</span><span class="o">.</span><span class="n">status_code</span> <span class="o">==</span> <span class="mi">200</span><span class="p">:</span> </span><span id="ManagementRequest-152"><a href="#ManagementRequest-152"><span class="linenos">152</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_post_request</span><span class="p">(</span>
</span><span id="ManagementRequest-153"><a href="#ManagementRequest-153"><span class="linenos">153</span></a> <span class="k">return</span> <span class="n">AgentResponse</span><span class="o">.</span><span class="n">model_validate_json</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">text</span><span class="p">)</span> </span><span id="ManagementRequest-153"><a href="#ManagementRequest-153"><span class="linenos">153</span></a> <span class="s2">&quot;message&quot;</span><span class="p">,</span>
</span><span id="ManagementRequest-154"><a href="#ManagementRequest-154"><span class="linenos">154</span></a> <span class="k">else</span><span class="p">:</span> </span><span id="ManagementRequest-154"><a href="#ManagementRequest-154"><span class="linenos">154</span></a> <span class="n">message</span><span class="o">.</span><span class="n">model_dump_json</span><span class="p">()</span>
</span><span id="ManagementRequest-155"><a href="#ManagementRequest-155"><span class="linenos">155</span></a> <span class="k">return</span> <span class="n">AgentResponse</span><span class="p">(</span><span class="n">count</span><span class="o">=-</span><span class="mi">1</span><span class="p">,</span> <span class="n">error</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">error_msg</span><span class="o">=</span><span class="nb">str</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">text</span><span class="p">)</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">headers</span><span class="p">))</span> </span><span id="ManagementRequest-155"><a href="#ManagementRequest-155"><span class="linenos">155</span></a> <span class="p">)</span>
</span><span id="ManagementRequest-156"><a href="#ManagementRequest-156"><span class="linenos">156</span></a> <span class="p">)</span>
</span><span id="ManagementRequest-157"><a href="#ManagementRequest-157"><span class="linenos">157</span></a> <span class="k">except</span> <span class="n">RequestException</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
</span><span id="ManagementRequest-158"><a href="#ManagementRequest-158"><span class="linenos">158</span></a> <span class="k">return</span> <span class="n">AgentResponse</span><span class="p">(</span>
</span><span id="ManagementRequest-159"><a href="#ManagementRequest-159"><span class="linenos">159</span></a> <span class="n">count</span><span class="o">=-</span><span class="mi">1</span><span class="p">,</span>
</span><span id="ManagementRequest-160"><a href="#ManagementRequest-160"><span class="linenos">160</span></a> <span class="n">error</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
</span><span id="ManagementRequest-161"><a href="#ManagementRequest-161"><span class="linenos">161</span></a> <span class="n">error_msg</span><span class="o">=</span><span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
</span><span id="ManagementRequest-162"><a href="#ManagementRequest-162"><span class="linenos">162</span></a> <span class="p">)</span>
</span><span id="ManagementRequest-163"><a href="#ManagementRequest-163"><span class="linenos">163</span></a>
</span><span id="ManagementRequest-164"><a href="#ManagementRequest-164"><span class="linenos">164</span></a> <span class="k">def</span> <span class="nf">_post_request</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">endpoint</span><span class="p">:</span><span class="nb">str</span><span class="p">,</span> <span class="n">data</span><span class="p">:</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">]):</span>
</span><span id="ManagementRequest-165"><a href="#ManagementRequest-165"><span class="linenos">165</span></a> <span class="n">r</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">post</span><span class="p">(</span>
</span><span id="ManagementRequest-166"><a href="#ManagementRequest-166"><span class="linenos">166</span></a> <span class="s2">&quot;</span><span class="si">{}</span><span class="s2">/</span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">MANAGEMENT_URL</span><span class="p">,</span> <span class="n">endpoint</span><span class="p">),</span>
</span><span id="ManagementRequest-167"><a href="#ManagementRequest-167"><span class="linenos">167</span></a> <span class="n">data</span><span class="o">=</span><span class="n">data</span><span class="p">,</span>
</span><span id="ManagementRequest-168"><a href="#ManagementRequest-168"><span class="linenos">168</span></a> <span class="n">headers</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;accept&quot;</span> <span class="p">:</span> <span class="s2">&quot;application/json&quot;</span><span class="p">,</span> <span class="s2">&quot;content-type&quot;</span> <span class="p">:</span> <span class="s2">&quot;application/json&quot;</span><span class="p">}</span>
</span><span id="ManagementRequest-169"><a href="#ManagementRequest-169"><span class="linenos">169</span></a> <span class="p">)</span>
</span><span id="ManagementRequest-170"><a href="#ManagementRequest-170"><span class="linenos">170</span></a>
</span><span id="ManagementRequest-171"><a href="#ManagementRequest-171"><span class="linenos">171</span></a> <span class="k">if</span> <span class="n">r</span><span class="o">.</span><span class="n">status_code</span> <span class="o">==</span> <span class="mi">200</span><span class="p">:</span>
</span><span id="ManagementRequest-172"><a href="#ManagementRequest-172"><span class="linenos">172</span></a> <span class="k">return</span> <span class="n">r</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
</span><span id="ManagementRequest-173"><a href="#ManagementRequest-173"><span class="linenos">173</span></a> <span class="k">else</span><span class="p">:</span>
</span><span id="ManagementRequest-174"><a href="#ManagementRequest-174"><span class="linenos">174</span></a> <span class="k">return</span> <span class="n">RequestException</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">text</span><span class="p">)</span><span class="o">+</span><span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">headers</span><span class="p">))</span>
</span></pre></div> </span></pre></div>
@ -446,14 +478,14 @@ Manually send messages (if necessary, the platforms should do this). </p>
</span><span id="ManagementRequest.__init__-60"><a href="#ManagementRequest.__init__-60"><span class="linenos">60</span></a><span class="sd"> If `allow_lazy` is active, the type checking (by pydantic) is less strict. </span> </span><span id="ManagementRequest.__init__-60"><a href="#ManagementRequest.__init__-60"><span class="linenos">60</span></a><span class="sd"> If `allow_lazy` is active, the type checking (by pydantic) is less strict. </span>
</span><span id="ManagementRequest.__init__-61"><a href="#ManagementRequest.__init__-61"><span class="linenos">61</span></a><span class="sd"> E.g. it does not require that all files in the data section of messages must exist on the file system.</span> </span><span id="ManagementRequest.__init__-61"><a href="#ManagementRequest.__init__-61"><span class="linenos">61</span></a><span class="sd"> E.g. it does not require that all files in the data section of messages must exist on the file system.</span>
</span><span id="ManagementRequest.__init__-62"><a href="#ManagementRequest.__init__-62"><span class="linenos">62</span></a><span class="sd"> &quot;&quot;&quot;</span> </span><span id="ManagementRequest.__init__-62"><a href="#ManagementRequest.__init__-62"><span class="linenos">62</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="ManagementRequest.__init__-63"><a href="#ManagementRequest.__init__-63"><span class="linenos">63</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">allow_lazy</span> <span class="o">=</span> <span class="n">allow_lazy</span> </span><span id="ManagementRequest.__init__-63"><a href="#ManagementRequest.__init__-63"><span class="linenos">63</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_allow_lazy</span> <span class="o">=</span> <span class="n">allow_lazy</span>
</span><span id="ManagementRequest.__init__-64"><a href="#ManagementRequest.__init__-64"><span class="linenos">64</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">pydantic_context</span> <span class="o">=</span> <span class="p">{</span> </span><span id="ManagementRequest.__init__-64"><a href="#ManagementRequest.__init__-64"><span class="linenos">64</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_pydantic_context</span> <span class="o">=</span> <span class="p">{</span>
</span><span id="ManagementRequest.__init__-65"><a href="#ManagementRequest.__init__-65"><span class="linenos">65</span></a> <span class="s2">&quot;require_file_exists&quot;</span><span class="p">:</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">allow_lazy</span> </span><span id="ManagementRequest.__init__-65"><a href="#ManagementRequest.__init__-65"><span class="linenos">65</span></a> <span class="s2">&quot;require_file_exists&quot;</span><span class="p">:</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_allow_lazy</span>
</span><span id="ManagementRequest.__init__-66"><a href="#ManagementRequest.__init__-66"><span class="linenos">66</span></a> <span class="p">}</span> </span><span id="ManagementRequest.__init__-66"><a href="#ManagementRequest.__init__-66"><span class="linenos">66</span></a> <span class="p">}</span>
</span></pre></div> </span></pre></div>
<div class="docstring"><p>If <code><a href="#ManagementRequest.allow_lazy">allow_lazy</a></code> is active, the type checking (by pydantic) is less strict. <div class="docstring"><p>If <code>allow_lazy</code> is active, the type checking (by pydantic) is less strict.
E.g. it does not require that all files in the data section of messages must exist on the file system.</p> E.g. it does not require that all files in the data section of messages must exist on the file system.</p>
</div> </div>
@ -470,28 +502,6 @@ E.g. it does not require that all files in the data section of messages must exi
</div>
<div id="ManagementRequest.allow_lazy" class="classattr">
<div class="attr variable">
<span class="name">allow_lazy</span>
</div>
<a class="headerlink" href="#ManagementRequest.allow_lazy"></a>
</div>
<div id="ManagementRequest.pydantic_context" class="classattr">
<div class="attr variable">
<span class="name">pydantic_context</span>
</div>
<a class="headerlink" href="#ManagementRequest.pydantic_context"></a>
</div> </div>
<div id="ManagementRequest.get_message" class="classattr"> <div id="ManagementRequest.get_message" class="classattr">
<input id="ManagementRequest.get_message-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1"> <input id="ManagementRequest.get_message-view-source" class="view-source-toggle-state" type="checkbox" aria-hidden="true" tabindex="-1">
@ -509,18 +519,22 @@ E.g. it does not require that all files in the data section of messages must exi
</span><span id="ManagementRequest.get_message-69"><a href="#ManagementRequest.get_message-69"><span class="linenos">69</span></a> <span class="k">def</span> <span class="nf">get_message</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">count</span><span class="p">:</span><span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">MessageDbRow</span><span class="p">:</span> </span><span id="ManagementRequest.get_message-69"><a href="#ManagementRequest.get_message-69"><span class="linenos">69</span></a> <span class="k">def</span> <span class="nf">get_message</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">count</span><span class="p">:</span><span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">MessageDbRow</span><span class="p">:</span>
</span><span id="ManagementRequest.get_message-70"><a href="#ManagementRequest.get_message-70"><span class="linenos">70</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span> </span><span id="ManagementRequest.get_message-70"><a href="#ManagementRequest.get_message-70"><span class="linenos">70</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="ManagementRequest.get_message-71"><a href="#ManagementRequest.get_message-71"><span class="linenos">71</span></a><span class="sd"> Get a message (like a table row) from the management by using the `count`.</span> </span><span id="ManagementRequest.get_message-71"><a href="#ManagementRequest.get_message-71"><span class="linenos">71</span></a><span class="sd"> Get a message (like a table row) from the management by using the `count`.</span>
</span><span id="ManagementRequest.get_message-72"><a href="#ManagementRequest.get_message-72"><span class="linenos">72</span></a><span class="sd"> &quot;&quot;&quot;</span> </span><span id="ManagementRequest.get_message-72"><a href="#ManagementRequest.get_message-72"><span class="linenos">72</span></a>
</span><span id="ManagementRequest.get_message-73"><a href="#ManagementRequest.get_message-73"><span class="linenos">73</span></a> <span class="n">row</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_request</span><span class="p">(</span> </span><span id="ManagementRequest.get_message-73"><a href="#ManagementRequest.get_message-73"><span class="linenos">73</span></a><span class="sd"> May raise `RequestException`.</span>
</span><span id="ManagementRequest.get_message-74"><a href="#ManagementRequest.get_message-74"><span class="linenos">74</span></a> <span class="s1">&#39;list/single&#39;</span><span class="p">,</span> </span><span id="ManagementRequest.get_message-74"><a href="#ManagementRequest.get_message-74"><span class="linenos">74</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="ManagementRequest.get_message-75"><a href="#ManagementRequest.get_message-75"><span class="linenos">75</span></a> <span class="p">{</span><span class="s2">&quot;count&quot;</span><span class="p">:</span> <span class="n">count</span><span class="p">}</span> </span><span id="ManagementRequest.get_message-75"><a href="#ManagementRequest.get_message-75"><span class="linenos">75</span></a> <span class="n">row</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_request</span><span class="p">(</span>
</span><span id="ManagementRequest.get_message-76"><a href="#ManagementRequest.get_message-76"><span class="linenos">76</span></a> <span class="p">)</span> </span><span id="ManagementRequest.get_message-76"><a href="#ManagementRequest.get_message-76"><span class="linenos">76</span></a> <span class="s1">&#39;list/single&#39;</span><span class="p">,</span>
</span><span id="ManagementRequest.get_message-77"><a href="#ManagementRequest.get_message-77"><span class="linenos">77</span></a> <span class="k">return</span> <span class="n">MessageDbRow</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span> </span><span id="ManagementRequest.get_message-77"><a href="#ManagementRequest.get_message-77"><span class="linenos">77</span></a> <span class="p">{</span><span class="s2">&quot;count&quot;</span><span class="p">:</span> <span class="n">count</span><span class="p">}</span>
</span><span id="ManagementRequest.get_message-78"><a href="#ManagementRequest.get_message-78"><span class="linenos">78</span></a> <span class="n">row</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">pydantic_context</span> </span><span id="ManagementRequest.get_message-78"><a href="#ManagementRequest.get_message-78"><span class="linenos">78</span></a> <span class="p">)</span>
</span><span id="ManagementRequest.get_message-79"><a href="#ManagementRequest.get_message-79"><span class="linenos">79</span></a> <span class="p">)</span> </span><span id="ManagementRequest.get_message-79"><a href="#ManagementRequest.get_message-79"><span class="linenos">79</span></a> <span class="k">return</span> <span class="n">MessageDbRow</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span>
</span><span id="ManagementRequest.get_message-80"><a href="#ManagementRequest.get_message-80"><span class="linenos">80</span></a> <span class="n">row</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_pydantic_context</span>
</span><span id="ManagementRequest.get_message-81"><a href="#ManagementRequest.get_message-81"><span class="linenos">81</span></a> <span class="p">)</span>
</span></pre></div> </span></pre></div>
<div class="docstring"><p>Get a message (like a table row) from the management by using the <code>count</code>.</p> <div class="docstring"><p>Get a message (like a table row) from the management by using the <code>count</code>.</p>
<p>May raise <code><a href="#RequestException">RequestException</a></code>.</p>
</div> </div>
@ -537,37 +551,41 @@ E.g. it does not require that all files in the data section of messages must exi
</div> </div>
<a class="headerlink" href="#ManagementRequest.list_messages"></a> <a class="headerlink" href="#ManagementRequest.list_messages"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="ManagementRequest.list_messages-81"><a href="#ManagementRequest.list_messages-81"><span class="linenos"> 81</span></a> <span class="nd">@validate_call</span> <div class="pdoc-code codehilite"><pre><span></span><span id="ManagementRequest.list_messages-83"><a href="#ManagementRequest.list_messages-83"><span class="linenos"> 83</span></a> <span class="nd">@validate_call</span>
</span><span id="ManagementRequest.list_messages-82"><a href="#ManagementRequest.list_messages-82"><span class="linenos"> 82</span></a> <span class="k">def</span> <span class="nf">list_messages</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> </span><span id="ManagementRequest.list_messages-84"><a href="#ManagementRequest.list_messages-84"><span class="linenos"> 84</span></a> <span class="k">def</span> <span class="nf">list_messages</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
</span><span id="ManagementRequest.list_messages-83"><a href="#ManagementRequest.list_messages-83"><span class="linenos"> 83</span></a> <span class="nb">id</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">sender</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">recipient</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> </span><span id="ManagementRequest.list_messages-85"><a href="#ManagementRequest.list_messages-85"><span class="linenos"> 85</span></a> <span class="nb">id</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">sender</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">recipient</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
</span><span id="ManagementRequest.list_messages-84"><a href="#ManagementRequest.list_messages-84"><span class="linenos"> 84</span></a> <span class="n">processed</span><span class="p">:</span><span class="nb">bool</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">solution</span><span class="p">:</span><span class="nb">bool</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> </span><span id="ManagementRequest.list_messages-86"><a href="#ManagementRequest.list_messages-86"><span class="linenos"> 86</span></a> <span class="n">processed</span><span class="p">:</span><span class="nb">bool</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">solution</span><span class="p">:</span><span class="nb">bool</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
</span><span id="ManagementRequest.list_messages-85"><a href="#ManagementRequest.list_messages-85"><span class="linenos"> 85</span></a> <span class="n">time_after</span><span class="p">:</span><span class="nb">int</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">time_before</span><span class="p">:</span><span class="nb">int</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> </span><span id="ManagementRequest.list_messages-87"><a href="#ManagementRequest.list_messages-87"><span class="linenos"> 87</span></a> <span class="n">time_after</span><span class="p">:</span><span class="nb">int</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">time_before</span><span class="p">:</span><span class="nb">int</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
</span><span id="ManagementRequest.list_messages-86"><a href="#ManagementRequest.list_messages-86"><span class="linenos"> 86</span></a> <span class="n">limit</span><span class="p">:</span><span class="nb">int</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">offset</span><span class="p">:</span><span class="nb">int</span><span class="o">=</span><span class="mi">0</span> </span><span id="ManagementRequest.list_messages-88"><a href="#ManagementRequest.list_messages-88"><span class="linenos"> 88</span></a> <span class="n">limit</span><span class="p">:</span><span class="nb">int</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">offset</span><span class="p">:</span><span class="nb">int</span><span class="o">=</span><span class="mi">0</span>
</span><span id="ManagementRequest.list_messages-87"><a href="#ManagementRequest.list_messages-87"><span class="linenos"> 87</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">List</span><span class="p">[</span><span class="n">MessageDbRow</span><span class="p">]:</span> </span><span id="ManagementRequest.list_messages-89"><a href="#ManagementRequest.list_messages-89"><span class="linenos"> 89</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">List</span><span class="p">[</span><span class="n">MessageDbRow</span><span class="p">]:</span>
</span><span id="ManagementRequest.list_messages-88"><a href="#ManagementRequest.list_messages-88"><span class="linenos"> 88</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span> </span><span id="ManagementRequest.list_messages-90"><a href="#ManagementRequest.list_messages-90"><span class="linenos"> 90</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="ManagementRequest.list_messages-89"><a href="#ManagementRequest.list_messages-89"><span class="linenos"> 89</span></a><span class="sd"> Get the rows in the tables as list of messages.</span> </span><span id="ManagementRequest.list_messages-91"><a href="#ManagementRequest.list_messages-91"><span class="linenos"> 91</span></a><span class="sd"> Get the rows in the tables as list of messages.</span>
</span><span id="ManagementRequest.list_messages-90"><a href="#ManagementRequest.list_messages-90"><span class="linenos"> 90</span></a><span class="sd"> The arguments are used for filtering.</span> </span><span id="ManagementRequest.list_messages-92"><a href="#ManagementRequest.list_messages-92"><span class="linenos"> 92</span></a><span class="sd"> The arguments are used for filtering.</span>
</span><span id="ManagementRequest.list_messages-91"><a href="#ManagementRequest.list_messages-91"><span class="linenos"> 91</span></a><span class="sd"> &quot;&quot;&quot;</span> </span><span id="ManagementRequest.list_messages-93"><a href="#ManagementRequest.list_messages-93"><span class="linenos"> 93</span></a>
</span><span id="ManagementRequest.list_messages-92"><a href="#ManagementRequest.list_messages-92"><span class="linenos"> 92</span></a> </span><span id="ManagementRequest.list_messages-94"><a href="#ManagementRequest.list_messages-94"><span class="linenos"> 94</span></a><span class="sd"> May raise `RequestException`.</span>
</span><span id="ManagementRequest.list_messages-93"><a href="#ManagementRequest.list_messages-93"><span class="linenos"> 93</span></a> <span class="n">kwargs</span> <span class="o">=</span> <span class="nb">locals</span><span class="p">()</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span> </span><span id="ManagementRequest.list_messages-95"><a href="#ManagementRequest.list_messages-95"><span class="linenos"> 95</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="ManagementRequest.list_messages-94"><a href="#ManagementRequest.list_messages-94"><span class="linenos"> 94</span></a> <span class="n">params</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="ManagementRequest.list_messages-96"><a href="#ManagementRequest.list_messages-96"><span class="linenos"> 96</span></a>
</span><span id="ManagementRequest.list_messages-95"><a href="#ManagementRequest.list_messages-95"><span class="linenos"> 95</span></a> </span><span id="ManagementRequest.list_messages-97"><a href="#ManagementRequest.list_messages-97"><span class="linenos"> 97</span></a> <span class="n">kwargs</span> <span class="o">=</span> <span class="nb">locals</span><span class="p">()</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
</span><span id="ManagementRequest.list_messages-96"><a href="#ManagementRequest.list_messages-96"><span class="linenos"> 96</span></a> <span class="k">for</span> <span class="n">k</span><span class="p">,</span><span class="n">v</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">items</span><span class="p">():</span> </span><span id="ManagementRequest.list_messages-98"><a href="#ManagementRequest.list_messages-98"><span class="linenos"> 98</span></a> <span class="n">params</span> <span class="o">=</span> <span class="p">{}</span>
</span><span id="ManagementRequest.list_messages-97"><a href="#ManagementRequest.list_messages-97"><span class="linenos"> 97</span></a> <span class="k">if</span> <span class="n">k</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">(</span><span class="s1">&#39;self&#39;</span><span class="p">,)</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">v</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
</span><span id="ManagementRequest.list_messages-98"><a href="#ManagementRequest.list_messages-98"><span class="linenos"> 98</span></a> <span class="n">params</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">=</span> <span class="n">v</span>
</span><span id="ManagementRequest.list_messages-99"><a href="#ManagementRequest.list_messages-99"><span class="linenos"> 99</span></a> </span><span id="ManagementRequest.list_messages-99"><a href="#ManagementRequest.list_messages-99"><span class="linenos"> 99</span></a>
</span><span id="ManagementRequest.list_messages-100"><a href="#ManagementRequest.list_messages-100"><span class="linenos">100</span></a> <span class="n">rows</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_request</span><span class="p">(</span><span class="s1">&#39;list&#39;</span><span class="p">,</span> <span class="n">params</span><span class="p">)</span> </span><span id="ManagementRequest.list_messages-100"><a href="#ManagementRequest.list_messages-100"><span class="linenos">100</span></a> <span class="k">for</span> <span class="n">k</span><span class="p">,</span><span class="n">v</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
</span><span id="ManagementRequest.list_messages-101"><a href="#ManagementRequest.list_messages-101"><span class="linenos">101</span></a> </span><span id="ManagementRequest.list_messages-101"><a href="#ManagementRequest.list_messages-101"><span class="linenos">101</span></a> <span class="k">if</span> <span class="n">k</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">(</span><span class="s1">&#39;self&#39;</span><span class="p">,)</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">v</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
</span><span id="ManagementRequest.list_messages-102"><a href="#ManagementRequest.list_messages-102"><span class="linenos">102</span></a> <span class="k">return</span> <span class="p">[</span> </span><span id="ManagementRequest.list_messages-102"><a href="#ManagementRequest.list_messages-102"><span class="linenos">102</span></a> <span class="n">params</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">=</span> <span class="n">v</span>
</span><span id="ManagementRequest.list_messages-103"><a href="#ManagementRequest.list_messages-103"><span class="linenos">103</span></a> <span class="n">MessageDbRow</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span> </span><span id="ManagementRequest.list_messages-103"><a href="#ManagementRequest.list_messages-103"><span class="linenos">103</span></a>
</span><span id="ManagementRequest.list_messages-104"><a href="#ManagementRequest.list_messages-104"><span class="linenos">104</span></a> <span class="n">row</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">pydantic_context</span> </span><span id="ManagementRequest.list_messages-104"><a href="#ManagementRequest.list_messages-104"><span class="linenos">104</span></a> <span class="n">rows</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_request</span><span class="p">(</span><span class="s1">&#39;list&#39;</span><span class="p">,</span> <span class="n">params</span><span class="p">)</span>
</span><span id="ManagementRequest.list_messages-105"><a href="#ManagementRequest.list_messages-105"><span class="linenos">105</span></a> <span class="p">)</span> <span class="k">for</span> <span class="n">row</span> <span class="ow">in</span> <span class="n">rows</span> </span><span id="ManagementRequest.list_messages-105"><a href="#ManagementRequest.list_messages-105"><span class="linenos">105</span></a>
</span><span id="ManagementRequest.list_messages-106"><a href="#ManagementRequest.list_messages-106"><span class="linenos">106</span></a> <span class="p">]</span> </span><span id="ManagementRequest.list_messages-106"><a href="#ManagementRequest.list_messages-106"><span class="linenos">106</span></a> <span class="k">return</span> <span class="p">[</span>
</span><span id="ManagementRequest.list_messages-107"><a href="#ManagementRequest.list_messages-107"><span class="linenos">107</span></a> <span class="n">MessageDbRow</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span>
</span><span id="ManagementRequest.list_messages-108"><a href="#ManagementRequest.list_messages-108"><span class="linenos">108</span></a> <span class="n">row</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_pydantic_context</span>
</span><span id="ManagementRequest.list_messages-109"><a href="#ManagementRequest.list_messages-109"><span class="linenos">109</span></a> <span class="p">)</span> <span class="k">for</span> <span class="n">row</span> <span class="ow">in</span> <span class="n">rows</span>
</span><span id="ManagementRequest.list_messages-110"><a href="#ManagementRequest.list_messages-110"><span class="linenos">110</span></a> <span class="p">]</span>
</span></pre></div> </span></pre></div>
<div class="docstring"><p>Get the rows in the tables as list of messages. <div class="docstring"><p>Get the rows in the tables as list of messages.
The arguments are used for filtering.</p> The arguments are used for filtering.</p>
<p>May raise <code><a href="#RequestException">RequestException</a></code>.</p>
</div> </div>
@ -584,28 +602,32 @@ The arguments are used for filtering.</p>
</div> </div>
<a class="headerlink" href="#ManagementRequest.total_messages"></a> <a class="headerlink" href="#ManagementRequest.total_messages"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="ManagementRequest.total_messages-108"><a href="#ManagementRequest.total_messages-108"><span class="linenos">108</span></a> <span class="nd">@validate_call</span> <div class="pdoc-code codehilite"><pre><span></span><span id="ManagementRequest.total_messages-112"><a href="#ManagementRequest.total_messages-112"><span class="linenos">112</span></a> <span class="nd">@validate_call</span>
</span><span id="ManagementRequest.total_messages-109"><a href="#ManagementRequest.total_messages-109"><span class="linenos">109</span></a> <span class="k">def</span> <span class="nf">total_messages</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> </span><span id="ManagementRequest.total_messages-113"><a href="#ManagementRequest.total_messages-113"><span class="linenos">113</span></a> <span class="k">def</span> <span class="nf">total_messages</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span>
</span><span id="ManagementRequest.total_messages-110"><a href="#ManagementRequest.total_messages-110"><span class="linenos">110</span></a> <span class="nb">id</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">sender</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">recipient</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> </span><span id="ManagementRequest.total_messages-114"><a href="#ManagementRequest.total_messages-114"><span class="linenos">114</span></a> <span class="nb">id</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">sender</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">recipient</span><span class="p">:</span><span class="nb">str</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
</span><span id="ManagementRequest.total_messages-111"><a href="#ManagementRequest.total_messages-111"><span class="linenos">111</span></a> <span class="n">processed</span><span class="p">:</span><span class="nb">bool</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">solution</span><span class="p">:</span><span class="nb">bool</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> </span><span id="ManagementRequest.total_messages-115"><a href="#ManagementRequest.total_messages-115"><span class="linenos">115</span></a> <span class="n">processed</span><span class="p">:</span><span class="nb">bool</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">solution</span><span class="p">:</span><span class="nb">bool</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
</span><span id="ManagementRequest.total_messages-112"><a href="#ManagementRequest.total_messages-112"><span class="linenos">112</span></a> <span class="n">time_after</span><span class="p">:</span><span class="nb">int</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">time_before</span><span class="p">:</span><span class="nb">int</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span> </span><span id="ManagementRequest.total_messages-116"><a href="#ManagementRequest.total_messages-116"><span class="linenos">116</span></a> <span class="n">time_after</span><span class="p">:</span><span class="nb">int</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">time_before</span><span class="p">:</span><span class="nb">int</span><span class="o">|</span><span class="kc">None</span><span class="o">=</span><span class="kc">None</span>
</span><span id="ManagementRequest.total_messages-113"><a href="#ManagementRequest.total_messages-113"><span class="linenos">113</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span> </span><span id="ManagementRequest.total_messages-117"><a href="#ManagementRequest.total_messages-117"><span class="linenos">117</span></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span>
</span><span id="ManagementRequest.total_messages-114"><a href="#ManagementRequest.total_messages-114"><span class="linenos">114</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span> </span><span id="ManagementRequest.total_messages-118"><a href="#ManagementRequest.total_messages-118"><span class="linenos">118</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="ManagementRequest.total_messages-115"><a href="#ManagementRequest.total_messages-115"><span class="linenos">115</span></a><span class="sd"> Get the total number of rows in the tables matching the filters.</span> </span><span id="ManagementRequest.total_messages-119"><a href="#ManagementRequest.total_messages-119"><span class="linenos">119</span></a><span class="sd"> Get the total number of rows in the tables matching the filters.</span>
</span><span id="ManagementRequest.total_messages-116"><a href="#ManagementRequest.total_messages-116"><span class="linenos">116</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="ManagementRequest.total_messages-117"><a href="#ManagementRequest.total_messages-117"><span class="linenos">117</span></a>
</span><span id="ManagementRequest.total_messages-118"><a href="#ManagementRequest.total_messages-118"><span class="linenos">118</span></a> <span class="n">kwargs</span> <span class="o">=</span> <span class="nb">locals</span><span class="p">()</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
</span><span id="ManagementRequest.total_messages-119"><a href="#ManagementRequest.total_messages-119"><span class="linenos">119</span></a> <span class="n">params</span> <span class="o">=</span> <span class="p">{}</span>
</span><span id="ManagementRequest.total_messages-120"><a href="#ManagementRequest.total_messages-120"><span class="linenos">120</span></a> </span><span id="ManagementRequest.total_messages-120"><a href="#ManagementRequest.total_messages-120"><span class="linenos">120</span></a>
</span><span id="ManagementRequest.total_messages-121"><a href="#ManagementRequest.total_messages-121"><span class="linenos">121</span></a> <span class="k">for</span> <span class="n">k</span><span class="p">,</span><span class="n">v</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">items</span><span class="p">():</span> </span><span id="ManagementRequest.total_messages-121"><a href="#ManagementRequest.total_messages-121"><span class="linenos">121</span></a><span class="sd"> May raise `RequestException`.</span>
</span><span id="ManagementRequest.total_messages-122"><a href="#ManagementRequest.total_messages-122"><span class="linenos">122</span></a> <span class="k">if</span> <span class="n">k</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">(</span><span class="s1">&#39;self&#39;</span><span class="p">,)</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">v</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> </span><span id="ManagementRequest.total_messages-122"><a href="#ManagementRequest.total_messages-122"><span class="linenos">122</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="ManagementRequest.total_messages-123"><a href="#ManagementRequest.total_messages-123"><span class="linenos">123</span></a> <span class="n">params</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">=</span> <span class="n">v</span> </span><span id="ManagementRequest.total_messages-123"><a href="#ManagementRequest.total_messages-123"><span class="linenos">123</span></a>
</span><span id="ManagementRequest.total_messages-124"><a href="#ManagementRequest.total_messages-124"><span class="linenos">124</span></a> </span><span id="ManagementRequest.total_messages-124"><a href="#ManagementRequest.total_messages-124"><span class="linenos">124</span></a> <span class="n">kwargs</span> <span class="o">=</span> <span class="nb">locals</span><span class="p">()</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
</span><span id="ManagementRequest.total_messages-125"><a href="#ManagementRequest.total_messages-125"><span class="linenos">125</span></a> <span class="k">return</span> <span class="nb">int</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_get_request</span><span class="p">(</span><span class="s1">&#39;app/table/total&#39;</span><span class="p">,</span> <span class="n">params</span><span class="p">))</span> </span><span id="ManagementRequest.total_messages-125"><a href="#ManagementRequest.total_messages-125"><span class="linenos">125</span></a> <span class="n">params</span> <span class="o">=</span> <span class="p">{}</span>
</span><span id="ManagementRequest.total_messages-126"><a href="#ManagementRequest.total_messages-126"><span class="linenos">126</span></a>
</span><span id="ManagementRequest.total_messages-127"><a href="#ManagementRequest.total_messages-127"><span class="linenos">127</span></a> <span class="k">for</span> <span class="n">k</span><span class="p">,</span><span class="n">v</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
</span><span id="ManagementRequest.total_messages-128"><a href="#ManagementRequest.total_messages-128"><span class="linenos">128</span></a> <span class="k">if</span> <span class="n">k</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">(</span><span class="s1">&#39;self&#39;</span><span class="p">,)</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">v</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
</span><span id="ManagementRequest.total_messages-129"><a href="#ManagementRequest.total_messages-129"><span class="linenos">129</span></a> <span class="n">params</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">=</span> <span class="n">v</span>
</span><span id="ManagementRequest.total_messages-130"><a href="#ManagementRequest.total_messages-130"><span class="linenos">130</span></a>
</span><span id="ManagementRequest.total_messages-131"><a href="#ManagementRequest.total_messages-131"><span class="linenos">131</span></a> <span class="k">return</span> <span class="nb">int</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_get_request</span><span class="p">(</span><span class="s1">&#39;app/table/total&#39;</span><span class="p">,</span> <span class="n">params</span><span class="p">))</span>
</span></pre></div> </span></pre></div>
<div class="docstring"><p>Get the total number of rows in the tables matching the filters.</p> <div class="docstring"><p>Get the total number of rows in the tables matching the filters.</p>
<p>May raise <code><a href="#RequestException">RequestException</a></code>.</p>
</div> </div>
@ -616,19 +638,37 @@ The arguments are used for filtering.</p>
<div class="decorator">@validate_call</div> <div class="decorator">@validate_call</div>
<span class="def">def</span> <span class="def">def</span>
<span class="name">send_message</span><span class="signature pdoc-code condensed">(<span class="param"><span class="bp">self</span></span><span class="return-annotation">) -> <span class="n"><a href="types.html#AgentResponse">ums.utils.types.AgentResponse</a></span>:</span></span> <span class="name">send_message</span><span class="signature pdoc-code multiline">(<span class="param"> <span class="bp">self</span>,</span><span class="param"> <span class="n">message</span><span class="p">:</span> <span class="n"><a href="types.html#AgentMessage">ums.utils.types.AgentMessage</a></span></span><span class="return-annotation">) -> <span class="n"><a href="types.html#AgentResponse">ums.utils.types.AgentResponse</a></span>:</span></span>
<label class="view-source-button" for="ManagementRequest.send_message-view-source"><span>View Source</span></label> <label class="view-source-button" for="ManagementRequest.send_message-view-source"><span>View Source</span></label>
</div> </div>
<a class="headerlink" href="#ManagementRequest.send_message"></a> <a class="headerlink" href="#ManagementRequest.send_message"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="ManagementRequest.send_message-138"><a href="#ManagementRequest.send_message-138"><span class="linenos">138</span></a> <span class="nd">@validate_call</span> <div class="pdoc-code codehilite"><pre><span></span><span id="ManagementRequest.send_message-144"><a href="#ManagementRequest.send_message-144"><span class="linenos">144</span></a> <span class="nd">@validate_call</span>
</span><span id="ManagementRequest.send_message-139"><a href="#ManagementRequest.send_message-139"><span class="linenos">139</span></a> <span class="k">def</span> <span class="nf">send_message</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">AgentResponse</span><span class="p">:</span> </span><span id="ManagementRequest.send_message-145"><a href="#ManagementRequest.send_message-145"><span class="linenos">145</span></a> <span class="k">def</span> <span class="nf">send_message</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">message</span><span class="p">:</span><span class="n">AgentMessage</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">AgentResponse</span><span class="p">:</span>
</span><span id="ManagementRequest.send_message-140"><a href="#ManagementRequest.send_message-140"><span class="linenos">140</span></a> <span class="c1"># TODO</span> </span><span id="ManagementRequest.send_message-146"><a href="#ManagementRequest.send_message-146"><span class="linenos">146</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
</span><span id="ManagementRequest.send_message-141"><a href="#ManagementRequest.send_message-141"><span class="linenos">141</span></a> <span class="k">pass</span> </span><span id="ManagementRequest.send_message-147"><a href="#ManagementRequest.send_message-147"><span class="linenos">147</span></a><span class="sd"> Send the `message` to the management and return the management&#39;s agent response.</span>
</span><span id="ManagementRequest.send_message-148"><a href="#ManagementRequest.send_message-148"><span class="linenos">148</span></a><span class="sd"> (On error an agent response with error message).</span>
</span><span id="ManagementRequest.send_message-149"><a href="#ManagementRequest.send_message-149"><span class="linenos">149</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="ManagementRequest.send_message-150"><a href="#ManagementRequest.send_message-150"><span class="linenos">150</span></a> <span class="k">try</span><span class="p">:</span>
</span><span id="ManagementRequest.send_message-151"><a href="#ManagementRequest.send_message-151"><span class="linenos">151</span></a> <span class="k">return</span> <span class="n">AgentResponse</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span>
</span><span id="ManagementRequest.send_message-152"><a href="#ManagementRequest.send_message-152"><span class="linenos">152</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_post_request</span><span class="p">(</span>
</span><span id="ManagementRequest.send_message-153"><a href="#ManagementRequest.send_message-153"><span class="linenos">153</span></a> <span class="s2">&quot;message&quot;</span><span class="p">,</span>
</span><span id="ManagementRequest.send_message-154"><a href="#ManagementRequest.send_message-154"><span class="linenos">154</span></a> <span class="n">message</span><span class="o">.</span><span class="n">model_dump_json</span><span class="p">()</span>
</span><span id="ManagementRequest.send_message-155"><a href="#ManagementRequest.send_message-155"><span class="linenos">155</span></a> <span class="p">)</span>
</span><span id="ManagementRequest.send_message-156"><a href="#ManagementRequest.send_message-156"><span class="linenos">156</span></a> <span class="p">)</span>
</span><span id="ManagementRequest.send_message-157"><a href="#ManagementRequest.send_message-157"><span class="linenos">157</span></a> <span class="k">except</span> <span class="n">RequestException</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
</span><span id="ManagementRequest.send_message-158"><a href="#ManagementRequest.send_message-158"><span class="linenos">158</span></a> <span class="k">return</span> <span class="n">AgentResponse</span><span class="p">(</span>
</span><span id="ManagementRequest.send_message-159"><a href="#ManagementRequest.send_message-159"><span class="linenos">159</span></a> <span class="n">count</span><span class="o">=-</span><span class="mi">1</span><span class="p">,</span>
</span><span id="ManagementRequest.send_message-160"><a href="#ManagementRequest.send_message-160"><span class="linenos">160</span></a> <span class="n">error</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
</span><span id="ManagementRequest.send_message-161"><a href="#ManagementRequest.send_message-161"><span class="linenos">161</span></a> <span class="n">error_msg</span><span class="o">=</span><span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
</span><span id="ManagementRequest.send_message-162"><a href="#ManagementRequest.send_message-162"><span class="linenos">162</span></a> <span class="p">)</span>
</span></pre></div> </span></pre></div>
<div class="docstring"><p>Send the <code>message</code> to the management and return the management's agent response.
(On error an agent response with error message).</p>
</div>
</div> </div>

View File

@ -949,7 +949,7 @@ is set to <code>'allow'</code>.</li>
</div> </div>
<div id="RiddleData.file_plain" class="classattr"> <div id="RiddleData.file_plain" class="classattr">
<div class="attr variable"> <div class="attr variable">
<span class="name">file_plain</span><span class="annotation">: Annotated[str, AfterValidator(func=&lt;function _check_data_file at 0x1071353a0&gt;), WrapValidator(func=&lt;function _ignore_file_missing at 0x1073f9800&gt;, json_schema_input_type=PydanticUndefined)]</span> <span class="name">file_plain</span><span class="annotation">: Annotated[str, AfterValidator(func=&lt;function _check_data_file at 0x1027353a0&gt;), WrapValidator(func=&lt;function _ignore_file_missing at 0x102a59800&gt;, json_schema_input_type=PydanticUndefined)]</span>
</div> </div>
@ -965,7 +965,7 @@ The file must exist.</p>
</div> </div>
<div id="RiddleData.file_extracted" class="classattr"> <div id="RiddleData.file_extracted" class="classattr">
<div class="attr variable"> <div class="attr variable">
<span class="name">file_extracted</span><span class="annotation">: Optional[Annotated[str, AfterValidator(func=&lt;function _check_data_file at 0x1071353a0&gt;), WrapValidator(func=&lt;function _ignore_file_missing at 0x1073f9800&gt;, json_schema_input_type=PydanticUndefined)]]</span> <span class="name">file_extracted</span><span class="annotation">: Optional[Annotated[str, AfterValidator(func=&lt;function _check_data_file at 0x1027353a0&gt;), WrapValidator(func=&lt;function _ignore_file_missing at 0x102a59800&gt;, json_schema_input_type=PydanticUndefined)]]</span>
</div> </div>