progress_activity
Loading run history...
}
@if (!agentService.isSessionContentLoading() && consolidatedBlocks().length === 0 && !showPlanningLoader() && startupWorkItems().length === 0) {
No Stream Activity Selected
Please select a session from the Task List on the right to view its real-time log payloads.
@if (startupWorkItems().length > 0) {
}
@for (phase of phases(); track trackPhase($index, phase); let first = $first) {
}
@if (showPlanningLoader() && (startupWorkItems().length === 0 || startupPreparationIsComplete() || consolidatedBlocks().length > 0)) {
}
}
Worked for {{ startupPreparationDuration() }}s
@for (item of startupWorkItems(); track item) {
}
{{ item.message }} · {{ item.isActive ? 'Waiting ' : 'Waited ' }}{{ item.elapsed }}
@if (hasVisibleBlocks(phase)) {
}
@if (outputterReport(); as outReport) {
Worked for {{ phase.durationSeconds }}s
@if (phase.tokens) {
·
{{ formatTokenCount(phase.tokens) }}
}
}
@if (hasVisibleBlocks(phase)) {
@for (block of phase.blocks; track trackBlock($index, block)) {
@if (hasVisibleContent(block)) {
}
}
}
@if (getSortedStepEvents(block.data).length > 0) {
@for (item of getSortedStepEvents(block.data); track trackStepEvent(itemIdx, item); let itemIdx = $index) {
@if (item.type === 'thinking') {
}
@if (item.type === 'text' && getRawThinking(block)) {
}
@if (isReportStatusAction(item.data)) {
}
@if (isActionExpanded('action-' + block.id + '-' + itemIdx)) {
}
}
@if (item.type === 'action' && isAndroidAction(item.data)) {
}
@if (item.type === 'tool') {
@if (isLLMRetry(item.data)) {
}
@if (isTerminalLLMFailure(item.data)) {
}
@if (shouldShowTool(item.data, block.data) && !isDeviceActionTool(item.data)) {
}
@if (shouldShowTool(item.data, block.data) && isDeviceActionTool(item.data)) {
}
}
}
}
Thought
{{ getReportStatusValue(item.data) === 'failed' ? 'Task Execution Failed' : 'Task Completed' }}
{{ getReportStatusValue(item.data) === 'failed' ? 'Failed' : 'Completed' }}
@if (!isActionExpanded('action-' + block.id + '-' + itemIdx) && getReportStatusExplanation(item.data)) {
Summary:
"{{ getReportStatusExplanation(item.data) }}"
{{ getActionTitle(item.data) }}
@if (isActionFailed(item.data, block.data)) {
Failed
}
@if (!isActionExpanded('action-' + block.id + '-' + itemIdx) && (getActionTargetText(item.data) || getActionInputText(item.data) || getActionCoords(item.data))) {
@if (getActionTargetText(item.data)) {
}
@if (isActionExpanded('action-' + block.id + '-' + itemIdx)) {
}
Target:
"{{ getActionTargetText(item.data) }}"
}
@if (getActionInputText(item.data)) {
{{ getActionInputLabel(item.data) }}:
"{{ getActionInputText(item.data) }}"
}
@if (getActionCoords(item.data)) {
Coordinates:
{{ getActionCoords(item.data) }}
}
@for (retry of getLLMRetryEntries(item.data); track retry; let retryIndex = $index) {
}
}
@if (isDisplayableLLMFailure(item.data)) {
@if (isLLMRetryEntryWaiting(retry)) {
LLM temporarily unavailable
@if (getLLMRetryEntryDelay(retry); as retryDelay) {
· Retrying in {{ retryDelay }}…
}
Frequent retries may indicate a low API rate limit. Consider increasing the limit or reducing request concurrency.
}
@if (!isLLMRetryEntryWaiting(retry)) {
Retrying LLM request · Waited {{ getLLMRetryEntryWaited(retry) }}
}
LLM Request Failed
@if (isTerminalLLMFailure(item.data)) {
Paused
} @else {
Failed
}
@if (hasLLMFailureRetryEntries(item.data)) {
}
What happened:
The AI request could not be completed after automatic retries.
Failure reason:
{{ getLLMErrorText(item.data) }}
@if (getLLMFailureWaited(item.data); as waited) {
Waited:
{{ waited }}
}
@if (isActionExpanded('llm-failure-' + block.id + '-' + itemIdx)) {
Retry details
@for (retry of getLLMFailureRetryEntries(item.data); track retry; let retryIndex = $index) {
Retry {{ retryIndex + 1 }}
Planned {{ getLLMRetryEntryDelay(retry) || '0s' }}
· Waited {{ getLLMRetryEntryWaited(retry) }}
}
Task paused · no steps are running
}
{{ isVideoTool(item.data) ? getVideoAnalysisLabel(item.data) : getToolDisplayLabel(item.data) }}{{ ((isNoteTool(item.data) && getToolKey(item.data)) || isVideoTool(item.data)) ? ':' : '' }}
@if (isNoteTool(item.data) && getToolKey(item.data); as key) {
{{ key }}
}
@if (isVideoTool(item.data)) {
{{ getVideoAnalysisRangeLabel(item.data) }}
@if (getVideoAnalysisDetail(item.data); as detail) {
· {{ detail }}
}
}
{{ getToolTitle(item.data) }}
@if (getToolAgentName(item.data)) {
{{ getToolAgentName(item.data) }}
}
@if (isToolFailed(item.data)) {
Failed
}
@if (!isActionExpanded('tool-' + block.id + '-' + itemIdx) && (isAdbCommandTool(item.data) ? getAdbCommandLine(item.data) : (getToolTargetText(item.data) || getToolInputText(item.data) || getToolCoords(item.data) || getToolAnalysisText(item.data) || getToolGenericDetails(item.data)))) {
@if (isAdbCommandTool(item.data)) {
@if (getAdbCommandLine(item.data)) {
}
@if (isActionExpanded('tool-' + block.id + '-' + itemIdx)) {
}
Command:
}
@if (getAdbCwd(item.data)) {
{{ getAdbCommandLine(item.data) }}
Cwd:
"{{ getAdbCwd(item.data) }}"
}
@if (getAdbTerminalId(item.data)) {
Terminal ID:
"{{ getAdbTerminalId(item.data) }}"
}
}
@if (!isAdbCommandTool(item.data)) {
@if (getToolTargetText(item.data)) {
Target:
"{{ getToolTargetText(item.data) }}"
}
@if (getToolInputText(item.data)) {
{{ getToolInputLabel(item.data) }}:
"{{ getToolInputText(item.data) }}"
}
@if (getToolCoords(item.data)) {
Coordinates:
{{ getToolCoords(item.data) }}
}
@if (getToolAnalysisText(item.data)) {
Analysis:
"{{ getToolAnalysisText(item.data) }}"
}
@if (getToolGenericDetails(item.data)) {
Details:
"{{ getToolGenericDetails(item.data) }}"
}
}
assignment_turned_in
Task Report
@if (parsedOutputReport(); as parsedOut) {
@if (parsedOut.title) {
}
{{ parsedOut.title }}
} @if (parsedOut.milestones.length > 0) {
@for (m of parsedOut.milestones; track trackMilestone($index, m)) {
}
@if (parsedOut.otherLines.length > 0) {
@for (seg of m.segments; track seg) {
@if (seg.bold) {
{{ seg.text }}
}
@if (seg.code) {
}
{{ seg.text }}
}
@if (!seg.bold && !seg.code) {
{{ seg.text }}
}
}
@for (line of parsedOut.otherLines; track trackMarkdownLine($index, line)) {
}
@for (seg of line.segments; track seg) {
@if (seg.bold) {
{{ seg.text }}
}
@if (seg.code) {
{{ seg.text }}
}
@if (!seg.bold && !seg.code) {
{{ seg.text }}
}
}
progress_activity
{{ currentPlanningText() }}