d93385b373
CI / Check / macos-latest (push) Waiting to run
CI / Check / ubuntu-latest (push) Waiting to run
CI / Check / windows-latest (push) Waiting to run
CI / Test / macos-latest (push) Waiting to run
CI / Test / ubuntu-latest (push) Waiting to run
CI / Test / windows-latest (push) Waiting to run
CI / Clippy (push) Waiting to run
CI / Format (push) Waiting to run
CI / Security Audit (push) Waiting to run
CI / Secrets Scan (push) Waiting to run
CI / Install Script Smoke Test (push) Waiting to run
60 lines
2.1 KiB
JavaScript
60 lines
2.1 KiB
JavaScript
// Runtime page — system overview and provider status
|
|
document.addEventListener('alpine:init', function() {
|
|
Alpine.data('runtimePage', function() {
|
|
return {
|
|
loading: true,
|
|
uptime: '-',
|
|
agentCount: 0,
|
|
version: '-',
|
|
defaultModel: '-',
|
|
platform: '-',
|
|
arch: '-',
|
|
apiListen: '-',
|
|
homeDir: '-',
|
|
logLevel: '-',
|
|
networkEnabled: false,
|
|
providers: [],
|
|
|
|
async loadData() {
|
|
this.loading = true;
|
|
try {
|
|
var results = await Promise.all([
|
|
OpenFangAPI.get('/api/status'),
|
|
OpenFangAPI.get('/api/version'),
|
|
OpenFangAPI.get('/api/providers'),
|
|
OpenFangAPI.get('/api/agents')
|
|
]);
|
|
var status = results[0];
|
|
var ver = results[1];
|
|
var prov = results[2];
|
|
var agents = results[3];
|
|
|
|
this.version = ver.version || '-';
|
|
this.platform = ver.platform || '-';
|
|
this.arch = ver.arch || '-';
|
|
this.agentCount = Array.isArray(agents) ? agents.length : 0;
|
|
this.defaultModel = status.default_model || '-';
|
|
this.apiListen = status.api_listen || status.listen || '-';
|
|
this.homeDir = status.home_dir || '-';
|
|
this.logLevel = status.log_level || '-';
|
|
this.networkEnabled = !!status.network_enabled;
|
|
|
|
// Compute uptime from uptime_seconds
|
|
var diff = status.uptime_seconds || 0;
|
|
if (diff < 60) this.uptime = diff + 's';
|
|
else if (diff < 3600) this.uptime = Math.floor(diff / 60) + 'm ' + (diff % 60) + 's';
|
|
else if (diff < 86400) this.uptime = Math.floor(diff / 3600) + 'h ' + Math.floor((diff % 3600) / 60) + 'm';
|
|
else this.uptime = Math.floor(diff / 86400) + 'd ' + Math.floor((diff % 86400) / 3600) + 'h';
|
|
|
|
this.providers = (prov.providers || []).filter(function(p) {
|
|
return p.auth_status === 'Configured' || p.reachable || p.is_local;
|
|
});
|
|
} catch(e) {
|
|
console.error('Runtime load error:', e);
|
|
}
|
|
this.loading = false;
|
|
}
|
|
};
|
|
});
|
|
});
|