@nordsym/apiclaw 1.8.6 → 1.8.8

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.
Files changed (115) hide show
  1. package/README.md +59 -31
  2. package/apiclaw-README.md +12 -12
  3. package/convex/_generated/api.d.ts +4 -0
  4. package/convex/adminActivate.d.ts.map +1 -1
  5. package/convex/adminActivate.js +1 -2
  6. package/convex/adminActivate.js.map +1 -1
  7. package/convex/adminActivate.ts +1 -2
  8. package/convex/adminStats.d.ts.map +1 -1
  9. package/convex/adminStats.js +5 -3
  10. package/convex/adminStats.js.map +1 -1
  11. package/convex/adminStats.ts +5 -3
  12. package/convex/apiKeys.d.ts +6 -0
  13. package/convex/apiKeys.d.ts.map +1 -0
  14. package/convex/apiKeys.js +186 -0
  15. package/convex/apiKeys.js.map +1 -0
  16. package/convex/apiKeys.ts +220 -0
  17. package/convex/billing.d.ts.map +1 -1
  18. package/convex/billing.js +1 -13
  19. package/convex/billing.js.map +1 -1
  20. package/convex/billing.ts +2 -14
  21. package/convex/directCall.d.ts.map +1 -1
  22. package/convex/directCall.js +49 -13
  23. package/convex/directCall.js.map +1 -1
  24. package/convex/directCall.ts +49 -14
  25. package/convex/email.js +5 -5
  26. package/convex/email.js.map +1 -1
  27. package/convex/email.ts +5 -5
  28. package/convex/http.d.ts.map +1 -1
  29. package/convex/http.js +756 -29
  30. package/convex/http.js.map +1 -1
  31. package/convex/http.ts +870 -40
  32. package/convex/logs.d.ts.map +1 -1
  33. package/convex/logs.js +21 -19
  34. package/convex/logs.js.map +1 -1
  35. package/convex/logs.ts +26 -22
  36. package/convex/migrateProviderWorkspaces.d.ts +11 -0
  37. package/convex/migrateProviderWorkspaces.d.ts.map +1 -1
  38. package/convex/migrateProviderWorkspaces.js +120 -34
  39. package/convex/migrateProviderWorkspaces.js.map +1 -1
  40. package/convex/migrateProviderWorkspaces.ts +154 -35
  41. package/convex/providers.d.ts.map +1 -1
  42. package/convex/providers.js +296 -191
  43. package/convex/providers.js.map +1 -1
  44. package/convex/providers.ts +313 -203
  45. package/convex/schema.ts +54 -5
  46. package/convex/searchLogs.d.ts.map +1 -1
  47. package/convex/searchLogs.js +2 -7
  48. package/convex/searchLogs.js.map +1 -1
  49. package/convex/searchLogs.ts +2 -6
  50. package/convex/seedPratham.d.ts.map +1 -1
  51. package/convex/seedPratham.js +2 -3
  52. package/convex/seedPratham.js.map +1 -1
  53. package/convex/seedPratham.ts +2 -3
  54. package/convex/spendAlerts.js +2 -2
  55. package/convex/spendAlerts.js.map +1 -1
  56. package/convex/spendAlerts.ts +2 -2
  57. package/convex/stripeActions.d.ts.map +1 -1
  58. package/convex/stripeActions.js +25 -4
  59. package/convex/stripeActions.js.map +1 -1
  60. package/convex/stripeActions.ts +26 -4
  61. package/convex/updateAPIStatus.d.ts.map +1 -1
  62. package/convex/updateAPIStatus.js +0 -1
  63. package/convex/updateAPIStatus.js.map +1 -1
  64. package/convex/updateAPIStatus.ts +2 -3
  65. package/convex/workspaceSettings.d.ts +7 -0
  66. package/convex/workspaceSettings.d.ts.map +1 -0
  67. package/convex/workspaceSettings.js +128 -0
  68. package/convex/workspaceSettings.js.map +1 -0
  69. package/convex/workspaceSettings.ts +136 -0
  70. package/convex/workspaces.d.ts.map +1 -1
  71. package/convex/workspaces.js +15 -17
  72. package/convex/workspaces.js.map +1 -1
  73. package/convex/workspaces.ts +18 -20
  74. package/dist/bin.js +0 -0
  75. package/dist/cli/commands/demo.js +3 -3
  76. package/dist/cli/commands/demo.js.map +1 -1
  77. package/dist/cli/commands/doctor.js +1 -1
  78. package/dist/cli/commands/doctor.js.map +1 -1
  79. package/dist/cli/commands/login.js +1 -1
  80. package/dist/cli/commands/login.js.map +1 -1
  81. package/dist/cli/commands/setup.js +2 -2
  82. package/dist/cli/commands/setup.js.map +1 -1
  83. package/dist/credentials.d.ts.map +1 -1
  84. package/dist/credentials.js +15 -0
  85. package/dist/credentials.js.map +1 -1
  86. package/dist/discovery.js +1 -1
  87. package/dist/discovery.js.map +1 -1
  88. package/dist/execute.js +3 -3
  89. package/dist/execute.js.map +1 -1
  90. package/dist/index.js +14 -14
  91. package/dist/index.js.map +1 -1
  92. package/dist/open-apis.d.ts.map +1 -1
  93. package/dist/open-apis.js +94 -2
  94. package/dist/open-apis.js.map +1 -1
  95. package/dist/ui/errors.js +16 -16
  96. package/dist/ui/errors.js.map +1 -1
  97. package/dist/ui/prompts.js +1 -1
  98. package/dist/ui/prompts.js.map +1 -1
  99. package/email-templates/filestack-provider-outreach.html +1 -1
  100. package/email-templates/partnership-template.html +1 -1
  101. package/email-templates/pratham-partnership-draft.html +2 -2
  102. package/package.json +2 -2
  103. package/reports/APIClaw-Session-Report-2026-04-05.pdf +0 -0
  104. package/reports/session-report-2026-04-05.html +433 -0
  105. package/src/cli/commands/demo.ts +3 -3
  106. package/src/cli/commands/doctor.ts +1 -1
  107. package/src/cli/commands/login.ts +1 -1
  108. package/src/cli/commands/setup.ts +2 -2
  109. package/src/credentials.ts +16 -0
  110. package/src/discovery.ts +1 -1
  111. package/src/execute.ts +3 -3
  112. package/src/index.ts +15 -15
  113. package/src/open-apis.ts +114 -4
  114. package/src/ui/errors.ts +16 -16
  115. package/src/ui/prompts.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/ui/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/ui/prompts.ts"],"names":[],"mappings":"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"}
