web-agent-bridge 1.1.1 → 1.1.2

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 (66) hide show
  1. package/LICENSE +21 -21
  2. package/README.ar.md +446 -446
  3. package/README.md +844 -844
  4. package/bin/cli.js +80 -80
  5. package/bin/wab.js +80 -80
  6. package/docs/DEPLOY.md +118 -118
  7. package/docs/SPEC.md +1540 -1540
  8. package/examples/bidi-agent.js +119 -119
  9. package/examples/mcp-agent.js +94 -94
  10. package/examples/puppeteer-agent.js +108 -108
  11. package/examples/vision-agent.js +171 -171
  12. package/package.json +78 -78
  13. package/public/admin/dashboard.html +848 -848
  14. package/public/admin/login.html +84 -84
  15. package/public/cookies.html +208 -208
  16. package/public/css/styles.css +1235 -1235
  17. package/public/dashboard.html +704 -704
  18. package/public/docs.html +585 -585
  19. package/public/index.html +332 -332
  20. package/public/js/auth-nav.js +31 -31
  21. package/public/js/auth-redirect.js +12 -12
  22. package/public/js/cookie-consent.js +56 -56
  23. package/public/js/ws-client.js +74 -74
  24. package/public/login.html +83 -83
  25. package/public/privacy.html +295 -295
  26. package/public/register.html +103 -103
  27. package/public/terms.html +254 -254
  28. package/script/ai-agent-bridge.js +1513 -1513
  29. package/sdk/README.md +55 -55
  30. package/sdk/index.js +203 -203
  31. package/sdk/package.json +14 -14
  32. package/server/config/secrets.js +92 -92
  33. package/server/index.js +181 -181
  34. package/server/middleware/adminAuth.js +30 -30
  35. package/server/middleware/auth.js +41 -41
  36. package/server/middleware/rateLimits.js +24 -24
  37. package/server/migrations/001_add_analytics_indexes.sql +7 -7
  38. package/server/models/adapters/index.js +33 -33
  39. package/server/models/adapters/mysql.js +183 -183
  40. package/server/models/adapters/postgresql.js +172 -172
  41. package/server/models/adapters/sqlite.js +7 -7
  42. package/server/models/db.js +561 -561
  43. package/server/routes/admin.js +247 -247
  44. package/server/routes/api.js +138 -138
  45. package/server/routes/auth.js +51 -51
  46. package/server/routes/billing.js +45 -45
  47. package/server/routes/discovery.js +329 -329
  48. package/server/routes/license.js +240 -240
  49. package/server/routes/noscript.js +543 -543
  50. package/server/routes/wab-api.js +476 -476
  51. package/server/services/email.js +204 -204
  52. package/server/services/fairness.js +420 -420
  53. package/server/services/stripe.js +192 -192
  54. package/server/utils/cache.js +125 -125
  55. package/server/utils/migrate.js +81 -81
  56. package/server/utils/secureFields.js +50 -50
  57. package/server/ws.js +101 -101
  58. package/wab-mcp-adapter/README.md +136 -136
  59. package/wab-mcp-adapter/index.js +555 -555
  60. package/wab-mcp-adapter/package.json +17 -17
  61. package/public/css/premium.css +0 -317
  62. package/public/premium-dashboard.html +0 -2075
  63. package/public/premium.html +0 -791
  64. package/server/migrations/002_premium_features.sql +0 -418
  65. package/server/routes/premium.js +0 -724
  66. package/server/services/premium.js +0 -1680
