meshagent-agents 0.0.30__tar.gz → 0.0.32__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of meshagent-agents might be problematic. Click here for more details.
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32}/CHANGELOG.md +8 -2
- {meshagent_agents-0.0.30/meshagent_agents.egg-info → meshagent_agents-0.0.32}/PKG-INFO +7 -6
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32}/meshagent/agents/agent.py +22 -14
- meshagent_agents-0.0.32/meshagent/agents/chat.py +614 -0
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32}/meshagent/agents/hosting.py +2 -1
- meshagent_agents-0.0.32/meshagent/agents/version.py +1 -0
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32/meshagent_agents.egg-info}/PKG-INFO +7 -6
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32}/meshagent_agents.egg-info/requires.txt +6 -5
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32}/pyproject.toml +6 -5
- meshagent_agents-0.0.30/meshagent/agents/chat.py +0 -462
- meshagent_agents-0.0.30/meshagent/agents/version.py +0 -1
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32}/LICENSE +0 -0
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32}/MANIFEST.in +0 -0
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32}/README.md +0 -0
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32}/meshagent/agents/__init__.py +0 -0
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32}/meshagent/agents/adapter.py +0 -0
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32}/meshagent/agents/context.py +0 -0
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32}/meshagent/agents/development.py +0 -0
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32}/meshagent/agents/indexer.py +0 -0
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32}/meshagent/agents/listener.py +0 -0
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32}/meshagent/agents/mail.py +0 -0
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32}/meshagent/agents/planning.py +0 -0
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32}/meshagent/agents/prompt.py +0 -0
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32}/meshagent/agents/pydantic.py +0 -0
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32}/meshagent/agents/schemas/__init__.py +0 -0
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32}/meshagent/agents/schemas/document.py +0 -0
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32}/meshagent/agents/schemas/gallery.py +0 -0
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32}/meshagent/agents/schemas/presentation.py +0 -0
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32}/meshagent/agents/schemas/schema.py +0 -0
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32}/meshagent/agents/schemas/super_editor_document.py +0 -0
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32}/meshagent/agents/single_shot_writer.py +0 -0
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32}/meshagent/agents/thread_schema.py +0 -0
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32}/meshagent/agents/utils.py +0 -0
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32}/meshagent/agents/worker.py +0 -0
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32}/meshagent/agents/writer.py +0 -0
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32}/meshagent_agents.egg-info/SOURCES.txt +0 -0
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32}/meshagent_agents.egg-info/dependency_links.txt +0 -0
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32}/meshagent_agents.egg-info/top_level.txt +0 -0
- {meshagent_agents-0.0.30 → meshagent_agents-0.0.32}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: meshagent-agents
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.32
|
|
4
4
|
Summary: Agent Building Blocks for Meshagent
|
|
5
5
|
License-Expression: Apache-2.0
|
|
6
6
|
Project-URL: Documentation, https://docs.meshagent.com
|
|
@@ -12,19 +12,20 @@ License-File: LICENSE
|
|
|
12
12
|
Requires-Dist: pyjwt~=2.10.1
|
|
13
13
|
Requires-Dist: pytest~=8.3.5
|
|
14
14
|
Requires-Dist: pytest-asyncio~=0.26.0
|
|
15
|
-
Requires-Dist: meshagent-api~=0.0.
|
|
16
|
-
Requires-Dist: meshagent-tools~=0.0.
|
|
17
|
-
Requires-Dist: meshagent-openai~=0.0.
|
|
15
|
+
Requires-Dist: meshagent-api~=0.0.32
|
|
16
|
+
Requires-Dist: meshagent-tools~=0.0.32
|
|
17
|
+
Requires-Dist: meshagent-openai~=0.0.32
|
|
18
18
|
Requires-Dist: pydantic~=2.11.1
|
|
19
19
|
Requires-Dist: pydantic-ai~=0.0.48
|
|
20
|
+
Requires-Dist: opentelemetry-distro~=0.54b1
|
|
20
21
|
Provides-Extra: all
|
|
21
|
-
Requires-Dist: meshagent-api[all]~=0.0.
|
|
22
|
+
Requires-Dist: meshagent-api[all]~=0.0.32; extra == "all"
|
|
22
23
|
Requires-Dist: chonkie~=0.5.1; extra == "all"
|
|
23
24
|
Requires-Dist: chonkie[semantic]~=0.5.1; extra == "all"
|
|
24
25
|
Requires-Dist: chonkie[openai]~=0.5.1; extra == "all"
|
|
25
26
|
Requires-Dist: aiosmtplib~=4.0.1; extra == "all"
|
|
26
27
|
Provides-Extra: sync
|
|
27
|
-
Requires-Dist: meshagent-api[sync]~=0.0.
|
|
28
|
+
Requires-Dist: meshagent-api[sync]~=0.0.32; extra == "sync"
|
|
28
29
|
Provides-Extra: mail
|
|
29
30
|
Requires-Dist: aiosmtplib~=4.0.1; extra == "mail"
|
|
30
31
|
Provides-Extra: rag
|
|
@@ -3,6 +3,7 @@ from copy import deepcopy
|
|
|
3
3
|
|
|
4
4
|
from typing import Optional
|
|
5
5
|
|
|
6
|
+
from meshagent.api.messaging import unpack_message, pack_message
|
|
6
7
|
from meshagent.api.room_server_client import RoomException, RequiredToolkit, Requirement, RequiredSchema
|
|
7
8
|
from meshagent.api import WebSocketClientProtocol, ToolDescription, ToolkitDescription, Participant, RemoteParticipant, meshagent_base_url, StorageEntry, JsonResponse
|
|
8
9
|
from meshagent.api.protocol import Protocol
|
|
@@ -161,7 +162,7 @@ class SingleRoomAgent(Agent):
|
|
|
161
162
|
|
|
162
163
|
if requirement.name.startswith("https://"):
|
|
163
164
|
url = requirement.name
|
|
164
|
-
else:
|
|
165
|
+
else:
|
|
165
166
|
url = f"{meshagent_base_url()}/toolkits/{requirement.name}"
|
|
166
167
|
|
|
167
168
|
await self._room.agents.make_call(url=url, name=requirement.name, arguments={})
|
|
@@ -169,17 +170,24 @@ class SingleRoomAgent(Agent):
|
|
|
169
170
|
elif isinstance(requirement, RequiredSchema):
|
|
170
171
|
|
|
171
172
|
if requirement.name not in schemas_by_name:
|
|
172
|
-
|
|
173
|
+
|
|
173
174
|
installed = True
|
|
174
175
|
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
if requirement.name.startswith("https://"):
|
|
178
|
-
url = requirement.name
|
|
179
|
-
else:
|
|
180
|
-
url = f"{meshagent_base_url()}/schemas/{requirement.name}"
|
|
176
|
+
schema_path = f".schemas/{requirement.name}.json"
|
|
181
177
|
|
|
182
|
-
|
|
178
|
+
|
|
179
|
+
if await self._room.storage.exists(path=schema_path):
|
|
180
|
+
# Schema is already in the room
|
|
181
|
+
pass
|
|
182
|
+
else:
|
|
183
|
+
logger.info(f"Installing required tool {requirement.name}")
|
|
184
|
+
|
|
185
|
+
if requirement.name.startswith("https://"):
|
|
186
|
+
url = requirement.name
|
|
187
|
+
else:
|
|
188
|
+
url = f"{meshagent_base_url()}/schemas/{requirement.name}"
|
|
189
|
+
|
|
190
|
+
await self._room.agents.make_call(url=url, name=requirement.name, arguments={})
|
|
183
191
|
|
|
184
192
|
else:
|
|
185
193
|
raise RoomException("unsupported requirement")
|
|
@@ -376,7 +384,7 @@ class TaskRunner(SingleRoomAgent):
|
|
|
376
384
|
|
|
377
385
|
async def worker():
|
|
378
386
|
# Decode and parse the message
|
|
379
|
-
message =
|
|
387
|
+
message, _ = unpack_message(data)
|
|
380
388
|
logger.info("agent got message %s", message)
|
|
381
389
|
args = message["arguments"]
|
|
382
390
|
task_id = message["task_id"]
|
|
@@ -456,7 +464,7 @@ class TaskRunner(SingleRoomAgent):
|
|
|
456
464
|
|
|
457
465
|
response = await self.ask(context=context, arguments=args)
|
|
458
466
|
|
|
459
|
-
await protocol.send(type="agent.ask_response", data=
|
|
467
|
+
await protocol.send(type="agent.ask_response", data=pack_message({
|
|
460
468
|
"task_id" : task_id,
|
|
461
469
|
"answer" : response,
|
|
462
470
|
"caller_context" : {
|
|
@@ -468,7 +476,7 @@ class TaskRunner(SingleRoomAgent):
|
|
|
468
476
|
logger.error("Task runner failed to complete task", exc_info=e)
|
|
469
477
|
if chat_context != None:
|
|
470
478
|
|
|
471
|
-
await protocol.send(type="agent.ask_response", data=
|
|
479
|
+
await protocol.send(type="agent.ask_response", data=pack_message({
|
|
472
480
|
"task_id" : task_id,
|
|
473
481
|
"error" : str(e),
|
|
474
482
|
"caller_context" : {
|
|
@@ -476,7 +484,7 @@ class TaskRunner(SingleRoomAgent):
|
|
|
476
484
|
}
|
|
477
485
|
}))
|
|
478
486
|
else:
|
|
479
|
-
await protocol.send(type="agent.ask_response", data=
|
|
487
|
+
await protocol.send(type="agent.ask_response", data=pack_message({
|
|
480
488
|
"task_id" : task_id,
|
|
481
489
|
"error" : str(e),
|
|
482
490
|
}))
|
|
@@ -522,4 +530,4 @@ async def make_run_task_tool(context: ToolContext, toolkit: RequiredToolkit):
|
|
|
522
530
|
tools=tools
|
|
523
531
|
)
|
|
524
532
|
|
|
525
|
-
register_toolkit_factory("agents", make_run_task_tool)
|
|
533
|
+
register_toolkit_factory("agents", make_run_task_tool)
|