summaryrefslogtreecommitdiff
path: root/web/app.js
diff options
context:
space:
mode:
authorClaudomator Agent <agent@claudomator>2026-03-11 15:01:05 +0000
committerClaudomator Agent <agent@claudomator>2026-03-11 15:01:05 +0000
commit1bcc40f7fd83bc603201b14577eebe5a482ba68e (patch)
tree5dbc5ac79efe5cbba88e0728738e2b30d3b7249f /web/app.js
parented94896372686ce3a032e8f3d76144eb83e2d8cc (diff)
feat: add Summary and Q&A History sections to task detail panel
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'web/app.js')
-rw-r--r--web/app.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/web/app.js b/web/app.js
index 4652707..2c1e481 100644
--- a/web/app.js
+++ b/web/app.js
@@ -1315,6 +1315,16 @@ function renderTaskPanel(task, executions) {
overview.appendChild(overviewGrid);
content.appendChild(overview);
+ // ── Summary ──
+ if (task.summary) {
+ const summarySection = makeSection("Summary");
+ const summaryText = document.createElement("div");
+ summaryText.className = "task-summary-text";
+ summaryText.textContent = task.summary;
+ summarySection.appendChild(summaryText);
+ content.appendChild(summarySection);
+ }
+
// ── Agent Config ──
const a = task.agent || {};
const agentSection = makeSection('Agent Config');
@@ -1342,6 +1352,34 @@ function renderTaskPanel(task, executions) {
agentSection.appendChild(agentGrid);
content.appendChild(agentSection);
+ // ── Q&A History ──
+ let interactions = [];
+ if (task.interactions) {
+ try { interactions = JSON.parse(task.interactions); } catch {}
+ }
+ if (interactions.length > 0) {
+ const qaSection = makeSection("Q&A History");
+ const timeline = document.createElement("div");
+ timeline.className = "qa-timeline";
+ for (const item of interactions) {
+ const entry = document.createElement("div");
+ entry.className = `qa-item qa-${item.type}`;
+ const label = document.createElement("span");
+ label.className = "qa-label";
+ label.textContent = item.type === "question" ? "Agent asked:" : "User answered:";
+ const text = document.createElement("div");
+ text.className = "qa-content";
+ text.textContent = item.content;
+ const ts = document.createElement("span");
+ ts.className = "qa-timestamp";
+ ts.textContent = item.timestamp ? formatDate(item.timestamp) : "";
+ entry.append(label, text, ts);
+ timeline.appendChild(entry);
+ }
+ qaSection.appendChild(timeline);
+ content.appendChild(qaSection);
+ }
+
// ── Execution Settings ──
const settingsSection = makeSection('Execution Settings');
const settingsGrid = document.createElement('div');