forked from kimhyungsik/ax_hub_mcp_tool
Update: consolidate recent changes
This commit is contained in:
@@ -36,7 +36,7 @@
|
||||
<div class="flex items-center space-x-5">
|
||||
<a href="/index.html" class="flex items-center group" style="text-decoration:none;">
|
||||
<div class="w-2 h-2 rounded-full mr-2" style="background:#3b82f6; box-shadow: 0 0 8px rgba(59,130,246,0.8);"></div>
|
||||
<span class="font-semibold tracking-tight text-sm" style="color:#f4f4f5;">AXHUB WAS</span>
|
||||
<span class="font-semibold tracking-tight text-sm" style="color:#f4f4f5;">AXHUB Gateway</span>
|
||||
</a>
|
||||
<div class="h-4 w-px" style="background:#27272a;"></div>
|
||||
<nav class="flex space-x-5 text-[13px] font-medium">
|
||||
@@ -80,7 +80,7 @@
|
||||
function requestId() { return crypto.randomUUID ? crypto.randomUUID() : `${Date.now()}-${Math.random().toString(16).slice(2)}`; }
|
||||
function escapeHtml(value) { return String(value).replace(/[&<>]/g, item => ({'&':'&','<':'<','>':'>'}[item])); }
|
||||
|
||||
let isWasMode = false;
|
||||
let isGatewayMode = false;
|
||||
|
||||
async function loadManifest() {
|
||||
$('manifestStatus').textContent = 'Manifest loading';
|
||||
@@ -90,13 +90,13 @@
|
||||
if (!response.ok && response.status === 404) {
|
||||
// Gateway 환경 감지 및 Fallback 처리
|
||||
response = await fetch('/mcp/api/v1/tools/list');
|
||||
if (!response.ok) throw new Error(`WAS HTTP ${response.status}`);
|
||||
if (!response.ok) throw new Error(`Gateway HTTP ${response.status}`);
|
||||
|
||||
const rpcData = await response.json();
|
||||
state.tools = rpcData.result?.tools || [];
|
||||
isWasMode = true;
|
||||
isGatewayMode = true;
|
||||
|
||||
$('manifestStatus').textContent = `${state.tools.length} tools · WAS Mode`;
|
||||
$('manifestStatus').textContent = `${state.tools.length} tools · Gateway Mode`;
|
||||
$('manifestStatus').className = 'badge ok';
|
||||
renderTools();
|
||||
return;
|
||||
@@ -174,7 +174,7 @@
|
||||
$('executeButton').disabled = true; $('httpStatus').textContent = '실행 중'; $('httpStatus').className = 'badge';
|
||||
try {
|
||||
let response;
|
||||
if (isWasMode) {
|
||||
if (isGatewayMode) {
|
||||
const reqPayload = { jsonrpc: "2.0", method: "tools/call", params: { name: tool.name, arguments: payload }, id: Date.now() };
|
||||
response = await fetch('/mcp/api/v1/tools/call', {
|
||||
method: 'POST',
|
||||
@@ -192,7 +192,7 @@
|
||||
|
||||
let isOk = response.ok;
|
||||
let displayStatus = response.status;
|
||||
if (isWasMode && isOk && data?.result?.isError) {
|
||||
if (isGatewayMode && isOk && data?.result?.isError) {
|
||||
isOk = false;
|
||||
displayStatus = "MCP ERR";
|
||||
}
|
||||
@@ -201,7 +201,7 @@
|
||||
$('httpStatus').textContent = `HTTP ${displayStatus}`; $('httpStatus').className = `badge ${isOk ? 'ok' : 'fail'}`;
|
||||
$('latency').textContent = `${elapsed}ms`; $('traceId').textContent = `trace-id: ${response.headers.get('trace-id') || trace}`; $('requestId').textContent = `request-id: ${response.headers.get('request-id') || request}`;
|
||||
let displayData = data;
|
||||
if (isWasMode && data && typeof data === 'object') {
|
||||
if (isGatewayMode && data && typeof data === 'object') {
|
||||
if (data.result && data.result.result) {
|
||||
displayData = data.result.result.data !== undefined ? data.result.result.data : data.result.result;
|
||||
} else if (data.error) {
|
||||
|
||||
Reference in New Issue
Block a user