@@ -111,7 +111,7 @@
111
111
 
112
112
  <!-- CTA -->
113
113
  <div style="text-align: center; margin: 32px 0;">
114
- <a href="https://apiclaw.nordsym.com/providers/dashboard" style="display: inline-block; background-color: #ef4444; color: #ffffff; text-decoration: none; padding: 14px 36px; border-radius: 8px; font-weight: 600; font-size: 16px; box-shadow: 0 2px 4px rgba(239,68,68,0.3);">
114
+ <a href="https://apiclaw.cloud/providers/dashboard" style="display: inline-block; background-color: #ef4444; color: #ffffff; text-decoration: none; padding: 14px 36px; border-radius: 8px; font-weight: 600; font-size: 16px; box-shadow: 0 2px 4px rgba(239,68,68,0.3);">
115
115
  View Your Provider Dashboard
116
116
  </a>
117
117
  <p class="text-muted" style="margin: 12px 0 0 0; font-size: 13px; color: #9ca3af;">
@@ -105,7 +105,7 @@
105
105
  <div style="margin-top: 32px; text-align: center; color: #9ca3af; font-size: 12px;">
106
106
  <p style="margin: 0;">NordSym AB (559535-5768) • Sweden</p>
107
107
  <p style="margin: 4px 0 0 0;">
108
- <a href="https://apiclaw.nordsym.com" style="color: #ef4444; text-decoration: none;">apiclaw.nordsym.com</a> •
108
+ <a href="https://apiclaw.cloud" style="color: #ef4444; text-decoration: none;">apiclaw.cloud</a> •
109
109
  <a href="https://github.com/nordsym/apiclaw" style="color: #ef4444; text-decoration: none;">GitHub</a>
110
110
  </p>
111
111
  </div>
@@ -98,7 +98,7 @@
98
98
 
99
99
  <!-- CTA -->
100
100
  <div style="text-align: center; margin: 32px 0;">
101
- <a href="https://apiclaw.nordsym.com" style="display: inline-block; background-color: #ef4444; color: #ffffff; text-decoration: none; padding: 14px 32px; border-radius: 8px; font-weight: 600; font-size: 16px; box-shadow: 0 2px 4px rgba(239, 68, 68, 0.2);">
101
+ <a href="https://apiclaw.cloud" style="display: inline-block; background-color: #ef4444; color: #ffffff; text-decoration: none; padding: 14px 32px; border-radius: 8px; font-weight: 600; font-size: 16px; box-shadow: 0 2px 4px rgba(239, 68, 68, 0.2);">
102
102
  View APIClaw Documentation
103
103
  </a>
104
104
  </div>
@@ -130,7 +130,7 @@
130
130
  <div style="margin-top: 32px; text-align: center; color: #9ca3af; font-size: 12px;">
