Skip to content

feat: build agent activity audit log stream with severity filtering and search - #112

Merged
Cjay-Cyber-2 merged 2 commits into
ASTROIDX556:mainfrom
feyibosslady:build_agent_activity_audit_log_stream
Sep 1, 2026
Merged

feat: build agent activity audit log stream with severity filtering and search#112
Cjay-Cyber-2 merged 2 commits into
ASTROIDX556:mainfrom
feyibosslady:build_agent_activity_audit_log_stream

Conversation

@feyibosslady

Copy link
Copy Markdown

Description

Implements an agent activity audit log stream component that enables security officers and administrators to search through chronological events, filter by severity levels, and inspect execution traces.

Changes

  • ****: New interface and type ( | | ) with 10 mock audit log entries covering agent actions, policy violations, and admin overrides.
  • ****: Added barrel export for the new audit types module.
  • ****: New component with:
    • Real-time text search filtering across message, actor, action, and source fields
    • Severity dropdown filter (All / Info / Warning / Critical)
    • Color-coded severity badges using design token variants (, , )
    • Timeline view with vertical connector line and severity-colored dot indicators
    • Actor type icons (Bot, User, Shield) with inline metadata
    • Keyboard navigation: Escape key clears the search input
    • Screen reader support: , , on results count, text on severity badges
    • Follows existing codebase patterns: directive, class merging, Lucide icons, design token colors, Tailwind CSS

Acceptance Criteria

  • Create
  • Implement text search input and severity dropdown filter
  • Render color-coded severity badges (Info, Warning, Critical)
  • Ensure keyboard navigation and screen reader attributes are correctly applied
  • Confirm

astroid-web@1.0.0 typecheck
tsc --noEmit

src/app/(dashboard)/transactions/page.tsx(15,7): error TS6133: 'columns' is declared but its value is never read.
src/app/(dashboard)/transactions/page.tsx(15,16): error TS2304: Cannot find name 'Column'.
src/app/(dashboard)/transactions/page.tsx(15,23): error TS2552: Cannot find name 'Transaction'. Did you mean 'IDBTransaction'?
src/app/(dashboard)/transactions/page.tsx(18,12): error TS7006: Parameter 't' implicitly has an 'any' type.
src/app/(dashboard)/transactions/page.tsx(22,12): error TS2304: Cannot find name 'truncateHash'.
src/app/(dashboard)/transactions/page.tsx(30,12): error TS7006: Parameter 't' implicitly has an 'any' type.
src/app/(dashboard)/transactions/page.tsx(35,12): error TS7006: Parameter 't' implicitly has an 'any' type.
src/app/(dashboard)/transactions/page.tsx(42,12): error TS7006: Parameter 't' implicitly has an 'any' type.
src/app/(dashboard)/transactions/page.tsx(44,31): error TS2304: Cannot find name 'ArrowUpRight'.
src/app/(dashboard)/transactions/page.tsx(44,46): error TS2304: Cannot find name 'ArrowDownLeft'.
src/app/(dashboard)/transactions/page.tsx(53,12): error TS2304: Cannot find name 'formatCurrency'.
src/app/(dashboard)/transactions/page.tsx(60,12): error TS7006: Parameter 't' implicitly has an 'any' type.
src/app/(dashboard)/transactions/page.tsx(61,17): error TS2304: Cannot find name 'transactionStatus'.
src/app/(dashboard)/transactions/page.tsx(63,10): error TS2304: Cannot find name 'Badge'.
src/app/(dashboard)/transactions/page.tsx(65,11): error TS2304: Cannot find name 'Badge'.
src/app/(dashboard)/transactions/page.tsx(72,12): error TS7006: Parameter 't' implicitly has an 'any' type.
src/app/(dashboard)/transactions/page.tsx(72,19): error TS2304: Cannot find name 'RiskBadge'.
src/app/(dashboard)/transactions/page.tsx(78,12): error TS7006: Parameter 't' implicitly has an 'any' type.
src/app/(dashboard)/transactions/page.tsx(80,10): error TS2304: Cannot find name 'formatRelativeTime'. pass without errors in new files

Testing

astroid-web@1.0.0 typecheck
tsc --noEmit

