forked from Rockachopa/Timmy-time-dashboard
feat: add task queue with human-in-the-loop approval + work orders + UI bug fixes
Task Queue system: - New /tasks page with three-column layout (Pending/Active/Completed) - Full CRUD API at /api/tasks with approve/veto/modify/pause/cancel/retry - SQLite persistence in task_queue table - WebSocket live updates via ws_manager - Create task modal with agent assignment and priority - Auto-approve rules for low-risk tasks - HTMX polling for real-time column updates - HOME TASK buttons now link to task queue with agent pre-selected - MARKET HIRE buttons link to task queue with agent pre-selected Work Order system: - External submission API for agents/users (POST /work-orders/submit) - Risk scoring and configurable auto-execution thresholds - Dashboard at /work-orders/queue with approve/reject/execute flow - Integration with swarm task system for execution UI & Dashboard bug fixes: - EVENTS: add startup event so page is never empty - LEDGER: fix empty filter params in URL - MISSION CONTROL: LLM backend and model now read from /health - MISSION CONTROL: agent count fallback to /swarm/agents - SWARM: HTMX fallback loads initial data if WebSocket is slow - MEMORY: add edit/delete buttons for personal facts - UPGRADES: add empty state guidance with links - BRIEFING: add regenerate button and POST /briefing/regenerate endpoint Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -53,15 +53,15 @@
|
||||
|
||||
<!-- Filters -->
|
||||
<div class="mc-filters">
|
||||
<form method="get" action="/lightning/ledger" class="mc-filter-form">
|
||||
<select name="tx_type" class="mc-select" onchange="this.form.submit()">
|
||||
<form id="ledger-filter-form" class="mc-filter-form">
|
||||
<select name="tx_type" class="mc-select" onchange="submitLedgerFilter()">
|
||||
<option value="">All Types</option>
|
||||
{% for t in tx_types %}
|
||||
<option value="{{ t }}" {% if filter_type == t %}selected{% endif %}>{{ t }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
|
||||
<select name="status" class="mc-select" onchange="this.form.submit()">
|
||||
|
||||
<select name="status" class="mc-select" onchange="submitLedgerFilter()">
|
||||
<option value="">All Statuses</option>
|
||||
{% for s in tx_statuses %}
|
||||
<option value="{{ s }}" {% if filter_status == s %}selected{% endif %}>{{ s }}</option>
|
||||
@@ -69,6 +69,18 @@
|
||||
</select>
|
||||
</form>
|
||||
</div>
|
||||
<script>
|
||||
function submitLedgerFilter() {
|
||||
var form = document.getElementById('ledger-filter-form');
|
||||
var params = new URLSearchParams();
|
||||
var txType = form.querySelector('[name="tx_type"]').value;
|
||||
var status = form.querySelector('[name="status"]').value;
|
||||
if (txType) params.append('tx_type', txType);
|
||||
if (status) params.append('status', status);
|
||||
var qs = params.toString();
|
||||
window.location.href = '/lightning/ledger' + (qs ? '?' + qs : '');
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- Transactions Table -->
|
||||
<div class="mc-table-container">
|
||||
|
||||
Reference in New Issue
Block a user