{"$schema":"http://json-schema.org/draft-07/schema#","$id":"urn:safi:a2a:1.0:profile:1.1.0","title":"Safi supported A2A 1.0 / SDK 1.3.0 JSON-RPC profile","description":"Application profile, not an official A2A schema or certification. Official SDK protobuf JSON codecs serialize/deserialize the actual wire. Only structured application/json commerce commands are accepted.","definitions":{"Command":{"oneOf":[{"type":"object","properties":{"command":{"const":"discover"},"product_id":{"type":"string"}},"required":["command"],"additionalProperties":false},{"type":"object","properties":{"command":{"const":"recommend"},"requirements":{"type":"object","properties":{"sites":{"type":"integer","minimum":0,"maximum":100},"storage_gb":{"type":"integer","minimum":0,"maximum":10000},"managed":{"type":"boolean"},"budget_minor":{"type":"integer","minimum":0,"maximum":100000000}},"required":[],"additionalProperties":false}},"required":["command"],"additionalProperties":false},{"type":"object","properties":{"command":{"const":"quote"},"quote":{"type":"object","properties":{"currency":{"const":"PKR"},"lines":{"type":"array","minItems":1,"maxItems":5,"items":{"type":"object","properties":{"product_id":{"type":"string"},"offer_id":{"type":"string"},"quantity":{"type":"integer","minimum":1,"maximum":10},"domain":{"type":"string","maxLength":253},"pricing_class":{"enum":["standard","premium","unknown"]}},"required":["product_id","offer_id","quantity"],"additionalProperties":false}}},"required":["currency","lines"],"additionalProperties":false}},"required":["command","quote"],"additionalProperties":false},{"type":"object","properties":{"command":{"const":"counteroffer"},"quote_id":{"type":"string"},"counteroffer":{"type":"object","properties":{"requested_discount_bps":{"type":"integer","minimum":0,"maximum":10000},"alternative_offer_id":{"type":"string"}},"required":["requested_discount_bps"],"additionalProperties":false}},"required":["command","quote_id","counteroffer"],"additionalProperties":false},{"type":"object","properties":{"command":{"const":"quote_status"},"quote_id":{"type":"string"}},"required":["command","quote_id"],"additionalProperties":false},{"type":"object","properties":{"command":{"const":"handoff"},"quote_id":{"type":"string"},"acceptance":{"type":"object","properties":{"revision":{"type":"integer","minimum":1},"acknowledge_live_check":{"const":true}},"required":["revision","acknowledge_live_check"],"additionalProperties":false}},"required":["command","quote_id","acceptance"],"additionalProperties":false}]},"Request":{"oneOf":[{"type":"object","properties":{"jsonrpc":{"const":"2.0"},"id":{"type":["string","integer"]},"method":{"const":"SendMessage"},"params":{"type":"object","properties":{"message":{"type":"object","properties":{"messageId":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{1,128}$"},"contextId":{"type":"string"},"taskId":{"type":"string"},"role":{"const":"ROLE_USER"},"parts":{"type":"array","minItems":1,"maxItems":1,"items":{"type":"object","properties":{"data":{"oneOf":[{"type":"object","properties":{"command":{"const":"discover"},"product_id":{"type":"string"}},"required":["command"],"additionalProperties":false},{"type":"object","properties":{"command":{"const":"recommend"},"requirements":{"type":"object","properties":{"sites":{"type":"integer","minimum":0,"maximum":100},"storage_gb":{"type":"integer","minimum":0,"maximum":10000},"managed":{"type":"boolean"},"budget_minor":{"type":"integer","minimum":0,"maximum":100000000}},"required":[],"additionalProperties":false}},"required":["command"],"additionalProperties":false},{"type":"object","properties":{"command":{"const":"quote"},"quote":{"type":"object","properties":{"currency":{"const":"PKR"},"lines":{"type":"array","minItems":1,"maxItems":5,"items":{"type":"object","properties":{"product_id":{"type":"string"},"offer_id":{"type":"string"},"quantity":{"type":"integer","minimum":1,"maximum":10},"domain":{"type":"string","maxLength":253},"pricing_class":{"enum":["standard","premium","unknown"]}},"required":["product_id","offer_id","quantity"],"additionalProperties":false}}},"required":["currency","lines"],"additionalProperties":false}},"required":["command","quote"],"additionalProperties":false},{"type":"object","properties":{"command":{"const":"counteroffer"},"quote_id":{"type":"string"},"counteroffer":{"type":"object","properties":{"requested_discount_bps":{"type":"integer","minimum":0,"maximum":10000},"alternative_offer_id":{"type":"string"}},"required":["requested_discount_bps"],"additionalProperties":false}},"required":["command","quote_id","counteroffer"],"additionalProperties":false},{"type":"object","properties":{"command":{"const":"quote_status"},"quote_id":{"type":"string"}},"required":["command","quote_id"],"additionalProperties":false},{"type":"object","properties":{"command":{"const":"handoff"},"quote_id":{"type":"string"},"acceptance":{"type":"object","properties":{"revision":{"type":"integer","minimum":1},"acknowledge_live_check":{"const":true}},"required":["revision","acknowledge_live_check"],"additionalProperties":false}},"required":["command","quote_id","acceptance"],"additionalProperties":false}]},"mediaType":{"const":"application/json"}},"required":["data","mediaType"],"additionalProperties":false}}},"required":["messageId","role","parts"],"additionalProperties":false},"configuration":{"type":"object","properties":{"acceptedOutputModes":{"type":"array","items":{"type":"string"}},"historyLength":{"type":"integer","minimum":0,"maximum":100},"returnImmediately":{"type":"boolean"}},"required":[],"additionalProperties":false}},"required":["message"],"additionalProperties":false}},"required":["jsonrpc","id","method","params"],"additionalProperties":false},{"type":"object","properties":{"jsonrpc":{"const":"2.0"},"id":{"type":["string","integer"]},"method":{"const":"GetTask"},"params":{"type":"object","properties":{"id":{"type":"string"},"historyLength":{"type":"integer","minimum":0,"maximum":100}},"required":["id"],"additionalProperties":false}},"required":["jsonrpc","id","method","params"],"additionalProperties":false},{"type":"object","properties":{"jsonrpc":{"const":"2.0"},"id":{"type":["string","integer"]},"method":{"const":"ListTasks"},"params":{"type":"object","properties":{"contextId":{"type":"string"},"status":{"type":"string","pattern":"^TASK_STATE_"},"pageSize":{"type":"integer","minimum":1,"maximum":100},"pageToken":{"type":"string"},"historyLength":{"type":"integer","minimum":0,"maximum":100},"statusTimestampAfter":{"type":"string","format":"date-time"},"includeArtifacts":{"type":"boolean"}},"required":[],"additionalProperties":false}},"required":["jsonrpc","id","method","params"],"additionalProperties":false},{"type":"object","properties":{"jsonrpc":{"const":"2.0"},"id":{"type":["string","integer"]},"method":{"const":"CancelTask"},"params":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false}},"required":["jsonrpc","id","method","params"],"additionalProperties":false}]},"Task":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"contextId":{"type":"string","format":"uuid"},"status":{"type":"object","properties":{"state":{"const":"TASK_STATE_COMPLETED"},"timestamp":{"type":"string","format":"date-time"},"message":{"type":"object","properties":{"messageId":{"type":"string"},"contextId":{"type":"string"},"taskId":{"type":"string"},"role":{"enum":["ROLE_USER","ROLE_AGENT"]},"parts":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"data":{"type":"object"},"mediaType":{"const":"application/json"}},"required":["data","mediaType"],"additionalProperties":false},{"type":"object","properties":{"text":{"type":"string"},"mediaType":{"const":"text/plain"}},"required":["text","mediaType"],"additionalProperties":false}]}},"metadata":{"type":"object"},"extensions":{"type":"array","items":{"type":"string"}},"referenceTaskIds":{"type":"array","items":{"type":"string"}}},"required":["messageId","role","parts"],"additionalProperties":false}},"required":["state"],"additionalProperties":false},"artifacts":{"type":"array","items":{"type":"object","properties":{"artifactId":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"parts":{"type":"array","minItems":1,"items":{"type":"object","properties":{"data":{"type":"object"},"mediaType":{"const":"application/json"}},"required":["data","mediaType"],"additionalProperties":false}},"metadata":{"type":"object"},"extensions":{"type":"array","items":{"type":"string"}}},"required":["artifactId","parts"],"additionalProperties":false}},"history":{"type":"array","items":{"type":"object","properties":{"messageId":{"type":"string"},"contextId":{"type":"string"},"taskId":{"type":"string"},"role":{"enum":["ROLE_USER","ROLE_AGENT"]},"parts":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"data":{"type":"object"},"mediaType":{"const":"application/json"}},"required":["data","mediaType"],"additionalProperties":false},{"type":"object","properties":{"text":{"type":"string"},"mediaType":{"const":"text/plain"}},"required":["text","mediaType"],"additionalProperties":false}]}},"metadata":{"type":"object"},"extensions":{"type":"array","items":{"type":"string"}},"referenceTaskIds":{"type":"array","items":{"type":"string"}}},"required":["messageId","role","parts"],"additionalProperties":false}},"metadata":{"type":"object"}},"required":["id","contextId","status"],"additionalProperties":false},"AgentCard":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"version":{"const":"1.1.0"},"provider":{"type":"object","properties":{"organization":{"type":"string"},"url":{"type":"string","format":"uri"}},"required":["organization","url"],"additionalProperties":false},"documentationUrl":{"type":"string","format":"uri"},"supportedInterfaces":{"type":"array","minItems":1,"maxItems":1,"items":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"protocolBinding":{"const":"JSONRPC"},"protocolVersion":{"const":"1.0"}},"required":["url","protocolBinding","protocolVersion"],"additionalProperties":false}},"capabilities":{"type":"object","properties":{"streaming":{"const":false},"pushNotifications":{"const":false},"extendedAgentCard":{"const":false}},"required":["streaming","pushNotifications","extendedAgentCard"],"additionalProperties":false},"securitySchemes":{"type":"object","properties":{"agentKey":{"type":"object","properties":{"httpAuthSecurityScheme":{"type":"object","properties":{"description":{"type":"string"},"scheme":{"const":"Bearer"}},"required":["scheme"],"additionalProperties":false}},"required":["httpAuthSecurityScheme"],"additionalProperties":false}},"required":["agentKey"],"additionalProperties":false},"securityRequirements":{"type":"array","items":{"type":"object","properties":{"schemes":{"type":"object","properties":{"agentKey":{"type":"object","properties":{"list":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}},"required":["agentKey"],"additionalProperties":false}},"required":["schemes"],"additionalProperties":false}},"defaultInputModes":{"const":["application/json"]},"defaultOutputModes":{"const":["application/json"]},"skills":{"type":"array","minItems":6,"maxItems":6,"items":{"type":"object","properties":{"id":{"enum":["discover","recommend","quote","counteroffer","quote_status","handoff"]},"name":{"type":"string"},"description":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"examples":{"type":"array","items":{"type":"string"}}},"required":["id","name","description","tags"],"additionalProperties":false}}},"required":["name","description","version","supportedInterfaces","capabilities","securitySchemes","securityRequirements","defaultInputModes","defaultOutputModes","skills"],"additionalProperties":false},"SendResponse":{"type":"object","properties":{"jsonrpc":{"const":"2.0"},"id":{"type":["string","integer"]},"result":{"type":"object","properties":{"task":{"$ref":"#/definitions/Task"}},"required":["task"],"additionalProperties":false}},"required":["jsonrpc","id","result"],"additionalProperties":false},"Error":{"type":"object","properties":{"jsonrpc":{"const":"2.0"},"id":{"type":["string","integer","null"]},"error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"type":["object","array"]}},"required":["code","message"],"additionalProperties":false}},"required":["jsonrpc","id","error"],"additionalProperties":false},"GetResponse":{"type":"object","properties":{"jsonrpc":{"const":"2.0"},"id":{"type":["string","integer"]},"result":{"$ref":"#/definitions/Task"}},"required":["jsonrpc","id","result"],"additionalProperties":false},"ListResponse":{"type":"object","properties":{"jsonrpc":{"const":"2.0"},"id":{"type":["string","integer"]},"result":{"type":"object","properties":{"tasks":{"type":"array","items":{"$ref":"#/definitions/Task"}},"pageSize":{"type":"integer"},"totalSize":{"type":"integer"},"nextPageToken":{"type":"string"}},"required":[],"additionalProperties":false}},"required":["jsonrpc","id","result"],"additionalProperties":false}}}