change poll mcp again status
This commit is contained in:
@@ -226,6 +226,21 @@ function table(rows, columns, id = '') {
|
||||
return `<div class="table-wrap"><table><thead><tr>${head}</tr></thead><tbody>${body}</tbody></table></div>`;
|
||||
}
|
||||
function capability(label, state, detail) { return `<span class="capability ${state}">${esc(label)}: ${esc(detail)}</span>`; }
|
||||
function mcpCapability(mcp, configuration, pollRunningSeconds=0) {
|
||||
if (configuration.log_source !== 'graylog_mcp') return {state: 'warn', detail: 'not selected'};
|
||||
const status = String(mcp.status || 'checking');
|
||||
if (status === 'connected') return {state: 'on', detail: 'connected'};
|
||||
if (status === 'partial') return {state: 'warn', detail: 'partial'};
|
||||
if (status === 'refreshing') {
|
||||
const previous = String(mcp.previous_status || '');
|
||||
if (['connected', 'partial'].includes(previous) || Number(mcp.previous_events_fetched || mcp.events_fetched || 0) > 0 || Number(mcp.previous_aggregate_events || mcp.aggregate_events || 0) > 0) {
|
||||
const suffix = pollRunningSeconds ? `polling ${pollRunningSeconds}s` : 'polling';
|
||||
return {state: 'on', detail: previous === 'partial' ? `partial, ${suffix}` : `connected, ${suffix}`};
|
||||
}
|
||||
return {state: 'warn', detail: 'starting poll'};
|
||||
}
|
||||
return {state: 'warn', detail: status};
|
||||
}
|
||||
function actionItem(severity, title, detail, action) {
|
||||
return `<div class="action-item ${esc(severity)}"><strong>${esc(title)}</strong><div>${esc(detail)}</div><div class="muted">Next: ${esc(action)}</div></div>`;
|
||||
}
|
||||
@@ -560,11 +575,12 @@ async function refresh() {
|
||||
].join('');
|
||||
const llm = data.llm_assessment || {};
|
||||
const llmEnabled = Boolean(llm.enabled || configuration.llm_enabled);
|
||||
const mcpBadge = mcpCapability(mcp, configuration, pollRunningSeconds);
|
||||
document.getElementById('capabilities').innerHTML = [
|
||||
capability('Baseline', baseline.enabled ? 'on' : 'warn', baseline.enabled ? `${baseline.sources_ready || 0} sources ready` : 'disabled'),
|
||||
capability('Ollama', llmEnabled && llm.status !== 'error' ? 'on' : 'warn', llmEnabled ? (llm.status || 'starting') : 'disabled'),
|
||||
capability('Threat Intel', threat.enabled && threat.configured ? 'on' : 'warn', threat.enabled ? `${threat.provider || 'unknown'}${threat.configured ? '' : ', key missing'}` : 'disabled'),
|
||||
capability('Graylog MCP', mcp.status === 'connected' ? 'on' : 'warn', configuration.log_source === 'graylog_mcp' ? (mcp.status || 'checking') : 'not selected')
|
||||
capability('Graylog MCP', mcpBadge.state, mcpBadge.detail)
|
||||
].join('');
|
||||
document.getElementById('liveStatus').innerHTML = [
|
||||
data.stale ? `<span class="sev-high">Showing cached dashboard data because live MCP fetch failed.</span>` : '',
|
||||
|
||||
Reference in New Issue
Block a user