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 — Local Services Finder
|
|
2
|
-
# Finds local service providers (plumber, electrician, etc.)
|
|
3
|
-
# Run: npx wab-agent run local-services.yaml --service "plumber" --city "Tunis"
|
|
4
|
-
|
|
5
|
-
name: local-services
|
|
6
|
-
version: 1.0.0
|
|
7
|
-
description: Find local service providers directly — no middleman platforms
|
|
8
|
-
author: WAB Community
|
|
9
|
-
tags: [services, local, plumber, electrician, handyman, direct]
|
|
10
|
-
|
|
11
|
-
goal: >
|
|
12
|
-
Find WAB-enabled local service providers, check their reputation,
|
|
13
|
-
verify reviews and credentials, negotiate fair rates, and book directly.
|
|
14
|
-
|
|
15
|
-
target_sites:
|
|
16
|
-
discovery_method: wab-registry
|
|
17
|
-
category: local-services
|
|
18
|
-
region: auto
|
|
19
|
-
fallback_urls: []
|
|
20
|
-
|
|
21
|
-
parameters:
|
|
22
|
-
- name: service
|
|
23
|
-
type: string
|
|
24
|
-
required: true
|
|
25
|
-
description: "Service type (plumber, electrician, carpenter, painter, cleaner)"
|
|
26
|
-
- name: city
|
|
27
|
-
type: string
|
|
28
|
-
required: true
|
|
29
|
-
- name: urgency
|
|
30
|
-
type: string
|
|
31
|
-
default: normal
|
|
32
|
-
enum: [urgent, normal, flexible]
|
|
33
|
-
|
|
34
|
-
actions:
|
|
35
|
-
- name: discover
|
|
36
|
-
description: Find service providers in the area
|
|
37
|
-
wab_action: discover
|
|
38
|
-
|
|
39
|
-
- name: check_services
|
|
40
|
-
description: Get list of services offered and rates
|
|
41
|
-
wab_action: getServices
|
|
42
|
-
params:
|
|
43
|
-
type: "{{service}}"
|
|
44
|
-
collect: true
|
|
45
|
-
|
|
46
|
-
- name: check_reputation
|
|
47
|
-
description: Check provider reputation
|
|
48
|
-
wab_action: getReputation
|
|
49
|
-
|
|
50
|
-
- name: verify_reviews
|
|
51
|
-
description: Verify reviews are genuine
|
|
52
|
-
wab_action: verifyText
|
|
53
|
-
require_pass: true
|
|
54
|
-
|
|
55
|
-
- name: check_availability
|
|
56
|
-
description: Check provider availability
|
|
57
|
-
wab_action: checkAvailability
|
|
58
|
-
|
|
59
|
-
- name: negotiate
|
|
60
|
-
description: Negotiate service rate
|
|
61
|
-
wab_action: negotiate
|
|
62
|
-
strategy: repeat_customer
|
|
63
|
-
conditions:
|
|
64
|
-
proposed_discount: 10
|
|
65
|
-
fallback_strategy: off_peak
|
|
66
|
-
|
|
67
|
-
- name: book
|
|
68
|
-
description: Book the service
|
|
69
|
-
wab_action: bookService
|
|
70
|
-
requires: [check_reputation, verify_reviews]
|
|
71
|
-
|
|
72
|
-
fairness_rules:
|
|
73
|
-
prefer_local: true
|
|
74
|
-
prefer_small_business: true
|
|
75
|
-
currency: auto
|
|
76
|
-
min_reputation_score: 40
|
|
77
|
-
avoid_monopolies: true
|
|
78
|
-
|
|
79
|
-
negotiation:
|
|
80
|
-
enabled: true
|
|
81
|
-
max_rounds: 2
|
|
82
|
-
strategies:
|
|
83
|
-
- repeat_customer
|
|
84
|
-
- off_peak
|
|
85
|
-
- instant_payment
|
|
86
|
-
walk_away_threshold: 5
|
|
87
|
-
|
|
88
|
-
verification:
|
|
89
|
-
anti_hallucination: true
|
|
90
|
-
verify_descriptions: true
|
|
91
|
-
verify_reviews: true
|
|
92
|
-
max_price_variance: 0.15
|
|
93
|
-
|
|
94
|
-
output:
|
|
95
|
-
format: table
|
|
96
|
-
include: [provider, service, rate, availability, reputation, reviews_verified, negotiated_rate]
|
|
97
|
-
sort_by: reputation
|
|
98
|
-
limit: 10
|
|
1
|
+
# WAB Agent Template — Local Services Finder
|
|
2
|
+
# Finds local service providers (plumber, electrician, etc.)
|
|
3
|
+
# Run: npx wab-agent run local-services.yaml --service "plumber" --city "Tunis"
|
|
4
|
+
|
|
5
|
+
name: local-services
|
|
6
|
+
version: 1.0.0
|
|
7
|
+
description: Find local service providers directly — no middleman platforms
|
|
8
|
+
author: WAB Community
|
|
9
|
+
tags: [services, local, plumber, electrician, handyman, direct]
|
|
10
|
+
|
|
11
|
+
goal: >
|
|
12
|
+
Find WAB-enabled local service providers, check their reputation,
|
|
13
|
+
verify reviews and credentials, negotiate fair rates, and book directly.
|
|
14
|
+
|
|
15
|
+
target_sites:
|
|
16
|
+
discovery_method: wab-registry
|
|
17
|
+
category: local-services
|
|
18
|
+
region: auto
|
|
19
|
+
fallback_urls: []
|
|
20
|
+
|
|
21
|
+
parameters:
|
|
22
|
+
- name: service
|
|
23
|
+
type: string
|
|
24
|
+
required: true
|
|
25
|
+
description: "Service type (plumber, electrician, carpenter, painter, cleaner)"
|
|
26
|
+
- name: city
|
|
27
|
+
type: string
|
|
28
|
+
required: true
|
|
29
|
+
- name: urgency
|
|
30
|
+
type: string
|
|
31
|
+
default: normal
|
|
32
|
+
enum: [urgent, normal, flexible]
|
|
33
|
+
|
|
34
|
+
actions:
|
|
35
|
+
- name: discover
|
|
36
|
+
description: Find service providers in the area
|
|
37
|
+
wab_action: discover
|
|
38
|
+
|
|
39
|
+
- name: check_services
|
|
40
|
+
description: Get list of services offered and rates
|
|
41
|
+
wab_action: getServices
|
|
42
|
+
params:
|
|
43
|
+
type: "{{service}}"
|
|
44
|
+
collect: true
|
|
45
|
+
|
|
46
|
+
- name: check_reputation
|
|
47
|
+
description: Check provider reputation
|
|
48
|
+
wab_action: getReputation
|
|
49
|
+
|
|
50
|
+
- name: verify_reviews
|
|
51
|
+
description: Verify reviews are genuine
|
|
52
|
+
wab_action: verifyText
|
|
53
|
+
require_pass: true
|
|
54
|
+
|
|
55
|
+
- name: check_availability
|
|
56
|
+
description: Check provider availability
|
|
57
|
+
wab_action: checkAvailability
|
|
58
|
+
|
|
59
|
+
- name: negotiate
|
|
60
|
+
description: Negotiate service rate
|
|
61
|
+
wab_action: negotiate
|
|
62
|
+
strategy: repeat_customer
|
|
63
|
+
conditions:
|
|
64
|
+
proposed_discount: 10
|
|
65
|
+
fallback_strategy: off_peak
|
|
66
|
+
|
|
67
|
+
- name: book
|
|
68
|
+
description: Book the service
|
|
69
|
+
wab_action: bookService
|
|
70
|
+
requires: [check_reputation, verify_reviews]
|
|
71
|
+
|
|
72
|
+
fairness_rules:
|
|
73
|
+
prefer_local: true
|
|
74
|
+
prefer_small_business: true
|
|
75
|
+
currency: auto
|
|
76
|
+
min_reputation_score: 40
|
|
77
|
+
avoid_monopolies: true
|
|
78
|
+
|
|
79
|
+
negotiation:
|
|
80
|
+
enabled: true
|
|
81
|
+
max_rounds: 2
|
|
82
|
+
strategies:
|
|
83
|
+
- repeat_customer
|
|
84
|
+
- off_peak
|
|
85
|
+
- instant_payment
|
|
86
|
+
walk_away_threshold: 5
|
|
87
|
+
|
|
88
|
+
verification:
|
|
89
|
+
anti_hallucination: true
|
|
90
|
+
verify_descriptions: true
|
|
91
|
+
verify_reviews: true
|
|
92
|
+
max_price_variance: 0.15
|
|
93
|
+
|
|
94
|
+
output:
|
|
95
|
+
format: table
|
|
96
|
+
include: [provider, service, rate, availability, reputation, reviews_verified, negotiated_rate]
|
|
97
|
+
sort_by: reputation
|
|
98
|
+
limit: 10
|
|
@@ -1,88 +1,88 @@
|
|
|
1
|
-
# WAB Agent Template — Tunisian Olive Oil Finder
|
|
2
|
-
# Finds the best olive oil deals from small Tunisian producers
|
|
3
|
-
# Run: npx wab-agent run olive-oil-tunisia.yaml
|
|
4
|
-
|
|
5
|
-
name: olive-oil-tunisia
|
|
6
|
-
version: 1.0.0
|
|
7
|
-
description: Find premium olive oil from small Tunisian farms at fair prices
|
|
8
|
-
author: WAB Community
|
|
9
|
-
tags: [food, olive-oil, tunisia, fair-trade, agriculture]
|
|
10
|
-
|
|
11
|
-
goal: >
|
|
12
|
-
Search WAB-enabled olive oil stores in Tunisia, compare prices and quality,
|
|
13
|
-
negotiate bulk discounts, and verify prices are genuine using anti-hallucination shield.
|
|
14
|
-
|
|
15
|
-
target_sites:
|
|
16
|
-
discovery_method: wab-registry
|
|
17
|
-
category: food-olive-oil
|
|
18
|
-
region: tunisia
|
|
19
|
-
fallback_urls:
|
|
20
|
-
- https://example-olive-farm.tn
|
|
21
|
-
- https://sfax-olive-cooperative.tn
|
|
22
|
-
|
|
23
|
-
actions:
|
|
24
|
-
- name: discover
|
|
25
|
-
description: Discover all available products from the site
|
|
26
|
-
wab_action: getProducts
|
|
27
|
-
|
|
28
|
-
- name: compare_prices
|
|
29
|
-
description: Compare olive oil prices across discovered sites
|
|
30
|
-
wab_action: getPrice
|
|
31
|
-
params:
|
|
32
|
-
category: extra-virgin-olive-oil
|
|
33
|
-
collect: true
|
|
34
|
-
|
|
35
|
-
- name: check_quality
|
|
36
|
-
description: Verify organic certification and harvest date
|
|
37
|
-
wab_action: getProductDetails
|
|
38
|
-
params:
|
|
39
|
-
fields: [certification, harvest_date, acidity_level, origin_farm]
|
|
40
|
-
|
|
41
|
-
- name: negotiate
|
|
42
|
-
description: Negotiate bulk order discount
|
|
43
|
-
wab_action: negotiate
|
|
44
|
-
strategy: bulk_order
|
|
45
|
-
conditions:
|
|
46
|
-
min_quantity: 5
|
|
47
|
-
proposed_discount: 15
|
|
48
|
-
fallback_strategy: first_time
|
|
49
|
-
|
|
50
|
-
- name: verify
|
|
51
|
-
description: Cross-check prices with anti-hallucination shield
|
|
52
|
-
wab_action: verifyPrice
|
|
53
|
-
require_pass: true
|
|
54
|
-
|
|
55
|
-
- name: purchase
|
|
56
|
-
description: Complete the purchase at negotiated price
|
|
57
|
-
wab_action: buy
|
|
58
|
-
requires: [verify, negotiate]
|
|
59
|
-
|
|
60
|
-
fairness_rules:
|
|
61
|
-
prefer_local: true
|
|
62
|
-
prefer_small_business: true
|
|
63
|
-
max_price_per_liter: 25.00
|
|
64
|
-
currency: USD
|
|
65
|
-
min_reputation_score: 40
|
|
66
|
-
avoid_monopolies: true
|
|
67
|
-
require_organic: false
|
|
68
|
-
|
|
69
|
-
negotiation:
|
|
70
|
-
enabled: true
|
|
71
|
-
max_rounds: 3
|
|
72
|
-
strategies:
|
|
73
|
-
- bulk_order
|
|
74
|
-
- first_time
|
|
75
|
-
- instant_payment
|
|
76
|
-
walk_away_threshold: 5
|
|
77
|
-
|
|
78
|
-
verification:
|
|
79
|
-
anti_hallucination: true
|
|
80
|
-
cross_check_prices: true
|
|
81
|
-
require_vision_match: false
|
|
82
|
-
max_price_variance: 0.10
|
|
83
|
-
|
|
84
|
-
output:
|
|
85
|
-
format: json
|
|
86
|
-
include: [site, product, price, negotiated_price, savings, quality_score, verification_status]
|
|
87
|
-
sort_by: price_per_liter
|
|
88
|
-
limit: 10
|
|
1
|
+
# WAB Agent Template — Tunisian Olive Oil Finder
|
|
2
|
+
# Finds the best olive oil deals from small Tunisian producers
|
|
3
|
+
# Run: npx wab-agent run olive-oil-tunisia.yaml
|
|
4
|
+
|
|
5
|
+
name: olive-oil-tunisia
|
|
6
|
+
version: 1.0.0
|
|
7
|
+
description: Find premium olive oil from small Tunisian farms at fair prices
|
|
8
|
+
author: WAB Community
|
|
9
|
+
tags: [food, olive-oil, tunisia, fair-trade, agriculture]
|
|
10
|
+
|
|
11
|
+
goal: >
|
|
12
|
+
Search WAB-enabled olive oil stores in Tunisia, compare prices and quality,
|
|
13
|
+
negotiate bulk discounts, and verify prices are genuine using anti-hallucination shield.
|
|
14
|
+
|
|
15
|
+
target_sites:
|
|
16
|
+
discovery_method: wab-registry
|
|
17
|
+
category: food-olive-oil
|
|
18
|
+
region: tunisia
|
|
19
|
+
fallback_urls:
|
|
20
|
+
- https://example-olive-farm.tn
|
|
21
|
+
- https://sfax-olive-cooperative.tn
|
|
22
|
+
|
|
23
|
+
actions:
|
|
24
|
+
- name: discover
|
|
25
|
+
description: Discover all available products from the site
|
|
26
|
+
wab_action: getProducts
|
|
27
|
+
|
|
28
|
+
- name: compare_prices
|
|
29
|
+
description: Compare olive oil prices across discovered sites
|
|
30
|
+
wab_action: getPrice
|
|
31
|
+
params:
|
|
32
|
+
category: extra-virgin-olive-oil
|
|
33
|
+
collect: true
|
|
34
|
+
|
|
35
|
+
- name: check_quality
|
|
36
|
+
description: Verify organic certification and harvest date
|
|
37
|
+
wab_action: getProductDetails
|
|
38
|
+
params:
|
|
39
|
+
fields: [certification, harvest_date, acidity_level, origin_farm]
|
|
40
|
+
|
|
41
|
+
- name: negotiate
|
|
42
|
+
description: Negotiate bulk order discount
|
|
43
|
+
wab_action: negotiate
|
|
44
|
+
strategy: bulk_order
|
|
45
|
+
conditions:
|
|
46
|
+
min_quantity: 5
|
|
47
|
+
proposed_discount: 15
|
|
48
|
+
fallback_strategy: first_time
|
|
49
|
+
|
|
50
|
+
- name: verify
|
|
51
|
+
description: Cross-check prices with anti-hallucination shield
|
|
52
|
+
wab_action: verifyPrice
|
|
53
|
+
require_pass: true
|
|
54
|
+
|
|
55
|
+
- name: purchase
|
|
56
|
+
description: Complete the purchase at negotiated price
|
|
57
|
+
wab_action: buy
|
|
58
|
+
requires: [verify, negotiate]
|
|
59
|
+
|
|
60
|
+
fairness_rules:
|
|
61
|
+
prefer_local: true
|
|
62
|
+
prefer_small_business: true
|
|
63
|
+
max_price_per_liter: 25.00
|
|
64
|
+
currency: USD
|
|
65
|
+
min_reputation_score: 40
|
|
66
|
+
avoid_monopolies: true
|
|
67
|
+
require_organic: false
|
|
68
|
+
|
|
69
|
+
negotiation:
|
|
70
|
+
enabled: true
|
|
71
|
+
max_rounds: 3
|
|
72
|
+
strategies:
|
|
73
|
+
- bulk_order
|
|
74
|
+
- first_time
|
|
75
|
+
- instant_payment
|
|
76
|
+
walk_away_threshold: 5
|
|
77
|
+
|
|
78
|
+
verification:
|
|
79
|
+
anti_hallucination: true
|
|
80
|
+
cross_check_prices: true
|
|
81
|
+
require_vision_match: false
|
|
82
|
+
max_price_variance: 0.10
|
|
83
|
+
|
|
84
|
+
output:
|
|
85
|
+
format: json
|
|
86
|
+
include: [site, product, price, negotiated_price, savings, quality_score, verification_status]
|
|
87
|
+
sort_by: price_per_liter
|
|
88
|
+
limit: 10
|
|
@@ -1,101 +1,101 @@
|
|
|
1
|
-
# WAB Agent Template — Organic Farm Fresh
|
|
2
|
-
# Connects consumers directly with organic farms
|
|
3
|
-
# Run: npx wab-agent run organic-farm-fresh.yaml --product "vegetables"
|
|
4
|
-
|
|
5
|
-
name: organic-farm-fresh
|
|
6
|
-
version: 1.0.0
|
|
7
|
-
description: Buy organic produce directly from farms — no supermarket markup
|
|
8
|
-
author: WAB Community
|
|
9
|
-
tags: [organic, farming, fresh-produce, direct-buy, agriculture]
|
|
10
|
-
|
|
11
|
-
goal: >
|
|
12
|
-
Find WAB-enabled organic farms and cooperatives, verify organic certification,
|
|
13
|
-
compare prices with supermarket equivalents, negotiate farm-direct pricing,
|
|
14
|
-
and support sustainable agriculture.
|
|
15
|
-
|
|
16
|
-
target_sites:
|
|
17
|
-
discovery_method: wab-registry
|
|
18
|
-
category: organic-farming
|
|
19
|
-
region: auto
|
|
20
|
-
fallback_urls: []
|
|
21
|
-
|
|
22
|
-
parameters:
|
|
23
|
-
- name: product
|
|
24
|
-
type: string
|
|
25
|
-
required: true
|
|
26
|
-
description: "Type of produce (vegetables, fruits, dairy, eggs, honey, herbs)"
|
|
27
|
-
- name: organic_only
|
|
28
|
-
type: boolean
|
|
29
|
-
default: true
|
|
30
|
-
- name: max_distance_km
|
|
31
|
-
type: number
|
|
32
|
-
default: 50
|
|
33
|
-
|
|
34
|
-
actions:
|
|
35
|
-
- name: discover
|
|
36
|
-
description: Find organic farms and cooperatives
|
|
37
|
-
wab_action: discover
|
|
38
|
-
|
|
39
|
-
- name: browse_produce
|
|
40
|
-
description: See available seasonal produce
|
|
41
|
-
wab_action: getProducts
|
|
42
|
-
params:
|
|
43
|
-
category: "{{product}}"
|
|
44
|
-
organic: "{{organic_only}}"
|
|
45
|
-
collect: true
|
|
46
|
-
|
|
47
|
-
- name: verify_certification
|
|
48
|
-
description: Verify organic certification claims
|
|
49
|
-
wab_action: verifyText
|
|
50
|
-
params:
|
|
51
|
-
fields: [certification, certifier, valid_until]
|
|
52
|
-
require_pass: true
|
|
53
|
-
|
|
54
|
-
- name: verify_prices
|
|
55
|
-
description: Cross-check prices
|
|
56
|
-
wab_action: verifyPrice
|
|
57
|
-
require_pass: true
|
|
58
|
-
|
|
59
|
-
- name: negotiate
|
|
60
|
-
description: Negotiate farm-direct pricing
|
|
61
|
-
wab_action: negotiate
|
|
62
|
-
strategy: bulk_order
|
|
63
|
-
conditions:
|
|
64
|
-
proposed_discount: 12
|
|
65
|
-
argument: "Buying direct saves packaging and distribution costs"
|
|
66
|
-
fallback_strategy: repeat_customer
|
|
67
|
-
|
|
68
|
-
- name: order
|
|
69
|
-
description: Place order for pickup or delivery
|
|
70
|
-
wab_action: placeOrder
|
|
71
|
-
requires: [verify_certification, verify_prices]
|
|
72
|
-
|
|
73
|
-
fairness_rules:
|
|
74
|
-
prefer_local: true
|
|
75
|
-
prefer_small_business: true
|
|
76
|
-
currency: auto
|
|
77
|
-
min_reputation_score: 20
|
|
78
|
-
avoid_monopolies: true
|
|
79
|
-
support_sustainable: true
|
|
80
|
-
|
|
81
|
-
negotiation:
|
|
82
|
-
enabled: true
|
|
83
|
-
max_rounds: 2
|
|
84
|
-
strategies:
|
|
85
|
-
- bulk_order
|
|
86
|
-
- repeat_customer
|
|
87
|
-
- loyalty
|
|
88
|
-
walk_away_threshold: 0
|
|
89
|
-
respect_farmer_floor: true
|
|
90
|
-
|
|
91
|
-
verification:
|
|
92
|
-
anti_hallucination: true
|
|
93
|
-
cross_check_prices: true
|
|
94
|
-
verify_certifications: true
|
|
95
|
-
max_price_variance: 0.10
|
|
96
|
-
|
|
97
|
-
output:
|
|
98
|
-
format: table
|
|
99
|
-
include: [farm, product, unit, price, organic_certified, distance_km, reputation, freshness]
|
|
100
|
-
sort_by: distance_km
|
|
101
|
-
limit: 15
|
|
1
|
+
# WAB Agent Template — Organic Farm Fresh
|
|
2
|
+
# Connects consumers directly with organic farms
|
|
3
|
+
# Run: npx wab-agent run organic-farm-fresh.yaml --product "vegetables"
|
|
4
|
+
|
|
5
|
+
name: organic-farm-fresh
|
|
6
|
+
version: 1.0.0
|
|
7
|
+
description: Buy organic produce directly from farms — no supermarket markup
|
|
8
|
+
author: WAB Community
|
|
9
|
+
tags: [organic, farming, fresh-produce, direct-buy, agriculture]
|
|
10
|
+
|
|
11
|
+
goal: >
|
|
12
|
+
Find WAB-enabled organic farms and cooperatives, verify organic certification,
|
|
13
|
+
compare prices with supermarket equivalents, negotiate farm-direct pricing,
|
|
14
|
+
and support sustainable agriculture.
|
|
15
|
+
|
|
16
|
+
target_sites:
|
|
17
|
+
discovery_method: wab-registry
|
|
18
|
+
category: organic-farming
|
|
19
|
+
region: auto
|
|
20
|
+
fallback_urls: []
|
|
21
|
+
|
|
22
|
+
parameters:
|
|
23
|
+
- name: product
|
|
24
|
+
type: string
|
|
25
|
+
required: true
|
|
26
|
+
description: "Type of produce (vegetables, fruits, dairy, eggs, honey, herbs)"
|
|
27
|
+
- name: organic_only
|
|
28
|
+
type: boolean
|
|
29
|
+
default: true
|
|
30
|
+
- name: max_distance_km
|
|
31
|
+
type: number
|
|
32
|
+
default: 50
|
|
33
|
+
|
|
34
|
+
actions:
|
|
35
|
+
- name: discover
|
|
36
|
+
description: Find organic farms and cooperatives
|
|
37
|
+
wab_action: discover
|
|
38
|
+
|
|
39
|
+
- name: browse_produce
|
|
40
|
+
description: See available seasonal produce
|
|
41
|
+
wab_action: getProducts
|
|
42
|
+
params:
|
|
43
|
+
category: "{{product}}"
|
|
44
|
+
organic: "{{organic_only}}"
|
|
45
|
+
collect: true
|
|
46
|
+
|
|
47
|
+
- name: verify_certification
|
|
48
|
+
description: Verify organic certification claims
|
|
49
|
+
wab_action: verifyText
|
|
50
|
+
params:
|
|
51
|
+
fields: [certification, certifier, valid_until]
|
|
52
|
+
require_pass: true
|
|
53
|
+
|
|
54
|
+
- name: verify_prices
|
|
55
|
+
description: Cross-check prices
|
|
56
|
+
wab_action: verifyPrice
|
|
57
|
+
require_pass: true
|
|
58
|
+
|
|
59
|
+
- name: negotiate
|
|
60
|
+
description: Negotiate farm-direct pricing
|
|
61
|
+
wab_action: negotiate
|
|
62
|
+
strategy: bulk_order
|
|
63
|
+
conditions:
|
|
64
|
+
proposed_discount: 12
|
|
65
|
+
argument: "Buying direct saves packaging and distribution costs"
|
|
66
|
+
fallback_strategy: repeat_customer
|
|
67
|
+
|
|
68
|
+
- name: order
|
|
69
|
+
description: Place order for pickup or delivery
|
|
70
|
+
wab_action: placeOrder
|
|
71
|
+
requires: [verify_certification, verify_prices]
|
|
72
|
+
|
|
73
|
+
fairness_rules:
|
|
74
|
+
prefer_local: true
|
|
75
|
+
prefer_small_business: true
|
|
76
|
+
currency: auto
|
|
77
|
+
min_reputation_score: 20
|
|
78
|
+
avoid_monopolies: true
|
|
79
|
+
support_sustainable: true
|
|
80
|
+
|
|
81
|
+
negotiation:
|
|
82
|
+
enabled: true
|
|
83
|
+
max_rounds: 2
|
|
84
|
+
strategies:
|
|
85
|
+
- bulk_order
|
|
86
|
+
- repeat_customer
|
|
87
|
+
- loyalty
|
|
88
|
+
walk_away_threshold: 0
|
|
89
|
+
respect_farmer_floor: true
|
|
90
|
+
|
|
91
|
+
verification:
|
|
92
|
+
anti_hallucination: true
|
|
93
|
+
cross_check_prices: true
|
|
94
|
+
verify_certifications: true
|
|
95
|
+
max_price_variance: 0.10
|
|
96
|
+
|
|
97
|
+
output:
|
|
98
|
+
format: table
|
|
99
|
+
include: [farm, product, unit, price, organic_certified, distance_km, reputation, freshness]
|
|
100
|
+
sort_by: distance_km
|
|
101
|
+
limit: 15
|