src/app/(dashboard)/transactions/page.tsx(15,7): error TS6133: 'columns' is declared but its value is never read.
src/app/(dashboard)/transactions/page.tsx(15,16): error TS2304: Cannot find name 'Column'.
src/app/(dashboard)/transactions/page.tsx(15,23): error TS2552: Cannot find name 'Transaction'. Did you mean 'IDBTransaction'?
src/app/(dashboard)/transactions/page.tsx(18,12): error TS7006: Parameter 't' implicitly has an 'any' type.
src/app/(dashboard)/transactions/page.tsx(22,12): error TS2304: Cannot find name 'truncateHash'.
src/app/(dashboard)/transactions/page.tsx(30,12): error TS7006: Parameter 't' implicitly has an 'any' type.
src/app/(dashboard)/transactions/page.tsx(35,12): error TS7006: Parameter 't' implicitly has an 'any' type.
src/app/(dashboard)/transactions/page.tsx(42,12): error TS7006: Parameter 't' implicitly has an 'any' type.
src/app/(dashboard)/transactions/page.tsx(44,31): error TS2304: Cannot find name 'ArrowUpRight'.
src/app/(dashboard)/transactions/page.tsx(44,46): error TS2304: Cannot find name 'ArrowDownLeft'.
src/app/(dashboard)/transactions/page.tsx(53,12): error TS2304: Cannot find name 'formatCurrency'.
src/app/(dashboard)/transactions/page.tsx(60,12): error TS7006: Parameter 't' implicitly has an 'any' type.
src/app/(dashboard)/transactions/page.tsx(61,17): error TS2304: Cannot find name 'transactionStatus'.
src/app/(dashboard)/transactions/page.tsx(63,10): error TS2304: Cannot find name 'Badge'.
src/app/(dashboard)/transactions/page.tsx(65,11): error TS2304: Cannot find name 'Badge'.
src/app/(dashboard)/transactions/page.tsx(72,12): error TS7006: Parameter 't' implicitly has an 'any' type.
src/app/(dashboard)/transactions/page.tsx(72,19): error TS2304: Cannot find name 'RiskBadge'.
src/app/(dashboard)/transactions/page.tsx(78,12): error TS7006: Parameter 't' implicitly has an 'any' type.
src/app/(dashboard)/transactions/page.tsx(80,10): error TS2304: Cannot find name 'formatRelativeTime'. — no errors in new files (pre-existing errors in are unrelated)

astroid-web@1.0.0 lint
next lint — no errors in new files

astroid-web@1.0.0 build
next build

▲ Next.js 14.2.16

Creating an optimized production build ...
✓ Compiled successfully
Linting and checking validity of types ... — TypeScript compilation succeeds; pre-existing ESLint error in blocks full build but is unrelated to this change

Closes #60

…nd search

- Add AuditLogEntry type with Info/Warning/Critical severity levels in src/types/audit.ts
- Create AuditLogStream component with real-time text search and severity dropdown filter
- Render color-coded severity badges using design token variants (bg-info, bg-warning, bg-danger)
- Include keyboard navigation (Escape to clear) and ARIA labels for screen reader accessibility
- Provide 10 mock audit log entries covering agent actions, policy violations, and admin overrides

Closes ASTROIDX556#60
@drips-wave

drips-wave Bot commented Aug 31, 2026

Copy link
Copy Markdown

@feyibosslady Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@vercel

vercel Bot commented Aug 31, 2026

Copy link
Copy Markdown

@feyibosslady is attempting to deploy a commit to the Cjay's projects Team on Vercel.

A member of the Team first needs to authorize it.

@mergekeeper

mergekeeper Bot commented Aug 31, 2026

Copy link
Copy Markdown

MergeKeeper review

Scope: in scope for linked issue #60.
Verdict: clean

The PR successfully implements the agent activity audit log stream component with text search, severity filtering, design token badges, and accessibility attributes as required.

Reviewed commit: 43573e12554f9248c937524aedf77bcdaca4e930.
CI and merge eligibility are checked separately.

@mergekeeper mergekeeper Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved

The PR successfully implements the agent activity audit log stream component with text search, severity filtering, design token badges, and accessibility attributes as required.

@mergekeeper

mergekeeper Bot commented Aug 31, 2026

Copy link
Copy Markdown

MergeKeeper merge status

Status: blocked
PR state: open
Mergeability: mergeable
Checked commit: 43573e12554f9248c937524aedf77bcdaca4e930.

Reason:
GitHub pull request merge request failed with 405: 3 of 3 required status checks are expected.

Next steps:
This required status check is enforced directly by the repository's branch rules, independent of MergeKeeper's own CI evaluation — a maintainer merge override cannot bypass it unless MergeKeeper is authorized to.

  1. Wait for the check to pass, or fix the underlying failure.
  2. To let an explicit override bypass this check going forward, add the MergeKeeper GitHub App as a Bypass actor on the ruleset (Settings → Rules → Rulesets → the ruleset → Bypass list).

@Cjay-Cyber-2
Cjay-Cyber-2 merged commit 51406b0 into ASTROIDX556:main Sep 1, 2026
0 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: build agent activity audit log stream with severity filtering and search

2 participants