@nordsym/apiclaw 1.4.1 → 1.4.3
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.
- package/AGENTS.md +115 -0
- package/CHANGELOG.md +78 -0
- package/CONTRIBUTING.md +84 -0
- package/README.md +178 -438
- package/convex/_generated/api.d.ts +4 -0
- package/convex/adminActivate.ts +54 -0
- package/convex/mou.ts +74 -0
- package/convex/schema.ts +20 -0
- package/convex/workspaces.ts +76 -0
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/landing/.env.local.stripe +2 -0
- package/landing/package-lock.json +916 -2
- package/landing/package.json +2 -0
- package/landing/public/.well-known/ai-plugin.json +17 -0
- package/landing/public/llms-full.txt +322 -0
- package/landing/public/llms.txt +61 -72
- package/landing/public/robots.txt +28 -0
- package/landing/src/app/admin/page.tsx +1 -1
- package/landing/src/app/api/auth/magic-link/route.ts +1 -1
- package/landing/src/app/api/auth/session/route.ts +1 -1
- package/landing/src/app/api/auth/verify/route.ts +1 -1
- package/landing/src/app/api/billing/checkout/route.ts +1 -1
- package/landing/src/app/api/billing/payment-method/route.ts +1 -1
- package/landing/src/app/api/billing/portal/route.ts +1 -1
- package/landing/src/app/api/mou/sign/route.ts +314 -0
- package/landing/src/app/api/stripe/webhook/route.ts +1 -1
- package/landing/src/app/api/workspace-auth/magic-link/route.ts +1 -1
- package/landing/src/app/api/workspace-auth/session/route.ts +1 -1
- package/landing/src/app/api/workspace-auth/verify/route.ts +1 -1
- package/landing/src/app/auth/verify/page.tsx +1 -1
- package/landing/src/app/mou/[partnerId]/page.tsx +424 -0
- package/landing/src/app/mou/coaccept/page.tsx +416 -0
- package/landing/src/app/page.tsx +35 -7
- package/landing/src/app/providers/dashboard/[apiId]/actions/[actionId]/edit/page.tsx +1 -1
- package/landing/src/app/providers/dashboard/[apiId]/actions/new/page.tsx +1 -1
- package/landing/src/app/providers/dashboard/[apiId]/actions/page.tsx +1 -1
- package/landing/src/app/providers/register/page.tsx +2 -2
- package/landing/src/app/upgrade/page.tsx +1 -1
- package/landing/src/app/workspace/chains/page.tsx +1 -1
- package/landing/src/app/workspace/page.tsx +1 -1
- package/landing/src/components/EarnCreditsTab.tsx +1 -1
- package/landing/src/components/HeroTabs.tsx +2 -2
- package/landing/src/lib/convex-client.ts +1 -1
- package/landing/src/lib/pdf.ts +24 -0
- package/landing/src/lib/stats.json +3 -2
- package/landing/src/middleware.ts +1 -1
- package/landing/vercel.json +8 -0
- package/package.json +2 -2
- package/scripts/activate-hivr-workspace.ts +20 -0
- package/src/index.ts +5 -5
package/AGENTS.md
CHANGED
|
@@ -155,11 +155,126 @@ Contact: gustav@nordsym.com
|
|
|
155
155
|
|
|
156
156
|
---
|
|
157
157
|
|
|
158
|
+
## Integration with Agent Frameworks
|
|
159
|
+
|
|
160
|
+
APIClaw works standalone via MCP, but also integrates with popular agent frameworks.
|
|
161
|
+
|
|
162
|
+
### Tool Counts
|
|
163
|
+
|
|
164
|
+
| Category | Count | Description |
|
|
165
|
+
|----------|-------|-------------|
|
|
166
|
+
| **Direct Call** | 18 | Full proxy, no keys needed |
|
|
167
|
+
| **Open APIs** | 1,636 | Public APIs, may need keys |
|
|
168
|
+
| **Discovery** | 22,392 | Searchable API database |
|
|
169
|
+
|
|
170
|
+
### CrewAI
|
|
171
|
+
|
|
172
|
+
```python
|
|
173
|
+
from crewai import Agent, Tool
|
|
174
|
+
from apiclaw import APIClaw
|
|
175
|
+
|
|
176
|
+
claw = APIClaw()
|
|
177
|
+
|
|
178
|
+
# Create tools from APIClaw
|
|
179
|
+
discover_tool = Tool(
|
|
180
|
+
name="discover_apis",
|
|
181
|
+
func=claw.discover,
|
|
182
|
+
description="Search 22,000+ APIs by capability"
|
|
183
|
+
)
|
|
184
|
+
|
|
185
|
+
call_tool = Tool(
|
|
186
|
+
name="call_api",
|
|
187
|
+
func=claw.call,
|
|
188
|
+
description="Execute API calls through APIClaw proxy"
|
|
189
|
+
)
|
|
190
|
+
|
|
191
|
+
# Use in your agent
|
|
192
|
+
researcher = Agent(
|
|
193
|
+
role="API Researcher",
|
|
194
|
+
tools=[discover_tool, call_tool],
|
|
195
|
+
# ...
|
|
196
|
+
)
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
### AutoGPT
|
|
200
|
+
|
|
201
|
+
Add to your AutoGPT plugins:
|
|
202
|
+
|
|
203
|
+
```python
|
|
204
|
+
# plugins/apiclaw_plugin.py
|
|
205
|
+
from apiclaw import APIClaw
|
|
206
|
+
|
|
207
|
+
class APIClawPlugin:
|
|
208
|
+
def __init__(self):
|
|
209
|
+
self.claw = APIClaw()
|
|
210
|
+
|
|
211
|
+
def discover_apis(self, query: str) -> list:
|
|
212
|
+
"""Search APIs by capability."""
|
|
213
|
+
return self.claw.discover(query)
|
|
214
|
+
|
|
215
|
+
def call_api(self, provider: str, action: str, params: dict) -> dict:
|
|
216
|
+
"""Execute API call through proxy."""
|
|
217
|
+
return self.claw.call(provider, action, params)
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
Register in `plugins/__init__.py` and you're set.
|
|
221
|
+
|
|
222
|
+
### LangChain
|
|
223
|
+
|
|
224
|
+
```python
|
|
225
|
+
from langchain.tools import StructuredTool
|
|
226
|
+
from apiclaw import APIClaw
|
|
227
|
+
|
|
228
|
+
claw = APIClaw()
|
|
229
|
+
|
|
230
|
+
discover_tool = StructuredTool.from_function(
|
|
231
|
+
func=claw.discover,
|
|
232
|
+
name="discover_apis",
|
|
233
|
+
description="Search 22,000+ APIs by what they do, not keywords"
|
|
234
|
+
)
|
|
235
|
+
|
|
236
|
+
call_tool = StructuredTool.from_function(
|
|
237
|
+
func=claw.call,
|
|
238
|
+
name="call_api",
|
|
239
|
+
description="Execute API calls. 18 providers work without keys."
|
|
240
|
+
)
|
|
241
|
+
|
|
242
|
+
# Add to your agent
|
|
243
|
+
tools = [discover_tool, call_tool]
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### Environment Setup
|
|
247
|
+
|
|
248
|
+
For all frameworks:
|
|
249
|
+
|
|
250
|
+
```bash
|
|
251
|
+
pip install apiclaw
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
Or use the MCP server directly if your framework supports it:
|
|
255
|
+
|
|
256
|
+
```bash
|
|
257
|
+
npx @nordsym/apiclaw
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
### Why This Matters
|
|
261
|
+
|
|
262
|
+
Agent frameworks give you orchestration. APIClaw gives you execution.
|
|
263
|
+
|
|
264
|
+
- **CrewAI** agents can now call real APIs, not just reason about them
|
|
265
|
+
- **AutoGPT** loops can send SMS, generate images, search the web
|
|
266
|
+
- **LangChain** chains can hit 18 providers without key management
|
|
267
|
+
|
|
268
|
+
The 22,392 APIs in discovery are searchable by capability. Ask for "GDPR-compliant email with analytics" and get ranked results. The 18 Direct Call providers execute instantly through our proxy.
|
|
269
|
+
|
|
270
|
+
---
|
|
271
|
+
|
|
158
272
|
## Links
|
|
159
273
|
|
|
160
274
|
- **Docs:** https://apiclaw.nordsym.com/docs
|
|
161
275
|
- **GitHub:** https://github.com/nordsym/apiclaw
|
|
162
276
|
- **npm:** https://npmjs.com/package/@nordsym/apiclaw
|
|
277
|
+
- **PyPI:** https://pypi.org/project/apiclaw
|
|
163
278
|
- **Status:** https://apiclaw.nordsym.com (live stats on homepage)
|
|
164
279
|
|
|
165
280
|
---
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to APIClaw.
|
|
4
|
+
|
|
5
|
+
## [Unreleased]
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## [0.4.0] - 2026-03
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
- **Dry-run mode** — Test API calls without execution. Validate params, check auth, see what would happen.
|
|
13
|
+
- **Auto retry** — Transient failures (429, 503, timeouts) automatically retry with exponential backoff.
|
|
14
|
+
- **Error codes** — Standardized error responses across all providers. `RATE_LIMITED`, `AUTH_FAILED`, `INVALID_PARAMS`, etc.
|
|
15
|
+
|
|
16
|
+
### Improved
|
|
17
|
+
- Better error messages with actionable suggestions
|
|
18
|
+
- Retry logic respects provider-specific rate limit headers
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## [0.3.0] - 2026-03
|
|
23
|
+
|
|
24
|
+
### Added
|
|
25
|
+
- **Multi-client support** — Works with Claude Desktop, Cursor, Windsurf, Cline, and Continue
|
|
26
|
+
- **Usage logs** — Track API calls, costs, and success rates in your dashboard
|
|
27
|
+
- **18 Direct Call providers** — Full proxy support for:
|
|
28
|
+
- Replicate, OpenRouter, ElevenLabs, 46elks, Twilio
|
|
29
|
+
- Resend, Brave Search, Firecrawl, E2B, GitHub
|
|
30
|
+
- Groq, Deepgram, Serper, Mistral, Cohere
|
|
31
|
+
- Together AI, Stability AI, AssemblyAI
|
|
32
|
+
|
|
33
|
+
### Improved
|
|
34
|
+
- `mcp-install` now auto-detects client and configures accordingly
|
|
35
|
+
- Dashboard shows real-time usage across all clients
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## [0.2.0] - 2026-02
|
|
40
|
+
|
|
41
|
+
### Added
|
|
42
|
+
- **Workspace & Dashboard** — Manage your API usage, view logs, configure settings
|
|
43
|
+
- **Auth with Magic Link** — No passwords. Email link, you're in.
|
|
44
|
+
- **`mcp-install` command** — One command setup: `npx @nordsym/apiclaw mcp-install`
|
|
45
|
+
|
|
46
|
+
### Improved
|
|
47
|
+
- Simplified onboarding flow
|
|
48
|
+
- Better MCP server configuration
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## [0.1.0] - 2026-02
|
|
53
|
+
|
|
54
|
+
### Added
|
|
55
|
+
- Initial release
|
|
56
|
+
- MCP server for API discovery and execution
|
|
57
|
+
- `discover_apis` — Search 22,000+ APIs by capability
|
|
58
|
+
- `get_api_details` — Full API specifications
|
|
59
|
+
- `call_api` — Direct execution through proxy
|
|
60
|
+
- `list_connected` — See available Direct Call providers
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Versioning
|
|
65
|
+
|
|
66
|
+
We use [SemVer](https://semver.org/). Given version `MAJOR.MINOR.PATCH`:
|
|
67
|
+
|
|
68
|
+
- **MAJOR** — Breaking changes to MCP interface
|
|
69
|
+
- **MINOR** — New features, new providers, backward compatible
|
|
70
|
+
- **PATCH** — Bug fixes, performance improvements
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Links
|
|
75
|
+
|
|
76
|
+
- [Documentation](https://apiclaw.nordsym.com/docs)
|
|
77
|
+
- [GitHub](https://github.com/nordsym/apiclaw)
|
|
78
|
+
- [npm](https://npmjs.com/package/@nordsym/apiclaw)
|
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Contributing to APIClaw
|
|
2
|
+
|
|
3
|
+
Thanks for wanting to contribute! We keep this simple.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Clone
|
|
9
|
+
git clone https://github.com/nordsym/apiclaw.git
|
|
10
|
+
cd apiclaw
|
|
11
|
+
|
|
12
|
+
# Install
|
|
13
|
+
npm install
|
|
14
|
+
|
|
15
|
+
# Run locally
|
|
16
|
+
npm run dev
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Ways to Contribute
|
|
20
|
+
|
|
21
|
+
### 🐛 Found a Bug?
|
|
22
|
+
|
|
23
|
+
1. Check [existing issues](https://github.com/nordsym/apiclaw/issues) first
|
|
24
|
+
2. Open a new issue with:
|
|
25
|
+
- What happened
|
|
26
|
+
- What you expected
|
|
27
|
+
- Steps to reproduce
|
|
28
|
+
- Your environment (OS, Node version, MCP client)
|
|
29
|
+
|
|
30
|
+
### 💡 Have an Idea?
|
|
31
|
+
|
|
32
|
+
Open an issue! We love feature requests. Even if we can't build it immediately, it helps us understand what people need.
|
|
33
|
+
|
|
34
|
+
### 🔧 Want to Code?
|
|
35
|
+
|
|
36
|
+
1. Fork the repo
|
|
37
|
+
2. Create a branch (`git checkout -b fix/thing` or `feat/thing`)
|
|
38
|
+
3. Make your changes
|
|
39
|
+
4. Test locally
|
|
40
|
+
5. Open a PR
|
|
41
|
+
|
|
42
|
+
We'll review quickly. If it's good, it ships.
|
|
43
|
+
|
|
44
|
+
### 📝 Docs Need Fixing?
|
|
45
|
+
|
|
46
|
+
PRs for typos, clarifications, and better examples are always welcome. Don't overthink it — just fix and PR.
|
|
47
|
+
|
|
48
|
+
## Code Style
|
|
49
|
+
|
|
50
|
+
- We use Prettier (it runs on commit)
|
|
51
|
+
- TypeScript strict mode
|
|
52
|
+
- Keep it simple — readable > clever
|
|
53
|
+
|
|
54
|
+
## Testing
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
npm test
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Add tests for new features. Fix tests you break.
|
|
61
|
+
|
|
62
|
+
## Commit Messages
|
|
63
|
+
|
|
64
|
+
Keep them clear:
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
fix: handle rate limit headers correctly
|
|
68
|
+
feat: add Anthropic to Direct Call providers
|
|
69
|
+
docs: clarify mcp-install for Cursor users
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Questions?
|
|
73
|
+
|
|
74
|
+
- Open an issue
|
|
75
|
+
- Email: gustav@nordsym.com
|
|
76
|
+
- Telegram: @HokusPontuz
|
|
77
|
+
|
|
78
|
+
## License
|
|
79
|
+
|
|
80
|
+
MIT. Your contributions will be too.
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
🦞
|