{% extends "dashboard/base.html" %} {% block title %}{{ task.title or 'Task' }} - Cyborg Dashboard{% endblock %} {% block content %}
Projects {% if project %} / {{ project.title or 'Project' }} {% endif %} / Task

{{ task.title or 'Untitled Task' }}

{{ task.id[:8] }} {{ task.status|upper }} {{ task.priority|upper }} {% if task.notification_count and task.notification_count > 0 %} {{ task.notification_count }} notifications {% endif %}
{% if task.status == 'active' %} Nudged {% endif %}

Task Details

{% if task.description %}
DESCRIPTION
{{ task.description|unescape_newlines }}
{% endif %} {% if task.plan %}
PLAN
{{ task.plan|unescape_newlines }}
{% endif %} {% if task.result %}
RESULT
{{ task.result|unescape_newlines }}
{% endif %} {% if task.blocked_reason %}
BLOCKED REASON
{{ task.blocked_reason|unescape_newlines }}
{% endif %} {% if task.blocked_resume_instructions %}
RESUME INSTRUCTIONS
{{ task.blocked_resume_instructions|unescape_newlines }}
{% endif %}
{% if task.created_at %}
Created: {{ task.created_at|relative_time }}
{% endif %} {% if task.started_at %}
Started: {{ task.started_at|relative_time }}
{% endif %} {% if task.submitted_at %}
Submitted: {{ task.submitted_at|relative_time }}
{% endif %} {% if task.completed_at %}
Completed: {{ task.completed_at|relative_time }}
{% endif %}
{% if pending_approval %}

Input Required

{% if pending_approval.proposal and pending_approval.proposal.reason %}
{{ pending_approval.proposal.reason }}
{% endif %} {% if pending_approval.input_schema_parsed %}
{{ pending_approval.input_schema_parsed.prompt }}
{% if pending_approval.input_schema_parsed.type == 'text' %} {% elif pending_approval.input_schema_parsed.type == 'multi_choice' %}
{% for option in pending_approval.input_schema_parsed.options %} {% endfor %}
{% endif %}
{% else %}
{% endif %}
{% endif %} {% if steps %}

Steps

{% for step in steps %}
#{{ step.step_number }} {{ step.description }} {{ step.status|upper }}
{% if step.result %}
{{ step.result[:200] }}{% if step.result|length > 200 %}...{% endif %} {{ step.result|unescape_newlines }} {% if step.result|length > 200 %} {% endif %}
{% endif %}
{% endfor %}
{% endif %} {% if task_files %}

Files {{ task_files|length }}

{% for f in task_files %} {{ f.filename|file_icon }}
{{ f.filename }} {% if f.description %} {{ f.description }} {% endif %}
{{ f.purpose }} {% if f.size_bytes %} {{ f.size_bytes|file_size }} {% endif %}
{% endfor %}
{% endif %}

Activity Timeline {{ timeline|length }}

{% if timeline %}
{% for entry in timeline %} {% set type_colors = { 'notification': 'bg-accent-pink', 'prompt': 'bg-accent-orange', 'approval': 'bg-accent-purple', 'history': 'bg-accent-cyan', } %} {% set label_colors = { 'notification': 'text-accent-pink bg-accent-pink/15', 'prompt': 'text-accent-orange bg-accent-orange/15', 'approval': 'text-accent-purple bg-accent-purple/15', 'history': 'text-accent-cyan bg-accent-cyan/15', } %}
{{ entry.label }} {{ entry.timestamp|relative_time }} {% if entry.type == 'prompt' and entry.tokens %} {{ entry.tokens }} tokens {% endif %} {% if entry.status %} {{ entry.status }} {% endif %}
{% if entry.type == 'prompt' %} {% if entry.session_key %} {{ entry.session_key }} {% endif %}
{{ entry.full_text }}
{% else %} {{ entry.summary }} {% endif %}
{% endfor %}
{% else %}
No activity recorded yet
{% endif %}
{% endblock %}