/.well-known/agent-card.json
A2A v1.0 স্পেসিফিকেশন দ্বারা নিবন্ধিত well-known URI। নতুন ক্লায়েন্টরা প্রথমে এই পথ আনে; এটি application/a2a+json কনটেন্ট টাইপ দিয়ে পরিবেশন করুন।
ডিসকভারি টুল · A2A v1.0
A2A ক্লায়েন্টরা একটি well-known URL থেকে JSON Agent Card নিয়ে এজেন্ট আবিষ্কার করে। একটি লাইভ ডোমেইনে উভয় নামকরণ রীতি পরীক্ষা করুন এবং দেখুন ক্লায়েন্টরা আসলে কী পায়।
একই বেস ডোমেইন থেকে উভয় সম্ভাব্য ডিসকভারি URL তৈরি করে।
ফেরত আসা JSON আনে এবং স্ট্যাটাস কোড ও কনটেন্ট টাইপ রিপোর্ট করে।
সম্ভব হলে প্রতিক্রিয়াকে Agent Card JSON হিসেবে পার্স করে।
ইন্টারফেস, স্কিল, প্রোভাইডার, মোড, ক্ষমতা এবং নিরাপত্তা মেটাডেটার জন্য প্রস্তুতি পরীক্ষা চালায়।
একটি বেস ডোমেইন লিখুন। চেকার উভয় ডিসকভারি পথ আনে, ফেরত আসা JSON পার্স করে, এবং Agent Card প্রস্তুতি পরীক্ষা চালায়।
ডিসকভারি কীভাবে কাজ করে
অন্য কোনো এজেন্ট আপনার সেবা কল করার আগে, এটি আপনার ডোমেইনে well-known URI (RFC 8615) থেকে Agent Card আনে, স্কিল ও নিরাপত্তা প্রয়োজনীয়তা মূল্যায়ন করে, তারপর পছন্দের ইন্টারফেস কল করে। Agent Card অনুপস্থিত, পুরনো, বা রিডাইরেক্টের আড়ালে লুকানো থাকলে, ইন্টিগ্রেশন শুরুর আগেই ব্যর্থ হয়।
এই সাইট যা পরীক্ষা করে তা নিজেই অনুশীলন করে: AgentCard.net উভয় পথে নিজস্ব Agent Card প্রকাশ করে, এবং ডানদিকের উদাহরণটি প্রকৃত নথি।
আমাদের লাইভ Agent Card দেখুনGET /.well-known/agent-card.json HTTP/1.1
Host: www.agentcard.net
HTTP/1.1 200 OK
Content-Type: application/a2a+json
{
"name": "AgentCard.net Toolkit",
"version": "1.0.0",
"supportedInterfaces": [
{ "url": "https://www.agentcard.net/api/agent-card",
"protocolBinding": "HTTP+JSON",
"protocolVersion": "1.0" }
],
"skills": [
{ "id": "generate-agent-card", ... },
{ "id": "validate-agent-card", ... },
{ "id": "check-well-known-discovery", ... }
]
}ডিসকভারি পথ
A2A v1.0 স্পেসিফিকেশন দ্বারা নিবন্ধিত well-known URI। নতুন ক্লায়েন্টরা প্রথমে এই পথ আনে; এটি application/a2a+json কনটেন্ট টাইপ দিয়ে পরিবেশন করুন।
প্রাথমিক A2A বাস্তবায়ন এবং কোডল্যাব উদাহরণে ব্যবহৃত। মোতায়েনকৃত অনেক ক্লায়েন্ট এখনও শুধু এই পথ পরীক্ষা করে, তাই এখানে একই Agent Card পরিবেশন করা একটি নিরাপদ রূপান্তর কৌশল।
প্রকাশনার প্যাটার্ন
ডিসকভারি ব্যর্থতা কদাচিৎ জটিল হয়: একটি রিডাইরেক্ট, একটি ক্যাশড এরর পেজ, অথবা একটি পথ মোতায়েন করে অন্যটি ভুলে যাওয়া। এই প্রকাশনা রুটিন উভয় রীতিকে সবসময় একই সাম্প্রতিক Agent Card পরিবেশন করতে রাখে।
পর্যালোচিত Agent Card /.well-known/agent-card.json-এ HTTPS-এর মাধ্যমে A2A পরিষেবার একই ডোমেইনে, application/a2a+json কনটেন্ট টাইপ দিয়ে পরিবেশন করুন।
পুরনো ক্লায়েন্টরা এখনও ব্যবহারে থাকাকালীন /.well-known/agent.json থেকে অভিন্ন নথি ফেরত দিন — দুই পথে ভিন্ন Agent Card রাউটিং বিভ্রান্ত করে।
এন্ডপয়েন্ট, স্কিল, ক্ষমতা, বা প্রমাণীকরণ পরিবর্তন হলেই, Agent Card আপডেট করুন, এর version ফিল্ড বাড়ান, এবং উভয় পথ একসাথে পুনরায় মোতায়েন করুন।
মোতায়েন, DNS পরিবর্তন, গেটওয়ে মাইগ্রেশন, বা মার্কেটপ্লেস সম্পাদনার পর এই চেকার চালান। ব্যর্থতা সাধারণত রিডাইরেক্ট, HTML এরর পেজ, বা একটি ভুলে যাওয়া পথ থেকে আসে।
সাধারণ প্রশ্ন
কী প্রকাশ করবেন, কোথায় প্রকাশ করবেন, এবং উভয় রীতির ক্লায়েন্ট কীভাবে কার্যকর রাখবেন।
A2A v1.0 /.well-known/agent-card.json-কে স্ট্যান্ডার্ড ডিসকভারি পথ হিসেবে নিবন্ধন করে। পুরনো /.well-known/agent.json v1.0-এর আগের হলেও এখনও অনেক মোতায়েনকৃত ক্লায়েন্ট এটি পরীক্ষা করে, তাই রূপান্তরকালে উভয় পথে একই Agent Card প্রকাশ করা বাস্তবসম্মত পছন্দ।
হ্যাঁ। উভয় পথ থেকে একই পাবলিক Agent Card ফেরত দেওয়া শুধু একটি রীতি সমর্থনকারী ক্লায়েন্টদের সামঞ্জস্যপূর্ণ রাখে। ভিন্ন নথি ক্লায়েন্ট কোন পথ আনে তার উপর নির্ভর করে এজেন্টকে ভিন্ন দেখায়।
স্পেসিফিকেশন Agent Card-এর জন্য application/a2a+json নিবন্ধন করে। সাধারণ application/json বাস্তবে ব্যাপকভাবে গৃহীত, কিন্তু HTML কনটেন্ট টাইপ একটি নির্ভরযোগ্য চিহ্ন যে পথটি Agent Card পরিবর্তে একটি এরর পেজ ফেরত দিচ্ছে।
হ্যাঁ। পাবলিক Agent Card শুধু ডিসকভারি-নিরাপদ মেটাডেটা প্রকাশ করুন, capabilities.extendedAgentCard true সেট করুন, এবং প্রমাণীকৃত GetExtendedAgentCard অপারেশনের মাধ্যমে সংবেদনশীল স্কিল প্রকাশ করুন।
সাধারণ কারণগুলি হলো লগইন বা মার্কেটিং পেজে রিডাইরেক্ট, স্ট্যাটাস 200 সহ ফেরত আসা HTML 404 পেজ, CDN-এ ক্যাশড পুরনো JSON, বা দুটি well-known পথের মধ্যে শুধু একটি মোতায়েন করা। চেকার প্রতিটি পথের জন্য স্ট্যাটাস কোড এবং কনটেন্ট টাইপ রিপোর্ট করে, তাই ব্যর্থতা তাৎক্ষণিকভাবে দৃশ্যমান হয়।
প্রকাশের আগে
প্রথমে JSON সম্পূর্ণ ভ্যালিডেটরের মধ্য দিয়ে চালান, উভয় well-known পথে প্রকাশ করুন, এবং এই চেকার দিয়ে ডিসকভারি নিশ্চিত করুন।