soothe-plugins 0.2.6__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.
- soothe_plugins/.plugin_template/PLUGIN_TEMPLATE.md +40 -0
- soothe_plugins/.plugin_template/README.md.template +152 -0
- soothe_plugins/.plugin_template/__init__.py.template +174 -0
- soothe_plugins/.plugin_template/events.py.template +34 -0
- soothe_plugins/.plugin_template/implementation.py.template +112 -0
- soothe_plugins/.plugin_template/models.py.template +39 -0
- soothe_plugins/.plugin_template/state.py.template +48 -0
- soothe_plugins/README.md +150 -0
- soothe_plugins/__init__.py +20 -0
- soothe_plugins/_paths.py +17 -0
- soothe_plugins/sample_echo/__init__.py +44 -0
- soothe_plugins/sample_echo/implementation.py +47 -0
- soothe_plugins/skillify/__init__.py +288 -0
- soothe_plugins/skillify/events.py +148 -0
- soothe_plugins/skillify/indexer.py +312 -0
- soothe_plugins/skillify/models.py +36 -0
- soothe_plugins/skillify/retriever.py +165 -0
- soothe_plugins/skillify/warehouse.py +96 -0
- soothe_plugins/weaver/__init__.py +507 -0
- soothe_plugins/weaver/analyzer.py +81 -0
- soothe_plugins/weaver/composer.py +322 -0
- soothe_plugins/weaver/events.py +223 -0
- soothe_plugins/weaver/generator.py +177 -0
- soothe_plugins/weaver/models.py +136 -0
- soothe_plugins/weaver/registry.py +214 -0
- soothe_plugins/weaver/reuse.py +151 -0
- soothe_plugins-0.2.6.dist-info/METADATA +156 -0
- soothe_plugins-0.2.6.dist-info/RECORD +30 -0
- soothe_plugins-0.2.6.dist-info/WHEEL +4 -0
- soothe_plugins-0.2.6.dist-info/entry_points.txt +4 -0
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: soothe-plugins
|
|
3
|
+
Version: 0.2.6
|
|
4
|
+
Summary: Community plugins for Soothe agent orchestration framework
|
|
5
|
+
Project-URL: Homepage, https://github.com/mirasoth/soothe-plugins
|
|
6
|
+
Project-URL: Repository, https://github.com/mirasoth/soothe-plugins
|
|
7
|
+
Project-URL: Issues, https://github.com/mirasoth/soothe-plugins/issues
|
|
8
|
+
License: MIT
|
|
9
|
+
Keywords: agents,ai,llm,plugins,soothe
|
|
10
|
+
Classifier: Development Status :: 3 - Alpha
|
|
11
|
+
Classifier: Intended Audience :: Developers
|
|
12
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
17
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
18
|
+
Requires-Python: <3.15,>=3.11
|
|
19
|
+
Requires-Dist: arxiv<3.0.0,>=2.0.0
|
|
20
|
+
Requires-Dist: feedparser<7.0.0,>=6.0.0
|
|
21
|
+
Requires-Dist: langgraph<2.0.0,>=1.1.1
|
|
22
|
+
Requires-Dist: numpy<3.0.0,>=1.20.0
|
|
23
|
+
Requires-Dist: pyzotero<2.0.0,>=1.5.0
|
|
24
|
+
Requires-Dist: scikit-learn<2.0.0,>=1.0.0
|
|
25
|
+
Requires-Dist: sentence-transformers<6.0.0,>=2.2.0
|
|
26
|
+
Requires-Dist: soothe-sdk<1.0.0,>=0.5.9
|
|
27
|
+
Requires-Dist: tiktoken<1.0.0,>=0.5.0
|
|
28
|
+
Provides-Extra: dev
|
|
29
|
+
Requires-Dist: build>=1.0.0; extra == 'dev'
|
|
30
|
+
Requires-Dist: pytest-asyncio>=1.3.0; extra == 'dev'
|
|
31
|
+
Requires-Dist: pytest-cov; extra == 'dev'
|
|
32
|
+
Requires-Dist: pytest>=8.0.0; extra == 'dev'
|
|
33
|
+
Requires-Dist: ruff>=0.12.0; extra == 'dev'
|
|
34
|
+
Requires-Dist: twine>=5.0.0; extra == 'dev'
|
|
35
|
+
Description-Content-Type: text/markdown
|
|
36
|
+
|
|
37
|
+
# Soothe Community Plugins
|
|
38
|
+
|
|
39
|
+
Standalone community plugins package for the Soothe agent orchestration framework.
|
|
40
|
+
|
|
41
|
+
## Installation
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
pip install soothe-plugins
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Available Plugins
|
|
48
|
+
|
|
49
|
+
### Sample Echo
|
|
50
|
+
|
|
51
|
+
Minimal echo subagent for testing soothe-plugins integration. See [CONTRIBUTING.md](CONTRIBUTING.md) for plugin development guide.
|
|
52
|
+
|
|
53
|
+
### Skillify
|
|
54
|
+
|
|
55
|
+
Skill warehouse indexing and semantic retrieval agent. Provides background indexing loop and retrieval capabilities for skill discovery.
|
|
56
|
+
|
|
57
|
+
### Weaver
|
|
58
|
+
|
|
59
|
+
Generative agent framework with skill harmonization. Composes skills from Skillify, resolves conflicts, and generates task-specific subagents dynamically.
|
|
60
|
+
|
|
61
|
+
### BrowserUse and Claude Code
|
|
62
|
+
|
|
63
|
+
Delegated **browser-use** and **Claude agent SDK** subagents (IG-415). Install with `pip install "soothe-plugins[browser_use]"` or `"soothe-plugins[claude]"` and enable `subagents.browser_use` / `subagents.claude` in config. Spec: `docs/RFC-601-community-agents.md`.
|
|
64
|
+
|
|
65
|
+
## Extensibility
|
|
66
|
+
|
|
67
|
+
This package is designed for extensibility. You can easily add new community plugins:
|
|
68
|
+
|
|
69
|
+
### Available Plugin Types
|
|
70
|
+
|
|
71
|
+
1. **Subagent Plugins**: Complex multi-step agents using langgraph
|
|
72
|
+
2. **Tool Plugins**: Simple functions exposed as tools
|
|
73
|
+
3. **Hybrid Plugins**: Both subagents and tools
|
|
74
|
+
|
|
75
|
+
### Future Plugins
|
|
76
|
+
|
|
77
|
+
The package structure supports adding new plugins:
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
src/soothe_plugins/
|
|
81
|
+
├── sample_echo/ # Minimal test subagent (example plugin)
|
|
82
|
+
├── paperscout/ # ArXiv paper recommendations
|
|
83
|
+
├── [your_plugin]/ # Your future plugin
|
|
84
|
+
└── [another_plugin]/ # Another future plugin
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines on adding new plugins.
|
|
88
|
+
|
|
89
|
+
### Plugin Template
|
|
90
|
+
|
|
91
|
+
Use the provided template to create new plugins:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
cp -r src/soothe_plugins/.plugin_template src/soothe_plugins/your_plugin
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Development
|
|
98
|
+
|
|
99
|
+
### Setup
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
# Clone the repository
|
|
103
|
+
git clone https://github.com/mirasoth/soothe-plugins.git
|
|
104
|
+
cd soothe-plugins
|
|
105
|
+
|
|
106
|
+
# Install in development mode
|
|
107
|
+
pip install -e ".[dev]"
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Testing
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
# Run all tests
|
|
114
|
+
pytest tests/
|
|
115
|
+
|
|
116
|
+
# Run specific plugin tests
|
|
117
|
+
pytest tests/test_paperscout/
|
|
118
|
+
|
|
119
|
+
# With coverage
|
|
120
|
+
pytest tests/ --cov=src/soothe_plugins
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### Code Quality
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
# Format code
|
|
127
|
+
ruff format src/ tests/
|
|
128
|
+
|
|
129
|
+
# Lint code
|
|
130
|
+
ruff check --fix src/ tests/
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## Documentation
|
|
134
|
+
|
|
135
|
+
- **README.md**: This file - overview and quick start
|
|
136
|
+
- **CONTRIBUTING.md**: How to add new plugins
|
|
137
|
+
- **docs/RFC-601-community-agents.md**: Architecture RFC for community agents
|
|
138
|
+
- **src/soothe_plugins/.plugin_template/**: Template for new plugins
|
|
139
|
+
|
|
140
|
+
## Architecture
|
|
141
|
+
|
|
142
|
+
Each plugin follows the RFC-0018 plugin system:
|
|
143
|
+
|
|
144
|
+
```
|
|
145
|
+
Plugin Package
|
|
146
|
+
├── __init__.py # @plugin, @subagent, @tool decorators
|
|
147
|
+
├── events.py # Custom events (optional)
|
|
148
|
+
├── models.py # Data models
|
|
149
|
+
├── state.py # Agent state (if subagent)
|
|
150
|
+
├── implementation.py # Core logic
|
|
151
|
+
└── README.md # Plugin documentation
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## License
|
|
155
|
+
|
|
156
|
+
MIT
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
soothe_plugins/README.md,sha256=_Zxkk8M7Cqe5vD60Z0T-4OXvIS4sydSLdZhzpeaRplY,4312
|
|
2
|
+
soothe_plugins/__init__.py,sha256=4_-Sz-iC7PxbNfG3cjgNgC62yhzFn48QxpikgN5sFV8,530
|
|
3
|
+
soothe_plugins/_paths.py,sha256=mO5hoASEcieUlPS5EnNA_2HSo22qU8SVWPl59HBHQFw,431
|
|
4
|
+
soothe_plugins/.plugin_template/PLUGIN_TEMPLATE.md,sha256=c0MK31gFaNpTP_V9WD1gquX5VbVvzMa1O7JM-6RVybM,1177
|
|
5
|
+
soothe_plugins/.plugin_template/README.md.template,sha256=BfnETFlVGZhD3rrOG-iAk4OR1Hpwy-lHfasAHadaZX0,2512
|
|
6
|
+
soothe_plugins/.plugin_template/__init__.py.template,sha256=NU9eL7kOOxj4oT5UthU0QrzKW7-kwSSzMSDso8ex2m0,4637
|
|
7
|
+
soothe_plugins/.plugin_template/events.py.template,sha256=ZYfw01sM-__lO-9JSRs4H0KZyvAKP5lAok9XKRODc3w,819
|
|
8
|
+
soothe_plugins/.plugin_template/implementation.py.template,sha256=fvEEnnDOpoxrfBVkmnT_Os2I2gyVZwUY40W_NpzrHng,2465
|
|
9
|
+
soothe_plugins/.plugin_template/models.py.template,sha256=YJzyxWzJ2kphx3R8YP-swDKs4ccQ_IfX_F1gbOPOYx8,870
|
|
10
|
+
soothe_plugins/.plugin_template/state.py.template,sha256=RK52DrLuqdvHJ-kvh-NyveKthkxnE9zat1RvJ7JGQNY,1286
|
|
11
|
+
soothe_plugins/sample_echo/__init__.py,sha256=B8shMGwfyvVC_BJJud9GRQ5qZUVmhkargx_Uqv3M3Wg,1300
|
|
12
|
+
soothe_plugins/sample_echo/implementation.py,sha256=3QX4AYafW3Dkr-MNty_s7kDvl8rLDAzClAUMkoSsqt4,1461
|
|
13
|
+
soothe_plugins/skillify/__init__.py,sha256=GwW1u-XFiJWU8LydKxLziDfVY6PV3H0jE0YmEBFcew4,10391
|
|
14
|
+
soothe_plugins/skillify/events.py,sha256=cgbQelACusfoLjQpvXVjN53k2xveymAeX2iUeHys1lQ,4798
|
|
15
|
+
soothe_plugins/skillify/indexer.py,sha256=LPfeoQLmKrSsFYGD26ledAaTQ1qTdw2S7jtkJnumK8M,11403
|
|
16
|
+
soothe_plugins/skillify/models.py,sha256=KtXPC0mv_xhH8aVzZvcC31gn34RQpNEILQX46GjEF0s,856
|
|
17
|
+
soothe_plugins/skillify/retriever.py,sha256=bJ2IBH2TQoHGzeJyUgIrE9shZnbcpJ3uw1AKOvtKkN4,5616
|
|
18
|
+
soothe_plugins/skillify/warehouse.py,sha256=7dU5S3TGIE3S86xrKRCP8RoQ2go1QPLeqKSg7nnSwL0,3165
|
|
19
|
+
soothe_plugins/weaver/__init__.py,sha256=OF8947t-F0IcmRcc6PFTdi_BLXRKQlRo_McDAeLBaQI,19386
|
|
20
|
+
soothe_plugins/weaver/analyzer.py,sha256=8-z-uVNXlzfOVe3KgqZFxG5pV2YRRENWVwuOY4CHu3g,2547
|
|
21
|
+
soothe_plugins/weaver/composer.py,sha256=GEpBya4E_D8M-yq2XiVnYQqiUgDaJRE8zkaKAr_C-j0,11215
|
|
22
|
+
soothe_plugins/weaver/events.py,sha256=9BYPVk7prXLie0OgnD5U6tBZ-KfncifE7pbvru-Z7Vs,7362
|
|
23
|
+
soothe_plugins/weaver/generator.py,sha256=XYdrcz5SMMQSxeQan7J9EsRwVCMVG6rg6RvGxq41K2A,6405
|
|
24
|
+
soothe_plugins/weaver/models.py,sha256=dj4sZMzWuRTMf-RX3oHX4K0zAQ_1H1kJSfBwTsg-w70,4606
|
|
25
|
+
soothe_plugins/weaver/registry.py,sha256=i7AgL1Y2PenPZhGFopJDvUfJFQboDR2LCJi5nbnPiuI,7394
|
|
26
|
+
soothe_plugins/weaver/reuse.py,sha256=4OKXA6bEvfiTc1IL32uDSs1S9AXewydwrZVOdQfMjmA,4963
|
|
27
|
+
soothe_plugins-0.2.6.dist-info/METADATA,sha256=12YIHnk8w_pvdwe1zuzsRHshNqusrKRGH3fzGqyeHd0,4538
|
|
28
|
+
soothe_plugins-0.2.6.dist-info/WHEEL,sha256=mffPy8wBnZQn2VnJUU5jE99KsxaSfiyMHV9Yt0aLVxs,87
|
|
29
|
+
soothe_plugins-0.2.6.dist-info/entry_points.txt,sha256=1iy5q2222SIhGdn718PLfJ8VNxg5hBrgRZ79TMd9Yck,169
|
|
30
|
+
soothe_plugins-0.2.6.dist-info/RECORD,,
|