agent-aimail 0.2.0__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.
- agent_aimail-0.2.0.dist-info/METADATA +89 -0
- agent_aimail-0.2.0.dist-info/RECORD +40 -0
- agent_aimail-0.2.0.dist-info/WHEEL +4 -0
- agent_aimail-0.2.0.dist-info/entry_points.txt +2 -0
- agent_aimail-0.2.0.dist-info/licenses/COPYING +674 -0
- aimail/__init__.py +185 -0
- aimail/_aimail_bootstrap.py +109 -0
- aimail/_resources_release.py +182 -0
- aimail/aimail_agent.py +232 -0
- aimail/aimail_base.py +2721 -0
- aimail/aimail_board.py +203 -0
- aimail/aimail_contract.py +106 -0
- aimail/aimail_mcp_server.py +414 -0
- aimail/aimail_tools.py +2092 -0
- aimail/deer-flow/aimail_deerflow.py +175 -0
- aimail/deer-flow/aimail_inbound.py +364 -0
- aimail/deer-flow/install-mcp.sh +201 -0
- aimail/deer-flow/install-skill.sh +74 -0
- aimail/deer-flow/manage.py +858 -0
- aimail/gateway_api.py +161 -0
- aimail/hermes/aimail_hermes.py +1380 -0
- aimail/hermes/ensure_config.py +144 -0
- aimail/hermes/patch_profiles.py +353 -0
- aimail/hermes/patch_webhook.py +811 -0
- aimail/hermes/register_profiles.py +164 -0
- aimail/hermes/toolsets.py +131 -0
- aimail/hosts/__init__.py +22 -0
- aimail/hosts/activate.py +73 -0
- aimail/hosts/detect.py +64 -0
- aimail/hosts/registry.py +51 -0
- aimail/install.py +657 -0
- aimail/resources/board/role_prompt/common.md +32 -0
- aimail/resources/board/role_prompt/orchestrator.md +41 -0
- aimail/resources/board/role_prompt/role_calibrator.md +32 -0
- aimail/resources/board/role_prompt/verifier.md +47 -0
- aimail/resources/board/role_prompt/whoami.md +24 -0
- aimail/resources/board/role_prompt/worker.md +47 -0
- aimail/resources/skills/DESCRIPTION.md +3 -0
- aimail/resources/skills/SKILL.md +268 -0
- aimail/sdk_ops.py +735 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
|
+
Name: agent-aimail
|
|
3
|
+
Version: 0.2.0
|
|
4
|
+
Summary: AIMail runtime SDK (Python): gateway client, platform adapters, resources. Provisioning tools stay in the aimail repository.
|
|
5
|
+
Project-URL: Homepage, https://github.com/metercai/aimail
|
|
6
|
+
Project-URL: Repository, https://github.com/metercai/aimail
|
|
7
|
+
Author: MeterCai
|
|
8
|
+
License: GPL-3.0-or-later
|
|
9
|
+
License-File: COPYING
|
|
10
|
+
Keywords: agent,aimail,email
|
|
11
|
+
Classifier: Development Status :: 4 - Beta
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Requires-Python: >=3.9
|
|
20
|
+
Requires-Dist: pyyaml>=6
|
|
21
|
+
Provides-Extra: deerflow
|
|
22
|
+
Requires-Dist: fastapi>=0.100; extra == 'deerflow'
|
|
23
|
+
Provides-Extra: docs
|
|
24
|
+
Requires-Dist: markitdown>=0.0.1; extra == 'docs'
|
|
25
|
+
Provides-Extra: hermes
|
|
26
|
+
Requires-Dist: pyyaml>=6; extra == 'hermes'
|
|
27
|
+
Description-Content-Type: text/markdown
|
|
28
|
+
|
|
29
|
+
# pysdk — AIMail Python SDK
|
|
30
|
+
|
|
31
|
+
AIMail (agent mail) runtime for Python hosts: gateway client, 15 mail /
|
|
32
|
+
contact / note / board / identity tools, the inbound preprocess chain, an MCP
|
|
33
|
+
server, and ready-made adapters for Hermes and DeerFlow.
|
|
34
|
+
|
|
35
|
+
Published as `agent-aimail` on PyPI (import name `aimail`). The wheel mirrors this
|
|
36
|
+
directory 1:1 and maps the repo-root `resources/` to `aimail/resources/`, so a
|
|
37
|
+
repo checkout and an installed package behave the same.
|
|
38
|
+
|
|
39
|
+
| What | Files |
|
|
40
|
+
|---|---|
|
|
41
|
+
| Core (stdlib only) | `aimail_base.py` (identity / signature / config / register), `aimail_tools.py` (mail, contacts, notes, `_GatewayClient`), `aimail_board.py` (A2A board), `gateway_api.py` (v1 API client), `_aimail_bootstrap.py` (location-agnostic `sys.path` boot) |
|
|
42
|
+
| Host glue | `install.py` (per-host install / uninstall / check-env), `hermes/` (adapter, patches, toolsets, registrar), `deer-flow/` (inbound router, registrar) |
|
|
43
|
+
| MCP | `aimail_mcp_server.py` (stdio JSON-RPC) |
|
|
44
|
+
| Resources | `resources/skills/`, `resources/board/role_prompt/` (seeds released at install time) |
|
|
45
|
+
| Entry | `__init__.py` — `import aimail` re-exports the curated API and boots the core |
|
|
46
|
+
|
|
47
|
+
## Install
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
pip install agent-aimail # PyPI
|
|
51
|
+
pip install . # from this directory
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
No hard third-party dependency. Optional extras: `aimail[hermes]` (PyYAML),
|
|
55
|
+
`aimail[deerflow]` (fastapi), `aimail[docs]` (markitdown).
|
|
56
|
+
|
|
57
|
+
## How hosts use it
|
|
58
|
+
|
|
59
|
+
Two entry points, both called by the aimail CLI:
|
|
60
|
+
|
|
61
|
+
- **Install / uninstall** — `python -m aimail.install install|uninstall --type
|
|
62
|
+
hermes|deerflow --home <platform-root> [--system-id SID]` (the CLI calls the
|
|
63
|
+
same functions through the python door).
|
|
64
|
+
- **Ops door** — `python -m aimail.sdk_ops --op <assemble|update|teardown|
|
|
65
|
+
prompt-test|…> --args '<json>'`, one JSON envelope in and out. Register,
|
|
66
|
+
teardown and prompt work all go through this door.
|
|
67
|
+
|
|
68
|
+
Host adapters never import the package path directly: each entry calls
|
|
69
|
+
`_aimail_bootstrap()`, which resolves the core directory in every layout
|
|
70
|
+
(site-packages, bundler copy, repo checkout).
|
|
71
|
+
|
|
72
|
+
## Resources
|
|
73
|
+
|
|
74
|
+
Resources are **seeds**, released at install time: board prompts land in
|
|
75
|
+
`~/.aimail/systems/{system_id}/board/` (read by both the Python and TypeScript
|
|
76
|
+
runtimes, so one edit applies to every platform), and skills are expanded into
|
|
77
|
+
each host's own skills directory (hermes: per-profile `skills/`).
|
|
78
|
+
|
|
79
|
+
## Development
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
python3 -c "import sys; sys.path.insert(0, 'pysdk'); import aimail_base"
|
|
83
|
+
python3 -m venv /tmp/v && /tmp/v/bin/pip install . && /tmp/v/bin/python -c "import aimail; print(aimail.core_dir())"
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Related
|
|
87
|
+
|
|
88
|
+
- [aimail monorepo](https://github.com/metercai/aimail) — CLI (`cli/`), TypeScript SDK (`tssdk/`), bridge.
|
|
89
|
+
- [aimail-gateway](https://github.com/metercai/aimail-gateway) — the mail service this SDK talks to.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
aimail/__init__.py,sha256=Lgf7ON9RdII_ntYFpmhPbwN2qVG8uz3y4Bx9Ziy_rj4,7132
|
|
2
|
+
aimail/_aimail_bootstrap.py,sha256=BwlgNtgoeOE34LQ5w_xePe66jOpFi3985BbVuDlNSCo,4020
|
|
3
|
+
aimail/_resources_release.py,sha256=VD7O1_FbidkUKGPZYTtqFxPB4eTqkWjLxrgVHCOg5DE,7739
|
|
4
|
+
aimail/aimail_agent.py,sha256=xtL-T6YBmT58P4Pyatpnsjn5MKeW63pedfDQRxgyTss,9391
|
|
5
|
+
aimail/aimail_base.py,sha256=vAoyGiMT8zAOf4lKNSkVWGj5R8RDxoYwJt4l6-vEe0Q,130546
|
|
6
|
+
aimail/aimail_board.py,sha256=l9wWq9PMO6R8KnZyjUIRUO36vvIkmBr1lkM5Y4TswQY,8071
|
|
7
|
+
aimail/aimail_contract.py,sha256=yQnda0we4m4WiH8xx8gUsR7xJEE1CwYsyRzOoeEOeaM,4621
|
|
8
|
+
aimail/aimail_mcp_server.py,sha256=3ZdOyPzrEMTI_r4PtzSNrU8CeTP0XkkSFVeFbpWmBVw,19402
|
|
9
|
+
aimail/aimail_tools.py,sha256=_KddS300xf_rtT7Kp90QGNlH422B5oMrkAOjjDkOeZo,93123
|
|
10
|
+
aimail/gateway_api.py,sha256=Msn9Ztbalj5U1pmnBHcRHsrTjX5PN_EVpDA1frXao7Y,7062
|
|
11
|
+
aimail/install.py,sha256=IoH5-cK2mfQvoOGMb6AS-VGWRCxot0T_BeqFBzLU7Nk,30687
|
|
12
|
+
aimail/resources/board/role_prompt/common.md,sha256=PxDwTIl2n2R3SipJnB_l8TO4h9nB9p5wc_uJ-jeGTCA,1154
|
|
13
|
+
aimail/resources/board/role_prompt/orchestrator.md,sha256=keEZ-JBzXA-1Bo5TZxN8_gI9f9BIgdPuSmOpIgvpLpI,1719
|
|
14
|
+
aimail/resources/board/role_prompt/role_calibrator.md,sha256=-Ic2v62qj4wQiR21_mkm4iytrrNmTYZXbJQuyRl9VoQ,1531
|
|
15
|
+
aimail/resources/board/role_prompt/verifier.md,sha256=QbhvD4e0ezRODVK06glOTTjhrCK2oWoPxrgjp4-aVO4,2063
|
|
16
|
+
aimail/resources/board/role_prompt/whoami.md,sha256=JhSVXV-qMab4tCSSge1WXGceUAHh-i_8_x9VY1h-ioQ,519
|
|
17
|
+
aimail/resources/board/role_prompt/worker.md,sha256=DxRAviXir46MeqQhRcWwDJJIEoOQlJ-AuZpD0zSfvmE,1831
|
|
18
|
+
aimail/resources/skills/DESCRIPTION.md,sha256=TieNJp3-0ztr0yWYYA4ONlwvsTlnsy2pvQZ7aLFuauA,260
|
|
19
|
+
aimail/resources/skills/SKILL.md,sha256=aaYDICplBLBl0QX07SeH3QfZKj9cIN_UAXCBY2xJLbQ,16213
|
|
20
|
+
aimail/sdk_ops.py,sha256=PIEJEtL9cGjnVv6VodyN8W0WTpJEcOj5mRLwyQOLcSo,34878
|
|
21
|
+
aimail/deer-flow/aimail_deerflow.py,sha256=Y_gh_JWGKbGZp5AFsEKFuoqU1L7QBx2rjoc0LEgTCGU,7589
|
|
22
|
+
aimail/deer-flow/aimail_inbound.py,sha256=-QaXHQwr8RIWy7Hpkyf8jqQDpdUkY5Z2yWbYGnr0ksk,17987
|
|
23
|
+
aimail/deer-flow/install-mcp.sh,sha256=BMSV7uQQWVZKddR2CJxExwbQCdXhQH121XRip114UUQ,11339
|
|
24
|
+
aimail/deer-flow/install-skill.sh,sha256=vHgAgdyszxZiltyTObYetGVXFABdTdkck_uyy9CzsYc,4070
|
|
25
|
+
aimail/deer-flow/manage.py,sha256=HMYavM1jelBOli5_5f0Iie2GLznZ7xspHlEgZ-COib0,42393
|
|
26
|
+
aimail/hermes/aimail_hermes.py,sha256=-pGhR6lUKeb0Uo0XGA6E4arjSxkMo990XNq4dUio7xg,58309
|
|
27
|
+
aimail/hermes/ensure_config.py,sha256=xqwpjE9HAyxhBrYcLOng5K112xRNHGQBumkWx3Tt6HY,6560
|
|
28
|
+
aimail/hermes/patch_profiles.py,sha256=cpzmGiM1Xxnsq0C-3pwDyD-ZJzuww-tcXISbFHWZF0U,15233
|
|
29
|
+
aimail/hermes/patch_webhook.py,sha256=-VxtR8e2q_Q5mQvpbi-aGhKorBqxeDcwg9SGqRHFFIM,36832
|
|
30
|
+
aimail/hermes/register_profiles.py,sha256=FFiXDXrfHF0rji6PRzLkqUd1X0iK3HJA6nEk4lJuZJQ,7597
|
|
31
|
+
aimail/hermes/toolsets.py,sha256=DMD7DlvHVQoU4pwTejsDnCVOEhjgZqquqLvXkJMTikY,5131
|
|
32
|
+
aimail/hosts/__init__.py,sha256=7735Zjk9RdDmQgSeiX9026NLbL0n1eqnRHLqdfXNwYI,1191
|
|
33
|
+
aimail/hosts/activate.py,sha256=U5xv2IrQyGjbcWZ1y3LnWIs_DB2RlSZOgZA4Prj1Q0k,2532
|
|
34
|
+
aimail/hosts/detect.py,sha256=D2ozW9_j1lsyRSVvnr3PlrmGeW9nPBA9yB9rmGB7xu4,2729
|
|
35
|
+
aimail/hosts/registry.py,sha256=52EFI5d8DO183OQ4xtZr4gojlRyPqMpC2StfmMuvCMw,1892
|
|
36
|
+
agent_aimail-0.2.0.dist-info/METADATA,sha256=lAVFg2cnS3m0dbHgUAvyAby8w9Lbnek47eA08k8oup4,3974
|
|
37
|
+
agent_aimail-0.2.0.dist-info/WHEEL,sha256=W3fkpkm7-wf9vBI5Z-7s0eWkeM-spu78I8Neb98DeEg,87
|
|
38
|
+
agent_aimail-0.2.0.dist-info/entry_points.txt,sha256=AphZzTHuE14dNvPiTPdgEBHaDv6CSx8_N9Z8M_6gr-w,58
|
|
39
|
+
agent_aimail-0.2.0.dist-info/licenses/COPYING,sha256=uUjzMCkwScKwNaj0ckB6YvE-uzEcsFduT7WJaqt2x0U,35149
|
|
40
|
+
agent_aimail-0.2.0.dist-info/RECORD,,
|