automagik-genie
Version:
Self-evolving AI agent orchestration framework with Model Context Protocol support
52 lines (51 loc) • 1.62 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.recordRuntimeWarning = recordRuntimeWarning;
exports.getRuntimeWarnings = getRuntimeWarnings;
exports.clearRuntimeWarnings = clearRuntimeWarnings;
exports.resolveDisplayStatus = resolveDisplayStatus;
const runtimeWarnings = [];
/**
* Records a runtime warning message for later retrieval.
*
* @param {string} message - Warning message to record
* @returns {void}
*/
function recordRuntimeWarning(message) {
runtimeWarnings.push(message);
}
/**
* Retrieves all recorded runtime warnings.
*
* @returns {string[]} - Copy of all runtime warnings
*/
function getRuntimeWarnings() {
return [...runtimeWarnings];
}
/**
* Clears all recorded runtime warnings.
*
* @returns {void}
*/
function clearRuntimeWarnings() {
runtimeWarnings.length = 0;
}
/**
* Resolves human-readable display status for a task entry.
*
* Combines entry status with process liveness checks to determine accurate state.
* Status progression: running → pending-completion → completed/failed/stopped.
*
* @param {TaskEntry} entry - Task entry to evaluate
* @returns {string} - Display status: 'running', 'pending-completion', 'completed', 'failed (code)', 'stopped', or base status
*
* @example
* const status = resolveDisplayStatus(entry);
* // Returns: 'running' if executor process alive
* // Returns: 'pending-completion' if runner still processing
* // Returns: 'completed' if exit code 0
* // Returns: 'failed (1)' if exit code non-zero
*/
function resolveDisplayStatus(entry) {
return entry.status || 'unknown';
}