diff --git a/ops b/ops
index a8cbdd4c..7dfc59ca 160000
--- a/ops
+++ b/ops
@@ -1 +1 @@
-Subproject commit a8cbdd4c39ec72033709c03e0490cfaf066798f1
+Subproject commit 7dfc59ca74ee52c98011404596c62a7609f1c63e
diff --git a/packages/backend/src/api/v1/runs/index.ts b/packages/backend/src/api/v1/runs/index.ts
index ad8782f3..5e7a0e33 100644
--- a/packages/backend/src/api/v1/runs/index.ts
+++ b/packages/backend/src/api/v1/runs/index.ts
@@ -333,7 +333,7 @@ runs.get("/:id/related", checkAccess("logs", "read"), async (ctx) => {
INNER JOIN related_runs rr ON rr.id = r2.parent_run_id
)
SELECT rr.created_at, rr.tags, rr.project_id, rr.id, rr.status, rr.name, rr.ended_at, rr.error, rr.input, rr.output,
- rr.params, rr.type, rr.parent_run_id, rr.completion_tokens, rr.prompt_tokens, rr.feedback
+ rr.params, rr.type, rr.parent_run_id, rr.completion_tokens, rr.prompt_tokens, rr.feedback, rr.metadata
FROM related_runs rr;
`
diff --git a/packages/frontend/components/blocks/DurationBadge.tsx b/packages/frontend/components/blocks/DurationBadge.tsx
index d25650ce..f54a8845 100644
--- a/packages/frontend/components/blocks/DurationBadge.tsx
+++ b/packages/frontend/components/blocks/DurationBadge.tsx
@@ -1,11 +1,35 @@
import { Badge, ThemeIcon } from "@mantine/core"
-import { IconClock } from "@tabler/icons-react"
+import { IconBolt, IconClock } from "@tabler/icons-react"
-export default function DurationBadge({ createdAt, endedAt, minimal = false }) {
+export default function DurationBadge({
+ cached = false,
+ createdAt,
+ endedAt,
+ minimal = false,
+}) {
const duration = endedAt
? new Date(endedAt).getTime() - new Date(createdAt).getTime()
: NaN
+ if (cached) {
+ return (
+
+
+
+ }
+ tt="none"
+ >
+ Cached ({(duration / 1000).toFixed(2)}s)
+
+ )
+ }
+
return (
+
)}
{/* {timeAfterFirst > 0 && (