web-agent-bridge 3.0.0 → 3.3.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 +72 -21
- package/README.ar.md +1286 -1073
- package/README.md +1764 -1535
- package/bin/agent-runner.js +474 -474
- package/bin/cli.js +237 -138
- package/bin/wab.js +80 -80
- package/examples/bidi-agent.js +119 -119
- package/examples/cross-site-agent.js +91 -91
- package/examples/mcp-agent.js +94 -94
- package/examples/next-app-router/README.md +44 -44
- package/examples/puppeteer-agent.js +108 -108
- package/examples/saas-dashboard/README.md +55 -55
- package/examples/shopify-hydrogen/README.md +74 -74
- package/examples/vision-agent.js +171 -171
- package/examples/wordpress-elementor/README.md +77 -77
- package/package.json +17 -3
- package/public/.well-known/agent-tools.json +180 -180
- package/public/.well-known/ai-assets.json +59 -59
- package/public/.well-known/ai-plugin.json +28 -0
- package/public/.well-known/security.txt +8 -0
- package/public/agent-workspace.html +349 -347
- package/public/ai.html +198 -196
- package/public/api.html +413 -0
- package/public/browser.html +486 -484
- package/public/commander-dashboard.html +243 -243
- package/public/cookies.html +210 -208
- package/public/css/agent-workspace.css +1713 -1713
- package/public/css/premium.css +317 -317
- package/public/css/styles.css +1235 -1235
- package/public/dashboard.html +706 -704
- package/public/demo.html +1770 -1
- package/public/dns.html +507 -0
- package/public/docs.html +587 -585
- package/public/feed.xml +89 -89
- package/public/growth.html +463 -0
- package/public/index.html +341 -9
- package/public/integrations.html +556 -0
- package/public/js/agent-workspace.js +1740 -1740
- package/public/js/auth-nav.js +31 -31
- package/public/js/auth-redirect.js +12 -12
- package/public/js/cookie-consent.js +56 -56
- package/public/js/wab-demo-page.js +721 -721
- package/public/js/ws-client.js +74 -74
- package/public/llms-full.txt +360 -309
- package/public/llms.txt +125 -86
- package/public/login.html +85 -83
- package/public/mesh-dashboard.html +328 -328
- package/public/openapi.json +580 -580
- package/public/phone-shield.html +281 -0
- package/public/premium-dashboard.html +2489 -2487
- package/public/premium.html +793 -791
- package/public/privacy.html +297 -295
- package/public/register.html +105 -103
- package/public/robots.txt +87 -87
- 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/terms.html +256 -254
- package/script/ai-agent-bridge.js +1754 -1754
- package/sdk/README.md +99 -99
- package/sdk/agent-mesh.js +449 -449
- package/sdk/commander.js +262 -262
- package/sdk/index.d.ts +464 -464
- package/sdk/index.js +18 -1
- package/sdk/multi-agent.js +318 -318
- package/sdk/package.json +12 -1
- 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 +175 -19
- 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/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 +681 -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-premium.js +671 -671
- package/server/routes/admin.js +261 -261
- package/server/routes/ads.js +130 -130
- package/server/routes/agent-workspace.js +540 -378
- package/server/routes/api.js +150 -150
- package/server/routes/auth.js +71 -71
- package/server/routes/billing.js +45 -45
- package/server/routes/commander.js +316 -316
- package/server/routes/demo-showcase.js +332 -0
- package/server/routes/demo-store.js +154 -0
- package/server/routes/discovery.js +417 -406
- package/server/routes/gateway.js +173 -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/premium-v2.js +686 -686
- package/server/routes/premium.js +724 -724
- package/server/routes/runtime.js +2148 -2147
- package/server/routes/sovereign.js +465 -385
- package/server/routes/universal.js +200 -177
- package/server/routes/wab-api.js +850 -491
- 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 -0
- 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 +204 -204
- package/server/services/hosted-runtime.js +205 -205
- package/server/services/lfd.js +635 -616
- 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 -0
- package/server/services/modules/agent-firewall.js +90 -0
- package/server/services/modules/bounty.js +89 -0
- package/server/services/modules/collective-bargaining.js +92 -0
- package/server/services/modules/dark-pattern.js +66 -0
- package/server/services/modules/gov-intelligence.js +45 -0
- package/server/services/modules/neural.js +55 -0
- package/server/services/modules/notary.js +49 -0
- package/server/services/modules/price-time-machine.js +86 -0
- package/server/services/modules/protocol.js +104 -0
- package/server/services/negotiation.js +439 -439
- package/server/services/plugins.js +771 -771
- package/server/services/premium.js +1 -1
- package/server/services/price-intelligence.js +566 -565
- package/server/services/price-shield.js +1137 -1137
- 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/sovereign-shield.js +542 -0
- package/server/services/stripe.js +192 -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/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/server/services/fairness-engine.js +0 -409
- package/server/services/fairness.js +0 -420
|
@@ -1,98 +1,98 @@
|
|
|
1
|
-
# WAB Agent Template — Book Price Scout
|
|
2
|
-
# Finds the cheapest books directly from independent bookstores
|
|
3
|
-
# Run: npx wab-agent run book-price-scout.yaml --title "Clean Code"
|
|
4
|
-
|
|
5
|
-
name: book-price-scout
|
|
6
|
-
version: 1.0.0
|
|
7
|
-
description: Find books at the best price from independent bookstores, not just Amazon
|
|
8
|
-
author: WAB Community
|
|
9
|
-
tags: [books, price-comparison, indie-bookstore, shopping]
|
|
10
|
-
|
|
11
|
-
goal: >
|
|
12
|
-
Search WAB-enabled independent bookstores for a specific book,
|
|
13
|
-
compare prices with Amazon, negotiate direct purchase discounts,
|
|
14
|
-
and verify book details are accurate.
|
|
15
|
-
|
|
16
|
-
target_sites:
|
|
17
|
-
discovery_method: wab-registry
|
|
18
|
-
category: books
|
|
19
|
-
region: global
|
|
20
|
-
fallback_urls: []
|
|
21
|
-
|
|
22
|
-
parameters:
|
|
23
|
-
- name: title
|
|
24
|
-
type: string
|
|
25
|
-
required: true
|
|
26
|
-
- name: author
|
|
27
|
-
type: string
|
|
28
|
-
- name: isbn
|
|
29
|
-
type: string
|
|
30
|
-
- name: format
|
|
31
|
-
type: string
|
|
32
|
-
default: paperback
|
|
33
|
-
enum: [paperback, hardcover, ebook]
|
|
34
|
-
|
|
35
|
-
actions:
|
|
36
|
-
- name: discover
|
|
37
|
-
description: Find independent bookstores
|
|
38
|
-
wab_action: discover
|
|
39
|
-
|
|
40
|
-
- name: search_book
|
|
41
|
-
description: Search for the book
|
|
42
|
-
wab_action: searchProducts
|
|
43
|
-
params:
|
|
44
|
-
title: "{{title}}"
|
|
45
|
-
author: "{{author}}"
|
|
46
|
-
isbn: "{{isbn}}"
|
|
47
|
-
collect: true
|
|
48
|
-
|
|
49
|
-
- name: verify_details
|
|
50
|
-
description: Verify book title, author, edition match
|
|
51
|
-
wab_action: verifyText
|
|
52
|
-
require_pass: true
|
|
53
|
-
|
|
54
|
-
- name: verify_prices
|
|
55
|
-
description: Cross-check displayed prices
|
|
56
|
-
wab_action: verifyPrice
|
|
57
|
-
require_pass: true
|
|
58
|
-
|
|
59
|
-
- name: negotiate
|
|
60
|
-
description: Negotiate direct purchase discount
|
|
61
|
-
wab_action: negotiate
|
|
62
|
-
strategy: instant_payment
|
|
63
|
-
conditions:
|
|
64
|
-
proposed_discount: 8
|
|
65
|
-
fallback_strategy: first_time
|
|
66
|
-
|
|
67
|
-
- name: purchase
|
|
68
|
-
description: Buy the book
|
|
69
|
-
wab_action: buy
|
|
70
|
-
requires: [verify_details, verify_prices]
|
|
71
|
-
|
|
72
|
-
fairness_rules:
|
|
73
|
-
prefer_local: true
|
|
74
|
-
prefer_small_business: true
|
|
75
|
-
currency: USD
|
|
76
|
-
min_reputation_score: 25
|
|
77
|
-
avoid_monopolies: true
|
|
78
|
-
|
|
79
|
-
negotiation:
|
|
80
|
-
enabled: true
|
|
81
|
-
max_rounds: 2
|
|
82
|
-
strategies:
|
|
83
|
-
- instant_payment
|
|
84
|
-
- first_time
|
|
85
|
-
- bulk_order
|
|
86
|
-
walk_away_threshold: 3
|
|
87
|
-
|
|
88
|
-
verification:
|
|
89
|
-
anti_hallucination: true
|
|
90
|
-
cross_check_prices: true
|
|
91
|
-
verify_descriptions: true
|
|
92
|
-
max_price_variance: 0.05
|
|
93
|
-
|
|
94
|
-
output:
|
|
95
|
-
format: table
|
|
96
|
-
include: [bookstore, title, author, format, price, negotiated_price, shipping, total, reputation]
|
|
97
|
-
sort_by: total
|
|
98
|
-
limit: 10
|
|
1
|
+
# WAB Agent Template — Book Price Scout
|
|
2
|
+
# Finds the cheapest books directly from independent bookstores
|
|
3
|
+
# Run: npx wab-agent run book-price-scout.yaml --title "Clean Code"
|
|
4
|
+
|
|
5
|
+
name: book-price-scout
|
|
6
|
+
version: 1.0.0
|
|
7
|
+
description: Find books at the best price from independent bookstores, not just Amazon
|
|
8
|
+
author: WAB Community
|
|
9
|
+
tags: [books, price-comparison, indie-bookstore, shopping]
|
|
10
|
+
|
|
11
|
+
goal: >
|
|
12
|
+
Search WAB-enabled independent bookstores for a specific book,
|
|
13
|
+
compare prices with Amazon, negotiate direct purchase discounts,
|
|
14
|
+
and verify book details are accurate.
|
|
15
|
+
|
|
16
|
+
target_sites:
|
|
17
|
+
discovery_method: wab-registry
|
|
18
|
+
category: books
|
|
19
|
+
region: global
|
|
20
|
+
fallback_urls: []
|
|
21
|
+
|
|
22
|
+
parameters:
|
|
23
|
+
- name: title
|
|
24
|
+
type: string
|
|
25
|
+
required: true
|
|
26
|
+
- name: author
|
|
27
|
+
type: string
|
|
28
|
+
- name: isbn
|
|
29
|
+
type: string
|
|
30
|
+
- name: format
|
|
31
|
+
type: string
|
|
32
|
+
default: paperback
|
|
33
|
+
enum: [paperback, hardcover, ebook]
|
|
34
|
+
|
|
35
|
+
actions:
|
|
36
|
+
- name: discover
|
|
37
|
+
description: Find independent bookstores
|
|
38
|
+
wab_action: discover
|
|
39
|
+
|
|
40
|
+
- name: search_book
|
|
41
|
+
description: Search for the book
|
|
42
|
+
wab_action: searchProducts
|
|
43
|
+
params:
|
|
44
|
+
title: "{{title}}"
|
|
45
|
+
author: "{{author}}"
|
|
46
|
+
isbn: "{{isbn}}"
|
|
47
|
+
collect: true
|
|
48
|
+
|
|
49
|
+
- name: verify_details
|
|
50
|
+
description: Verify book title, author, edition match
|
|
51
|
+
wab_action: verifyText
|
|
52
|
+
require_pass: true
|
|
53
|
+
|
|
54
|
+
- name: verify_prices
|
|
55
|
+
description: Cross-check displayed prices
|
|
56
|
+
wab_action: verifyPrice
|
|
57
|
+
require_pass: true
|
|
58
|
+
|
|
59
|
+
- name: negotiate
|
|
60
|
+
description: Negotiate direct purchase discount
|
|
61
|
+
wab_action: negotiate
|
|
62
|
+
strategy: instant_payment
|
|
63
|
+
conditions:
|
|
64
|
+
proposed_discount: 8
|
|
65
|
+
fallback_strategy: first_time
|
|
66
|
+
|
|
67
|
+
- name: purchase
|
|
68
|
+
description: Buy the book
|
|
69
|
+
wab_action: buy
|
|
70
|
+
requires: [verify_details, verify_prices]
|
|
71
|
+
|
|
72
|
+
fairness_rules:
|
|
73
|
+
prefer_local: true
|
|
74
|
+
prefer_small_business: true
|
|
75
|
+
currency: USD
|
|
76
|
+
min_reputation_score: 25
|
|
77
|
+
avoid_monopolies: true
|
|
78
|
+
|
|
79
|
+
negotiation:
|
|
80
|
+
enabled: true
|
|
81
|
+
max_rounds: 2
|
|
82
|
+
strategies:
|
|
83
|
+
- instant_payment
|
|
84
|
+
- first_time
|
|
85
|
+
- bulk_order
|
|
86
|
+
walk_away_threshold: 3
|
|
87
|
+
|
|
88
|
+
verification:
|
|
89
|
+
anti_hallucination: true
|
|
90
|
+
cross_check_prices: true
|
|
91
|
+
verify_descriptions: true
|
|
92
|
+
max_price_variance: 0.05
|
|
93
|
+
|
|
94
|
+
output:
|
|
95
|
+
format: table
|
|
96
|
+
include: [bookstore, title, author, format, price, negotiated_price, shipping, total, reputation]
|
|
97
|
+
sort_by: total
|
|
98
|
+
limit: 10
|
|
@@ -1,108 +1,108 @@
|
|
|
1
|
-
# WAB Agent Template — Electronics Price Tracker
|
|
2
|
-
# Monitors electronics prices and finds the best deal
|
|
3
|
-
# Run: npx wab-agent run electronics-price-tracker.yaml --product "laptop" --max-price 1000
|
|
4
|
-
|
|
5
|
-
name: electronics-price-tracker
|
|
6
|
-
version: 1.0.0
|
|
7
|
-
description: Track electronics prices across independent stores and find the best verified deal
|
|
8
|
-
author: WAB Community
|
|
9
|
-
tags: [electronics, price-tracking, shopping, deals, comparison]
|
|
10
|
-
|
|
11
|
-
goal: >
|
|
12
|
-
Search WAB-enabled electronics retailers, track price history,
|
|
13
|
-
verify prices against screenshots, find the lowest verified price,
|
|
14
|
-
and negotiate bundle or loyalty discounts.
|
|
15
|
-
|
|
16
|
-
target_sites:
|
|
17
|
-
discovery_method: wab-registry
|
|
18
|
-
category: electronics
|
|
19
|
-
region: auto
|
|
20
|
-
fallback_urls: []
|
|
21
|
-
|
|
22
|
-
parameters:
|
|
23
|
-
- name: product
|
|
24
|
-
type: string
|
|
25
|
-
required: true
|
|
26
|
-
description: Product to search for
|
|
27
|
-
- name: max_price
|
|
28
|
-
type: number
|
|
29
|
-
required: true
|
|
30
|
-
- name: brand
|
|
31
|
-
type: string
|
|
32
|
-
- name: condition
|
|
33
|
-
type: string
|
|
34
|
-
default: new
|
|
35
|
-
enum: [new, refurbished, used]
|
|
36
|
-
|
|
37
|
-
actions:
|
|
38
|
-
- name: discover
|
|
39
|
-
description: Find electronics stores
|
|
40
|
-
wab_action: discover
|
|
41
|
-
|
|
42
|
-
- name: search
|
|
43
|
-
description: Search for the product
|
|
44
|
-
wab_action: searchProducts
|
|
45
|
-
params:
|
|
46
|
-
query: "{{product}}"
|
|
47
|
-
brand: "{{brand}}"
|
|
48
|
-
condition: "{{condition}}"
|
|
49
|
-
collect: true
|
|
50
|
-
|
|
51
|
-
- name: verify_prices
|
|
52
|
-
description: Cross-verify all prices
|
|
53
|
-
wab_action: verifyPrice
|
|
54
|
-
require_pass: true
|
|
55
|
-
|
|
56
|
-
- name: check_specs
|
|
57
|
-
description: Verify product specifications match listing
|
|
58
|
-
wab_action: verifyText
|
|
59
|
-
params:
|
|
60
|
-
fields: [model, specs, warranty, condition]
|
|
61
|
-
|
|
62
|
-
- name: check_price_history
|
|
63
|
-
description: Check if current price is a real deal or inflated
|
|
64
|
-
wab_action: getPriceHistory
|
|
65
|
-
collect: true
|
|
66
|
-
|
|
67
|
-
- name: negotiate
|
|
68
|
-
description: Negotiate a discount
|
|
69
|
-
wab_action: negotiate
|
|
70
|
-
strategy: instant_payment
|
|
71
|
-
conditions:
|
|
72
|
-
proposed_discount: 7
|
|
73
|
-
fallback_strategy: first_time
|
|
74
|
-
|
|
75
|
-
- name: purchase
|
|
76
|
-
description: Buy at best verified price
|
|
77
|
-
wab_action: buy
|
|
78
|
-
requires: [verify_prices, check_specs]
|
|
79
|
-
|
|
80
|
-
fairness_rules:
|
|
81
|
-
prefer_local: true
|
|
82
|
-
prefer_small_business: true
|
|
83
|
-
max_price: "{{max_price}}"
|
|
84
|
-
currency: USD
|
|
85
|
-
min_reputation_score: 45
|
|
86
|
-
avoid_monopolies: true
|
|
87
|
-
|
|
88
|
-
negotiation:
|
|
89
|
-
enabled: true
|
|
90
|
-
max_rounds: 3
|
|
91
|
-
strategies:
|
|
92
|
-
- instant_payment
|
|
93
|
-
- first_time
|
|
94
|
-
- bulk_order
|
|
95
|
-
walk_away_threshold: 3
|
|
96
|
-
|
|
97
|
-
verification:
|
|
98
|
-
anti_hallucination: true
|
|
99
|
-
cross_check_prices: true
|
|
100
|
-
require_vision_match: true
|
|
101
|
-
max_price_variance: 0.05
|
|
102
|
-
track_price_history: true
|
|
103
|
-
|
|
104
|
-
output:
|
|
105
|
-
format: table
|
|
106
|
-
include: [store, product, brand, price, price_history_trend, negotiated_price, warranty, reputation, verified]
|
|
107
|
-
sort_by: price
|
|
108
|
-
limit: 15
|
|
1
|
+
# WAB Agent Template — Electronics Price Tracker
|
|
2
|
+
# Monitors electronics prices and finds the best deal
|
|
3
|
+
# Run: npx wab-agent run electronics-price-tracker.yaml --product "laptop" --max-price 1000
|
|
4
|
+
|
|
5
|
+
name: electronics-price-tracker
|
|
6
|
+
version: 1.0.0
|
|
7
|
+
description: Track electronics prices across independent stores and find the best verified deal
|
|
8
|
+
author: WAB Community
|
|
9
|
+
tags: [electronics, price-tracking, shopping, deals, comparison]
|
|
10
|
+
|
|
11
|
+
goal: >
|
|
12
|
+
Search WAB-enabled electronics retailers, track price history,
|
|
13
|
+
verify prices against screenshots, find the lowest verified price,
|
|
14
|
+
and negotiate bundle or loyalty discounts.
|
|
15
|
+
|
|
16
|
+
target_sites:
|
|
17
|
+
discovery_method: wab-registry
|
|
18
|
+
category: electronics
|
|
19
|
+
region: auto
|
|
20
|
+
fallback_urls: []
|
|
21
|
+
|
|
22
|
+
parameters:
|
|
23
|
+
- name: product
|
|
24
|
+
type: string
|
|
25
|
+
required: true
|
|
26
|
+
description: Product to search for
|
|
27
|
+
- name: max_price
|
|
28
|
+
type: number
|
|
29
|
+
required: true
|
|
30
|
+
- name: brand
|
|
31
|
+
type: string
|
|
32
|
+
- name: condition
|
|
33
|
+
type: string
|
|
34
|
+
default: new
|
|
35
|
+
enum: [new, refurbished, used]
|
|
36
|
+
|
|
37
|
+
actions:
|
|
38
|
+
- name: discover
|
|
39
|
+
description: Find electronics stores
|
|
40
|
+
wab_action: discover
|
|
41
|
+
|
|
42
|
+
- name: search
|
|
43
|
+
description: Search for the product
|
|
44
|
+
wab_action: searchProducts
|
|
45
|
+
params:
|
|
46
|
+
query: "{{product}}"
|
|
47
|
+
brand: "{{brand}}"
|
|
48
|
+
condition: "{{condition}}"
|
|
49
|
+
collect: true
|
|
50
|
+
|
|
51
|
+
- name: verify_prices
|
|
52
|
+
description: Cross-verify all prices
|
|
53
|
+
wab_action: verifyPrice
|
|
54
|
+
require_pass: true
|
|
55
|
+
|
|
56
|
+
- name: check_specs
|
|
57
|
+
description: Verify product specifications match listing
|
|
58
|
+
wab_action: verifyText
|
|
59
|
+
params:
|
|
60
|
+
fields: [model, specs, warranty, condition]
|
|
61
|
+
|
|
62
|
+
- name: check_price_history
|
|
63
|
+
description: Check if current price is a real deal or inflated
|
|
64
|
+
wab_action: getPriceHistory
|
|
65
|
+
collect: true
|
|
66
|
+
|
|
67
|
+
- name: negotiate
|
|
68
|
+
description: Negotiate a discount
|
|
69
|
+
wab_action: negotiate
|
|
70
|
+
strategy: instant_payment
|
|
71
|
+
conditions:
|
|
72
|
+
proposed_discount: 7
|
|
73
|
+
fallback_strategy: first_time
|
|
74
|
+
|
|
75
|
+
- name: purchase
|
|
76
|
+
description: Buy at best verified price
|
|
77
|
+
wab_action: buy
|
|
78
|
+
requires: [verify_prices, check_specs]
|
|
79
|
+
|
|
80
|
+
fairness_rules:
|
|
81
|
+
prefer_local: true
|
|
82
|
+
prefer_small_business: true
|
|
83
|
+
max_price: "{{max_price}}"
|
|
84
|
+
currency: USD
|
|
85
|
+
min_reputation_score: 45
|
|
86
|
+
avoid_monopolies: true
|
|
87
|
+
|
|
88
|
+
negotiation:
|
|
89
|
+
enabled: true
|
|
90
|
+
max_rounds: 3
|
|
91
|
+
strategies:
|
|
92
|
+
- instant_payment
|
|
93
|
+
- first_time
|
|
94
|
+
- bulk_order
|
|
95
|
+
walk_away_threshold: 3
|
|
96
|
+
|
|
97
|
+
verification:
|
|
98
|
+
anti_hallucination: true
|
|
99
|
+
cross_check_prices: true
|
|
100
|
+
require_vision_match: true
|
|
101
|
+
max_price_variance: 0.05
|
|
102
|
+
track_price_history: true
|
|
103
|
+
|
|
104
|
+
output:
|
|
105
|
+
format: table
|
|
106
|
+
include: [store, product, brand, price, price_history_trend, negotiated_price, warranty, reputation, verified]
|
|
107
|
+
sort_by: price
|
|
108
|
+
limit: 15
|
|
@@ -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
|