2.5 KiB
2.5 KiB
AI Chat Panel UI
Module
Web
Status
IMPLEMENTED
Description
Full Advisory AI chat panel with message rendering, action buttons, object link chips, evidence drilldown, and explanation panels is implemented in the Angular frontend.
Implementation Details
- Feature directory:
src/Web/StellaOps.Web/src/app/features/advisory-ai/ - Components:
autofix-button(src/Web/StellaOps.Web/src/app/features/advisory-ai/autofix-button.component.ts)action-button(src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/action-button.component.ts)chat-message(src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/chat-message.component.ts)chat(src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/chat.component.ts)object-link-chip(src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/object-link-chip.component.ts)evidence-drilldown(src/Web/StellaOps.Web/src/app/features/advisory-ai/evidence-drilldown.component.ts)explain-button(src/Web/StellaOps.Web/src/app/features/advisory-ai/explain-button.component.ts)explanation-panel(src/Web/StellaOps.Web/src/app/features/advisory-ai/explanation-panel.component.ts)plain-language-toggle(src/Web/StellaOps.Web/src/app/features/advisory-ai/plain-language-toggle.component.ts)pr-tracker(src/Web/StellaOps.Web/src/app/features/advisory-ai/pr-tracker.component.ts)remediation-plan-preview(src/Web/StellaOps.Web/src/app/features/advisory-ai/remediation-plan-preview.component.ts)
- Services:
chat(src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/chat.service.ts)
- Models:
src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/chat.models.ts
- Source: Feature matrix scan
E2E Test Plan
- Setup:
- Log in with a user that has appropriate permissions
- Navigate to
/triage/artifacts/:artifactId - Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
- Core verification:
- Verify the panel/drawer opens on trigger (click, keyboard shortcut)
- Verify the panel displays the correct detail data for the selected item
- Verify the panel can be closed (X button, Escape key, backdrop click)
- Edge cases:
- Verify graceful handling when backend API is unavailable (error state)
- Verify responsive layout at different viewport sizes
- Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)