diff --git a/canvas/src/components/EmptyState.tsx b/canvas/src/components/EmptyState.tsx index 0fb684be..ebaa0289 100644 --- a/canvas/src/components/EmptyState.tsx +++ b/canvas/src/components/EmptyState.tsx @@ -129,7 +129,7 @@ export function EmptyState() { {t.description || "No description"}

{t.skill_count > 0 && ( -

+

{t.skill_count} skill{t.skill_count !== 1 ? "s" : ""} {t.model ? ` · ${t.model}` : ""}

diff --git a/canvas/src/components/MissingKeysModal.tsx b/canvas/src/components/MissingKeysModal.tsx index ab66bece..31f3bb2d 100644 --- a/canvas/src/components/MissingKeysModal.tsx +++ b/canvas/src/components/MissingKeysModal.tsx @@ -172,7 +172,7 @@ export function MissingKeysModal({
{entry.label}
-
+
{entry.key}
diff --git a/canvas/src/components/SidePanel.tsx b/canvas/src/components/SidePanel.tsx index c655114c..34582ceb 100644 --- a/canvas/src/components/SidePanel.tsx +++ b/canvas/src/components/SidePanel.tsx @@ -227,7 +227,7 @@ export function SidePanel() { {/* Footer — workspace ID */}
- + {selectedNodeId}
diff --git a/canvas/src/components/tabs/ActivityTab.tsx b/canvas/src/components/tabs/ActivityTab.tsx index d61b0660..68d942a6 100644 --- a/canvas/src/components/tabs/ActivityTab.tsx +++ b/canvas/src/components/tabs/ActivityTab.tsx @@ -207,11 +207,11 @@ function ActivityRow({ )} - + {formatTime(entry.created_at)} - + {expanded ? "▼" : "▶"} @@ -233,7 +233,7 @@ function ActivityRow({ {resolveName(entry.source_id)} )} - + {entry.target_id && ( {resolveName(entry.target_id)} @@ -275,7 +275,7 @@ function ActivityRow({ {entry.response_body && ( )} -
+
ID: {entry.id}
diff --git a/canvas/src/components/tabs/ScheduleTab.tsx b/canvas/src/components/tabs/ScheduleTab.tsx index f82f6f86..3fb97b24 100644 --- a/canvas/src/components/tabs/ScheduleTab.tsx +++ b/canvas/src/components/tabs/ScheduleTab.tsx @@ -281,7 +281,7 @@ export function ScheduleTab({ workspaceId }: Props) {
No schedules yet
-
+
Add a schedule to run tasks automatically — daily scans, periodic reports, standup reminders.
@@ -317,10 +317,10 @@ export function ScheduleTab({ workspaceId }: Props) { ({sched.timezone}) )}
-
+
{sched.prompt.slice(0, 80)}{sched.prompt.length > 80 ? "..." : ""}
-
+
Last: {relativeTime(sched.last_run_at)} Next: {relativeTime(sched.next_run_at)} Runs: {sched.run_count} diff --git a/canvas/src/components/tabs/SkillsTab.tsx b/canvas/src/components/tabs/SkillsTab.tsx index 86bd9eca..d5085733 100644 --- a/canvas/src/components/tabs/SkillsTab.tsx +++ b/canvas/src/components/tabs/SkillsTab.tsx @@ -377,7 +377,7 @@ export function SkillsTab({ data }: Props) { {skill.examples.length > 0 && (
-
Examples
+
Examples
{skill.examples.slice(0, 2).map((example, index) => (
)} -
+
{trace.id}
diff --git a/canvas/src/components/tabs/chat/AgentCommsPanel.tsx b/canvas/src/components/tabs/chat/AgentCommsPanel.tsx index bcc83b75..18a36884 100644 --- a/canvas/src/components/tabs/chat/AgentCommsPanel.tsx +++ b/canvas/src/components/tabs/chat/AgentCommsPanel.tsx @@ -163,7 +163,7 @@ export function AgentCommsPanel({ workspaceId }: { workspaceId: string }) { {msg.responseText}
)} -
+
{new Date(msg.timestamp).toLocaleTimeString()}
diff --git a/canvas/src/components/tabs/config/secrets-section.tsx b/canvas/src/components/tabs/config/secrets-section.tsx index 33b8ccbb..6ffd2a15 100644 --- a/canvas/src/components/tabs/config/secrets-section.tsx +++ b/canvas/src/components/tabs/config/secrets-section.tsx @@ -56,7 +56,7 @@ function SecretRow({ label, secretKey, isSet, scope, globalMode, onSave, onDelet
{label}
- {secretKey} + {secretKey} {isSet && ( ••••• @@ -305,7 +305,7 @@ export function SecretsSection({ workspaceId }: { workspaceId: string }) { )} -
+
Values are encrypted and never exposed to the browser. {globalMode ? " Global keys are shared across all workspaces. Restart workspaces to apply changes."