web-agent-bridge 3.4.0 → 3.9.0
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/LICENSE +84 -84
- package/README.ar.md +1565 -1304
- package/README.md +171 -298
- package/bin/agent-runner.js +474 -474
- package/bin/cli.js +237 -237
- package/bin/wab-init.js +244 -223
- package/bin/wab.js +80 -80
- package/examples/azure-dns-wab.js +83 -83
- package/examples/bidi-agent.js +119 -119
- package/examples/cloudflare-wab-dns.js +121 -121
- package/examples/cpanel-wab-dns.js +114 -114
- package/examples/cross-site-agent.js +91 -91
- package/examples/dns-discovery-agent.js +166 -166
- package/examples/gcp-dns-wab.js +76 -76
- package/examples/governance-agent.js +169 -169
- package/examples/mcp-agent.js +94 -94
- package/examples/next-app-router/README.md +44 -44
- package/examples/plesk-wab-dns.js +103 -103
- package/examples/puppeteer-agent.js +108 -108
- package/examples/route53-wab-dns.js +144 -144
- package/examples/saas-dashboard/README.md +55 -55
- package/examples/safe-mode-agent.js +96 -96
- package/examples/self-discovery.js +106 -0
- package/examples/shopify-hydrogen/README.md +74 -74
- package/examples/vision-agent.js +171 -171
- package/examples/wab-sign.js +74 -74
- package/examples/wab-verify.js +60 -60
- package/examples/wordpress-elementor/README.md +77 -77
- package/package.json +93 -93
- package/public/.well-known/agent-tools.json +180 -180
- package/public/.well-known/ai-assets.json +59 -59
- package/public/.well-known/security.txt +8 -8
- package/public/.well-known/wab.json +28 -28
- package/public/activate.html +448 -368
- package/public/adopt.html +236 -0
- package/public/adoption-metrics.html +188 -188
- package/public/agent-workspace.html +359 -349
- package/public/ai.html +198 -198
- package/public/api.html +397 -413
- package/public/atp.html +171 -0
- package/public/azure-dns-integration.html +289 -289
- package/public/browser.html +486 -486
- package/public/cloudflare-integration.html +380 -380
- package/public/commander-dashboard.html +243 -243
- package/public/cookies.html +210 -210
- package/public/cpanel-integration.html +398 -398
- package/public/css/agent-workspace.css +1713 -1713
- package/public/css/premium.css +317 -317
- package/public/css/styles.css +1401 -1263
- package/public/dashboard-shieldlink.html +295 -0
- package/public/dashboard.html +711 -707
- package/public/dns.html +436 -436
- package/public/docs.html +588 -588
- package/public/enterprise-mesh.ar.html +80 -0
- package/public/enterprise-mesh.html +81 -0
- package/public/feed.xml +89 -89
- package/public/gcp-dns-integration.html +318 -318
- package/public/governance.ar.html +70 -0
- package/public/governance.html +69 -0
- package/public/growth.html +465 -465
- package/public/index.html +1372 -1266
- package/public/integrations.html +556 -556
- package/public/js/activate.js +449 -145
- package/public/js/agent-workspace.js +1740 -1740
- package/public/js/auth-nav.js +117 -65
- package/public/js/auth-redirect.js +12 -12
- package/public/js/cookie-consent.js +56 -56
- package/public/js/dns.js +438 -438
- package/public/js/wab-demo-page.js +721 -721
- package/public/js/ws-client.js +74 -74
- package/public/l-preview.html +242 -0
- package/public/llms-full.txt +360 -360
- package/public/llms.txt +125 -125
- package/public/login.html +85 -85
- package/public/mesh-dashboard.html +328 -328
- package/public/milestones.html +346 -0
- package/public/one-click.html +779 -0
- package/public/openapi.json +669 -669
- package/public/partners.ar.html +145 -0
- package/public/partners.html +143 -0
- package/public/phone-shield.html +281 -281
- package/public/plesk-integration.html +375 -375
- package/public/premium-dashboard.html +2489 -2489
- package/public/premium.html +793 -793
- package/public/privacy.html +297 -297
- package/public/provider-onboarding.html +172 -172
- package/public/provider-sandbox.html +134 -134
- package/public/providers.html +359 -359
- package/public/refusals.html +172 -0
- package/public/register.html +105 -105
- package/public/registrar-integrations.html +141 -141
- package/public/ring4.html +292 -0
- package/public/robots.txt +99 -99
- package/public/route53-integration.html +531 -531
- package/public/score.html +263 -0
- package/public/script/wab-consent.d.ts +36 -36
- package/public/script/wab-consent.js +104 -104
- package/public/script/wab-schema.js +131 -131
- package/public/script/wab.d.ts +108 -108
- package/public/script/wab.min.js +580 -580
- package/public/security.txt +8 -8
- package/public/shieldlink.html +244 -0
- package/public/shieldqr.html +231 -231
- package/public/sitemap.xml +13 -1
- package/public/terms.html +256 -256
- package/public/trust-graph-api.ar.html +92 -0
- package/public/trust-graph-api.html +91 -0
- package/public/wab-features.html +560 -0
- package/public/wab-trust.html +200 -200
- package/public/wab-truth.html +375 -0
- package/public/wab-vs-protocols.html +210 -210
- package/public/whitepaper.html +449 -449
- package/script/ai-agent-bridge.js +1754 -1754
- package/sdk/README.md +99 -99
- package/sdk/agent-mesh.js +449 -449
- package/sdk/atp.js +103 -0
- package/sdk/auto-discovery.js +301 -288
- package/sdk/commander.js +262 -262
- package/sdk/governance.js +262 -262
- package/sdk/index.d.ts +464 -464
- package/sdk/index.js +653 -649
- package/sdk/multi-agent.js +318 -318
- package/sdk/safe-mode.js +221 -221
- package/sdk/safety-shield.js +219 -219
- package/sdk/schema-discovery.js +83 -83
- package/server/adapters/index.js +520 -520
- package/server/config/plans.js +412 -367
- package/server/config/secrets.js +102 -102
- package/server/control-plane/index.js +301 -301
- package/server/data-plane/index.js +354 -354
- package/server/index.js +793 -670
- package/server/llm/index.js +404 -404
- package/server/middleware/adminAuth.js +35 -35
- package/server/middleware/api-tier.js +170 -0
- package/server/middleware/auth.js +50 -50
- package/server/middleware/featureGate.js +88 -88
- package/server/middleware/rateLimits.js +100 -100
- package/server/middleware/sensitiveAction.js +157 -157
- package/server/middleware/wab-trust.js +141 -0
- package/server/migrations/001_add_analytics_indexes.sql +7 -7
- package/server/migrations/002_premium_features.sql +418 -418
- package/server/migrations/003_ads_integer_cents.sql +33 -33
- package/server/migrations/004_agent_os.sql +158 -158
- package/server/migrations/005_marketplace_metering.sql +126 -126
- package/server/migrations/006_growth_suite.sql +138 -0
- package/server/migrations/007_governance.sql +106 -106
- package/server/migrations/008_plans.sql +144 -144
- package/server/migrations/009_shieldqr.sql +30 -30
- package/server/migrations/010_extended_trust.sql +33 -33
- package/server/migrations/011_outreach.sql +47 -0
- package/server/migrations/012_shieldlink.sql +116 -0
- package/server/migrations/013_ct_monitor.sql +13 -0
- package/server/migrations/014_wab_advanced_features.sql +128 -0
- package/server/migrations/015_wab_truth_layer.sql +101 -0
- package/server/migrations/016_ring4_external_trust.sql +84 -0
- package/server/migrations/017_ring4_extensions.sql +69 -0
- package/server/migrations/018_commercial_foundations.sql +167 -0
- package/server/migrations/019_unify_tier_constraints.sql +133 -0
- package/server/migrations/020_agent_transaction_primitive.sql +119 -0
- package/server/models/adapters/index.js +33 -33
- package/server/models/adapters/mysql.js +183 -183
- package/server/models/adapters/postgresql.js +172 -172
- package/server/models/adapters/sqlite.js +7 -7
- package/server/models/db.js +740 -740
- package/server/observability/failure-analysis.js +337 -337
- package/server/observability/index.js +394 -394
- package/server/protocol/capabilities.js +223 -223
- package/server/protocol/index.js +243 -243
- package/server/protocol/schema.js +584 -584
- package/server/registry/certification.js +271 -271
- package/server/registry/index.js +326 -326
- package/server/routes/activate.js +478 -0
- package/server/routes/admin-outreach.js +239 -0
- package/server/routes/admin-plans.js +76 -76
- package/server/routes/admin-premium.js +674 -673
- package/server/routes/admin-shieldlink.js +137 -0
- package/server/routes/admin-shieldqr.js +90 -90
- package/server/routes/admin-trust-monitor.js +139 -83
- package/server/routes/admin.js +550 -549
- package/server/routes/adopt.js +61 -0
- package/server/routes/ads.js +130 -130
- package/server/routes/agent-workspace.js +540 -540
- package/server/routes/api-keys.js +127 -0
- package/server/routes/api.js +150 -150
- package/server/routes/auth.js +71 -71
- package/server/routes/billing.js +57 -57
- package/server/routes/commander.js +316 -316
- package/server/routes/customer-shieldlink.js +133 -0
- package/server/routes/demo-showcase.js +332 -332
- package/server/routes/demo-store.js +154 -154
- package/server/routes/diagnose.js +373 -0
- package/server/routes/discovery.js +2348 -2348
- package/server/routes/enterprise-mesh.js +170 -0
- package/server/routes/gateway.js +173 -173
- package/server/routes/governance-saas.js +203 -0
- package/server/routes/governance.js +208 -208
- package/server/routes/growth.js +1048 -0
- package/server/routes/intent.js +328 -0
- package/server/routes/license.js +251 -251
- package/server/routes/mesh.js +469 -469
- package/server/routes/noscript.js +543 -543
- package/server/routes/partners.js +201 -0
- package/server/routes/plans.js +33 -33
- package/server/routes/premium-v2.js +686 -686
- package/server/routes/premium.js +724 -724
- package/server/routes/providers.js +650 -650
- package/server/routes/reputation.js +411 -0
- package/server/routes/ring4.js +885 -0
- package/server/routes/runtime.js +2148 -2148
- package/server/routes/shieldlink.js +70 -0
- package/server/routes/shieldqr.js +88 -88
- package/server/routes/sovereign.js +465 -465
- package/server/routes/transactions.js +233 -0
- package/server/routes/truth-layer.js +670 -0
- package/server/routes/universal.js +200 -200
- package/server/routes/unsubscribe.js +51 -0
- package/server/routes/wab-api.js +850 -850
- package/server/routes/wab-cache.js +282 -0
- package/server/runtime/container-worker.js +111 -111
- package/server/runtime/container.js +448 -448
- package/server/runtime/distributed-worker.js +362 -362
- package/server/runtime/event-bus.js +210 -210
- package/server/runtime/index.js +253 -253
- package/server/runtime/queue.js +599 -599
- package/server/runtime/replay.js +666 -666
- package/server/runtime/sandbox.js +266 -266
- package/server/runtime/scheduler.js +534 -534
- package/server/runtime/session-engine.js +293 -293
- package/server/runtime/state-manager.js +188 -188
- package/server/secrets/wab-signing-key.pem +3 -0
- package/server/secrets/wab-signing-pub.pem +3 -0
- package/server/security/cross-site-redactor.js +196 -196
- package/server/security/dry-run.js +180 -180
- package/server/security/human-gate-rate-limit.js +147 -147
- package/server/security/human-gate-transports.js +178 -178
- package/server/security/human-gate.js +281 -281
- package/server/security/index.js +368 -368
- package/server/security/intent-engine.js +245 -245
- package/server/security/reward-guard.js +171 -171
- package/server/security/rollback-store.js +239 -239
- package/server/security/token-scope.js +404 -404
- package/server/security/url-policy.js +139 -139
- package/server/services/adoption-agent.js +182 -0
- package/server/services/agent-chat.js +506 -506
- package/server/services/agent-learning.js +601 -601
- package/server/services/agent-memory.js +625 -625
- package/server/services/agent-mesh.js +555 -555
- package/server/services/agent-symphony.js +717 -717
- package/server/services/agent-tasks.js +1807 -1807
- package/server/services/api-key-engine.js +292 -292
- package/server/services/cluster.js +894 -894
- package/server/services/commander.js +738 -738
- package/server/services/edge-compute.js +440 -440
- package/server/services/email.js +233 -233
- package/server/services/fairness-engine.js +409 -0
- package/server/services/fairness.js +420 -0
- package/server/services/governance.js +466 -466
- package/server/services/hosted-runtime.js +205 -205
- package/server/services/lfd.js +635 -635
- package/server/services/local-ai.js +389 -389
- package/server/services/marketplace.js +270 -270
- package/server/services/metering.js +182 -182
- package/server/services/modules/affiliate-intelligence.js +93 -93
- package/server/services/modules/agent-firewall.js +90 -90
- package/server/services/modules/bounty.js +89 -89
- package/server/services/modules/collective-bargaining.js +92 -92
- package/server/services/modules/dark-pattern.js +66 -66
- package/server/services/modules/gov-intelligence.js +45 -45
- package/server/services/modules/neural.js +55 -55
- package/server/services/modules/notary.js +49 -49
- package/server/services/modules/price-time-machine.js +86 -86
- package/server/services/modules/protocol.js +104 -104
- package/server/services/negotiation.js +439 -439
- package/server/services/outreach-agent.js +312 -0
- package/server/services/plans.js +214 -214
- package/server/services/plugins.js +771 -771
- package/server/services/price-intelligence.js +566 -566
- package/server/services/price-shield.js +1137 -1137
- package/server/services/provider-clients.js +740 -740
- package/server/services/reputation.js +465 -465
- package/server/services/search-engine.js +357 -357
- package/server/services/security.js +513 -513
- package/server/services/self-healing.js +843 -843
- package/server/services/shieldlink.js +492 -0
- package/server/services/shieldqr.js +322 -322
- package/server/services/sovereign-shield.js +542 -542
- package/server/services/ssl-ct-monitor.js +224 -0
- package/server/services/ssl-inspector.js +42 -42
- package/server/services/ssl-monitor.js +167 -167
- package/server/services/stripe.js +206 -205
- package/server/services/swarm.js +788 -788
- package/server/services/transactions.js +525 -0
- package/server/services/universal-scraper.js +662 -662
- package/server/services/verification.js +481 -481
- package/server/services/vision.js +1163 -1163
- package/server/services/wab-crypto.js +178 -178
- package/server/utils/cache.js +125 -125
- package/server/utils/migrate.js +81 -81
- package/server/utils/safe-fetch.js +228 -228
- package/server/utils/secureFields.js +50 -50
- package/server/ws.js +161 -161
- package/templates/artisan-marketplace.yaml +104 -104
- package/templates/book-price-scout.yaml +98 -98
- package/templates/electronics-price-tracker.yaml +108 -108
- package/templates/flight-deal-hunter.yaml +113 -113
- package/templates/freelancer-direct.yaml +116 -116
- package/templates/grocery-price-compare.yaml +93 -93
- package/templates/hotel-direct-booking.yaml +113 -113
- package/templates/local-services.yaml +98 -98
- package/templates/olive-oil-tunisia.yaml +88 -88
- package/templates/organic-farm-fresh.yaml +101 -101
- package/templates/restaurant-direct.yaml +97 -97
- package/templates/ring4/banking-sovereign.yaml +55 -0
- package/templates/ring4/ecommerce-sovereign.yaml +58 -0
- package/templates/ring4/healthcare-sovereign.yaml +60 -0
package/README.md
CHANGED
|
@@ -1,298 +1,171 @@
|
|
|
1
|
-
<!-- coderlegion: https://coderlegion.com/user/WAB -->
|
|
2
|
-
<div align="center">
|
|
3
|
-
<img src="https://raw.githubusercontent.com/abokenan444/web-agent-bridge/
|
|
4
|
-
|
|
5
|
-
<
|
|
6
|
-
<p><
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
[![
|
|
11
|
-
[![
|
|
12
|
-
[![
|
|
13
|
-
|
|
14
|
-
[![
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
<
|
|
21
|
-
<a href="https://webagentbridge.com"><
|
|
22
|
-
<a href="
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
│ ▲ │
|
|
173
|
-
│ TLS certificate → fingerprint pinned in DNS │
|
|
174
|
-
└─────────────────────────────────────────────────────────────┘
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
| Capability | What it does |
|
|
178
|
-
|---|---|
|
|
179
|
-
| **🪪 Ed25519-signed `wab.json`** | Every capability document is signed; the public key is published in DNS (`pk=ed25519:…`). Agents detect tampering or impersonation. |
|
|
180
|
-
| **🔐 SSL fingerprint pinning** | `ssl_thumbprint` (SHA-256) and `ssl_expires` are embedded in both `wab.json` and the DNS TXT record. Mismatch = automatic distrust. |
|
|
181
|
-
| **🩺 SSL Health Monitor** | A 24h cron sweep tracks every site's certificate; sends an email alert **7 days** before expiry so renewal never surprises you. |
|
|
182
|
-
| **📜 Certificate Transparency log** | A local CT log (`cert_history`) records every fingerprint observed per host — silent re-issuance is detectable. |
|
|
183
|
-
| **🛟 Fallback Trust mode** | If TLS is degraded but the Ed25519 signature still verifies, ShieldQR returns `partial trust` instead of failing closed. Never blocks a legitimate site over a single moving part. |
|
|
184
|
-
| **📱 ShieldQR Public Scanner** | `/shieldqr` lets users scan any QR code and instantly see if the destination is a verified WAB-trusted site (`green` / `yellow` / `red`). |
|
|
185
|
-
| **🛠 Admin Trust Monitor** | `/admin/trust-monitor` — dashboard for monitored hosts, SSL status pills, CT log entries, and one-click re-verification. |
|
|
186
|
-
|
|
187
|
-
**Sign your domain in one command:**
|
|
188
|
-
```bash
|
|
189
|
-
node scripts/sign-wab-domain.js
|
|
190
|
-
# → writes signed /.well-known/wab.json + prints the DNS TXT record to publish
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
Verify any site: <https://www.webagentbridge.com/check?host=YOUR_HOST>
|
|
194
|
-
|
|
195
|
-
---
|
|
196
|
-
|
|
197
|
-
## 🚀 Zero-Config Adoption Layer
|
|
198
|
-
|
|
199
|
-
Drop-in adoption for every popular stack — **no origin changes, no PHP, no `.htaccess` edits**.
|
|
200
|
-
|
|
201
|
-
| Package | Use it for | Install |
|
|
202
|
-
|---|---|---|
|
|
203
|
-
| **`wab-init` CLI** | Auto-detect project (Next/Nuxt/SvelteKit/Astro/Laravel/WordPress/static) and scaffold `wab.json` + DNS instructions. | `npx wab-init` |
|
|
204
|
-
| **`@wab/next`** | Next.js plugin: `withWAB(nextConfig, { siteName, siteUrl })` adds rewrites + headers for `/.well-known/wab.json`. App Router + Pages Router supported. | `npm i @wab/next` |
|
|
205
|
-
| **`@wab/edge`** | Vercel Middleware & Netlify Edge Function — serve `wab.json` from the edge, configured by env vars. | `npm i @wab/edge` |
|
|
206
|
-
| **`@wab/cloudflare-worker`** | Standalone Cloudflare Worker that injects `/.well-known/wab.json` from KV or env vars. Optional reverse-proxy origin. | `wrangler deploy` |
|
|
207
|
-
| **SDK Auto-Discovery** | When a site has no `wab.json`, the SDK falls back through JSON-LD / Schema.org / OpenGraph / `sitemap.xml` / `robots.txt` and returns a **normalized capabilities envelope** so your agent still works. | `require('web-agent-bridge-sdk').discover(url)` |
|
|
208
|
-
|
|
209
|
-
```js
|
|
210
|
-
const { discover } = require('web-agent-bridge-sdk');
|
|
211
|
-
|
|
212
|
-
const env = await discover('https://example.com');
|
|
213
|
-
// env.source → 'wab.json' | 'auto-discovery'
|
|
214
|
-
// env.site → { name, description, url }
|
|
215
|
-
// env.actions → [{ name, description, source }, …]
|
|
216
|
-
// env.products → [ schema.org/Product nodes … ]
|
|
217
|
-
// env.sitemap → [ url, … ]
|
|
218
|
-
// env.trust.signed → boolean
|
|
219
|
-
```
|
|
220
|
-
|
|
221
|
-
The result: any agent can do something useful on **any** website on day one, even before the site formally adopts WAB.
|
|
222
|
-
|
|
223
|
-
---
|
|
224
|
-
|
|
225
|
-
## �🛡️ Governance Layer — Enterprise Security & Compliance
|
|
226
|
-
|
|
227
|
-
The **WAB Governance Layer** sits *above* the protocol and turns any agent into a compliance-ready, auditable, kill-switch-controlled identity. It's the missing piece for agents that touch real money, mailboxes, or production systems.
|
|
228
|
-
|
|
229
|
-
```
|
|
230
|
-
┌──────────────────────────────────────────────┐
|
|
231
|
-
│ Layer 3: Governance (permissions · audit) │ ← /api/governance
|
|
232
|
-
├──────────────────────────────────────────────┤
|
|
233
|
-
│ Layer 2: WAB Protocol (AICommands · trust) │ ← /api/discovery
|
|
234
|
-
├──────────────────────────────────────────────┤
|
|
235
|
-
│ Layer 1: Dynamic Shield (price · OCR) │ ← /api/shield
|
|
236
|
-
└──────────────────────────────────────────────┘
|
|
237
|
-
```
|
|
238
|
-
|
|
239
|
-
| Capability | What it gives you |
|
|
240
|
-
|------------|-------------------|
|
|
241
|
-
| **🔐 Permission Boundaries** | Per-agent `resource × action × scope` policies with `effect=allow\|deny`. Most-specific match wins. |
|
|
242
|
-
| **🙋 Human-in-the-Loop Approvals** | Mark any policy `requires_approval: true` — sensitive actions are routed through async human gates with TTL. |
|
|
243
|
-
| **🧾 Tamper-Evident Audit** | Every event hash-chained with HMAC: `hash_n = HMAC(secret, prev_hash ‖ row)`. `verifyAuditChain()` detects any tampering. |
|
|
244
|
-
| **🛑 Kill Switch** | One call disables an agent globally and auto-cancels all pending approvals (no resurrection). |
|
|
245
|
-
| **💰 Spend & Rate Limits** | Per-call `max_amount`, rolling 24h `daily_cap`, per-minute `per_call_rate`. |
|
|
246
|
-
| **🕵️ Param Redaction** | `password`, `api_key`, `token`, `cookie`, `cvv`, `ssn` are automatically redacted before audit storage. |
|
|
247
|
-
|
|
248
|
-
**Verified end-to-end** — [293/293 tests passing](tests) including 26 governance, 10 ShieldQR, 36 server, plus the full integration suite.
|
|
249
|
-
|
|
250
|
-
Full demo: [`examples/governance-agent.js`](examples/governance-agent.js) · API surface: `/api/governance/*` · SDK: `WABGovernance` class.
|
|
251
|
-
|
|
252
|
-
---
|
|
253
|
-
|
|
254
|
-
## 🏗️ Architecture & Open Core Model
|
|
255
|
-
|
|
256
|
-
WAB uses an **Open Core** dual-license model to ensure the protocol remains free while supporting sustainable development.
|
|
257
|
-
|
|
258
|
-
| Component | License | Description |
|
|
259
|
-
|-----------|---------|-------------|
|
|
260
|
-
| **Core SDK & Protocol** | MIT | Discovery protocol, JS SDK, signing scripts, `wab-init` CLI. |
|
|
261
|
-
| **ShieldQR Verifier** | MIT | Open Ed25519 verifier — anyone can validate signatures and SSL pins. |
|
|
262
|
-
| **Adoption Packages** | MIT | `@wab/next`, `@wab/edge`, `@wab/cloudflare-worker`. |
|
|
263
|
-
| **WordPress Plugin** | GPL-2.0 | Full integration for WordPress sites. |
|
|
264
|
-
| **Engines (Firewall, Price, OCR)** | Proprietary (Free) | Advanced detection, scoring, and protection engines. |
|
|
265
|
-
| **ShieldQR Threat Intel** | Commercial | Curated impersonation-host blocklist + reputation feeds. |
|
|
266
|
-
| **API Gateway & Pro Modules** | Commercial | Enterprise features, data marketplace, SLA. |
|
|
267
|
-
|
|
268
|
-
---
|
|
269
|
-
|
|
270
|
-
## 🤝 Contributing
|
|
271
|
-
|
|
272
|
-
We welcome contributions from the community! Whether it's fixing a bug, improving documentation, or proposing a new feature.
|
|
273
|
-
|
|
274
|
-
1. Fork the repository
|
|
275
|
-
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
|
|
276
|
-
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
|
|
277
|
-
4. Push to the branch (`git push origin feature/AmazingFeature`)
|
|
278
|
-
5. Open a Pull Request
|
|
279
|
-
|
|
280
|
-
---
|
|
281
|
-
|
|
282
|
-
## 📄 License
|
|
283
|
-
|
|
284
|
-
This project is licensed under the terms described in the [LICENSE](LICENSE) file. The core protocol and SDKs are MIT licensed.
|
|
285
|
-
|
|
286
|
-
---
|
|
287
|
-
|
|
288
|
-
## 🌐 Community & Links
|
|
289
|
-
|
|
290
|
-
- **Website**: <https://webagentbridge.com>
|
|
291
|
-
- **Discord**: <https://discord.gg/NnbpJYEF>
|
|
292
|
-
- **CoderLegion**: <https://coderlegion.com/user/WAB>
|
|
293
|
-
- **Issues & PRs**: <https://github.com/abokenan444/web-agent-bridge/issues>
|
|
294
|
-
- **npm**: <https://www.npmjs.com/package/web-agent-bridge>
|
|
295
|
-
|
|
296
|
-
<div align="center">
|
|
297
|
-
<i>© 2026 Web Agent Bridge. Built for the AI-first web.</i>
|
|
298
|
-
</div>
|
|
1
|
+
<!-- coderlegion: https://coderlegion.com/user/WAB -->
|
|
2
|
+
<div align="center">
|
|
3
|
+
<img src="https://raw.githubusercontent.com/abokenan444/web-agent-bridge/master/public/images/wab-logo-large.png" alt="Web Agent Bridge Logo" width="180" />
|
|
4
|
+
|
|
5
|
+
<h1>Web Agent Bridge (WAB)</h1>
|
|
6
|
+
<p><b>The trust + transaction layer for agentic commerce.</b></p>
|
|
7
|
+
<p><i>Signed intent contracts · idempotent transactions · Ed25519-verifiable receipts · explicit compensation.</i></p>
|
|
8
|
+
<p><i>robots.txt told bots what NOT to do. WAB tells AI agents what they CAN do — and proves what they did.</i></p>
|
|
9
|
+
|
|
10
|
+
[](https://www.npmjs.com/package/web-agent-bridge)
|
|
11
|
+
[](LICENSE)
|
|
12
|
+
[](tests)
|
|
13
|
+
[](docs/SPEC.md#21-agent-transaction-primitive-atp--v390)
|
|
14
|
+
[](https://discord.gg/NnbpJYEF)
|
|
15
|
+
|
|
16
|
+
<br />
|
|
17
|
+
<a href="https://webagentbridge.com"><b>Website</b></a> ·
|
|
18
|
+
<a href="https://webagentbridge.com/docs"><b>Docs</b></a> ·
|
|
19
|
+
<a href="docs/ARCHITECTURE.md"><b>Architecture</b></a> ·
|
|
20
|
+
<a href="docs/SPEC.md"><b>Spec</b></a> ·
|
|
21
|
+
<a href="https://webagentbridge.com/whitepaper"><b>Whitepaper</b></a> ·
|
|
22
|
+
<a href="README.ar.md"><b>العربية</b></a>
|
|
23
|
+
</div>
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Why WAB?
|
|
28
|
+
|
|
29
|
+
AI agents today guess their way through the web — DOM scraping, brittle selectors, fragile vision models. **WAB replaces guesswork with a contract.** Sites declare what agents can do; agents call it like an API; everything is signed, rate-limited, and auditable.
|
|
30
|
+
|
|
31
|
+
- **For site owners** — control exactly how AI interacts with you. Permissions, rate limits, audit trail.
|
|
32
|
+
- **For agent builders** — one stable interface for any WAB-enabled site. No more custom scrapers.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## ATP — Agent Transaction Primitive *(new in v3.9)*
|
|
37
|
+
|
|
38
|
+
WAB v3.9 introduces the **Agent Transaction Primitive (ATP)** — the missing trust + transaction layer for agentic commerce.
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
Intent → Authorize → Transact → Receipt → (Compensate)
|
|
42
|
+
contract single-use idempotent Ed25519- explicit
|
|
43
|
+
+ scope nonce burn UNIQUE key signed rollback
|
|
44
|
+
+ spend cap JSON
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
- **Intent contracts** — the user's signed authorization (scope, spend cap, expiry, single-use nonce).
|
|
48
|
+
- **Idempotent execution** — `UNIQUE (intent_id, idempotency_key)`: retries can never double-execute.
|
|
49
|
+
- **Signed receipts** — Ed25519 over canonical JSON; verifiable via the **public** `/api/atp/receipts/verify` endpoint with zero auth.
|
|
50
|
+
- **Compensation** — explicit rollback that decrements the intent's spend counter.
|
|
51
|
+
|
|
52
|
+
```js
|
|
53
|
+
const { ATPClient } = require('web-agent-bridge/sdk');
|
|
54
|
+
const atp = new ATPClient({ baseUrl: 'https://api.webagentbridge.com', token: USER_JWT });
|
|
55
|
+
|
|
56
|
+
const intent = await atp.createIntent({ purpose: 'buy 1 widget', scope: { actions: ['cart.add','checkout'] }, max_spend_cents: 5000, currency: 'EUR' });
|
|
57
|
+
await atp.authorizeIntent(intent.id);
|
|
58
|
+
const tx = await atp.beginTransaction({ intent_id: intent.id, idempotency_key: 'order-42', amount_cents: 4200 });
|
|
59
|
+
await atp.transition(tx.id, 'executing'); await atp.transition(tx.id, 'executed'); await atp.transition(tx.id, 'settled');
|
|
60
|
+
const r = await atp.issueReceipt(tx.id); // signed
|
|
61
|
+
const v = await atp.verifyReceipt({ receiptId: r.receipt_id }); // public, no auth
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Full spec: [`docs/SPEC.md` §21](docs/SPEC.md#21-agent-transaction-primitive-atp--v390) · Public docs page: [`/atp.html`](public/atp.html).
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Quick start (60 seconds)
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
# 1. Make your site discoverable (zero code)
|
|
72
|
+
npx wab-init --site=https://yourdomain.com --yes
|
|
73
|
+
|
|
74
|
+
# 2. Or install the protocol package
|
|
75
|
+
npm install web-agent-bridge
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
```html
|
|
79
|
+
<script src="https://cdn.webagentbridge.com/wab.min.js"></script>
|
|
80
|
+
<script>
|
|
81
|
+
WAB.declare({
|
|
82
|
+
intents: { search: { handler: (q) => /* … */ } },
|
|
83
|
+
privacy: { allowed: ['public'], disallowed: ['payment'] }
|
|
84
|
+
});
|
|
85
|
+
</script>
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Then any agent can do `window.AICommands.search("…")` reliably — forever.
|
|
89
|
+
|
|
90
|
+
> **Full quickstart, SDKs, and integrations:** [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## What's inside
|
|
95
|
+
|
|
96
|
+
| Layer | What it gives you | More |
|
|
97
|
+
|---|---|---|
|
|
98
|
+
| **🔌 Core protocol** | DNS discovery · `wab.json` manifest · `window.AICommands` interface | [Spec](docs/SPEC.md) |
|
|
99
|
+
| **🧬 SDKs** | JS · React · Vue · Svelte · Next.js · LangChain · MCP adapter | [Architecture](docs/ARCHITECTURE.md) |
|
|
100
|
+
| **🛡️ Trust & Safety** | Ring 4 handshake · ShieldQR · ShieldLink · Phone Shield · SSL monitor | [Architecture](docs/ARCHITECTURE.md) |
|
|
101
|
+
| **🧠 Advanced layer** | Reputation · Memory cache · Intent routing · Privacy budget · Offline | [Architecture](docs/ARCHITECTURE.md) |
|
|
102
|
+
| **⚓ Truth layer** | Semantic memory · Temporal trust · Refusal history · Collective insights | [Architecture](docs/ARCHITECTURE.md) |
|
|
103
|
+
| **🏛️ Governance** | HMAC-chained audit log · EU AI Act Article 12 export · multi-tenant | [Architecture](docs/ARCHITECTURE.md) |
|
|
104
|
+
| **💼 Commercial** | Partner Program · Trust Graph API · Governance SaaS · Enterprise Mesh | [Architecture](docs/ARCHITECTURE.md) |
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Commercial foundations (v3.8.0)
|
|
109
|
+
|
|
110
|
+
Four production-ready monetization pillars on top of the open protocol — all admin-gated, env-configured, and zero billing logic in the routes:
|
|
111
|
+
|
|
112
|
+
- **🤝 [Certified Partner Program](https://webagentbridge.com/partners)** — Basic (free) / Verified (€499/yr) / Premium (€2.9k+/yr)
|
|
113
|
+
- **📊 [Trust Graph API](https://webagentbridge.com/trust-graph-api)** — Free (1k/mo) / Pro (€10/mo, 100k/mo) / Enterprise (5M+/mo)
|
|
114
|
+
- **🏛️ [Governance SaaS](https://webagentbridge.com/governance)** — Team (€99) / Business (€499) / Enterprise (€2.5k+)
|
|
115
|
+
- **🕸️ [Enterprise Mesh](https://webagentbridge.com/enterprise-mesh)** — Self-hosted, air-gappable, Ed25519-signed licenses
|
|
116
|
+
|
|
117
|
+
> **Endpoint tables, tier specs, and security model:** [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Install
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
# Core SDK
|
|
125
|
+
npm install web-agent-bridge
|
|
126
|
+
|
|
127
|
+
# Framework adapters
|
|
128
|
+
npm install @web-agent-bridge/react
|
|
129
|
+
npm install @web-agent-bridge/vue
|
|
130
|
+
npm install @web-agent-bridge/svelte
|
|
131
|
+
npm install @web-agent-bridge/langchain
|
|
132
|
+
|
|
133
|
+
# Server (self-host)
|
|
134
|
+
git clone https://github.com/abokenan444/web-agent-bridge
|
|
135
|
+
npm install && npm start
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Docker: `docker compose up -d` · Production: see [docs/DEPLOY.md](docs/DEPLOY.md)
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Documentation map
|
|
143
|
+
|
|
144
|
+
| Document | What it covers |
|
|
145
|
+
|---|---|
|
|
146
|
+
| **[docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)** | Full feature reference: every layer, every endpoint |
|
|
147
|
+
| **[docs/SPEC.md](docs/SPEC.md)** | Protocol specification (formal) |
|
|
148
|
+
| **[docs/DEPLOY.md](docs/DEPLOY.md)** | Production deployment guide |
|
|
149
|
+
| **[CONTRIBUTING.md](CONTRIBUTING.md)** | How to contribute |
|
|
150
|
+
| **[examples/](examples/)** | Live agent examples — Puppeteer, MCP, Vision, LangChain… |
|
|
151
|
+
| **[templates/](templates/)** | Starter manifests — restaurant, hotel, ecommerce, freelancer… |
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## Community
|
|
156
|
+
|
|
157
|
+
- 💬 **Discord:** <https://discord.gg/NnbpJYEF>
|
|
158
|
+
- 🌐 **Website:** <https://webagentbridge.com>
|
|
159
|
+
- 📦 **npm:** <https://www.npmjs.com/package/web-agent-bridge>
|
|
160
|
+
- 🐛 **Issues:** <https://github.com/abokenan444/web-agent-bridge/issues>
|
|
161
|
+
- 👥 **CoderLegion:** <https://coderlegion.com/user/WAB>
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## License
|
|
166
|
+
|
|
167
|
+
MIT (core protocol & SDKs). Commercial tiers under separate terms — see [LICENSE](LICENSE).
|
|
168
|
+
|
|
169
|
+
<div align="center">
|
|
170
|
+
<sub>Built for the AI-first web · 428/428 tests passing · v3.8.0</sub>
|
|
171
|
+
</div>
|