Skip to content

Commit 7d8be33

Browse files
committed
Add docs
1 parent 12429ac commit 7d8be33

File tree

150 files changed

+30825
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

150 files changed

+30825
-0
lines changed

_modules/.DS_Store

6 KB
Binary file not shown.

_modules/agentopera/.DS_Store

6 KB
Binary file not shown.

_modules/agentopera/agents/code_executor/code_executor_agent.html

Lines changed: 280 additions & 0 deletions
Large diffs are not rendered by default.

_modules/agentopera/chatflow/agents/assistant_agent.html

Lines changed: 1333 additions & 0 deletions
Large diffs are not rendered by default.

_modules/agentopera/chatflow/agents/base_chat_agent.html

Lines changed: 359 additions & 0 deletions
Large diffs are not rendered by default.

_modules/agentopera/chatflow/agents/society_of_mind_agent.html

Lines changed: 321 additions & 0 deletions
Large diffs are not rendered by default.

_modules/agentopera/chatflow/agents/user_proxy_agent.html

Lines changed: 363 additions & 0 deletions
Large diffs are not rendered by default.

_modules/agentopera/chatflow/base/chat_agent.html

Lines changed: 223 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
2+
3+
<!DOCTYPE html>
4+
<html class="writer-html5" lang="en" data-content_root="../../../../">
5+
<head>
6+
<meta charset="utf-8" />
7+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
8+
<title>agentopera.chatflow.base.handoff &mdash; AgentOpera API References 0.1.0 documentation</title>
9+
<link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css?v=b86133f3" />
10+
<link rel="stylesheet" type="text/css" href="../../../../_static/css/theme.css?v=e59714d7" />
11+
12+
13+
<script src="../../../../_static/jquery.js?v=5d32c60e"></script>
14+
<script src="../../../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
15+
<script src="../../../../_static/documentation_options.js?v=01f34227"></script>
16+
<script src="../../../../_static/doctools.js?v=888ff710"></script>
17+
<script src="../../../../_static/sphinx_highlight.js?v=dc90522c"></script>
18+
<script src="../../../../_static/js/theme.js"></script>
19+
<link rel="index" title="Index" href="../../../../genindex.html" />
20+
<link rel="search" title="Search" href="../../../../search.html" />
21+
</head>
22+
23+
<body class="wy-body-for-nav">
24+
<div class="wy-grid-for-nav">
25+
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
26+
<div class="wy-side-scroll">
27+
<div class="wy-side-nav-search" >
28+
29+
30+
31+
<a href="../../../../index.html" class="icon icon-home">
32+
AgentOpera API References
33+
</a>
34+
<div role="search">
35+
<form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
36+
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
37+
<input type="hidden" name="check_keywords" value="yes" />
38+
<input type="hidden" name="area" value="default" />
39+
</form>
40+
</div>
41+
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
42+
<p class="caption" role="heading"><span class="caption-text">Chatflow Module</span></p>
43+
<ul>
44+
<li class="toctree-l1"><a class="reference internal" href="../../../../chatflow/chatflow.html">chatflow</a></li>
45+
<li class="toctree-l1"><a class="reference internal" href="../../../../chatflow/chatflow.agents.html">chatflow.agents</a></li>
46+
<li class="toctree-l1"><a class="reference internal" href="../../../../chatflow/chatflow.base.html">chatflow.base</a></li>
47+
<li class="toctree-l1"><a class="reference internal" href="../../../../chatflow/chatflow.conditions.html">chatflow.conditions</a></li>
48+
<li class="toctree-l1"><a class="reference internal" href="../../../../chatflow/chatflow.media.html">chatflow.media</a></li>
49+
<li class="toctree-l1"><a class="reference internal" href="../../../../chatflow/chatflow.state.html">chatflow.state</a></li>
50+
<li class="toctree-l1"><a class="reference internal" href="../../../../chatflow/chatflow.team.html">chatflow.team</a></li>
51+
<li class="toctree-l1"><a class="reference internal" href="../../../../chatflow/chatflow.ui.html">chatflow.ui</a></li>
52+
<li class="toctree-l1"><a class="reference internal" href="../../../../chatflow/chatflow.utils.html">chatflow.utils</a></li>
53+
</ul>
54+
<p class="caption" role="heading"><span class="caption-text">Engine Module</span></p>
55+
<ul>
56+
<li class="toctree-l1"><a class="reference internal" href="../../../../engine/engine.html">engine</a></li>
57+
<li class="toctree-l1"><a class="reference internal" href="../../../../engine/engine.agent.html">engine.agent</a></li>
58+
<li class="toctree-l1"><a class="reference internal" href="../../../../engine/engine.function_call.html">engine.function_call</a></li>
59+
<li class="toctree-l1"><a class="reference internal" href="../../../../engine/engine.protocol.html">engine.protocol</a></li>
60+
<li class="toctree-l1"><a class="reference internal" href="../../../../engine/engine.runtime.html">engine.runtime</a></li>
61+
<li class="toctree-l1"><a class="reference internal" href="../../../../engine/engine.telemetry.html">engine.telemetry</a></li>
62+
<li class="toctree-l1"><a class="reference internal" href="../../../../engine/engine.types.html">engine.types</a></li>
63+
</ul>
64+
65+
</div>
66+
</div>
67+
</nav>
68+
69+
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
70+
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
71+
<a href="../../../../index.html">AgentOpera API References</a>
72+
</nav>
73+
74+
<div class="wy-nav-content">
75+
<div class="rst-content">
76+
<div role="navigation" aria-label="Page navigation">
77+
<ul class="wy-breadcrumbs">
78+
<li><a href="../../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
79+
<li class="breadcrumb-item"><a href="../../../index.html">Module code</a></li>
80+
<li class="breadcrumb-item active">agentopera.chatflow.base.handoff</li>
81+
<li class="wy-breadcrumbs-aside">
82+
</li>
83+
</ul>
84+
<hr/>
85+
</div>
86+
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
87+
<div itemprop="articleBody">
88+
89+
<h1>Source code for agentopera.chatflow.base.handoff</h1><div class="highlight"><pre>
90+
<span></span><span class="kn">import</span><span class="w"> </span><span class="nn">logging</span>
91+
<span class="kn">from</span><span class="w"> </span><span class="nn">typing</span><span class="w"> </span><span class="kn">import</span> <span class="n">Any</span><span class="p">,</span> <span class="n">Dict</span>
92+
93+
<span class="kn">from</span><span class="w"> </span><span class="nn">agentopera.engine.function_call</span><span class="w"> </span><span class="kn">import</span> <span class="n">BaseTool</span><span class="p">,</span> <span class="n">FunctionTool</span>
94+
<span class="kn">from</span><span class="w"> </span><span class="nn">pydantic</span><span class="w"> </span><span class="kn">import</span> <span class="n">BaseModel</span><span class="p">,</span> <span class="n">Field</span><span class="p">,</span> <span class="n">model_validator</span>
95+
96+
<span class="kn">from</span><span class="w"> </span><span class="nn">..</span><span class="w"> </span><span class="kn">import</span> <span class="n">EVENT_LOGGER_NAME</span>
97+
98+
<span class="n">event_logger</span> <span class="o">=</span> <span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="n">EVENT_LOGGER_NAME</span><span class="p">)</span>
99+
100+
101+
<div class="viewcode-block" id="Handoff">
102+
<a class="viewcode-back" href="../../../../chatflow/chatflow.base.html#agentopera.chatflow.base.Handoff">[docs]</a>
103+
<span class="k">class</span><span class="w"> </span><span class="nc">Handoff</span><span class="p">(</span><span class="n">BaseModel</span><span class="p">):</span>
104+
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Handoff configuration.&quot;&quot;&quot;</span>
105+
106+
<span class="n">target</span><span class="p">:</span> <span class="nb">str</span>
107+
<span class="w"> </span><span class="sd">&quot;&quot;&quot;The name of the target agent to handoff to.&quot;&quot;&quot;</span>
108+
109+
<span class="n">description</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">)</span>
110+
<span class="w"> </span><span class="sd">&quot;&quot;&quot;The description of the handoff such as the condition under which it should happen and the target agent&#39;s ability.</span>
111+
<span class="sd"> If not provided, it is generated from the target agent&#39;s name.&quot;&quot;&quot;</span>
112+
113+
<span class="n">name</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">)</span>
114+
<span class="w"> </span><span class="sd">&quot;&quot;&quot;The name of this handoff configuration. If not provided, it is generated from the target agent&#39;s name.&quot;&quot;&quot;</span>
115+
116+
<span class="n">message</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">)</span>
117+
<span class="w"> </span><span class="sd">&quot;&quot;&quot;The message to the target agent.</span>
118+
<span class="sd"> If not provided, it is generated from the target agent&#39;s name.&quot;&quot;&quot;</span>
119+
120+
<div class="viewcode-block" id="Handoff.set_defaults">
121+
<a class="viewcode-back" href="../../../../chatflow/chatflow.base.html#agentopera.chatflow.base.Handoff.set_defaults">[docs]</a>
122+
<span class="nd">@model_validator</span><span class="p">(</span><span class="n">mode</span><span class="o">=</span><span class="s2">&quot;before&quot;</span><span class="p">)</span>
123+
<span class="nd">@classmethod</span>
124+
<span class="k">def</span><span class="w"> </span><span class="nf">set_defaults</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">values</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 class="o">-&gt;</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>
125+
<span class="k">if</span> <span class="ow">not</span> <span class="n">values</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;description&quot;</span><span class="p">):</span>
126+
<span class="n">values</span><span class="p">[</span><span class="s2">&quot;description&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">&quot;Handoff to </span><span class="si">{</span><span class="n">values</span><span class="p">[</span><span class="s1">&#39;target&#39;</span><span class="p">]</span><span class="si">}</span><span class="s2">.&quot;</span>
127+
<span class="k">if</span> <span class="ow">not</span> <span class="n">values</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;name&quot;</span><span class="p">):</span>
128+
<span class="n">values</span><span class="p">[</span><span class="s2">&quot;name&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">&quot;transfer_to_</span><span class="si">{</span><span class="n">values</span><span class="p">[</span><span class="s1">&#39;target&#39;</span><span class="p">]</span><span class="si">}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span>
129+
<span class="k">else</span><span class="p">:</span>
130+
<span class="n">name</span> <span class="o">=</span> <span class="n">values</span><span class="p">[</span><span class="s2">&quot;name&quot;</span><span class="p">]</span>
131+
<span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
132+
<span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Handoff name must be a string: </span><span class="si">{</span><span class="n">values</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">]</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
133+
<span class="c1"># Check if name is a valid identifier.</span>
134+
<span class="k">if</span> <span class="ow">not</span> <span class="n">name</span><span class="o">.</span><span class="n">isidentifier</span><span class="p">():</span>
135+
<span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Handoff name must be a valid identifier: </span><span class="si">{</span><span class="n">values</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">]</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
136+
<span class="k">if</span> <span class="ow">not</span> <span class="n">values</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;message&quot;</span><span class="p">):</span>
137+
<span class="n">values</span><span class="p">[</span><span class="s2">&quot;message&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span>
138+
<span class="sa">f</span><span class="s2">&quot;Transferred to </span><span class="si">{</span><span class="n">values</span><span class="p">[</span><span class="s1">&#39;target&#39;</span><span class="p">]</span><span class="si">}</span><span class="s2">, adopting the role of </span><span class="si">{</span><span class="n">values</span><span class="p">[</span><span class="s1">&#39;target&#39;</span><span class="p">]</span><span class="si">}</span><span class="s2"> immediately.&quot;</span>
139+
<span class="p">)</span>
140+
<span class="k">return</span> <span class="n">values</span></div>
141+
142+
143+
<span class="nd">@property</span>
144+
<span class="k">def</span><span class="w"> </span><span class="nf">handoff_tool</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">BaseTool</span><span class="p">[</span><span class="n">BaseModel</span><span class="p">,</span> <span class="n">BaseModel</span><span class="p">]:</span>
145+
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Create a handoff tool from this handoff configuration.&quot;&quot;&quot;</span>
146+
147+
<span class="k">def</span><span class="w"> </span><span class="nf">_handoff_tool</span><span class="p">()</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
148+
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">message</span>
149+
150+
<span class="k">return</span> <span class="n">FunctionTool</span><span class="p">(</span><span class="n">_handoff_tool</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">description</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span></div>
151+
152+
</pre></div>
153+
154+
</div>
155+
</div>
156+
<footer>
157+
158+
<hr/>
159+
160+
<div role="contentinfo">
161+
<p>&#169; Copyright 2025, tensoropera.ai.</p>
162+
</div>
163+
164+
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
165+
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
166+
provided by <a href="https://readthedocs.org">Read the Docs</a>.
167+
168+
169+
</footer>
170+
</div>
171+
</div>
172+
</section>
173+
</div>
174+
<script>
175+
jQuery(function () {
176+
SphinxRtdTheme.Navigation.enable(true);
177+
});
178+
</script>
179+
180+
</body>
181+
</html>

0 commit comments

Comments
 (0)