web-agent-bridge 3.2.0 → 3.4.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 -72
- package/README.ar.md +1304 -1152
- package/README.md +298 -1635
- package/bin/agent-runner.js +474 -474
- package/bin/cli.js +237 -138
- package/bin/wab-init.js +223 -0
- package/bin/wab.js +80 -80
- package/examples/azure-dns-wab.js +83 -0
- package/examples/bidi-agent.js +119 -119
- package/examples/cloudflare-wab-dns.js +121 -0
- package/examples/cpanel-wab-dns.js +114 -0
- package/examples/cross-site-agent.js +91 -91
- package/examples/dns-discovery-agent.js +166 -0
- package/examples/gcp-dns-wab.js +76 -0
- package/examples/governance-agent.js +169 -0
- package/examples/mcp-agent.js +94 -94
- package/examples/next-app-router/README.md +44 -44
- package/examples/plesk-wab-dns.js +103 -0
- package/examples/puppeteer-agent.js +108 -108
- package/examples/route53-wab-dns.js +144 -0
- package/examples/saas-dashboard/README.md +55 -55
- package/examples/safe-mode-agent.js +96 -0
- package/examples/shopify-hydrogen/README.md +74 -74
- package/examples/vision-agent.js +171 -171
- package/examples/wab-sign.js +74 -0
- package/examples/wab-verify.js +60 -0
- package/examples/wordpress-elementor/README.md +77 -77
- package/package.json +19 -6
- 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 -0
- package/public/.well-known/wab.json +28 -0
- package/public/activate.html +368 -0
- package/public/adoption-metrics.html +188 -0
- package/public/agent-workspace.html +349 -349
- package/public/ai.html +198 -198
- package/public/api.html +413 -412
- package/public/azure-dns-integration.html +289 -0
- package/public/browser.html +486 -486
- package/public/cloudflare-integration.html +380 -0
- package/public/commander-dashboard.html +243 -243
- package/public/cookies.html +210 -210
- package/public/cpanel-integration.html +398 -0
- package/public/css/agent-workspace.css +1713 -1713
- package/public/css/premium.css +317 -317
- package/public/css/styles.css +1263 -1235
- package/public/dashboard.html +707 -706
- package/public/dns.html +436 -0
- package/public/docs.html +588 -587
- package/public/feed.xml +89 -89
- package/public/gcp-dns-integration.html +318 -0
- package/public/growth.html +465 -463
- package/public/index.html +1266 -982
- package/public/integrations.html +556 -0
- package/public/js/activate.js +145 -0
- package/public/js/agent-workspace.js +1740 -1740
- package/public/js/auth-nav.js +65 -31
- package/public/js/auth-redirect.js +12 -12
- package/public/js/cookie-consent.js +56 -56
- package/public/js/dns.js +438 -0
- package/public/js/wab-demo-page.js +721 -721
- package/public/js/ws-client.js +74 -74
- 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/openapi.json +669 -580
- package/public/phone-shield.html +281 -0
- package/public/plesk-integration.html +375 -0
- 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 -0
- package/public/provider-sandbox.html +134 -0
- package/public/providers.html +359 -0
- package/public/register.html +105 -105
- package/public/registrar-integrations.html +141 -0
- package/public/robots.txt +99 -87
- package/public/route53-integration.html +531 -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 -0
- package/public/shieldqr.html +231 -0
- package/public/sitemap.xml +6 -0
- package/public/terms.html +256 -256
- package/public/wab-trust.html +200 -0
- package/public/wab-vs-protocols.html +210 -0
- package/public/whitepaper.html +449 -0
- package/script/ai-agent-bridge.js +1754 -1754
- package/sdk/README.md +99 -99
- package/sdk/agent-mesh.js +449 -449
- package/sdk/auto-discovery.js +288 -0
- package/sdk/commander.js +262 -262
- package/sdk/governance.js +262 -0
- package/sdk/index.d.ts +464 -464
- package/sdk/index.js +25 -1
- package/sdk/multi-agent.js +318 -318
- package/sdk/package.json +2 -2
- package/sdk/safe-mode.js +221 -0
- package/sdk/safety-shield.js +219 -0
- package/sdk/schema-discovery.js +83 -83
- package/server/adapters/index.js +520 -520
- package/server/config/plans.js +367 -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 +670 -427
- package/server/llm/index.js +404 -404
- package/server/middleware/adminAuth.js +35 -35
- 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 -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/007_governance.sql +106 -0
- package/server/migrations/008_plans.sql +144 -0
- package/server/migrations/009_shieldqr.sql +30 -0
- package/server/migrations/010_extended_trust.sql +33 -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 -681
- 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/admin-plans.js +76 -0
- package/server/routes/admin-premium.js +673 -671
- package/server/routes/admin-shieldqr.js +90 -0
- package/server/routes/admin-trust-monitor.js +83 -0
- package/server/routes/admin.js +549 -261
- package/server/routes/ads.js +130 -130
- package/server/routes/agent-workspace.js +540 -540
- package/server/routes/api.js +150 -150
- package/server/routes/auth.js +71 -71
- package/server/routes/billing.js +57 -45
- package/server/routes/commander.js +316 -316
- package/server/routes/demo-showcase.js +332 -332
- package/server/routes/demo-store.js +154 -0
- package/server/routes/discovery.js +2348 -417
- package/server/routes/gateway.js +173 -157
- package/server/routes/governance.js +208 -0
- package/server/routes/license.js +251 -240
- package/server/routes/mesh.js +469 -469
- package/server/routes/noscript.js +543 -543
- package/server/routes/plans.js +33 -0
- package/server/routes/premium-v2.js +686 -686
- package/server/routes/premium.js +724 -724
- package/server/routes/providers.js +650 -0
- package/server/routes/runtime.js +2148 -2147
- package/server/routes/shieldqr.js +88 -0
- package/server/routes/sovereign.js +465 -385
- package/server/routes/universal.js +200 -185
- package/server/routes/wab-api.js +850 -501
- 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/security/cross-site-redactor.js +196 -0
- package/server/security/dry-run.js +180 -0
- package/server/security/human-gate-rate-limit.js +147 -0
- package/server/security/human-gate-transports.js +178 -0
- package/server/security/human-gate.js +281 -0
- package/server/security/index.js +368 -368
- package/server/security/intent-engine.js +245 -0
- package/server/security/reward-guard.js +171 -0
- package/server/security/rollback-store.js +239 -0
- package/server/security/token-scope.js +404 -0
- package/server/security/url-policy.js +139 -0
- package/server/services/agent-chat.js +506 -506
- package/server/services/agent-learning.js +601 -575
- package/server/services/agent-memory.js +625 -625
- package/server/services/agent-mesh.js +555 -539
- package/server/services/agent-symphony.js +717 -717
- package/server/services/agent-tasks.js +1807 -1807
- package/server/services/api-key-engine.js +292 -261
- 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 -204
- package/server/services/governance.js +466 -0
- 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/plans.js +214 -0
- package/server/services/plugins.js +771 -771
- package/server/services/premium.js +1 -1
- package/server/services/price-intelligence.js +566 -566
- package/server/services/price-shield.js +1137 -1137
- package/server/services/provider-clients.js +740 -0
- 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/shieldqr.js +322 -0
- package/server/services/sovereign-shield.js +542 -0
- package/server/services/ssl-inspector.js +42 -0
- package/server/services/ssl-monitor.js +167 -0
- package/server/services/stripe.js +205 -192
- package/server/services/swarm.js +788 -788
- package/server/services/universal-scraper.js +662 -661
- package/server/services/verification.js +481 -481
- package/server/services/vision.js +1163 -1163
- package/server/services/wab-crypto.js +178 -0
- package/server/utils/cache.js +125 -125
- package/server/utils/migrate.js +81 -81
- package/server/utils/safe-fetch.js +228 -0
- 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/public/score.html +0 -263
- package/server/migrations/006_growth_suite.sql +0 -138
- package/server/routes/growth.js +0 -962
- package/server/services/fairness-engine.js +0 -409
- package/server/services/fairness.js +0 -420
|
@@ -1,113 +1,113 @@
|
|
|
1
|
-
# WAB Agent Template — Flight Deal Hunter
|
|
2
|
-
# Finds flights directly from airline websites
|
|
3
|
-
# Run: npx wab-agent run flight-deal-hunter.yaml --from "TUN" --to "CDG" --date "2026-06-15"
|
|
4
|
-
|
|
5
|
-
name: flight-deal-hunter
|
|
6
|
-
version: 1.0.0
|
|
7
|
-
description: Find flight deals directly from airline websites, bypassing aggregator markups
|
|
8
|
-
author: WAB Community
|
|
9
|
-
tags: [travel, flights, airline, direct-booking, savings]
|
|
10
|
-
|
|
11
|
-
goal: >
|
|
12
|
-
Search WAB-enabled airline websites for direct flight bookings,
|
|
13
|
-
compare with aggregator prices, verify fares include all taxes,
|
|
14
|
-
and book at the best direct price.
|
|
15
|
-
|
|
16
|
-
target_sites:
|
|
17
|
-
discovery_method: wab-registry
|
|
18
|
-
category: airlines
|
|
19
|
-
region: global
|
|
20
|
-
fallback_urls: []
|
|
21
|
-
|
|
22
|
-
parameters:
|
|
23
|
-
- name: from
|
|
24
|
-
type: string
|
|
25
|
-
required: true
|
|
26
|
-
description: Departure airport code (IATA)
|
|
27
|
-
- name: to
|
|
28
|
-
type: string
|
|
29
|
-
required: true
|
|
30
|
-
description: Arrival airport code (IATA)
|
|
31
|
-
- name: date
|
|
32
|
-
type: date
|
|
33
|
-
required: true
|
|
34
|
-
- name: return_date
|
|
35
|
-
type: date
|
|
36
|
-
- name: passengers
|
|
37
|
-
type: number
|
|
38
|
-
default: 1
|
|
39
|
-
- name: class
|
|
40
|
-
type: string
|
|
41
|
-
default: economy
|
|
42
|
-
enum: [economy, business, first]
|
|
43
|
-
|
|
44
|
-
actions:
|
|
45
|
-
- name: discover
|
|
46
|
-
description: Find airlines serving this route
|
|
47
|
-
wab_action: discover
|
|
48
|
-
|
|
49
|
-
- name: search_flights
|
|
50
|
-
description: Search for available flights
|
|
51
|
-
wab_action: searchFlights
|
|
52
|
-
params:
|
|
53
|
-
from: "{{from}}"
|
|
54
|
-
to: "{{to}}"
|
|
55
|
-
date: "{{date}}"
|
|
56
|
-
return_date: "{{return_date}}"
|
|
57
|
-
passengers: "{{passengers}}"
|
|
58
|
-
class: "{{class}}"
|
|
59
|
-
collect: true
|
|
60
|
-
|
|
61
|
-
- name: verify_fares
|
|
62
|
-
description: Verify displayed fares include all taxes and fees
|
|
63
|
-
wab_action: verifyPrice
|
|
64
|
-
require_pass: true
|
|
65
|
-
|
|
66
|
-
- name: check_total_price
|
|
67
|
-
description: Confirm total price matches breakdown
|
|
68
|
-
wab_action: verifyText
|
|
69
|
-
params:
|
|
70
|
-
fields: [base_fare, taxes, fees, total]
|
|
71
|
-
require_pass: true
|
|
72
|
-
|
|
73
|
-
- name: negotiate
|
|
74
|
-
description: Try to get a direct-booking discount
|
|
75
|
-
wab_action: negotiate
|
|
76
|
-
strategy: instant_payment
|
|
77
|
-
conditions:
|
|
78
|
-
proposed_discount: 3
|
|
79
|
-
fallback_strategy: off_peak
|
|
80
|
-
|
|
81
|
-
- name: book
|
|
82
|
-
description: Book the flight
|
|
83
|
-
wab_action: bookFlight
|
|
84
|
-
requires: [verify_fares, check_total_price]
|
|
85
|
-
|
|
86
|
-
fairness_rules:
|
|
87
|
-
prefer_local: false
|
|
88
|
-
prefer_small_business: false
|
|
89
|
-
currency: auto
|
|
90
|
-
min_reputation_score: 60
|
|
91
|
-
avoid_monopolies: false
|
|
92
|
-
price_transparency: true
|
|
93
|
-
|
|
94
|
-
negotiation:
|
|
95
|
-
enabled: true
|
|
96
|
-
max_rounds: 2
|
|
97
|
-
strategies:
|
|
98
|
-
- instant_payment
|
|
99
|
-
- off_peak
|
|
100
|
-
walk_away_threshold: 1
|
|
101
|
-
|
|
102
|
-
verification:
|
|
103
|
-
anti_hallucination: true
|
|
104
|
-
cross_check_prices: true
|
|
105
|
-
require_vision_match: true
|
|
106
|
-
max_price_variance: 0.02
|
|
107
|
-
verify_tax_inclusion: true
|
|
108
|
-
|
|
109
|
-
output:
|
|
110
|
-
format: table
|
|
111
|
-
include: [airline, flight_number, departure, arrival, duration, stops, fare, total_with_taxes, verification]
|
|
112
|
-
sort_by: total_with_taxes
|
|
113
|
-
limit: 20
|
|
1
|
+
# WAB Agent Template — Flight Deal Hunter
|
|
2
|
+
# Finds flights directly from airline websites
|
|
3
|
+
# Run: npx wab-agent run flight-deal-hunter.yaml --from "TUN" --to "CDG" --date "2026-06-15"
|
|
4
|
+
|
|
5
|
+
name: flight-deal-hunter
|
|
6
|
+
version: 1.0.0
|
|
7
|
+
description: Find flight deals directly from airline websites, bypassing aggregator markups
|
|
8
|
+
author: WAB Community
|
|
9
|
+
tags: [travel, flights, airline, direct-booking, savings]
|
|
10
|
+
|
|
11
|
+
goal: >
|
|
12
|
+
Search WAB-enabled airline websites for direct flight bookings,
|
|
13
|
+
compare with aggregator prices, verify fares include all taxes,
|
|
14
|
+
and book at the best direct price.
|
|
15
|
+
|
|
16
|
+
target_sites:
|
|
17
|
+
discovery_method: wab-registry
|
|
18
|
+
category: airlines
|
|
19
|
+
region: global
|
|
20
|
+
fallback_urls: []
|
|
21
|
+
|
|
22
|
+
parameters:
|
|
23
|
+
- name: from
|
|
24
|
+
type: string
|
|
25
|
+
required: true
|
|
26
|
+
description: Departure airport code (IATA)
|
|
27
|
+
- name: to
|
|
28
|
+
type: string
|
|
29
|
+
required: true
|
|
30
|
+
description: Arrival airport code (IATA)
|
|
31
|
+
- name: date
|
|
32
|
+
type: date
|
|
33
|
+
required: true
|
|
34
|
+
- name: return_date
|
|
35
|
+
type: date
|
|
36
|
+
- name: passengers
|
|
37
|
+
type: number
|
|
38
|
+
default: 1
|
|
39
|
+
- name: class
|
|
40
|
+
type: string
|
|
41
|
+
default: economy
|
|
42
|
+
enum: [economy, business, first]
|
|
43
|
+
|
|
44
|
+
actions:
|
|
45
|
+
- name: discover
|
|
46
|
+
description: Find airlines serving this route
|
|
47
|
+
wab_action: discover
|
|
48
|
+
|
|
49
|
+
- name: search_flights
|
|
50
|
+
description: Search for available flights
|
|
51
|
+
wab_action: searchFlights
|
|
52
|
+
params:
|
|
53
|
+
from: "{{from}}"
|
|
54
|
+
to: "{{to}}"
|
|
55
|
+
date: "{{date}}"
|
|
56
|
+
return_date: "{{return_date}}"
|
|
57
|
+
passengers: "{{passengers}}"
|
|
58
|
+
class: "{{class}}"
|
|
59
|
+
collect: true
|
|
60
|
+
|
|
61
|
+
- name: verify_fares
|
|
62
|
+
description: Verify displayed fares include all taxes and fees
|
|
63
|
+
wab_action: verifyPrice
|
|
64
|
+
require_pass: true
|
|
65
|
+
|
|
66
|
+
- name: check_total_price
|
|
67
|
+
description: Confirm total price matches breakdown
|
|
68
|
+
wab_action: verifyText
|
|
69
|
+
params:
|
|
70
|
+
fields: [base_fare, taxes, fees, total]
|
|
71
|
+
require_pass: true
|
|
72
|
+
|
|
73
|
+
- name: negotiate
|
|
74
|
+
description: Try to get a direct-booking discount
|
|
75
|
+
wab_action: negotiate
|
|
76
|
+
strategy: instant_payment
|
|
77
|
+
conditions:
|
|
78
|
+
proposed_discount: 3
|
|
79
|
+
fallback_strategy: off_peak
|
|
80
|
+
|
|
81
|
+
- name: book
|
|
82
|
+
description: Book the flight
|
|
83
|
+
wab_action: bookFlight
|
|
84
|
+
requires: [verify_fares, check_total_price]
|
|
85
|
+
|
|
86
|
+
fairness_rules:
|
|
87
|
+
prefer_local: false
|
|
88
|
+
prefer_small_business: false
|
|
89
|
+
currency: auto
|
|
90
|
+
min_reputation_score: 60
|
|
91
|
+
avoid_monopolies: false
|
|
92
|
+
price_transparency: true
|
|
93
|
+
|
|
94
|
+
negotiation:
|
|
95
|
+
enabled: true
|
|
96
|
+
max_rounds: 2
|
|
97
|
+
strategies:
|
|
98
|
+
- instant_payment
|
|
99
|
+
- off_peak
|
|
100
|
+
walk_away_threshold: 1
|
|
101
|
+
|
|
102
|
+
verification:
|
|
103
|
+
anti_hallucination: true
|
|
104
|
+
cross_check_prices: true
|
|
105
|
+
require_vision_match: true
|
|
106
|
+
max_price_variance: 0.02
|
|
107
|
+
verify_tax_inclusion: true
|
|
108
|
+
|
|
109
|
+
output:
|
|
110
|
+
format: table
|
|
111
|
+
include: [airline, flight_number, departure, arrival, duration, stops, fare, total_with_taxes, verification]
|
|
112
|
+
sort_by: total_with_taxes
|
|
113
|
+
limit: 20
|
|
@@ -1,116 +1,116 @@
|
|
|
1
|
-
# WAB Agent Template — Freelancer Finder
|
|
2
|
-
# Finds freelancers directly from their portfolio sites
|
|
3
|
-
# Run: npx wab-agent run freelancer-direct.yaml --skill "web-design" --budget 500
|
|
4
|
-
|
|
5
|
-
name: freelancer-direct
|
|
6
|
-
version: 1.0.0
|
|
7
|
-
description: Find freelancers directly from their portfolio websites, bypassing Fiverr/Upwork fees
|
|
8
|
-
author: WAB Community
|
|
9
|
-
tags: [freelance, hiring, direct, anti-monopoly, services]
|
|
10
|
-
|
|
11
|
-
goal: >
|
|
12
|
-
Discover WAB-enabled freelancer portfolio sites, evaluate their work samples,
|
|
13
|
-
verify portfolio authenticity, negotiate project rates directly (saving the
|
|
14
|
-
20-30% platform fee), and initiate contact.
|
|
15
|
-
|
|
16
|
-
target_sites:
|
|
17
|
-
discovery_method: wab-registry
|
|
18
|
-
category: freelance-services
|
|
19
|
-
region: global
|
|
20
|
-
fallback_urls: []
|
|
21
|
-
|
|
22
|
-
parameters:
|
|
23
|
-
- name: skill
|
|
24
|
-
type: string
|
|
25
|
-
required: true
|
|
26
|
-
description: "Skill to search for (e.g. web-design, copywriting, video-editing)"
|
|
27
|
-
- name: budget
|
|
28
|
-
type: number
|
|
29
|
-
required: true
|
|
30
|
-
description: Maximum budget in USD
|
|
31
|
-
- name: deadline_days
|
|
32
|
-
type: number
|
|
33
|
-
default: 14
|
|
34
|
-
- name: prefer_timezone
|
|
35
|
-
type: string
|
|
36
|
-
description: Preferred timezone (e.g. UTC+1, EST)
|
|
37
|
-
|
|
38
|
-
actions:
|
|
39
|
-
- name: discover
|
|
40
|
-
description: Find freelancers with the required skill
|
|
41
|
-
wab_action: discover
|
|
42
|
-
|
|
43
|
-
- name: get_portfolio
|
|
44
|
-
description: Retrieve portfolio samples and past work
|
|
45
|
-
wab_action: getPortfolio
|
|
46
|
-
params:
|
|
47
|
-
skill: "{{skill}}"
|
|
48
|
-
|
|
49
|
-
- name: check_availability
|
|
50
|
-
description: Check freelancer availability
|
|
51
|
-
wab_action: checkAvailability
|
|
52
|
-
params:
|
|
53
|
-
start_date: today
|
|
54
|
-
duration_days: "{{deadline_days}}"
|
|
55
|
-
|
|
56
|
-
- name: get_rates
|
|
57
|
-
description: Get hourly or project rates
|
|
58
|
-
wab_action: getRates
|
|
59
|
-
params:
|
|
60
|
-
project_type: "{{skill}}"
|
|
61
|
-
collect: true
|
|
62
|
-
|
|
63
|
-
- name: verify_portfolio
|
|
64
|
-
description: Verify portfolio screenshots match descriptions
|
|
65
|
-
wab_action: verifyText
|
|
66
|
-
require_pass: true
|
|
67
|
-
|
|
68
|
-
- name: check_reputation
|
|
69
|
-
description: Check freelancer reputation in WAB network
|
|
70
|
-
wab_action: getReputation
|
|
71
|
-
|
|
72
|
-
- name: negotiate
|
|
73
|
-
description: Negotiate project rate directly
|
|
74
|
-
wab_action: negotiate
|
|
75
|
-
strategy: instant_payment
|
|
76
|
-
conditions:
|
|
77
|
-
proposed_discount: 15
|
|
78
|
-
argument: "No platform fees — you keep 100% of the payment"
|
|
79
|
-
fallback_strategy: first_time
|
|
80
|
-
|
|
81
|
-
- name: contact
|
|
82
|
-
description: Initiate contact with selected freelancer
|
|
83
|
-
wab_action: contact
|
|
84
|
-
requires: [verify_portfolio, check_reputation]
|
|
85
|
-
|
|
86
|
-
fairness_rules:
|
|
87
|
-
prefer_local: false
|
|
88
|
-
prefer_small_business: true
|
|
89
|
-
max_price: "{{budget}}"
|
|
90
|
-
currency: USD
|
|
91
|
-
min_reputation_score: 35
|
|
92
|
-
avoid_monopolies: true
|
|
93
|
-
|
|
94
|
-
negotiation:
|
|
95
|
-
enabled: true
|
|
96
|
-
max_rounds: 3
|
|
97
|
-
strategies:
|
|
98
|
-
- instant_payment
|
|
99
|
-
- first_time
|
|
100
|
-
- loyalty
|
|
101
|
-
walk_away_threshold: 5
|
|
102
|
-
pitch: >
|
|
103
|
-
On Fiverr/Upwork you'd lose 20-30% in fees. By working direct through WAB,
|
|
104
|
-
you keep 100%. Let's split the savings.
|
|
105
|
-
|
|
106
|
-
verification:
|
|
107
|
-
anti_hallucination: true
|
|
108
|
-
verify_descriptions: true
|
|
109
|
-
require_vision_match: true
|
|
110
|
-
max_price_variance: 0.20
|
|
111
|
-
|
|
112
|
-
output:
|
|
113
|
-
format: json
|
|
114
|
-
include: [freelancer, skill_match, rate, negotiated_rate, savings_vs_platform, reputation, portfolio_verified]
|
|
115
|
-
sort_by: rate
|
|
116
|
-
limit: 10
|
|
1
|
+
# WAB Agent Template — Freelancer Finder
|
|
2
|
+
# Finds freelancers directly from their portfolio sites
|
|
3
|
+
# Run: npx wab-agent run freelancer-direct.yaml --skill "web-design" --budget 500
|
|
4
|
+
|
|
5
|
+
name: freelancer-direct
|
|
6
|
+
version: 1.0.0
|
|
7
|
+
description: Find freelancers directly from their portfolio websites, bypassing Fiverr/Upwork fees
|
|
8
|
+
author: WAB Community
|
|
9
|
+
tags: [freelance, hiring, direct, anti-monopoly, services]
|
|
10
|
+
|
|
11
|
+
goal: >
|
|
12
|
+
Discover WAB-enabled freelancer portfolio sites, evaluate their work samples,
|
|
13
|
+
verify portfolio authenticity, negotiate project rates directly (saving the
|
|
14
|
+
20-30% platform fee), and initiate contact.
|
|
15
|
+
|
|
16
|
+
target_sites:
|
|
17
|
+
discovery_method: wab-registry
|
|
18
|
+
category: freelance-services
|
|
19
|
+
region: global
|
|
20
|
+
fallback_urls: []
|
|
21
|
+
|
|
22
|
+
parameters:
|
|
23
|
+
- name: skill
|
|
24
|
+
type: string
|
|
25
|
+
required: true
|
|
26
|
+
description: "Skill to search for (e.g. web-design, copywriting, video-editing)"
|
|
27
|
+
- name: budget
|
|
28
|
+
type: number
|
|
29
|
+
required: true
|
|
30
|
+
description: Maximum budget in USD
|
|
31
|
+
- name: deadline_days
|
|
32
|
+
type: number
|
|
33
|
+
default: 14
|
|
34
|
+
- name: prefer_timezone
|
|
35
|
+
type: string
|
|
36
|
+
description: Preferred timezone (e.g. UTC+1, EST)
|
|
37
|
+
|
|
38
|
+
actions:
|
|
39
|
+
- name: discover
|
|
40
|
+
description: Find freelancers with the required skill
|
|
41
|
+
wab_action: discover
|
|
42
|
+
|
|
43
|
+
- name: get_portfolio
|
|
44
|
+
description: Retrieve portfolio samples and past work
|
|
45
|
+
wab_action: getPortfolio
|
|
46
|
+
params:
|
|
47
|
+
skill: "{{skill}}"
|
|
48
|
+
|
|
49
|
+
- name: check_availability
|
|
50
|
+
description: Check freelancer availability
|
|
51
|
+
wab_action: checkAvailability
|
|
52
|
+
params:
|
|
53
|
+
start_date: today
|
|
54
|
+
duration_days: "{{deadline_days}}"
|
|
55
|
+
|
|
56
|
+
- name: get_rates
|
|
57
|
+
description: Get hourly or project rates
|
|
58
|
+
wab_action: getRates
|
|
59
|
+
params:
|
|
60
|
+
project_type: "{{skill}}"
|
|
61
|
+
collect: true
|
|
62
|
+
|
|
63
|
+
- name: verify_portfolio
|
|
64
|
+
description: Verify portfolio screenshots match descriptions
|
|
65
|
+
wab_action: verifyText
|
|
66
|
+
require_pass: true
|
|
67
|
+
|
|
68
|
+
- name: check_reputation
|
|
69
|
+
description: Check freelancer reputation in WAB network
|
|
70
|
+
wab_action: getReputation
|
|
71
|
+
|
|
72
|
+
- name: negotiate
|
|
73
|
+
description: Negotiate project rate directly
|
|
74
|
+
wab_action: negotiate
|
|
75
|
+
strategy: instant_payment
|
|
76
|
+
conditions:
|
|
77
|
+
proposed_discount: 15
|
|
78
|
+
argument: "No platform fees — you keep 100% of the payment"
|
|
79
|
+
fallback_strategy: first_time
|
|
80
|
+
|
|
81
|
+
- name: contact
|
|
82
|
+
description: Initiate contact with selected freelancer
|
|
83
|
+
wab_action: contact
|
|
84
|
+
requires: [verify_portfolio, check_reputation]
|
|
85
|
+
|
|
86
|
+
fairness_rules:
|
|
87
|
+
prefer_local: false
|
|
88
|
+
prefer_small_business: true
|
|
89
|
+
max_price: "{{budget}}"
|
|
90
|
+
currency: USD
|
|
91
|
+
min_reputation_score: 35
|
|
92
|
+
avoid_monopolies: true
|
|
93
|
+
|
|
94
|
+
negotiation:
|
|
95
|
+
enabled: true
|
|
96
|
+
max_rounds: 3
|
|
97
|
+
strategies:
|
|
98
|
+
- instant_payment
|
|
99
|
+
- first_time
|
|
100
|
+
- loyalty
|
|
101
|
+
walk_away_threshold: 5
|
|
102
|
+
pitch: >
|
|
103
|
+
On Fiverr/Upwork you'd lose 20-30% in fees. By working direct through WAB,
|
|
104
|
+
you keep 100%. Let's split the savings.
|
|
105
|
+
|
|
106
|
+
verification:
|
|
107
|
+
anti_hallucination: true
|
|
108
|
+
verify_descriptions: true
|
|
109
|
+
require_vision_match: true
|
|
110
|
+
max_price_variance: 0.20
|
|
111
|
+
|
|
112
|
+
output:
|
|
113
|
+
format: json
|
|
114
|
+
include: [freelancer, skill_match, rate, negotiated_rate, savings_vs_platform, reputation, portfolio_verified]
|
|
115
|
+
sort_by: rate
|
|
116
|
+
limit: 10
|
|
@@ -1,93 +1,93 @@
|
|
|
1
|
-
# WAB Agent Template — Grocery Price Comparison
|
|
2
|
-
# Compares grocery prices across local stores
|
|
3
|
-
# Run: npx wab-agent run grocery-price-compare.yaml --items "milk,bread,eggs,rice"
|
|
4
|
-
|
|
5
|
-
name: grocery-price-compare
|
|
6
|
-
version: 1.0.0
|
|
7
|
-
description: Compare grocery prices across WAB-enabled local stores and find the cheapest basket
|
|
8
|
-
author: WAB Community
|
|
9
|
-
tags: [grocery, price-comparison, local, shopping, savings]
|
|
10
|
-
|
|
11
|
-
goal: >
|
|
12
|
-
Search WAB-enabled grocery stores and local markets, compare prices for a list
|
|
13
|
-
of items, verify prices are accurate, find the store with the lowest total basket
|
|
14
|
-
cost, and optionally negotiate bulk deals.
|
|
15
|
-
|
|
16
|
-
target_sites:
|
|
17
|
-
discovery_method: wab-registry
|
|
18
|
-
category: grocery
|
|
19
|
-
region: auto
|
|
20
|
-
fallback_urls: []
|
|
21
|
-
|
|
22
|
-
parameters:
|
|
23
|
-
- name: items
|
|
24
|
-
type: string[]
|
|
25
|
-
required: true
|
|
26
|
-
description: "Comma-separated list of grocery items to compare"
|
|
27
|
-
- name: radius_km
|
|
28
|
-
type: number
|
|
29
|
-
default: 10
|
|
30
|
-
description: Search radius in kilometers
|
|
31
|
-
- name: prefer_organic
|
|
32
|
-
type: boolean
|
|
33
|
-
default: false
|
|
34
|
-
|
|
35
|
-
actions:
|
|
36
|
-
- name: discover
|
|
37
|
-
description: Find WAB-enabled grocery stores nearby
|
|
38
|
-
wab_action: discover
|
|
39
|
-
|
|
40
|
-
- name: search_items
|
|
41
|
-
description: Search for each item in the shopping list
|
|
42
|
-
wab_action: searchProducts
|
|
43
|
-
params:
|
|
44
|
-
query: "{{item}}"
|
|
45
|
-
loop_over: items
|
|
46
|
-
collect: true
|
|
47
|
-
|
|
48
|
-
- name: verify_prices
|
|
49
|
-
description: Verify displayed prices match DOM
|
|
50
|
-
wab_action: verifyPrice
|
|
51
|
-
require_pass: true
|
|
52
|
-
|
|
53
|
-
- name: negotiate_basket
|
|
54
|
-
description: Try to negotiate a bundle discount for the full basket
|
|
55
|
-
wab_action: negotiate
|
|
56
|
-
strategy: bulk_order
|
|
57
|
-
conditions:
|
|
58
|
-
proposed_discount: 8
|
|
59
|
-
argument: "Buying multiple items together"
|
|
60
|
-
fallback_strategy: loyalty
|
|
61
|
-
|
|
62
|
-
- name: build_optimal_basket
|
|
63
|
-
description: Calculate the cheapest combination across stores
|
|
64
|
-
internal: true
|
|
65
|
-
logic: minimize_total_cost
|
|
66
|
-
|
|
67
|
-
fairness_rules:
|
|
68
|
-
prefer_local: true
|
|
69
|
-
prefer_small_business: true
|
|
70
|
-
currency: auto
|
|
71
|
-
min_reputation_score: 20
|
|
72
|
-
avoid_monopolies: true
|
|
73
|
-
|
|
74
|
-
negotiation:
|
|
75
|
-
enabled: true
|
|
76
|
-
max_rounds: 2
|
|
77
|
-
strategies:
|
|
78
|
-
- bulk_order
|
|
79
|
-
- loyalty
|
|
80
|
-
- repeat_customer
|
|
81
|
-
walk_away_threshold: 3
|
|
82
|
-
|
|
83
|
-
verification:
|
|
84
|
-
anti_hallucination: true
|
|
85
|
-
cross_check_prices: true
|
|
86
|
-
require_vision_match: false
|
|
87
|
-
max_price_variance: 0.08
|
|
88
|
-
|
|
89
|
-
output:
|
|
90
|
-
format: table
|
|
91
|
-
include: [store_name, item, price, best_price, store_total, verification_status]
|
|
92
|
-
sort_by: store_total
|
|
93
|
-
summary: true
|
|
1
|
+
# WAB Agent Template — Grocery Price Comparison
|
|
2
|
+
# Compares grocery prices across local stores
|
|
3
|
+
# Run: npx wab-agent run grocery-price-compare.yaml --items "milk,bread,eggs,rice"
|
|
4
|
+
|
|
5
|
+
name: grocery-price-compare
|
|
6
|
+
version: 1.0.0
|
|
7
|
+
description: Compare grocery prices across WAB-enabled local stores and find the cheapest basket
|
|
8
|
+
author: WAB Community
|
|
9
|
+
tags: [grocery, price-comparison, local, shopping, savings]
|
|
10
|
+
|
|
11
|
+
goal: >
|
|
12
|
+
Search WAB-enabled grocery stores and local markets, compare prices for a list
|
|
13
|
+
of items, verify prices are accurate, find the store with the lowest total basket
|
|
14
|
+
cost, and optionally negotiate bulk deals.
|
|
15
|
+
|
|
16
|
+
target_sites:
|
|
17
|
+
discovery_method: wab-registry
|
|
18
|
+
category: grocery
|
|
19
|
+
region: auto
|
|
20
|
+
fallback_urls: []
|
|
21
|
+
|
|
22
|
+
parameters:
|
|
23
|
+
- name: items
|
|
24
|
+
type: string[]
|
|
25
|
+
required: true
|
|
26
|
+
description: "Comma-separated list of grocery items to compare"
|
|
27
|
+
- name: radius_km
|
|
28
|
+
type: number
|
|
29
|
+
default: 10
|
|
30
|
+
description: Search radius in kilometers
|
|
31
|
+
- name: prefer_organic
|
|
32
|
+
type: boolean
|
|
33
|
+
default: false
|
|
34
|
+
|
|
35
|
+
actions:
|
|
36
|
+
- name: discover
|
|
37
|
+
description: Find WAB-enabled grocery stores nearby
|
|
38
|
+
wab_action: discover
|
|
39
|
+
|
|
40
|
+
- name: search_items
|
|
41
|
+
description: Search for each item in the shopping list
|
|
42
|
+
wab_action: searchProducts
|
|
43
|
+
params:
|
|
44
|
+
query: "{{item}}"
|
|
45
|
+
loop_over: items
|
|
46
|
+
collect: true
|
|
47
|
+
|
|
48
|
+
- name: verify_prices
|
|
49
|
+
description: Verify displayed prices match DOM
|
|
50
|
+
wab_action: verifyPrice
|
|
51
|
+
require_pass: true
|
|
52
|
+
|
|
53
|
+
- name: negotiate_basket
|
|
54
|
+
description: Try to negotiate a bundle discount for the full basket
|
|
55
|
+
wab_action: negotiate
|
|
56
|
+
strategy: bulk_order
|
|
57
|
+
conditions:
|
|
58
|
+
proposed_discount: 8
|
|
59
|
+
argument: "Buying multiple items together"
|
|
60
|
+
fallback_strategy: loyalty
|
|
61
|
+
|
|
62
|
+
- name: build_optimal_basket
|
|
63
|
+
description: Calculate the cheapest combination across stores
|
|
64
|
+
internal: true
|
|
65
|
+
logic: minimize_total_cost
|
|
66
|
+
|
|
67
|
+
fairness_rules:
|
|
68
|
+
prefer_local: true
|
|
69
|
+
prefer_small_business: true
|
|
70
|
+
currency: auto
|
|
71
|
+
min_reputation_score: 20
|
|
72
|
+
avoid_monopolies: true
|
|
73
|
+
|
|
74
|
+
negotiation:
|
|
75
|
+
enabled: true
|
|
76
|
+
max_rounds: 2
|
|
77
|
+
strategies:
|
|
78
|
+
- bulk_order
|
|
79
|
+
- loyalty
|
|
80
|
+
- repeat_customer
|
|
81
|
+
walk_away_threshold: 3
|
|
82
|
+
|
|
83
|
+
verification:
|
|
84
|
+
anti_hallucination: true
|
|
85
|
+
cross_check_prices: true
|
|
86
|
+
require_vision_match: false
|
|
87
|
+
max_price_variance: 0.08
|
|
88
|
+
|
|
89
|
+
output:
|
|
90
|
+
format: table
|
|
91
|
+
include: [store_name, item, price, best_price, store_total, verification_status]
|
|
92
|
+
sort_by: store_total
|
|
93
|
+
summary: true
|