meshagent-agents 0.0.36__py3-none-any.whl → 0.0.38__py3-none-any.whl
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/__init__.py +27 -2
- meshagent/agents/adapter.py +18 -9
- meshagent/agents/agent.py +317 -214
- meshagent/agents/chat.py +390 -267
- meshagent/agents/context.py +58 -30
- meshagent/agents/development.py +11 -13
- meshagent/agents/hosting.py +109 -46
- meshagent/agents/indexer.py +241 -224
- meshagent/agents/listener.py +55 -52
- meshagent/agents/mail.py +145 -109
- meshagent/agents/planning.py +294 -199
- meshagent/agents/prompt.py +14 -12
- meshagent/agents/pydantic.py +98 -61
- meshagent/agents/schemas/__init__.py +11 -0
- meshagent/agents/schemas/document.py +32 -21
- meshagent/agents/schemas/gallery.py +23 -14
- meshagent/agents/schemas/presentation.py +33 -17
- meshagent/agents/schemas/schema.py +99 -45
- meshagent/agents/schemas/super_editor_document.py +52 -46
- meshagent/agents/single_shot_writer.py +37 -31
- meshagent/agents/thread_schema.py +74 -32
- meshagent/agents/utils.py +20 -12
- meshagent/agents/version.py +1 -1
- meshagent/agents/worker.py +48 -28
- meshagent/agents/writer.py +36 -23
- meshagent_agents-0.0.38.dist-info/METADATA +64 -0
- meshagent_agents-0.0.38.dist-info/RECORD +30 -0
- meshagent_agents-0.0.36.dist-info/METADATA +0 -36
- meshagent_agents-0.0.36.dist-info/RECORD +0 -30
- {meshagent_agents-0.0.36.dist-info → meshagent_agents-0.0.38.dist-info}/WHEEL +0 -0
- {meshagent_agents-0.0.36.dist-info → meshagent_agents-0.0.38.dist-info}/licenses/LICENSE +0 -0
- {meshagent_agents-0.0.36.dist-info → meshagent_agents-0.0.38.dist-info}/top_level.txt +0 -0
meshagent/agents/worker.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from .agent import SingleRoomAgent
|
|
2
2
|
from meshagent.api.chan import Chan
|
|
3
|
-
from meshagent.api import RoomMessage,
|
|
3
|
+
from meshagent.api import RoomMessage, RoomClient
|
|
4
4
|
from meshagent.agents import AgentChatContext
|
|
5
5
|
from meshagent.tools import Toolkit
|
|
6
6
|
from .adapter import LLMAdapter, ToolResponseAdapter
|
|
@@ -14,7 +14,19 @@ logger = logging.getLogger("chat")
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
class Worker(SingleRoomAgent):
|
|
17
|
-
def __init__(
|
|
17
|
+
def __init__(
|
|
18
|
+
self,
|
|
19
|
+
*,
|
|
20
|
+
queue: str,
|
|
21
|
+
name,
|
|
22
|
+
title=None,
|
|
23
|
+
description=None,
|
|
24
|
+
requires=None,
|
|
25
|
+
llm_adapter: LLMAdapter,
|
|
26
|
+
tool_adapter: Optional[ToolResponseAdapter] = None,
|
|
27
|
+
toolkits: Optional[list[Toolkit]] = None,
|
|
28
|
+
rules: Optional[list[str]] = None,
|
|
29
|
+
):
|
|
18
30
|
super().__init__(
|
|
19
31
|
name=name,
|
|
20
32
|
title=title,
|
|
@@ -24,7 +36,7 @@ class Worker(SingleRoomAgent):
|
|
|
24
36
|
|
|
25
37
|
self._queue = queue
|
|
26
38
|
|
|
27
|
-
if toolkits
|
|
39
|
+
if toolkits is None:
|
|
28
40
|
toolkits = []
|
|
29
41
|
|
|
30
42
|
self._llm_adapter = llm_adapter
|
|
@@ -32,38 +44,42 @@ class Worker(SingleRoomAgent):
|
|
|
32
44
|
|
|
33
45
|
self._message_channel = Chan[RoomMessage]()
|
|
34
46
|
|
|
35
|
-
self._room
|
|
47
|
+
self._room: RoomClient | None = None
|
|
36
48
|
self._toolkits = toolkits
|
|
37
49
|
|
|
38
|
-
if rules
|
|
50
|
+
if rules is None:
|
|
39
51
|
rules = []
|
|
40
52
|
|
|
41
53
|
self._rules = rules
|
|
42
54
|
self._done = False
|
|
43
|
-
|
|
44
55
|
|
|
45
56
|
async def start(self, *, room: RoomClient):
|
|
46
57
|
self._done = False
|
|
47
58
|
|
|
48
59
|
await super().start(room=room)
|
|
49
60
|
|
|
50
|
-
|
|
51
61
|
self._main_task = asyncio.create_task(self.run(room=room))
|
|
52
62
|
|
|
53
63
|
async def stop(self):
|
|
54
|
-
|
|
55
64
|
self._done = True
|
|
56
65
|
|
|
57
66
|
await asyncio.gather(self._main_task)
|
|
58
67
|
|
|
59
68
|
await super().stop()
|
|
60
69
|
|
|
61
|
-
|
|
62
|
-
|
|
70
|
+
async def append_message_context(
|
|
71
|
+
self, *, room: RoomClient, message: dict, chat_context: AgentChatContext
|
|
72
|
+
):
|
|
63
73
|
chat_context.append_user_message(message=json.dumps(message))
|
|
64
|
-
|
|
65
|
-
async def process_message(self, *, chat_context: AgentChatContext, room: RoomClient, message: dict, toolkits: list[Toolkit]):
|
|
66
74
|
|
|
75
|
+
async def process_message(
|
|
76
|
+
self,
|
|
77
|
+
*,
|
|
78
|
+
chat_context: AgentChatContext,
|
|
79
|
+
room: RoomClient,
|
|
80
|
+
message: dict,
|
|
81
|
+
toolkits: list[Toolkit],
|
|
82
|
+
):
|
|
67
83
|
return await self._llm_adapter.next(
|
|
68
84
|
context=chat_context,
|
|
69
85
|
room=room,
|
|
@@ -71,22 +87,21 @@ class Worker(SingleRoomAgent):
|
|
|
71
87
|
tool_adapter=self._tool_adapter,
|
|
72
88
|
)
|
|
73
89
|
|
|
74
|
-
|
|
75
90
|
async def run(self, *, room: RoomClient):
|
|
76
|
-
|
|
77
91
|
toolkits = [
|
|
78
|
-
*await self.get_required_toolkits(
|
|
79
|
-
|
|
92
|
+
*await self.get_required_toolkits(
|
|
93
|
+
ToolContext(room=room, caller=room.local_participant)
|
|
94
|
+
),
|
|
95
|
+
*self._toolkits,
|
|
80
96
|
]
|
|
81
|
-
|
|
82
|
-
while not self._done:
|
|
83
97
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
98
|
+
while not self._done:
|
|
99
|
+
message = await room.queues.receive(
|
|
100
|
+
name=self._queue, create=True, wait=True
|
|
101
|
+
)
|
|
102
|
+
if message is not None:
|
|
87
103
|
logger.info(f"received message on worker queue {message}")
|
|
88
104
|
try:
|
|
89
|
-
|
|
90
105
|
chat_context = await self.init_chat_context()
|
|
91
106
|
|
|
92
107
|
chat_context.append_rules(
|
|
@@ -94,12 +109,17 @@ class Worker(SingleRoomAgent):
|
|
|
94
109
|
*self._rules,
|
|
95
110
|
]
|
|
96
111
|
)
|
|
97
|
-
|
|
98
|
-
await self.append_message_context(room=room, message=message, chat_context=chat_context)
|
|
99
|
-
|
|
100
112
|
|
|
101
|
-
await self.
|
|
102
|
-
|
|
103
|
-
|
|
113
|
+
await self.append_message_context(
|
|
114
|
+
room=room, message=message, chat_context=chat_context
|
|
115
|
+
)
|
|
104
116
|
|
|
117
|
+
await self.process_message(
|
|
118
|
+
chat_context=chat_context,
|
|
119
|
+
room=room,
|
|
120
|
+
message=message,
|
|
121
|
+
toolkits=toolkits,
|
|
122
|
+
)
|
|
123
|
+
|
|
124
|
+
except Exception as e:
|
|
105
125
|
logger.error(f"Failed to process a message {message}", exc_info=e)
|
meshagent/agents/writer.py
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
from meshagent.agents.agent import
|
|
1
|
+
from meshagent.agents.agent import AgentCallContext
|
|
2
2
|
from meshagent.api.room_server_client import RoomClient
|
|
3
3
|
from meshagent.api.schema_document import Document
|
|
4
|
-
from meshagent.api import
|
|
5
|
-
|
|
4
|
+
from meshagent.api import Requirement
|
|
5
|
+
|
|
6
|
+
# from meshagent.tools.document_tools import DocumentToolkit
|
|
6
7
|
from typing import Optional
|
|
7
8
|
import asyncio
|
|
8
9
|
import logging
|
|
@@ -12,32 +13,48 @@ logger = logging.getLogger("writer_agent")
|
|
|
12
13
|
|
|
13
14
|
|
|
14
15
|
class WriterContext:
|
|
15
|
-
def __init__(
|
|
16
|
+
def __init__(
|
|
17
|
+
self,
|
|
18
|
+
room: RoomClient,
|
|
19
|
+
document: Document,
|
|
20
|
+
call_context: AgentCallContext,
|
|
21
|
+
path: str,
|
|
22
|
+
):
|
|
16
23
|
self._room = room
|
|
17
24
|
self._document = document
|
|
18
|
-
self._call_context = call_context
|
|
25
|
+
self._call_context = call_context
|
|
19
26
|
self._path = path
|
|
20
27
|
|
|
21
28
|
@property
|
|
22
29
|
def room(self) -> RoomClient:
|
|
23
30
|
return self._room
|
|
24
|
-
|
|
31
|
+
|
|
25
32
|
@property
|
|
26
33
|
def path(self) -> str:
|
|
27
34
|
return self._path
|
|
28
|
-
|
|
35
|
+
|
|
29
36
|
@property
|
|
30
37
|
def document(self) -> Document:
|
|
31
38
|
return self._document
|
|
32
|
-
|
|
39
|
+
|
|
33
40
|
@property
|
|
34
41
|
def call_context(self) -> AgentCallContext:
|
|
35
42
|
return self._call_context
|
|
36
|
-
|
|
43
|
+
|
|
37
44
|
|
|
38
45
|
# writes to a path, the document must already exist, optionally create the document if it does not exist
|
|
39
46
|
class Writer(TaskRunner):
|
|
40
|
-
def __init__(
|
|
47
|
+
def __init__(
|
|
48
|
+
self,
|
|
49
|
+
name: str,
|
|
50
|
+
input_schema: dict,
|
|
51
|
+
output_schema: dict,
|
|
52
|
+
create: bool = True,
|
|
53
|
+
title: Optional[str] = None,
|
|
54
|
+
description: Optional[str] = None,
|
|
55
|
+
requires: Optional[list[Requirement]] = None,
|
|
56
|
+
supports_tools: Optional[bool] = None,
|
|
57
|
+
):
|
|
41
58
|
super().__init__(
|
|
42
59
|
name=name,
|
|
43
60
|
input_schema=input_schema,
|
|
@@ -45,37 +62,33 @@ class Writer(TaskRunner):
|
|
|
45
62
|
description=description,
|
|
46
63
|
title=title,
|
|
47
64
|
requires=requires,
|
|
48
|
-
supports_tools=supports_tools
|
|
65
|
+
supports_tools=supports_tools,
|
|
49
66
|
)
|
|
50
|
-
|
|
67
|
+
|
|
51
68
|
self._create = create
|
|
52
69
|
|
|
53
70
|
if "path" not in input_schema["properties"]:
|
|
54
71
|
raise Exception("input schema must include a 'path' property")
|
|
55
|
-
|
|
72
|
+
|
|
56
73
|
def pop_path(self, arguments: dict):
|
|
57
74
|
return arguments["path"]
|
|
58
|
-
|
|
75
|
+
|
|
59
76
|
async def write(self, writer_context: WriterContext, arguments: dict) -> dict:
|
|
60
77
|
pass
|
|
61
|
-
|
|
78
|
+
|
|
62
79
|
async def ask(self, *, context: AgentCallContext, arguments: dict):
|
|
63
|
-
|
|
64
80
|
path = arguments["path"]
|
|
65
|
-
|
|
81
|
+
|
|
66
82
|
client = context.room
|
|
67
83
|
document = await client.sync.open(path=path, create=self._create)
|
|
68
84
|
|
|
69
85
|
writer_context = WriterContext(
|
|
70
|
-
room=client,
|
|
71
|
-
document=document,
|
|
72
|
-
call_context=context,
|
|
73
|
-
path=path
|
|
86
|
+
room=client, document=document, call_context=context, path=path
|
|
74
87
|
)
|
|
75
|
-
|
|
88
|
+
|
|
76
89
|
try:
|
|
77
90
|
return await self.write(writer_context, arguments)
|
|
78
91
|
finally:
|
|
79
92
|
# TODO: need a way to wait for changes to be synchronized
|
|
80
93
|
await asyncio.sleep(1)
|
|
81
|
-
await client.sync.close(path=path)
|
|
94
|
+
await client.sync.close(path=path)
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: meshagent-agents
|
|
3
|
+
Version: 0.0.38
|
|
4
|
+
Summary: Agent Building Blocks for Meshagent
|
|
5
|
+
License-Expression: Apache-2.0
|
|
6
|
+
Project-URL: Documentation, https://docs.meshagent.com
|
|
7
|
+
Project-URL: Website, https://www.meshagent.com
|
|
8
|
+
Project-URL: Source, https://www.meshagent.com
|
|
9
|
+
Requires-Python: >=3.12
|
|
10
|
+
Description-Content-Type: text/markdown
|
|
11
|
+
License-File: LICENSE
|
|
12
|
+
Requires-Dist: pyjwt~=2.10
|
|
13
|
+
Requires-Dist: pytest~=8.4
|
|
14
|
+
Requires-Dist: pytest-asyncio~=0.26
|
|
15
|
+
Requires-Dist: meshagent-api~=0.0.38
|
|
16
|
+
Requires-Dist: meshagent-tools~=0.0.38
|
|
17
|
+
Requires-Dist: meshagent-openai~=0.0.38
|
|
18
|
+
Requires-Dist: pydantic~=2.11
|
|
19
|
+
Requires-Dist: opentelemetry-distro~=0.54b1
|
|
20
|
+
Provides-Extra: all
|
|
21
|
+
Requires-Dist: meshagent-api[all]~=0.0.38; extra == "all"
|
|
22
|
+
Requires-Dist: chonkie~=0.5.1; extra == "all"
|
|
23
|
+
Requires-Dist: chonkie[semantic]~=0.5.1; extra == "all"
|
|
24
|
+
Requires-Dist: chonkie[openai]~=0.5.1; extra == "all"
|
|
25
|
+
Requires-Dist: aiosmtplib~=4.0.1; extra == "all"
|
|
26
|
+
Provides-Extra: sync
|
|
27
|
+
Requires-Dist: meshagent-api[sync]~=0.0.38; extra == "sync"
|
|
28
|
+
Provides-Extra: mail
|
|
29
|
+
Requires-Dist: aiosmtplib~=4.0.1; extra == "mail"
|
|
30
|
+
Provides-Extra: rag
|
|
31
|
+
Requires-Dist: chonkie~=0.5.1; extra == "rag"
|
|
32
|
+
Requires-Dist: chonkie[semantic]~=0.5.1; extra == "rag"
|
|
33
|
+
Requires-Dist: chonkie[openai]~=0.5.1; extra == "rag"
|
|
34
|
+
Dynamic: license-file
|
|
35
|
+
|
|
36
|
+
### MeshAgent Agents
|
|
37
|
+
|
|
38
|
+
The ``meshagent.agents`` package provides higher-level agent classes that orchestrate tools and tasks. The primary agents you will build will use the ``TaskRunner``, ``Worker``, and ``ChatBot`` agent types. These agents extend the base ``Agent`` and ``SingleRoomAgent`` classes which setup the fundamentals for working with Agents in MeshAgent Rooms.
|
|
39
|
+
|
|
40
|
+
Note that agents use LLMAdapters and ToolResponseAdapters to translate between language model calls and tool executions. They also use the ServiceHost to run.
|
|
41
|
+
|
|
42
|
+
### Agent
|
|
43
|
+
The ``Agent`` base class handles static info such as the agent name, description, and requirements. This class is not used directly, but is the foundation for specialized agents.
|
|
44
|
+
|
|
45
|
+
### SingleRoomAgent
|
|
46
|
+
The ``SingleRoomAgent``extends the ``Agent`` class, connects to a ``RoomClient``, and installs any declared schemas or toolkits when the agent starts up. All other MeshAgent Agent types extend the ``SingleRoomAgent`` class with additional functionality.
|
|
47
|
+
|
|
48
|
+
### TaskRunner
|
|
49
|
+
The ``TaskRunner`` agent is useful when you want to invoke an agent with a well-defined JSON schemas for input and output. This is important for running agents-as-tools or running remote tasks. Often you will define a ``TaskRunner`` and pass it to a ``ChatBot`` or ``VoiceBot`` as a tool for that agent to use.
|
|
50
|
+
|
|
51
|
+
### Worker
|
|
52
|
+
The ``Worker`` is a queue-based ``SingleRoomAgent`` that processes queued messages with an LLM and optional tools. This is particularly helpful for running asynchronous jobs. With the ``Worker`` agent you can create a set of tasks that need to run in a Room and the ``Worker`` will execute all of the tasks in the queue.
|
|
53
|
+
|
|
54
|
+
### ChatBot
|
|
55
|
+
The ``ChatBot`` is a conversational agent derived from the ``SingleRoomAgent``. It wires an LLMAdapter, optoinal tools, and manages chat threads for each user. This means multiple users can be in the same room interacting with a chat agent, but each user will have private messages with the agent. Check out the [Build and Deploy a Chat Agent](https://docs.meshagent.com/agents/standard/buildanddeploychatbot) example to learn how to create a simple Chat Agent without tools then add built-in MeshAgent tools and custom tools to the agent.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
### Learn more about MeshAgent on our website or check out the docs for additional examples!
|
|
59
|
+
|
|
60
|
+
**Website**: [www.meshagent.com](https://www.meshagent.com/)
|
|
61
|
+
|
|
62
|
+
**Documentation**: [docs.meshagent.com](https://docs.meshagent.com/)
|
|
63
|
+
|
|
64
|
+
---
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
meshagent/agents/__init__.py,sha256=d2cplyLH8xqDWqP_GoPQ8ApHzuv8Iiq4rz-vYBlGMTw,706
|
|
2
|
+
meshagent/agents/adapter.py,sha256=CZgVzUTTY8dyPBYA7O_Kaawb40maxAbUUhBFk1YjbsI,1386
|
|
3
|
+
meshagent/agents/agent.py,sha256=bBEMlI2E0P97gkP93J68o9XvIxtTB_bEiFXSrRH3iyk,20623
|
|
4
|
+
meshagent/agents/chat.py,sha256=SPcD0FTBcs5H-e0s53FofoWPHvfAYF_OMeQEr-tWaSs,28954
|
|
5
|
+
meshagent/agents/context.py,sha256=6txCXA22aHQaikvIKED6YjPyasM_bPqGqCE4HGj04_E,4035
|
|
6
|
+
meshagent/agents/development.py,sha256=AEBkkycNZDRLYIdmX2LkrVZv715ALswiwSR9CiV3HE4,894
|
|
7
|
+
meshagent/agents/hosting.py,sha256=tCcswAweEhlMxGaBR_m2YvUkwZiaHbTBT64urRHfK7I,5446
|
|
8
|
+
meshagent/agents/indexer.py,sha256=xFEzAmwAxhKu9xHppnxFUFlzeRHMfVk6MatRyka0ZW8,19367
|
|
9
|
+
meshagent/agents/listener.py,sha256=q5z216FMVW-a7FBs706u3IuB81VArfucxEHaHvPFHEo,5139
|
|
10
|
+
meshagent/agents/mail.py,sha256=jFr9YBTzYc14adOAAl9rYC9bOmEVYTj6NAOKvtLsfVo,11038
|
|
11
|
+
meshagent/agents/planning.py,sha256=QRDDC8VLmlS1rbRETT1EdJo8LYLfIcuOe_wiAyO_6LU,22242
|
|
12
|
+
meshagent/agents/prompt.py,sha256=OSSqbzaugyQtuvYxTY5UcZQWyeV73e3GUJz_iC5xZkA,1883
|
|
13
|
+
meshagent/agents/pydantic.py,sha256=RrdOESZg-n_FyxbfkOBwRPVxV39IOjxK2unsyAGn9as,6278
|
|
14
|
+
meshagent/agents/single_shot_writer.py,sha256=4-anwnE5Prpi9vqF9YInGDBgezQVDYzxhmRTNUcrqXw,3370
|
|
15
|
+
meshagent/agents/thread_schema.py,sha256=c6KuLhcBxjxcz8M5NQzmmlyJLqv8RB7W491uWOu6Z34,3485
|
|
16
|
+
meshagent/agents/utils.py,sha256=6D9GXpYu9xx5XlfD3DiGFdyOwq46e5-sTYOF_FYep1o,1446
|
|
17
|
+
meshagent/agents/version.py,sha256=R5QxTjVaID7odO0eBWpOnyCjNQxBZ7cpyruM_NMOoDc,23
|
|
18
|
+
meshagent/agents/worker.py,sha256=6-SDWm-4aqlx9G8321g1lS0caZUybBpJRhrg5jxqTy8,3500
|
|
19
|
+
meshagent/agents/writer.py,sha256=dXglYgHwBrBJIaapMqBDyD3kmwSyi94tOdHH44itODc,2682
|
|
20
|
+
meshagent/agents/schemas/__init__.py,sha256=TqLbKu8AWahYaXYGQf0qK1CdcYCtjm7PuMEFlQLAyvA,295
|
|
21
|
+
meshagent/agents/schemas/document.py,sha256=H-aolubkRHdTAH-rLI2SJ8y3JKwXvpNsR3ZCqghwAWI,1515
|
|
22
|
+
meshagent/agents/schemas/gallery.py,sha256=65IsrH2wiFIR-DNo8est-nCOC72i1Aa5EmVNUHtVnK0,1091
|
|
23
|
+
meshagent/agents/schemas/presentation.py,sha256=aaMzkFQryurbHd1fbzTQPdN7v8QIhsjXuvbE8ZiuXNY,1589
|
|
24
|
+
meshagent/agents/schemas/schema.py,sha256=8OXGCLVouoPg6eHBU9mgf1pTGTMvVZqiKNq15wkQJe0,5310
|
|
25
|
+
meshagent/agents/schemas/super_editor_document.py,sha256=iRv4Q-DE_5kUdsAD5Rm4GwHek8L_7ZEpxIZ1x2dWjdg,1813
|
|
26
|
+
meshagent_agents-0.0.38.dist-info/licenses/LICENSE,sha256=eTt0SPW-sVNdkZe9PS_S8WfCIyLjRXRl7sUBWdlteFg,10254
|
|
27
|
+
meshagent_agents-0.0.38.dist-info/METADATA,sha256=bojAeYseNHLxvu5X5z0i3DPKqsVfWK7TzuxYB5uH_-E,3737
|
|
28
|
+
meshagent_agents-0.0.38.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
29
|
+
meshagent_agents-0.0.38.dist-info/top_level.txt,sha256=GlcXnHtRP6m7zlG3Df04M35OsHtNXy_DY09oFwWrH74,10
|
|
30
|
+
meshagent_agents-0.0.38.dist-info/RECORD,,
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: meshagent-agents
|
|
3
|
-
Version: 0.0.36
|
|
4
|
-
Summary: Agent Building Blocks for Meshagent
|
|
5
|
-
License-Expression: Apache-2.0
|
|
6
|
-
Project-URL: Documentation, https://docs.meshagent.com
|
|
7
|
-
Project-URL: Website, https://www.meshagent.com
|
|
8
|
-
Project-URL: Source, https://www.meshagent.com
|
|
9
|
-
Requires-Python: >=3.12
|
|
10
|
-
Description-Content-Type: text/markdown
|
|
11
|
-
License-File: LICENSE
|
|
12
|
-
Requires-Dist: pyjwt~=2.10
|
|
13
|
-
Requires-Dist: pytest~=8.3
|
|
14
|
-
Requires-Dist: pytest-asyncio~=0.26
|
|
15
|
-
Requires-Dist: meshagent-api~=0.0.36
|
|
16
|
-
Requires-Dist: meshagent-tools~=0.0.36
|
|
17
|
-
Requires-Dist: meshagent-openai~=0.0.36
|
|
18
|
-
Requires-Dist: pydantic~=2.11
|
|
19
|
-
Requires-Dist: opentelemetry-distro~=0.54b1
|
|
20
|
-
Provides-Extra: all
|
|
21
|
-
Requires-Dist: meshagent-api[all]~=0.0.36; extra == "all"
|
|
22
|
-
Requires-Dist: chonkie~=0.5.1; extra == "all"
|
|
23
|
-
Requires-Dist: chonkie[semantic]~=0.5.1; extra == "all"
|
|
24
|
-
Requires-Dist: chonkie[openai]~=0.5.1; extra == "all"
|
|
25
|
-
Requires-Dist: aiosmtplib~=4.0.1; extra == "all"
|
|
26
|
-
Provides-Extra: sync
|
|
27
|
-
Requires-Dist: meshagent-api[sync]~=0.0.36; extra == "sync"
|
|
28
|
-
Provides-Extra: mail
|
|
29
|
-
Requires-Dist: aiosmtplib~=4.0.1; extra == "mail"
|
|
30
|
-
Provides-Extra: rag
|
|
31
|
-
Requires-Dist: chonkie~=0.5.1; extra == "rag"
|
|
32
|
-
Requires-Dist: chonkie[semantic]~=0.5.1; extra == "rag"
|
|
33
|
-
Requires-Dist: chonkie[openai]~=0.5.1; extra == "rag"
|
|
34
|
-
Dynamic: license-file
|
|
35
|
-
|
|
36
|
-
### Meshagent Agents
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
meshagent/agents/__init__.py,sha256=S83622vDM9hWErcgfwZg8lJT2ncu00OEgnxoIbY3VcM,376
|
|
2
|
-
meshagent/agents/adapter.py,sha256=_83Q2XiA8e6Xh37xYnJ9z75AbDWskR-mmKH-LLq6mpA,1318
|
|
3
|
-
meshagent/agents/agent.py,sha256=b41t1XLG5QYxjlWrkf7EbR7ecVfwcTtXMe8p3N9_32Y,19419
|
|
4
|
-
meshagent/agents/chat.py,sha256=tNwHYEA-_tLoB2_9DNZ9mXpU1n--l6t_q5Q0XgPKVj0,26059
|
|
5
|
-
meshagent/agents/context.py,sha256=6eFK7wizjzZmZyhbqwazlT_E_e_Cpb17Qa3tBk2BJzw,3804
|
|
6
|
-
meshagent/agents/development.py,sha256=04VYL1Q_BWUTQeVuiVOpyjcs8bzUIX1eQ4VyTtjc5s0,926
|
|
7
|
-
meshagent/agents/hosting.py,sha256=1vzr6aV_HPJGzGPkQdLgt4CqvDAgpHdBEmSym_0r3j8,4982
|
|
8
|
-
meshagent/agents/indexer.py,sha256=Lz7hJvC7hbvnmiFQLEzmakw_1OPh93pp96iSwIv1fQc,19410
|
|
9
|
-
meshagent/agents/listener.py,sha256=39u20ZwTNUVR0CRUOi4CTgBreg2ZPbrHQOohwjsfijg,5359
|
|
10
|
-
meshagent/agents/mail.py,sha256=bDQdJphKJr0Sl1_XiVhdd1J7E2DBqbjvxvnIVxGt5UU,10951
|
|
11
|
-
meshagent/agents/planning.py,sha256=NtXzYiwykeYdQghWjwsChy4f9OgIsQZWiIstpZvtGtU,21811
|
|
12
|
-
meshagent/agents/prompt.py,sha256=sidiyLLC6Lr9KO3cUTKttd2oROlcizle_4iKoaNrfhA,1864
|
|
13
|
-
meshagent/agents/pydantic.py,sha256=My9sv1A56unA0qVoPSH-mYtxcgl0AKyxFgyOM70pjLM,6062
|
|
14
|
-
meshagent/agents/single_shot_writer.py,sha256=QsGvTIw1qtp8nGLfzuJwdZj6ucY4cW9rdecqNwv83FA,3355
|
|
15
|
-
meshagent/agents/thread_schema.py,sha256=-KGAMNxQsVuXpvc0avV-OYHe2LMXpjTu5PyQ-1nBnyE,2667
|
|
16
|
-
meshagent/agents/utils.py,sha256=upMbvG4KODZijeTO3IdW4GgzFPz4jXTzNhZBDmtroic,1431
|
|
17
|
-
meshagent/agents/version.py,sha256=8XOR9xXboOEdDoZvWO2gEX-ufe6IVa50eWNDhT4ctHI,22
|
|
18
|
-
meshagent/agents/worker.py,sha256=G2Q3UpUCQQ8GtPK5_LW4q8uDOyuJXJM_zdRPsx4puck,3260
|
|
19
|
-
meshagent/agents/writer.py,sha256=2Nk52JcjdRz3EnGBO4EHnv49QzByWiije1LKMNuCAIo,2687
|
|
20
|
-
meshagent/agents/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
21
|
-
meshagent/agents/schemas/document.py,sha256=GrHkyJ6ZsImqL33FnGKqjBmBpX4u2lAsUMLW4AzDHEM,1318
|
|
22
|
-
meshagent/agents/schemas/gallery.py,sha256=fzAdlDrn_dJz4FDPkSTH9ir7QmRpV8wFjj6RTOyVwmA,902
|
|
23
|
-
meshagent/agents/schemas/presentation.py,sha256=DreBXAU7Lx92NBPTlEOZq1gdaRs0OkZrJgPT5N7fYH4,1265
|
|
24
|
-
meshagent/agents/schemas/schema.py,sha256=O52T5nUGRNQ8AsamZ_W_IQ8WRDqSBo3vWFDSQcC7Lcg,4473
|
|
25
|
-
meshagent/agents/schemas/super_editor_document.py,sha256=lFpbZn_s_6hchimddzpnGneJ7LaB6dTN_AnLZsx2r9c,1469
|
|
26
|
-
meshagent_agents-0.0.36.dist-info/licenses/LICENSE,sha256=eTt0SPW-sVNdkZe9PS_S8WfCIyLjRXRl7sUBWdlteFg,10254
|
|
27
|
-
meshagent_agents-0.0.36.dist-info/METADATA,sha256=ihaUiX8sB2ABEL2IwCFLqOkhiQ2Bb0_Y9ltIXPlMa-U,1308
|
|
28
|
-
meshagent_agents-0.0.36.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
29
|
-
meshagent_agents-0.0.36.dist-info/top_level.txt,sha256=GlcXnHtRP6m7zlG3Df04M35OsHtNXy_DY09oFwWrH74,10
|
|
30
|
-
meshagent_agents-0.0.36.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|