import type { ActivityEvent } from "@paperclipai/shared"; import { api } from "./client"; export interface RunForIssue { runId: string; status: string; agentId: string; startedAt: string | null; finishedAt: string | null; createdAt: string; invocationSource: string; usageJson: Record | null; resultJson: Record | null; } export interface IssueForRun { issueId: string; identifier: string | null; title: string; status: string; priority: string; } export const activityApi = { list: (companyId: string, filters?: { entityType?: string; entityId?: string; agentId?: string }) => { const params = new URLSearchParams(); if (filters?.entityType) params.set("entityType", filters.entityType); if (filters?.entityId) params.set("entityId", filters.entityId); if (filters?.agentId) params.set("agentId", filters.agentId); const qs = params.toString(); return api.get(`/companies/${companyId}/activity${qs ? `?${qs}` : ""}`); }, forIssue: (issueId: string) => api.get(`/issues/${issueId}/activity`), runsForIssue: (issueId: string) => api.get(`/issues/${issueId}/runs`), issuesForRun: (runId: string) => api.get(`/heartbeat-runs/${runId}/issues`), };