feat(ux): plug-and-play config snippets, real-time live telemetry, carrier brand accents and SVG favicon

This commit is contained in:
2026-09-10 23:15:14 +00:00
parent 3546544da8
commit e985a144b3
+65 -32
View File
@@ -4,6 +4,12 @@
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="Aura Courier MCP v2.4 — Universal Bangladesh Logistics & Spatial Engine for AI Agents."> <meta name="description" content="Aura Courier MCP v2.4 — Universal Bangladesh Logistics & Spatial Engine for AI Agents.">
<link rel="icon" type="image/svg+xml" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='32' y2='32' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%234d7cff'/%3E%3Cstop offset='0.5' stop-color='%238b5cf6'/%3E%3Cstop offset='1' stop-color='%2338bdf8'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='32' height='32' rx='8' fill='%23131520' stroke='%2324293e' stroke-width='2'/%3E%3Cpath d='M16 6 L25 11 L25 21 L16 26 L7 21 L7 11 Z' fill='none' stroke='url(%23g)' stroke-width='2.2' stroke-linejoin='round'/%3E%3Cpath d='M16 6 L16 26 M7 11 L16 16 L25 11' stroke='url(%23g)' stroke-width='1.8' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E">
<meta property="og:title" content="Aura Courier MCP v2.4 — Universal Bangladesh Logistics & Spatial Engine">
<meta property="og:description" content="One unified connector for all Bangladesh courier logistics & Google Maps spatial intelligence. Steadfast, Pathao, RedX, Paperfly.">
<meta property="og:url" content="https://courier.auraajenticai.cloud">
<meta property="og:type" content="website">
<meta name="twitter:card" content="summary_large_image">
<title>Aura Courier MCP v2.4 — Universal Bangladesh Logistics & Spatial Engine</title> <title>Aura Courier MCP v2.4 — Universal Bangladesh Logistics & Spatial Engine</title>
<style> <style>
:root{ :root{
@@ -77,10 +83,18 @@
.c-card{background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:22px; display:flex; flex-direction:column; justify-content:space-between; min-height:148px; transition:border-color .15s ease, transform .15s ease} .c-card{background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:22px; display:flex; flex-direction:column; justify-content:space-between; min-height:148px; transition:border-color .15s ease, transform .15s ease}
.c-card:hover{border-color:var(--blue); transform:translateY(-2px)} .c-card:hover{border-color:var(--blue); transform:translateY(-2px)}
.c-card-top{display:flex; justify-content:space-between; align-items:center; margin-bottom:12px} .c-card-top{display:flex; justify-content:space-between; align-items:center; margin-bottom:12px}
.c-title-wrap{display:flex; align-items:center; gap:9px}
.c-dot{width:9px; height:9px; border-radius:50%; display:inline-block; flex-shrink:0}
.c-dot.sf{background:#10b981; box-shadow:0 0 10px rgba(16,185,129,0.7)}
.c-dot.pt{background:#ef4444; box-shadow:0 0 10px rgba(239,68,68,0.7)}
.c-dot.rx{background:#f97316; box-shadow:0 0 10px rgba(249,115,22,0.7)}
.c-dot.pf{background:#0ea5e9; box-shadow:0 0 10px rgba(14,165,233,0.7)}
.c-card b{font-size:17px; color:#fff} .c-card b{font-size:17px; color:#fff}
.c-desc{font-size:13px; color:var(--muted); line-height:1.5} .c-desc{font-size:13px; color:var(--muted); line-height:1.5}
.c-meta{font-size:11.5px; font-family:"SF Mono",monospace; color:var(--cyan); margin-top:12px} .c-meta{font-size:11.5px; font-family:"SF Mono",monospace; color:var(--cyan); margin-top:12px}
.badge-live-sm{font-size:11.5px; font-weight:700; color:var(--green); background:var(--green-bg); padding:4px 10px; border-radius:99px; border:1px solid color-mix(in srgb,var(--green) 30%,transparent)} .badge-live-sm{font-size:11.5px; font-weight:700; color:var(--green); background:var(--green-bg); padding:4px 10px; border-radius:99px; border:1px solid color-mix(in srgb,var(--green) 30%,transparent)}
@keyframes pulseGlow{0%,100%{opacity:1} 50%{opacity:.45}}
.pulse{animation:pulseGlow 2s infinite ease-in-out}
/* Spatial Feature Box */ /* Spatial Feature Box */
.spatial-box{margin-top:20px; background:linear-gradient(135deg, rgba(56,189,248,0.08), rgba(77,124,255,0.08)); border:1px solid rgba(56,189,248,0.3); border-radius:14px; padding:24px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px} .spatial-box{margin-top:20px; background:linear-gradient(135deg, rgba(56,189,248,0.08), rgba(77,124,255,0.08)); border:1px solid rgba(56,189,248,0.3); border-radius:14px; padding:24px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px}
@@ -198,7 +212,10 @@
<div class="c-card"> <div class="c-card">
<div> <div>
<div class="c-card-top"> <div class="c-card-top">
<b>Steadfast</b> <div class="c-title-wrap">
<span class="c-dot sf"></span>
<b>Steadfast</b>
</div>
<span class="badge-live-sm">● live</span> <span class="badge-live-sm">● live</span>
</div> </div>
<div class="c-desc" data-i18n="sf_desc">Packzy API v1 · সারা দেশে ৬৪ জেলায় ২৪-৪৮ ঘণ্টার ক্যাশ অন ডেলিভারি ও অটোমেটেড ট্র্যাকিং।</div> <div class="c-desc" data-i18n="sf_desc">Packzy API v1 · সারা দেশে ৬৪ জেলায় ২৪-৪৮ ঘণ্টার ক্যাশ অন ডেলিভারি ও অটোমেটেড ট্র্যাকিং।</div>
@@ -209,7 +226,10 @@
<div class="c-card"> <div class="c-card">
<div> <div>
<div class="c-card-top"> <div class="c-card-top">
<b>Pathao Express</b> <div class="c-title-wrap">
<span class="c-dot pt"></span>
<b>Pathao Express</b>
</div>
<span class="badge-live-sm">● live</span> <span class="badge-live-sm">● live</span>
</div> </div>
<div class="c-desc" data-i18n="pt_desc">AI Agent Dispatch · সিটি ও জোন অটো-রেজলভার সহ দ্রুততম অন-ডিমান্ড ও এক্সপ্রেস ডেলিভারি।</div> <div class="c-desc" data-i18n="pt_desc">AI Agent Dispatch · সিটি ও জোন অটো-রেজলভার সহ দ্রুততম অন-ডিমান্ড ও এক্সপ্রেস ডেলিভারি।</div>
@@ -220,7 +240,10 @@
<div class="c-card"> <div class="c-card">
<div> <div>
<div class="c-card-top"> <div class="c-card-top">
<b>RedX Delivery</b> <div class="c-title-wrap">
<span class="c-dot rx"></span>
<b>RedX Delivery</b>
</div>
<span class="badge-live-sm">● live</span> <span class="badge-live-sm">● live</span>
</div> </div>
<div class="c-desc" data-i18n="rx_desc">OpenAPI v1 · ২,৮৪৯টি ডেলিভারি হাব ও দেশজুড়ে শক্তিশালী ডিস্ট্রিবিউশন নেটওয়ার্ক।</div> <div class="c-desc" data-i18n="rx_desc">OpenAPI v1 · ২,৮৪৯টি ডেলিভারি হাব ও দেশজুড়ে শক্তিশালী ডিস্ট্রিবিউশন নেটওয়ার্ক।</div>
@@ -231,7 +254,10 @@
<div class="c-card"> <div class="c-card">
<div> <div>
<div class="c-card-top"> <div class="c-card-top">
<b>Paperfly Go</b> <div class="c-title-wrap">
<span class="c-dot pf"></span>
<b>Paperfly Go</b>
</div>
<span class="badge-live-sm">● live</span> <span class="badge-live-sm">● live</span>
</div> </div>
<div class="c-desc" data-i18n="pf_desc">Wing API v1 · প্রত্যন্ত ইউনিয়ন পর্যন্ত ডোরস্টেপ পিকআপ ও হোম ডেলিভারি কাভারেজ।</div> <div class="c-desc" data-i18n="pf_desc">Wing API v1 · প্রত্যন্ত ইউনিয়ন পর্যন্ত ডোরস্টেপ পিকআপ ও হোম ডেলিভারি কাভারেজ।</div>
@@ -284,7 +310,7 @@
<article class="t-card"> <article class="t-card">
<div class="t-head"> <div class="t-head">
<h3>create_parcel</h3> <h3>create_parcel</h3>
<span class="t-tag" data-i18n="tag_order">Order Dispatch</span> <span class="t-tag" data-i18n="tag_order">অর্ডার ডিসপ্যাচ</span>
</div> </div>
<p data-i18n="tool_create_desc">যেকোনো courier-এ অটোমেটিক ডেলিভারি বুকিং (Steadfast, Pathao, RedX, Paperfly)। Pathao spatial auto-resolver সহ Consignment ID ও ট্র্যাকিং কোড নিশ্চিত করে।</p> <p data-i18n="tool_create_desc">যেকোনো courier-এ অটোমেটিক ডেলিভারি বুকিং (Steadfast, Pathao, RedX, Paperfly)। Pathao spatial auto-resolver সহ Consignment ID ও ট্র্যাকিং কোড নিশ্চিত করে।</p>
</article> </article>
@@ -292,7 +318,7 @@
<article class="t-card"> <article class="t-card">
<div class="t-head"> <div class="t-head">
<h3>track_parcel</h3> <h3>track_parcel</h3>
<span class="t-tag" data-i18n="tag_track">Unified Tracking</span> <span class="t-tag" data-i18n="tag_track">ইউনিফাইড ট্র্যাকিং</span>
</div> </div>
<p data-i18n="tool_track_desc">Consignment, Invoice বা Tracking Code দিয়ে রিয়েল-টাইম ডেলিভারি স্ট্যাটাস ও সর্বজনীন টাইমলাইন ট্র্যাকিং।</p> <p data-i18n="tool_track_desc">Consignment, Invoice বা Tracking Code দিয়ে রিয়েল-টাইম ডেলিভারি স্ট্যাটাস ও সর্বজনীন টাইমলাইন ট্র্যাকিং।</p>
</article> </article>
@@ -300,7 +326,7 @@
<article class="t-card"> <article class="t-card">
<div class="t-head"> <div class="t-head">
<h3>get_balance</h3> <h3>get_balance</h3>
<span class="t-tag" data-i18n="tag_finance">Finance</span> <span class="t-tag" data-i18n="tag_finance">ফাইন্যান্স</span>
</div> </div>
<p data-i18n="tool_balance_desc">সব courier মার্চেন্ট একাউন্টের লাইভ ব্যালেন্স, পেন্ডিং ডিসবার্সমেন্ট ও পেআউট স্ট্যাটাস (BDT)।</p> <p data-i18n="tool_balance_desc">সব courier মার্চেন্ট একাউন্টের লাইভ ব্যালেন্স, পেন্ডিং ডিসবার্সমেন্ট ও পেআউট স্ট্যাটাস (BDT)।</p>
</article> </article>
@@ -308,7 +334,7 @@
<article class="t-card"> <article class="t-card">
<div class="t-head"> <div class="t-head">
<h3>check_fraud_risk</h3> <h3>check_fraud_risk</h3>
<span class="t-tag" data-i18n="tag_fraud">Fraud AI</span> <span class="t-tag" data-i18n="tag_fraud">ফ্রড এআই</span>
</div> </div>
<p data-i18n="tool_fraud_desc">পার্সেল পাঠানোর আগেই গ্রাহকের ফোন নম্বর জাতীয় লজিস্টিকস ডাটাবেসে বিশ্লেষণ করে ডেলিভারি সাকসেস রেট ও রিটার্ন রিস্ক স্কোর নির্ধারণ করে। Zero mock data।</p> <p data-i18n="tool_fraud_desc">পার্সেল পাঠানোর আগেই গ্রাহকের ফোন নম্বর জাতীয় লজিস্টিকস ডাটাবেসে বিশ্লেষণ করে ডেলিভারি সাকসেস রেট ও রিটার্ন রিস্ক স্কোর নির্ধারণ করে। Zero mock data।</p>
</article> </article>
@@ -316,7 +342,7 @@
<article class="t-card"> <article class="t-card">
<div class="t-head"> <div class="t-head">
<h3>list_couriers</h3> <h3>list_couriers</h3>
<span class="t-tag" data-i18n="tag_discovery">Discovery</span> <span class="t-tag" data-i18n="tag_discovery">ডিসকভারি</span>
</div> </div>
<p data-i18n="tool_list_desc">সিস্টেমে সংযুক্ত কুরিয়ারসমূহের অ্যাক্টিভ স্ট্যাটাস, মার্চেন্ট ক্রেডেনশিয়াল কনফিগারেশন ও অপারেশনাল হেলথ যাচাই করুন।</p> <p data-i18n="tool_list_desc">সিস্টেমে সংযুক্ত কুরিয়ারসমূহের অ্যাক্টিভ স্ট্যাটাস, মার্চেন্ট ক্রেডেনশিয়াল কনফিগারেশন ও অপারেশনাল হেলথ যাচাই করুন।</p>
</article> </article>
@@ -324,7 +350,7 @@
<article class="t-card"> <article class="t-card">
<div class="t-head"> <div class="t-head">
<h3>validate_and_geocode_address</h3> <h3>validate_and_geocode_address</h3>
<span class="t-tag new" data-i18n="tag_spatial">Spatial AI</span> <span class="t-tag new" data-i18n="tag_spatial">স্পেশিয়াল এআই</span>
</div> </div>
<p data-i18n="tool_geocode_desc">Google Maps Platform Geocoding API ও রুটপ-লেভেল কোঅর্ডিনেট ব্যবহার করে ঠিকানা থেকে সাব-লোকালিটি (থানা, জেলা, বিভাগ) নির্ভুলভাবে শনাক্তকরণ।</p> <p data-i18n="tool_geocode_desc">Google Maps Platform Geocoding API ও রুটপ-লেভেল কোঅর্ডিনেট ব্যবহার করে ঠিকানা থেকে সাব-লোকালিটি (থানা, জেলা, বিভাগ) নির্ভুলভাবে শনাক্তকরণ।</p>
</article> </article>
@@ -332,7 +358,7 @@
<article class="t-card"> <article class="t-card">
<div class="t-head"> <div class="t-head">
<h3>calculate_delivery_zone_and_fee</h3> <h3>calculate_delivery_zone_and_fee</h3>
<span class="t-tag new" data-i18n="tag_pricing">Pricing Engine</span> <span class="t-tag new" data-i18n="tag_pricing">প্রাইসিং ইঞ্জিন</span>
</div> </div>
<p data-i18n="tool_fee_desc">ঠিকানা অনুযায়ী অটোমেটিক জোন ক্লাসিফিকেশন (Dhaka: ৳80, Sub-Dhaka: ৳100, Outside Dhaka: ৳150) ও ডেলিভারি চার্জ নির্ধারণ।</p> <p data-i18n="tool_fee_desc">ঠিকানা অনুযায়ী অটোমেটিক জোন ক্লাসিফিকেশন (Dhaka: ৳80, Sub-Dhaka: ৳100, Outside Dhaka: ৳150) ও ডেলিভারি চার্জ নির্ধারণ।</p>
</article> </article>
@@ -340,7 +366,7 @@
<article class="t-card"> <article class="t-card">
<div class="t-head"> <div class="t-head">
<h3>compare_courier_rates</h3> <h3>compare_courier_rates</h3>
<span class="t-tag new" data-i18n="tag_sla">SLA & Cost</span> <span class="t-tag new" data-i18n="tag_sla">এসএলএ ও খরচ</span>
</div> </div>
<p data-i18n="tool_compare_desc">সবগুলো কুরিয়ারের রিয়েল-টাইম রেট, COD কমিশন ও প্রত্যাশিত ডেলিভারি টাইমলাইন পাশাপাশি তুলনা করে সেরা কুরিয়ার নির্বাচন।</p> <p data-i18n="tool_compare_desc">সবগুলো কুরিয়ারের রিয়েল-টাইম রেট, COD কমিশন ও প্রত্যাশিত ডেলিভারি টাইমলাইন পাশাপাশি তুলনা করে সেরা কুরিয়ার নির্বাচন।</p>
</article> </article>
@@ -348,7 +374,7 @@
<article class="t-card"> <article class="t-card">
<div class="t-head"> <div class="t-head">
<h3>resolve_ndr_issue</h3> <h3>resolve_ndr_issue</h3>
<span class="t-tag new" data-i18n="tag_ndr">NDR Resolution</span> <span class="t-tag new" data-i18n="tag_ndr">এনডিআর সমাধান</span>
</div> </div>
<p data-i18n="tool_ndr_desc">নন-ডেলিভারি রিপোর্ট (NDR) সমস্যা চিহ্নিত করে গ্রাহকের জন্য অটোমেটিক বাংলা/ইংরেজি WhatsApp মেসেজ ড্রাফট ও কুরিয়ার ডিসপুট গাইডেন্স তৈরি।</p> <p data-i18n="tool_ndr_desc">নন-ডেলিভারি রিপোর্ট (NDR) সমস্যা চিহ্নিত করে গ্রাহকের জন্য অটোমেটিক বাংলা/ইংরেজি WhatsApp মেসেজ ড্রাফট ও কুরিয়ার ডিসপুট গাইডেন্স তৈরি।</p>
</article> </article>
@@ -456,21 +482,7 @@
<pre id="code-snippet" class="code-body" tabindex="0">{ <pre id="code-snippet" class="code-body" tabindex="0">{
"mcpServers": { "mcpServers": {
"aura-courier": { "aura-courier": {
"command": "npx.cmd", "url": "https://courier.auraajenticai.cloud/mcp"
"args": ["-y", "aura-courier-mcp@latest"],
"env": {
"STEADFAST_API_KEY": "YOUR_STEADFAST_API_KEY",
"STEADFAST_SECRET_KEY": "YOUR_STEADFAST_SECRET_KEY",
"PATHAO_CLIENT_ID": "YOUR_PATHAO_CLIENT_ID",
"PATHAO_CLIENT_SECRET": "YOUR_PATHAO_CLIENT_SECRET",
"PATHAO_USERNAME": "YOUR_PATHAO_USER",
"PATHAO_PASSWORD": "YOUR_PATHAO_PASS",
"REDX_API_TOKEN": "YOUR_REDX_TOKEN",
"PAPERFLY_KEY": "YOUR_PAPERFLY_KEY",
"PAPERFLY_USERNAME": "YOUR_PAPERFLY_USER",
"PAPERFLY_PASSWORD": "YOUR_PAPERFLY_PASS",
"GOOGLE_MAPS_API_KEY": "YOUR_GOOGLE_MAPS_KEY"
}
} }
} }
}</pre> }</pre>
@@ -679,13 +691,14 @@ function setLang(lang) {
el.innerHTML = dict[key]; el.innerHTML = dict[key];
} }
}); });
updateLiveTelemetry();
} }
const configs = { const configs = {
antigravity: `{\n "mcpServers": {\n "aura-courier": {\n "command": "npx.cmd",\n "args": ["-y", "aura-courier-mcp@latest"],\n "env": {\n "STEADFAST_API_KEY": "YOUR_STEADFAST_API_KEY",\n "STEADFAST_SECRET_KEY": "YOUR_STEADFAST_SECRET_KEY",\n "PATHAO_CLIENT_ID": "YOUR_PATHAO_CLIENT_ID",\n "PATHAO_CLIENT_SECRET": "YOUR_PATHAO_CLIENT_SECRET",\n "PATHAO_USERNAME": "YOUR_PATHAO_USER",\n "PATHAO_PASSWORD": "YOUR_PATHAO_PASS",\n "REDX_API_TOKEN": "YOUR_REDX_TOKEN",\n "PAPERFLY_KEY": "YOUR_PAPERFLY_KEY",\n "PAPERFLY_USERNAME": "YOUR_PAPERFLY_USER",\n "PAPERFLY_PASSWORD": "YOUR_PAPERFLY_PASS",\n "GOOGLE_MAPS_API_KEY": "YOUR_GOOGLE_MAPS_KEY"\n }\n }\n }\n}`, antigravity: `{\n "mcpServers": {\n "aura-courier": {\n "url": "https://courier.auraajenticai.cloud/mcp"\n }\n }\n}`,
hosted: `{\n "mcpServers": {\n "aura-courier": {\n "url": "https://courier.auraajenticai.cloud/mcp",\n "headers": {\n "x-steadfast-api-key": "YOUR_STEADFAST_KEY",\n "x-steadfast-secret-key": "YOUR_STEADFAST_SECRET",\n "x-pathao-client-id": "YOUR_PATHAO_CLIENT_ID",\n "x-pathao-client-secret": "YOUR_PATHAO_CLIENT_SECRET",\n "x-redx-api-token": "YOUR_REDX_TOKEN",\n "x-paperfly-key": "YOUR_PAPERFLY_KEY",\n "x-paperfly-user": "YOUR_PAPERFLY_USER",\n "x-paperfly-pass": "YOUR_PAPERFLY_PASS"\n }\n }\n }\n}`, hosted: `{\n "mcpServers": {\n "aura-courier": {\n "url": "https://courier.auraajenticai.cloud/mcp",\n "headers": {\n "x-steadfast-api-key": "OPTIONAL_CUSTOM_API_KEY",\n "x-steadfast-secret-key": "OPTIONAL_CUSTOM_SECRET_KEY",\n "x-pathao-client-id": "OPTIONAL_PATHAO_CLIENT_ID",\n "x-pathao-client-secret": "OPTIONAL_PATHAO_CLIENT_SECRET",\n "x-redx-api-token": "OPTIONAL_REDX_API_TOKEN",\n "x-paperfly-key": "OPTIONAL_PAPERFLY_KEY"\n }\n }\n }\n}`,
claude: `{\n "mcpServers": {\n "aura-courier": {\n "command": "npx",\n "args": ["-y", "aura-courier-mcp@latest"],\n "env": {\n "STEADFAST_API_KEY": "YOUR_STEADFAST_API_KEY",\n "STEADFAST_SECRET_KEY": "YOUR_STEADFAST_SECRET_KEY",\n "PATHAO_CLIENT_ID": "YOUR_PATHAO_CLIENT_ID",\n "PATHAO_CLIENT_SECRET": "YOUR_PATHAO_CLIENT_SECRET",\n "PATHAO_USERNAME": "YOUR_PATHAO_USER",\n "PATHAO_PASSWORD": "YOUR_PATHAO_PASS",\n "REDX_API_TOKEN": "YOUR_REDX_TOKEN",\n "PAPERFLY_KEY": "YOUR_PAPERFLY_KEY",\n "PAPERFLY_USERNAME": "YOUR_PAPERFLY_USER",\n "PAPERFLY_PASSWORD": "YOUR_PAPERFLY_PASS",\n "GOOGLE_MAPS_API_KEY": "YOUR_GOOGLE_MAPS_KEY"\n }\n }\n }\n}`, claude: `{\n "mcpServers": {\n "aura-courier": {\n "command": "npx",\n "args": [\n "-y",\n "mcp-remote",\n "https://courier.auraajenticai.cloud/mcp"\n ]\n }\n }\n}`,
cursor: `{\n "mcpServers": {\n "aura-courier": {\n "command": "npx",\n "args": ["-y", "aura-courier-mcp@latest"],\n "env": {\n "STEADFAST_API_KEY": "YOUR_STEADFAST_API_KEY",\n "STEADFAST_SECRET_KEY": "YOUR_STEADFAST_SECRET_KEY",\n "PATHAO_CLIENT_ID": "YOUR_PATHAO_CLIENT_ID",\n "PATHAO_CLIENT_SECRET": "YOUR_PATHAO_CLIENT_SECRET",\n "PATHAO_USERNAME": "YOUR_PATHAO_USER",\n "PATHAO_PASSWORD": "YOUR_PATHAO_PASS",\n "REDX_API_TOKEN": "YOUR_REDX_TOKEN",\n "PAPERFLY_KEY": "YOUR_PAPERFLY_KEY",\n "PAPERFLY_USERNAME": "YOUR_PAPERFLY_USER",\n "PAPERFLY_PASSWORD": "YOUR_PAPERFLY_PASS",\n "GOOGLE_MAPS_API_KEY": "YOUR_GOOGLE_MAPS_KEY"\n }\n }\n }\n}` cursor: `{\n "mcpServers": {\n "aura-courier": {\n "url": "https://courier.auraajenticai.cloud/mcp"\n }\n }\n}`
}; };
function switchTab(key, btnEl) { function switchTab(key, btnEl) {
@@ -701,6 +714,23 @@ function switchTab(key, btnEl) {
document.getElementById('code-snippet').textContent = configs[key]; document.getElementById('code-snippet').textContent = configs[key];
} }
async function updateLiveTelemetry() {
const t0 = performance.now();
try {
const res = await fetch('/health');
const latency = Math.round(performance.now() - t0);
if (res.ok) {
const data = await res.json();
const statusEl = document.querySelector('[data-i18n="health_status_val"]');
if (statusEl) {
const mem = data.memory_mb ? ` · ${data.memory_mb} MB heap` : '';
statusEl.innerHTML = `<span class="pulse" style="color:var(--green)">●</span> ` +
(currentLang === 'bn' ? `চলমান (${latency}ms${mem})` : `Operational (${latency}ms${mem})`);
}
}
} catch (e) {}
}
function showCopiedFeedback() { function showCopiedFeedback() {
const btn = document.querySelector('.copy-btn'); const btn = document.querySelector('.copy-btn');
if (!btn) return; if (!btn) return;
@@ -744,13 +774,16 @@ window.i18n = i18n;
window.setLang = setLang; window.setLang = setLang;
window.switchTab = switchTab; window.switchTab = switchTab;
window.copyCode = copyCode; window.copyCode = copyCode;
window.updateLiveTelemetry = updateLiveTelemetry;
// Initialize on page load // Initialize on page load
document.addEventListener('DOMContentLoaded', () => { document.addEventListener('DOMContentLoaded', () => {
setLang(currentLang); setLang(currentLang);
updateLiveTelemetry();
}); });
if (document.readyState === 'interactive' || document.readyState === 'complete') { if (document.readyState === 'interactive' || document.readyState === 'complete') {
setLang(currentLang); setLang(currentLang);
updateLiveTelemetry();
} }
</script> </script>
</body> </body>