131
131
  <p style="margin: 0;">NordSym AB (559535-5768) • Sweden</p>
132
132
  <p style="margin: 4px 0 0 0;">
133
- <a href="https://apiclaw.nordsym.com" style="color: #ef4444; text-decoration: none;">apiclaw.nordsym.com</a> •
133
+ <a href="https://apiclaw.cloud" style="color: #ef4444; text-decoration: none;">apiclaw.cloud</a> •
134
134
  <a href="https://github.com/nordsym/apiclaw" style="color: #ef4444; text-decoration: none;">GitHub</a>
135
135
  </p>
136
136
  </div>
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@nordsym/apiclaw",
3
- "version": "1.8.6",
3
+ "version": "1.8.8",
4
4
  "description": "The API layer for AI agents. Dashboard + 22K APIs + 18 Direct Call providers. MCP native.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
- "homepage": "https://apiclaw.nordsym.com",
7
+ "homepage": "https://apiclaw.cloud",
8
8
  "repository": {
9
9
  "type": "git",
10
10
  "url": "https://github.com/nordsym/apiclaw"
@@ -0,0 +1,433 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>APIClaw Session Report — 2026-04-05</title>
7
+ <style>
8
+ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
9
+
10
+ * { margin: 0; padding: 0; box-sizing: border-box; }
11
+
12
+ body {
13
+ font-family: 'Inter', -apple-system, sans-serif;
14
+ background: #0a0a0a;
15
+ color: #e5e5e5;
16
+ line-height: 1.6;
17
+ padding: 60px;
18
+ max-width: 900px;
19
+ margin: 0 auto;
20
+ }
21
+
22
+ .header {
23
+ text-align: center;
24
+ padding-bottom: 48px;
25
+ border-bottom: 1px solid #262626;
26
+ margin-bottom: 48px;
27
+ }
28
+
29
+ .header .logo { font-size: 48px; margin-bottom: 12px; }
30
+ .header h1 { font-size: 32px; font-weight: 800; color: #fff; letter-spacing: -0.5px; }
31
+ .header .subtitle { font-size: 14px; color: #737373; margin-top: 8px; font-weight: 500; letter-spacing: 2px; text-transform: uppercase; }
32
+ .header .date { font-size: 13px; color: #525252; margin-top: 16px; }
33
+
34
+ .highlight-box {
35
+ background: linear-gradient(135deg, #ef4444/10, #ef4444/5);
36
+ border: 1px solid #ef4444/30;
37
+ border-radius: 12px;
38
+ padding: 24px 28px;
39
+ margin-bottom: 40px;
40
+ text-align: center;
41
+ }
42
+ .highlight-box p { font-size: 16px; color: #fca5a5; font-weight: 600; }
43
+ .highlight-box .sub { font-size: 13px; color: #a3a3a3; margin-top: 8px; font-weight: 400; }
44
+
45
+ h2 {
46
+ font-size: 20px;
47
+ font-weight: 700;
48
+ color: #fff;
49
+ margin: 40px 0 20px;
50
+ padding-bottom: 10px;
51
+ border-bottom: 1px solid #1a1a1a;
52
+ }
53
+
54
+ h3 {
55
+ font-size: 15px;
56
+ font-weight: 600;
57
+ color: #ef4444;
58
+ margin: 28px 0 12px;
59
+ text-transform: uppercase;
60
+ letter-spacing: 1px;
61
+ }
62
+
63
+ p { font-size: 14px; color: #a3a3a3; margin-bottom: 12px; }
64
+
65
+ .feature-grid {
66
+ display: grid;
67
+ grid-template-columns: 1fr 1fr;
68
+ gap: 16px;
69
+ margin: 20px 0;
70
+ }
71
+
72
+ .feature-card {
73
+ background: #141414;
74
+ border: 1px solid #262626;
75
+ border-radius: 10px;
76
+ padding: 20px;
77
+ }
78
+
79
+ .feature-card .num {
80
+ font-size: 11px;
81
+ font-weight: 700;
82
+ color: #ef4444;
83
+ letter-spacing: 2px;
84
+ text-transform: uppercase;
85
+ margin-bottom: 8px;
86
+ }
87
+
88
+ .feature-card h4 {
89
+ font-size: 15px;
90
+ font-weight: 700;
91
+ color: #fff;
92
+ margin-bottom: 6px;
93
+ }
94
+
95
+ .feature-card p { font-size: 12px; color: #737373; margin: 0; }
96
+
97
+ table {
98
+ width: 100%;
99
+ border-collapse: collapse;
100
+ margin: 16px 0;
101
+ font-size: 13px;
102
+ }
103
+
104
+ th {
105
+ text-align: left;
106
+ padding: 10px 14px;
107
+ background: #141414;
108
+ color: #a3a3a3;
109
+ font-weight: 600;
110
+ font-size: 11px;
111
+ text-transform: uppercase;
112
+ letter-spacing: 1px;
113
+ border-bottom: 1px solid #262626;
114
+ }
115
+
116
+ td {
117
+ padding: 10px 14px;
118
+ border-bottom: 1px solid #1a1a1a;
119
+ color: #d4d4d4;
120
+ }
121
+
122
+ .status-pass {
123
+ color: #4ade80;
124
+ font-weight: 600;
125
+ }
126
+
127
+ .status-live {
128
+ background: #4ade80/15;
129
+ color: #4ade80;
130
+ padding: 2px 10px;
131
+ border-radius: 20px;
132
+ font-size: 11px;
133
+ font-weight: 600;
134
+ }
135
+
136
+ code {
137
+ font-family: 'SF Mono', 'Fira Code', monospace;
138
+ background: #1a1a1a;
139
+ padding: 2px 6px;
140
+ border-radius: 4px;
141
+ font-size: 12px;
142
+ color: #fca5a5;
143
+ }
144
+
145
+ pre {
146
+ background: #141414;
147
+ border: 1px solid #262626;
148
+ border-radius: 8px;
149
+ padding: 16px 20px;
150
+ overflow-x: auto;
151
+ margin: 12px 0;
152
+ font-family: 'SF Mono', 'Fira Code', monospace;
153
+ font-size: 12px;
154
+ line-height: 1.5;
155
+ color: #d4d4d4;
156
+ }
157
+
158
+ .e2e-chain {
159
+ display: flex;
160
+ align-items: center;
161
+ justify-content: center;
162
+ gap: 8px;
163
+ padding: 20px;
164
+ margin: 20px 0;
165
+ background: #141414;
166
+ border: 1px solid #262626;
167
+ border-radius: 10px;
168
+ flex-wrap: wrap;
169
+ }
170
+
171
+ .e2e-chain .node {
172
+ background: #1a1a1a;
173
+ border: 1px solid #333;
174
+ padding: 8px 14px;
175
+ border-radius: 6px;
176
+ font-size: 12px;
177
+ font-weight: 600;
178
+ color: #fff;
179
+ }
180
+
181
+ .e2e-chain .arrow { color: #ef4444; font-size: 16px; font-weight: 700; }
182
+
183
+ .files-list {
184
+ list-style: none;
185
+ margin: 12px 0;
186
+ }
187
+
188
+ .files-list li {
189
+ padding: 8px 0;
190
+ border-bottom: 1px solid #1a1a1a;
191
+ font-size: 13px;
192
+ display: flex;
193
+ gap: 12px;
194
+ }
195
+
196
+ .files-list li code { flex-shrink: 0; }
197
+ .files-list li span { color: #737373; }
198
+
199
+ .footer {
200
+ margin-top: 60px;
201
+ padding-top: 24px;
202
+ border-top: 1px solid #262626;
203
+ text-align: center;
204
+ font-size: 12px;
205
+ color: #525252;
206
+ }
207
+
208
+ .footer .brand { color: #737373; font-weight: 600; }
209
+
210
+ .badge {
211
+ display: inline-block;
212
+ padding: 3px 10px;
213
+ border-radius: 20px;
214
+ font-size: 11px;
215
+ font-weight: 600;
216
+ }
217
+ .badge-green { background: rgba(74, 222, 128, 0.15); color: #4ade80; }
218
+ .badge-red { background: rgba(239, 68, 68, 0.15); color: #ef4444; }
219
+ .badge-new { background: rgba(59, 130, 246, 0.15); color: #60a5fa; }
220
+
221
+ @media print {
222
+ body { background: #fff; color: #1a1a1a; padding: 40px; }
223
+ .feature-card, pre, .e2e-chain { background: #f5f5f5; border-color: #e5e5e5; }
224
+ .feature-card p, p { color: #525252; }
225
+ td { color: #1a1a1a; }
226
+ th { background: #f5f5f5; color: #525252; }
227
+ h2 { border-bottom-color: #e5e5e5; }
228
+ code { background: #f0f0f0; color: #dc2626; }
229
+ .e2e-chain .node { background: #f0f0f0; border-color: #d4d4d4; color: #1a1a1a; }
230
+ }
231
+ </style>
232
+ </head>
233
+ <body>
234
+
235
+ <div class="header">
236
+ <div class="logo">&#x1F99E;</div>
237
+ <h1>APIClaw Session Report</h1>
238
+ <div class="subtitle">The API Layer for AI Agents</div>
239
+ <div class="date">Session: April 5, 2026 &mdash; NordSym AB</div>
240
+ </div>
241
+
242
+ <div class="highlight-box">
243
+ <p>APIClaw is now a live production API gateway.</p>
244
+ <div class="sub">Telegram bot responding via APIClaw. Anthropic OAuth dependency eliminated. E2E proven.</div>
245
+ </div>
246
+
247
+ <!-- ========== FEATURES ========== -->
248
+ <h2>What We Built</h2>
249
+
250
+ <div class="feature-grid">
251
+ <div class="feature-card">
252
+ <div class="num">Feature 1</div>
253
+ <h4>Workspace API Keys</h4>
254
+ <p>Generate persistent <code>sk-claw-</code> keys in your workspace. One key, every API. Keys are hashed after creation -- shown once, never stored in plain text.</p>
255
+ </div>
256
+ <div class="feature-card">
257
+ <div class="num">Feature 2</div>
258
+ <h4>Unified Auth Layer</h4>
259
+ <p>All 15+ proxy endpoints upgraded in one change. Accepts <code>Authorization: Bearer sk-claw-...</code> alongside legacy identifier auth. Zero breaking changes.</p>
260
+ </div>
261
+ <div class="feature-card">
262
+ <div class="num">Feature 3</div>
263
+ <h4>Gateway /v1/chat/completions</h4>
264
+ <p>OpenAI-compatible LLM endpoint. Routes to OpenRouter (800+ models). Streaming support. Usage tracking. Standard protocol -- works with any AI tool.</p>
265
+ </div>
266
+ <div class="feature-card">
267
+ <div class="num">Feature 4</div>
268
+ <h4>OpenClaw Integration</h4>
269
+ <p>APIClaw configured as a first-class provider in OpenClaw. Telegram bots now powered entirely by APIClaw gateway. No direct Anthropic key needed.</p>
270
+ </div>
271
+ </div>
272
+
273
+ <!-- ========== E2E CHAIN ========== -->
274
+ <h2>E2E Architecture</h2>
275
+
276
+ <div class="e2e-chain">
277
+ <div class="node">Telegram</div>
278
+ <div class="arrow">&rarr;</div>
279
+ <div class="node">OpenClaw Gateway</div>
280
+ <div class="arrow">&rarr;</div>
281
+ <div class="node">APIClaw Gateway<br><small style="color:#ef4444">sk-claw-...q6Yd</small></div>
282
+ <div class="arrow">&rarr;</div>
283
+ <div class="node">OpenRouter</div>
284
+ <div class="arrow">&rarr;</div>
285
+ <div class="node">Claude Sonnet 4.6</div>
286
+ </div>
287
+
288
+ <!-- ========== TEST RESULTS ========== -->
289
+ <h2>E2E Test Results</h2>
290
+
291
+ <table>
292
+ <thead>
293
+ <tr><th>Test</th><th>Result</th><th>Latency</th></tr>
294
+ </thead>
295
+ <tbody>
296
+ <tr>
297
+ <td><code>GET /v1/models</code> on prod</td>
298
+ <td class="status-pass">13 models listed</td>
299
+ <td>--</td>
300
+ </tr>
301
+ <tr>
302
+ <td>Fake key rejection</td>
303
+ <td class="status-pass">401 with error message</td>
304
+ <td>--</td>
305
+ </tr>
306
+ <tr>
307
+ <td><code>sk-claw-</code> &rarr; Gateway &rarr; OpenRouter &rarr; Claude</td>
308
+ <td class="status-pass">Response received</td>
309
+ <td>2.2s</td>
310
+ </tr>
311
+ <tr>
312
+ <td>OpenClaw CLI &rarr; APIClaw &rarr; Telegram delivery</td>
313
+ <td class="status-pass">"APIClaw e2e works through OpenClaw"</td>
314
+ <td>17.8s</td>
315
+ </tr>
316
+ <tr>
317
+ <td>Telegram DM &rarr; bot responds</td>
318
+ <td class="status-pass">Confirmed live by operator</td>
319
+ <td>--</td>
320
+ </tr>
321
+ </tbody>
322
+ </table>
323
+
324
+ <!-- ========== BACKEND DETAIL ========== -->
325
+ <h2>Backend: API Keys</h2>
326
+
327
+ <h3>Schema (convex/schema.ts)</h3>
328
+ <pre>workspaceApiKeys: defineTable({
329
+ workspaceId: v.id("workspaces"),
330
+ key: v.string(),
331
+ keyHash: v.string(), // SHA lookup (raw key not stored)
332
+ keyPrefix: v.string(), // "sk-claw-...last4" for display
333
+ name: v.string(), // user label
334
+ lastUsedAt: v.optional(v.number()),
335
+ createdAt: v.number(),
336
+ revokedAt: v.optional(v.number()),
337
+ })
338
+ .index("by_keyHash", ["keyHash"])
339
+ .index("by_workspaceId", ["workspaceId"])</pre>
340
+
341
+ <h3>Functions (convex/apiKeys.ts)</h3>
342
+ <table>
343
+ <thead><tr><th>Function</th><th>Type</th><th>Purpose</th></tr></thead>
344
+ <tbody>
345
+ <tr><td><code>generateKey</code></td><td>mutation</td><td>Create key, return raw ONCE, store hash only</td></tr>
346
+ <tr><td><code>listKeys</code></td><td>query</td><td>Return prefix + metadata (never raw key)</td></tr>
347
+ <tr><td><code>revokeKey</code></td><td>mutation</td><td>Soft delete with revokedAt timestamp</td></tr>
348
+ <tr><td><code>resolveKey</code></td><td>internalQuery</td><td>Hash lookup for gateway auth</td></tr>
349
+ <tr><td><code>touchKey</code></td><td>mutation</td><td>Update lastUsedAt on each use</td></tr>
350
+ </tbody>
351
+ </table>
352
+
353
+ <!-- ========== GATEWAY DETAIL ========== -->
354
+ <h2>Backend: Gateway</h2>
355
+
356
+ <h3>Auth Resolution (convex/http.ts)</h3>
357
+ <pre>resolveWorkspaceFromRequest(ctx, request)
358
+ 1. Authorization: Bearer sk-claw-... &rarr; resolveKey &rarr; workspaceId
359
+ 2. X-APIClaw-Identifier (legacy) &rarr; workspaceId
360
+ 3. Anonymous &rarr; allowed, untracked</pre>
361
+
362
+ <h3>Endpoints</h3>
363
+ <table>
364
+ <thead><tr><th>Endpoint</th><th>Method</th><th>Auth</th><th>Purpose</th></tr></thead>
365
+ <tbody>
366
+ <tr><td><code>/v1/chat/completions</code></td><td>POST</td><td>sk-claw- required</td><td>OpenAI-compatible LLM gateway</td></tr>
367
+ <tr><td><code>/v1/models</code></td><td>GET</td><td>optional</td><td>List available models</td></tr>
368
+ <tr><td><code>/proxy/*</code> (15+ routes)</td><td>POST</td><td>sk-claw- or legacy</td><td>All existing API proxies</td></tr>
369
+ </tbody>
370
+ </table>
371
+
372
+ <!-- ========== OPENCLAW CONFIG ========== -->
373
+ <h2>OpenClaw Configuration</h2>
374
+
375
+ <pre>{
376
+ "models": {
377
+ "providers": {
378
+ "apiclaw": {
379
+ "baseUrl": "https://adventurous-avocet-799.convex.site/v1",
380
+ "apiKey": "sk-claw-...q6Yd",
381
+ "api": "openai-completions",
382
+ "auth": "api-key",
383
+ "models": [
384
+ { "id": "anthropic/claude-sonnet-4-6", "name": "Claude Sonnet 4.6" },
385
+ { "id": "anthropic/claude-haiku-3.5", "name": "Claude Haiku 3.5" },
386
+ { "id": "openai/gpt-4o", "name": "GPT-4o" },
387
+ { "id": "google/gemini-2.5-pro-preview", "name": "Gemini 2.5 Pro" },
388
+ { "id": "meta-llama/llama-3.3-70b-instruct", "name": "Llama 3.3 70B" },
389
+ { "id": "deepseek/deepseek-chat", "name": "DeepSeek Chat" }
390
+ ]
391
+ }
392
+ }
393
+ }
394
+ }</pre>
395
+
396
+ <p><strong>Key discovery:</strong> OpenClaw appends <code>/chat/completions</code> to baseUrl. The baseUrl must include <code>/v1</code>.</p>
397
+
398
+ <!-- ========== FILES ========== -->
399
+ <h2>Files Changed</h2>
400
+
401
+ <ul class="files-list">
402
+ <li><code>convex/schema.ts</code> <span>Added workspaceApiKeys table + indexes</span></li>
403
+ <li><code>convex/apiKeys.ts</code> <span class="badge badge-new">NEW</span> <span>Generate, list, revoke, resolve, touch</span></li>
404
+ <li><code>convex/http.ts</code> <span>Unified auth + /v1/chat/completions + /v1/models</span></li>
405
+ <li><code>landing/.../workspace/page.tsx</code> <span>API Keys tab + nav + config snippet</span></li>
406
+ <li><code>~/.openclaw/openclaw.json</code> <span>APIClaw as primary provider, Telegram restored</span></li>
407
+ </ul>
408
+
409
+ <!-- ========== PRODUCTION STATE ========== -->
410
+ <h2>Production State</h2>
411
+
412
+ <table>
413
+ <thead><tr><th>Component</th><th>Status</th><th>Detail</th></tr></thead>
414
+ <tbody>
415
+ <tr><td>Convex prod</td><td><span class="badge badge-green">DEPLOYED</span></td><td>adventurous-avocet-799</td></tr>
416
+ <tr><td>Gateway endpoint</td><td><span class="badge badge-green">LIVE</span></td><td>/v1/chat/completions responding</td></tr>
417
+ <tr><td>Prod API key</td><td><span class="badge badge-green">ACTIVE</span></td><td>sk-claw-...q6Yd ("OpenClaw Production")</td></tr>
418
+ <tr><td>OpenClaw default model</td><td><span class="badge badge-green">ACTIVE</span></td><td>apiclaw/anthropic/claude-sonnet-4-6</td></tr>
419
+ <tr><td>Telegram bots</td><td><span class="badge badge-green">LIVE</span></td><td>4 accounts responding</td></tr>
420
+ <tr><td>Anthropic OAuth</td><td><span class="badge badge-red">ELIMINATED</span></td><td>No longer needed</td></tr>
421
+ <tr><td>Frontend build</td><td><span class="badge badge-green">CLEAN</span></td><td>Next.js + Convex both pass</td></tr>
422
+ </tbody>
423
+ </table>
424
+
425
+ <!-- ========== FOOTER ========== -->
426
+ <div class="footer">
427
+ <p class="brand">NordSym AB (559535-5768)</p>
428
+ <p>APIClaw -- The API Layer for AI Agents</p>
429
+ <p>Session report generated April 5, 2026</p>
430
+ </div>
431
+
432
+ </body>
433
+ </html>
@@ -61,7 +61,7 @@ async function convertCurrency(): Promise<void> {
61
61
  chalk.dim(` No API key needed. Your agent can call this too.\n`)
62
62
  );
63
63
  console.log(
64
- chalk.cyan(` Dashboard: https://apiclaw.nordsym.com/workspace`) + '\n'
64
+ chalk.cyan(` Dashboard: https://apiclaw.cloud/workspace`) + '\n'
65
65
  );
66
66
  }
67
67
 
@@ -93,7 +93,7 @@ export async function demoCommand(): Promise<void> {
93
93
  spinner.stop();
94
94
 
95
95
  console.log(chalk.green(' ✓ That was a live Direct Call through APIClaw.'));
96
- console.log(chalk.dim(' 19 providers, hundreds of APIs. Zero API keys needed.\n'));
96
+ console.log(chalk.dim(' 20 providers, hundreds of APIs. Zero API keys needed.\n'));
97
97
  console.log(
98
98
  chalk.bold(' Next step:') +
99
99
  chalk.dim(' add APIClaw to your AI agent:\n')
@@ -104,6 +104,6 @@ export async function demoCommand(): Promise<void> {
104
104
  );
105
105
  } catch (err: any) {
106
106
  spinner.fail('Demo failed: ' + err.message);
107
- console.log(chalk.dim('\n Try again or check https://apiclaw.nordsym.com\n'));
107
+ console.log(chalk.dim('\n Try again or check https://apiclaw.cloud\n'));
108
108
  }
109
109
  }
@@ -174,7 +174,7 @@ async function checkConnectivity(): Promise<CheckResult> {
174
174
  const convexUrl = process.env.CONVEX_URL || 'https://brilliant-puffin-712.eu-west-1.convex.cloud';
175
175
  const candidates = [
176
176
  `${apiUrl}/health`,
177
- 'https://apiclaw.nordsym.com',
177
+ 'https://apiclaw.cloud',
178
178
  `${convexUrl.replace('.cloud', '.site')}/workspace/poll`,
179
179
  ];
180
180
  const failures: string[] = [];
@@ -10,7 +10,7 @@ import chalk from 'chalk';
10
10
  import { writeSession, readSession, getMachineFingerprint } from '../../session.js';
11
11
 
12
12
  const CONVEX_URL = 'https://adventurous-avocet-799.convex.cloud';
13
- const APICLAW_URL = 'https://apiclaw.nordsym.com';
13
+ const APICLAW_URL = 'https://apiclaw.cloud';
14
14
  const POLL_INTERVAL_MS = 2000;
15
15
  const MAX_WAIT_MS = 15 * 60 * 1000; // 15 min (magic link TTL)
16
16
 
@@ -284,14 +284,14 @@ export async function setupCommand(options: SetupOptions): Promise<void> {
284
284
  console.log('Next steps:');
285
285
  console.log(' 1. Restart your AI coding assistant');
286
286
  console.log(' 2. Ask your agent: "List available APIs"\n');
287
- console.log('Need help? https://apiclaw.nordsym.com/docs/setup\n');
287
+ console.log('Need help? https://apiclaw.cloud/docs/setup\n');
288
288
  } else if (skipped === results.length) {
289
289
  console.log('\n✅ APIClaw already configured in all clients.\n');
290
290
  console.log('Use --force to reconfigure.\n');
291
291
  }
292
292
  } else {
293
293
  console.log(`\n⚠️ Setup completed with ${failed} error(s).\n`);
294
- console.log('For troubleshooting, visit: https://apiclaw.nordsym.com/docs/setup/troubleshooting\n');
294
+ console.log('For troubleshooting, visit: https://apiclaw.cloud/docs/setup/troubleshooting\n');
295
295
  process.exit(1);
296
296
  }
297
297
  }
@@ -291,6 +291,18 @@ const providers: Record<string, ProviderCredential> = {
291
291
  return null;
292
292
  },
293
293
  },
294
+
295
+ voyage: {
296
+ type: 'bearer',
297
+ get(): APICredentials | null {
298
+ const env = loadEnvFile('voyage.env');
299
+ const key = env.VOYAGE_API_KEY || process.env.VOYAGE_API_KEY;
300
+ if (key) {
301
+ return { type: 'bearer', api_key: key };
302
+ }
303
+ return null;
304
+ },
305
+ },
294
306
  };
295
307
 
296
308
  /**
@@ -384,6 +396,10 @@ export function hasRealCredentials(providerId: string): boolean {
384
396
  const env = loadEnvFile('assemblyai.env');
385
397
  return !!(env.ASSEMBLYAI_API_KEY || process.env.ASSEMBLYAI_API_KEY);
386
398
  }
399
+ if (providerId === 'voyage') {
400
+ const env = loadEnvFile('voyage.env');
401
+ return !!(env.VOYAGE_API_KEY || process.env.VOYAGE_API_KEY);
402
+ }
387
403
  if (providerId === 'serper') {
388
404
  const env = loadEnvFile('serper.env');
389
405
  const envAlt = loadEnvFile('serpapi.env');
package/src/discovery.ts CHANGED
@@ -192,7 +192,7 @@ const DIRECT_CALL_SPECS: Record<string, {
192
192
  { name: 'subject', required: true, desc: 'Email subject' },
193
193
  { name: 'html', required: false, desc: 'HTML body' },
194
194
  { name: 'text', required: false, desc: 'Plain text body' },
195
- { name: 'from', required: false, desc: 'Sender (default: noreply@apiclaw.nordsym.com)' },
195
+ { name: 'from', required: false, desc: 'Sender (default: noreply@apiclaw.cloud)' },
196
196
  ],
197
197
  },
198
198
  },
package/src/execute.ts CHANGED
@@ -272,7 +272,7 @@ const mockResponses: Record<string, Record<string, (params: any) => unknown>> =
272
272
  send_email: (params) => ({
273
273
  id: 'mock_email_' + Date.now(),
274
274
  to: params.to,
275
- from: params.from || 'APIClaw <noreply@apiclaw.nordsym.com>',
275
+ from: params.from || 'APIClaw <noreply@apiclaw.cloud>',
276
276
  subject: params.subject,
277
277
  status: 'sent',
278
278
  }),
@@ -674,7 +674,7 @@ const handlers: Record<string, Record<string, (params: any, creds: any) => Promi
674
674
  // Resend - Email
675
675
  resend: {
676
676
  send_email: async (params, creds) => {
677
- const { to, subject, html, text, from = 'APIClaw <noreply@apiclaw.nordsym.com>' } = params;
677
+ const { to, subject, html, text, from = 'APIClaw <noreply@apiclaw.cloud>' } = params;
678
678
 
679
679
  if (!to || !subject || (!html && !text)) {
680
680
  return createErrorResult('resend', 'send_email', 'Missing required params: to, subject, html or text', ERROR_CODES.INVALID_PARAMS);
@@ -718,7 +718,7 @@ const handlers: Record<string, Record<string, (params: any, creds: any) => Promi
718
718
  headers: {
719
719
  'Authorization': `Bearer ${creds.api_key}`,
720
720
  'Content-Type': 'application/json',
721
- 'HTTP-Referer': 'https://apiclaw.nordsym.com',
721
+ 'HTTP-Referer': 'https://apiclaw.cloud',
722
722
  },
723
723
  body: JSON.stringify({ model, messages, max_tokens }),
724
724
  }, { provider: 'openrouter', action: 'chat' });