@@ -281,29 +281,26 @@ interaction topics described by each Agent Card endpoint.
281281
282282#### 6. CLI Management
283283
284- New ` emqx_ctl a2a-registry` commands:
284+ New ` emqx ctl a2a-registry` commands:
285285
286286``` bash
287287# List all registered agents
288- emqx_ctl a2a-registry list
288+ emqx ctl a2a-registry list
289289
290290# List agents with filters
291- emqx_ctl a2a-registry list --org com.example --status online
291+ emqx ctl a2a-registry list --org com.example --status online
292292
293293# Get specific agent details
294- emqx_ctl a2a-registry get com.example factory-a iot-ops-agent-001
294+ emqx ctl a2a-registry get com.example factory-a iot-ops-agent-001
295295
296296# Register/update agent manually (admin override)
297- emqx_ctl a2a-registry register < agent-card.json>
297+ emqx ctl a2a-registry register < agent-card.json>
298298
299299# Delete agent registration
300- emqx_ctl a2a-registry delete com.example factory-a iot-ops-agent-001
301-
302- # Search agents by capability
303- emqx_ctl a2a-registry search --capability device-diagnostics
300+ emqx ctl a2a-registry delete com.example factory-a iot-ops-agent-001
304301
305302# Show registry statistics
306- emqx_ctl a2a-registry stats
303+ emqx ctl a2a-registry stats
307304```
308305
309306#### 7. Dashboard UI
@@ -398,13 +395,12 @@ New "A2A Registry" section in the EMQX Dashboard:
398395
399396### Recommended QoS Profile
400397
401- MQX SHOULD document these defaults:
398+ EMQX SHOULD document these defaults:
402399
403- 1 . Discovery / Agent Card retained publications: QoS 1
404- 2 . Event / heartbeat updates: QoS 0
405- 3 . Task request delegation: QoS 1
406- 4 . Final artifact/result delivery: QoS 1
407- 5 . Streaming token-by-token updates: QoS 0
400+ - Discovery / Agent Card retained publications: QoS 1
401+ - Request: QoS 1
402+ - Reply: QoS 1
403+ - Event: QoS 0
408404
409405## Configuration Changes
410406
@@ -417,10 +413,6 @@ a2a_registry {
417413 ## Enable/disable the a2a registry feature
418414 enable = false
419415
420- ## Topic prefix pattern for registry topics
421- ## Default: "a2a/v1/discovery/{org_id}/{unit_id}/{agent_id}"
422- topic_prefix = "a2a/v1/discovery"
423-
424416 ## Maximum size of Agent Card payload (bytes)
425417 max_card_size = 65536
426418
@@ -430,11 +422,10 @@ a2a_registry {
430422 ## Enable schema validation
431423 validate_schema = true
432424
433- ## Path to custom Agent Card JSON schema (optional)
434- ## If not specified, uses built-in schema
435- schema_path = ""
425+ ## EMQX JSON schema registry reference
426+ schema_name= ""
436427
437- ## Require security metadata in Agent Card (public key or jwksUri)
428+ ## Require security metadata in Agent Card (jwksUri)
438429 require_security_metadata = false
439430
440431 ## Trusted JKU allowlist for Agent Card registration.
@@ -448,9 +439,6 @@ a2a_registry {
448439
449440 ## Enable HTTPS/TLS validation when fetching JWKS from jwksUri
450441 verify_jku_tls = true
451-
452- ## Enable audit logging for registry operations
453- audit_log = true
454442}
455443```
456444
@@ -463,13 +451,11 @@ Registry topics should be protected by ACL rules. Example:
463451# Default A2A rules (can be placed in default acl.conf):
464452
465453# Allow all authenticated clients to discover cards
466- {allow, all, subscribe, [" a2a/v1/discovery/#" ]}.
454+ # Allow each client to receive only its own responses
455+ {allow, all, subscribe, [" a2a/v1/discovery/#" , " a2a/v1/reply/${username} /#" ]}.
467456
468457# Allow all authenticated clients to send requests
469458{allow, all, publish, [" a2a/v1/request/#" ]}.
470-
471- # Allow each client to receive only its own responses
472- {allow, all, subscribe, [" a2a/v1/reply/${username} /#" ]}.
473459```
474460
475461These are baseline defaults. Operators can add stricter or broader rules in
@@ -486,7 +472,7 @@ This feature is fully backward compatible:
486472 behavior or retained message handling. It adds a management layer on top of
487473 standard MQTT retained messages.
488474
489- 3 . ** Topic Isolation** : Registry topics default to ` a2a/v1/discovery ` , which
475+ 3 . ** Topic Isolation** : Registry topics default to ` a2a/v1/ ` , which
490476 keeps agent discovery traffic separate from existing application topics.
491477
4924784 . ** Graceful Degradation** : If the registry service is unavailable, MQTT
@@ -520,10 +506,7 @@ This feature is fully backward compatible:
520506 - Python agent registration
521507 - JavaScript agent discovery
522508 - CLI management workflows
523- - Dashboard JSON import/export workflow
524-
525- 5 . ** Migration Guide** : Document how to migrate from custom discovery to Agent
526- Registry
509+ - Dashboard JSON import/export workflow
527510
528511## Testing Suggestions
529512
@@ -541,7 +524,6 @@ This feature is fully backward compatible:
541524 - Offline transition updates retained card extension status to ` offline `
542525 - Reconnect transition updates retained card extension status to ` online `
543526 - ACL enforcement
544- - MQTT 5 properties (` response_topic ` , ` correlation_data ` , user properties)
545527 - Registration trust policy with ` trusted_jkus `
546528 - card ` jwksUri ` must match allowlist when configured
547529 - unmatched ` jwksUri ` registration is rejected
0 commit comments