diff --git a/server/src/__tests__/agent-action-audit-routes.test.ts b/server/src/__tests__/agent-action-audit-routes.test.ts index ce6703c2bb4..2e97b57b3f8 100644 --- a/server/src/__tests__/agent-action-audit-routes.test.ts +++ b/server/src/__tests__/agent-action-audit-routes.test.ts @@ -191,16 +191,37 @@ describePostgres("agent action audit routes", () => { authorAgentId: agent.id, body: "Hidden audit comment", }).returning().then((rows) => rows[0]!); - const [hiddenActivity, mismatchedActivity] = await db.insert(activityLog).values([ + const [hiddenActivity, hiddenDocumentActivity, mismatchedActivity] = await db.insert(activityLog).values([ { companyId: company.id, actorType: "agent", actorId: agent.id, action: "issue.comment.created", - entityType: "issue_comment", - entityId: hiddenComment.id, + entityType: "issue", + entityId: hiddenIssue.id, agentId: agent.id, runId: run.id, + details: { + commentId: hiddenComment.id, + bodySnippet: hiddenComment.body, + identifier: hiddenIssue.identifier, + issueTitle: hiddenIssue.title, + }, + }, + { + companyId: company.id, + actorType: "agent", + actorId: agent.id, + action: "issue.document_updated", + entityType: "issue", + entityId: hiddenIssue.id, + agentId: agent.id, + runId: run.id, + details: { + documentId: randomUUID(), + key: "plan", + title: "Hidden document title", + }, }, { companyId: company.id, @@ -223,6 +244,8 @@ describePostgres("agent action audit routes", () => { comment: null, document: null, }); + expect(response.body.items.find((item: { id: string }) => item.id === hiddenActivity.id)?.details).toBeNull(); + expect(response.body.items.find((item: { id: string }) => item.id === hiddenDocumentActivity.id)?.details).toBeNull(); expect(response.body.items.find((item: { id: string }) => item.id === mismatchedActivity.id)?.entity).toEqual({ issue: null, comment: null, diff --git a/server/src/services/agent-action-audit.ts b/server/src/services/agent-action-audit.ts index b8dfbf65d20..01526cd0eec 100644 --- a/server/src/services/agent-action-audit.ts +++ b/server/src/services/agent-action-audit.ts @@ -151,9 +151,12 @@ export function agentActionAuditService(db: Db) { : document ? { id: document.issueId, identifier: document.identifier, title: document.title } : issue ? { id: issue.id, identifier: issue.identifier, title: issue.title } : null; + const isIssueDerived = row.entityType === "issue" + || row.entityType === "issue_comment" + || row.entityType === "issue_document"; return { ...row, - details: redactDetails(row.details), + details: isIssueDerived && !issueSnippet ? null : redactDetails(row.details), entity: { issue: issueSnippet, comment: comment ? { id: comment.id, excerpt: excerpt(comment.body) } : null,