@@ -1,17 +1,17 @@
1
- {
2
- "name": "wab-mcp-adapter",
3
- "version": "1.1.1",
4
- "description": "MCP adapter for Web Agent Bridge — expose WAB site capabilities as MCP tools",
5
- "main": "index.js",
6
- "keywords": ["wab", "mcp", "ai-agent", "model-context-protocol", "web-agent-bridge"],
7
- "license": "MIT",
8
- "repository": {
9
- "type": "git",
10
- "url": "git+https://github.com/abokenan444/web-agent-bridge.git",
11
- "directory": "wab-mcp-adapter"
12
- },
13
- "peerDependencies": {
14
- "@anthropic-ai/sdk": ">=0.20.0"
15
- },
16
- "engines": { "node": ">=18.0.0" }
17
- }
1
+ {
2
+ "name": "wab-mcp-adapter",
3
+ "version": "1.1.2",
4
+ "description": "MCP adapter for Web Agent Bridge — expose WAB site capabilities as MCP tools",
5
+ "main": "index.js",
6
+ "keywords": ["wab", "mcp", "ai-agent", "model-context-protocol", "web-agent-bridge"],
7
+ "license": "MIT",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/abokenan444/web-agent-bridge.git",
11
+ "directory": "wab-mcp-adapter"
12
+ },
13
+ "peerDependencies": {
14
+ "@anthropic-ai/sdk": ">=0.20.0"
15
+ },
16
+ "engines": { "node": ">=18.0.0" }
17
+ }
@@ -1,317 +0,0 @@
1
- /* ═══════════════════════════════════════════════════════════════════════
2
- Premium Services Page Styles
3
- ═══════════════════════════════════════════════════════════════════════ */
4
-
5
- .active-link {
6
- color: var(--accent-purple) !important;
7
- }
8
-
9
- /* ─── Premium Hero ────────────────────────────────────────────────── */
10
- .premium-hero {
11
- min-height: 70vh;
12
- display: flex;
13
- align-items: center;
14
- text-align: center;
15
- background: var(--gradient-hero);
16
- position: relative;
17
- overflow: hidden;
18
- padding-top: 120px;
19
- padding-bottom: 80px;
20
- }
21
-
22
- .premium-hero::before {
23
- content: '';
24
- position: absolute;
25
- top: -50%;
26
- left: -50%;
27
- width: 200%;
28
- height: 200%;
29
- background:
30
- radial-gradient(circle at 30% 30%, rgba(139,92,246,0.08) 0%, transparent 50%),
31
- radial-gradient(circle at 70% 70%, rgba(236,72,153,0.06) 0%, transparent 50%);
32
- animation: heroGlow 15s ease-in-out infinite alternate;
33
- }
34
-
35
- .premium-hero-content {
36
- position: relative;
37
- z-index: 1;
38
- max-width: 800px;
39
- margin: 0 auto;
40
- }
41
-
42
- .premium-hero h1 {
43
- margin-bottom: 24px;
44
- }
45
-
46
- .premium-hero p {
47
- font-size: 1.15rem;
48
- color: var(--text-secondary);
49
- max-width: 640px;
50
- margin: 0 auto 36px;
51
- line-height: 1.7;
52
- }
53
-
54
- /* ─── Tier Pills ──────────────────────────────────────────────────── */
55
- .tier-pills {
56
- display: flex;
57
- gap: 16px;
58
- justify-content: center;
59
- flex-wrap: wrap;
60
- }
61
-
62
- .tier-pill {
63
- display: flex;
64
- align-items: center;
65
- gap: 14px;
66
- background: var(--bg-card);
67
- border: 1px solid var(--border-color);
68
- border-radius: var(--radius-lg);
69
- padding: 16px 24px;
70
- min-width: 220px;
71
- transition: all var(--transition-normal);
72
- }
73
-
74
- .tier-pill.active {
75
- border-color: var(--accent-purple);
76
- box-shadow: 0 0 20px rgba(139,92,246,0.15);
77
- }
78
-
79
- .tier-pill:hover {
80
- border-color: var(--border-hover);
81
- transform: translateY(-2px);
82
- }
83
-
84
- .tier-pill-icon {
85
- width: 40px;
86
- height: 40px;
87
- border-radius: var(--radius-md);
88
- display: flex;
89
- align-items: center;
90
- justify-content: center;
91
- font-size: 1rem;
92
- flex-shrink: 0;
93
- }
94
-
95
- .tier-pill strong {
96
- display: block;
97
- font-size: 0.9rem;
98
- color: var(--text-primary);
99
- }
100
-
101
- .tier-pill span {
102
- font-size: 0.8rem;
103
- color: var(--text-muted);
104
- }
105
-
106
- /* ─── Service Row ─────────────────────────────────────────────────── */
107
- .service-row {
108
- display: flex;
109
- gap: 32px;
110
- padding: 48px 0;
111
- border-bottom: 1px solid var(--border-color);
112
- align-items: flex-start;
113
- }
114
-
115
- .service-row:last-child {
116
- border-bottom: none;
117
- }
118
-
119
- .service-number {
120
- font-size: 3rem;
121
- font-weight: 900;
122
- letter-spacing: -0.04em;
123
- background: linear-gradient(135deg, rgba(139,92,246,0.3), rgba(59,130,246,0.1));
124
- -webkit-background-clip: text;
125
- -webkit-text-fill-color: transparent;
126
- background-clip: text;
127
- min-width: 70px;
128
- text-align: center;
129
- line-height: 1;
130
- padding-top: 8px;
131
- }
132
-
133
- .service-body {
134
- flex: 1;
135
- min-width: 0;
136
- }
137
-
138
- .service-head {
139
- display: flex;
140
- align-items: center;
141
- gap: 16px;
142
- margin-bottom: 12px;
143
- }
144
-
145
- .service-icon {
146
- width: 52px;
147
- height: 52px;
148
- border-radius: var(--radius-md);
149
- display: flex;
150
- align-items: center;
151
- justify-content: center;
152
- font-size: 1.5rem;
153
- flex-shrink: 0;
154
- }
155
-
156
- .service-head h3 {
157
- margin-bottom: 4px;
158
- font-size: 1.35rem;
159
- }
160
-
161
- .service-tiers {
162
- display: flex;
163
- gap: 6px;
164
- flex-wrap: wrap;
165
- }
166
-
167
- .service-body > p {
168
- color: var(--text-secondary);
169
- font-size: 1rem;
170
- line-height: 1.7;
171
- margin-bottom: 24px;
172
- max-width: 700px;
173
- }
174
-
175
- /* ─── Service Feature Grid ────────────────────────────────────────── */
176
- .service-features {
177
- display: grid;
178
- grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
179
- gap: 16px;
180
- }
181
-
182
- .sf-item {
183
- display: flex;
184
- gap: 14px;
185
- padding: 16px;
186
- background: var(--bg-card);
187
- border: 1px solid var(--border-color);
188
- border-radius: var(--radius-md);
189
- transition: border-color var(--transition-fast);
190
- }
191
-
192
- .sf-item:hover {
193
- border-color: var(--border-hover);
194
- }
195
-
196
- .sf-icon {
197
- font-size: 1.25rem;
198
- flex-shrink: 0;
199
- width: 28px;
200
- text-align: center;
201
- padding-top: 2px;
202
- }
203
-
204
- .sf-item strong {
205
- display: block;
206
- font-size: 0.88rem;
207
- color: var(--text-primary);
208
- margin-bottom: 4px;
209
- }
210
-
211
- .sf-item span {
212
- font-size: 0.82rem;
213
- color: var(--text-muted);
214
- line-height: 1.5;
215
- }
216
-
217
- /* ─── Comparison Table ────────────────────────────────────────────── */
218
- .compare-table {
219
- width: 100%;
220
- border-collapse: collapse;
221
- }
222
-
223
- .compare-table th,
224
- .compare-table td {
225
- padding: 14px 20px;
226
- font-size: 0.88rem;
227
- }
228
-
229
- .compare-table th {
230
- background: var(--bg-surface);
231
- color: var(--text-muted);
232
- font-weight: 700;
233
- text-transform: uppercase;
234
- letter-spacing: 0.04em;
235
- font-size: 0.78rem;
236
- }
237
-
238
- .compare-table td {
239
- border-bottom: 1px solid var(--border-color);
240
- color: var(--text-secondary);
241
- }
242
-
243
- .compare-table tr:last-child td {
244
- border-bottom: none;
245
- }
246
-
247
- .compare-table tr:hover td {
248
- background: rgba(59,130,246,0.03);
249
- }
250
-
251
- .tc {
252
- text-align: center !important;
253
- }
254
-
255
- .highlight-col {
256
- background: rgba(139,92,246,0.04);
257
- }
258
-
259
- .compare-table .check {
260
- color: var(--accent-green);
261
- font-weight: 700;
262
- font-size: 1rem;
263
- }
264
-
265
- .compare-table .cross {
266
- color: var(--text-muted);
267
- font-size: 0.9rem;
268
- }
269
-
270
- /* ─── Premium CTA ─────────────────────────────────────────────────── */
271
- .premium-cta {
272
- max-width: 700px;
273
- margin: 0 auto;
274
- }
275
-
276
- .premium-cta h2 {
277
- margin-bottom: 16px;
278
- }
279
-
280
- .premium-cta p {
281
- color: var(--text-secondary);
282
- font-size: 1.1rem;
283
- line-height: 1.7;
284
- }
285
-
286
- /* ─── Responsive ──────────────────────────────────────────────────── */
287
- @media (max-width: 768px) {
288
- .service-row {
289
- flex-direction: column;
290
- gap: 16px;
291
- }
292
-
293
- .service-number {
294
- min-width: auto;
295
- font-size: 2.2rem;
296
- }
297
-
298
- .service-features {
299
- grid-template-columns: 1fr;
300
- }
301
-
302
- .tier-pills {
303
- flex-direction: column;
304
- align-items: center;
305
- }
306
-
307
- .tier-pill {
308
- width: 100%;
309
- max-width: 360px;
310
- }
311
-
312
- .compare-table th,
313
- .compare-table td {
314
- padding: 10px 12px;
315
- font-size: 0.8rem;
316
- }
317
- }