P0 fixes (clean-start + route contracts): - VexHub: fix migration 002 table name + add repair migration 003 - Gateway: add /console/admin and /api/v1/unknowns routes - IDP: add platform.idp.admin scope to OAuth client + web config - Risk: fix URL construction from authority to gateway base - Unknowns: fix client path from /api/v1/scanner/unknowns to /api/v1/unknowns P1 fixes (trust + shell integrity): - Audit: fix module name normalization, add Authority audit source - Stage: add persistence across web store, API contracts, DB migration 059 - Posture: add per-source error tracking + degradation banner P2 fixes (adoption + workflow clarity): - Rename Triage to Findings in navigation + breadcrumbs - Command palette: show quick actions for plain text queries, fix scan routes - Scan: add local-mode limitation messaging + queue hints - Release: add post-seal promotion CTA with pre-filled release ID - Welcome: rewrite around operator adoption model (Get Started + What Stella Replaces) UX improvements: - Status rail: convert to icon-only with color state + tooltips - Event Stream Monitor: new page at /ops/operations/event-stream - Sidebar: collapse Operations by default - User menu: embed theme switcher (Day/Night/System), remove standalone toggle - Settings: add Profile section with email editing + PUT /api/v1/platform/preferences/email endpoint - Docs viewer: replace custom parser with ngx-markdown (marked) for proper table/code/blockquote rendering Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
76 lines
2.7 KiB
JSON
76 lines
2.7 KiB
JSON
{
|
|
"name": "stellaops-web",
|
|
"version": "0.0.0",
|
|
"scripts": {
|
|
"ng": "ng",
|
|
"start": "node scripts/serve.js",
|
|
"build": "ng build",
|
|
"build:stats": "ng build --stats-json",
|
|
"analyze": "ng build --stats-json && npx esbuild-visualizer --metadata dist/stellaops-web/browser/stats.json --open",
|
|
"analyze:source-map": "ng build --source-map && npx source-map-explorer dist/stellaops-web/browser/*.js",
|
|
"watch": "ng build --watch --configuration development",
|
|
"test": "ng test --watch=false",
|
|
"test:watch": "ng test",
|
|
"test:ci": "npm run test",
|
|
"test:e2e": "playwright test",
|
|
"test:e2e:search:live": "node ./scripts/run-live-search-e2e.mjs",
|
|
"test:e2e:live:auth": "node ./scripts/live-frontdoor-auth.mjs",
|
|
"test:e2e:live:changed-surfaces": "node ./scripts/live-frontdoor-changed-surfaces.mjs",
|
|
"serve:test": "ng serve --configuration development --port 4400 --host 127.0.0.1 --ssl",
|
|
"verify:chromium": "node ./scripts/verify-chromium.js",
|
|
"ci:install": "npm ci --prefer-offline --no-audit --no-fund",
|
|
"storybook": "ng run stellaops-web:storybook",
|
|
"storybook:build": "ng run stellaops-web:build-storybook",
|
|
"test:a11y": "FAIL_ON_A11Y=0 playwright test tests/e2e/a11y-smoke.spec.ts",
|
|
"test:e2e:docker": "playwright test --config playwright.e2e.config.ts"
|
|
},
|
|
"engines": {
|
|
"node": "^20.19.0 || ^22.12.0 || ^24.0.0",
|
|
"npm": ">=10.2.0"
|
|
},
|
|
"private": true,
|
|
"dependencies": {
|
|
"@angular/animations": "^21.1.2",
|
|
"@angular/cdk": "^21.1.2",
|
|
"@angular/common": "^21.1.2",
|
|
"@angular/compiler": "^21.1.2",
|
|
"@angular/core": "^21.1.2",
|
|
"@angular/forms": "^21.1.2",
|
|
"@angular/material": "^21.1.2",
|
|
"@angular/platform-browser": "^21.1.2",
|
|
"@angular/platform-browser-dynamic": "^21.1.2",
|
|
"@angular/router": "^21.1.2",
|
|
"@viz-js/viz": "^3.24.0",
|
|
"d3": "^7.9.0",
|
|
"marked": "^17.0.4",
|
|
"mermaid": "^11.13.0",
|
|
"monaco-editor": "0.52.0",
|
|
"ngx-markdown": "^21.1.0",
|
|
"rxjs": "~7.8.0",
|
|
"tslib": "^2.3.0",
|
|
"yaml": "^2.4.2",
|
|
"zone.js": "^0.15.1"
|
|
},
|
|
"devDependencies": {
|
|
"@angular-devkit/build-angular": "^21.1.2",
|
|
"@angular/cli": "^21.1.2",
|
|
"@angular/compiler-cli": "^21.1.2",
|
|
"@axe-core/playwright": "4.8.4",
|
|
"@chromatic-com/storybook": "^5.0.0",
|
|
"@playwright/test": "^1.47.2",
|
|
"@storybook/addon-a11y": "^10.2.4",
|
|
"@storybook/angular": "^10.2.4",
|
|
"@types/d3": "^7.4.3",
|
|
"@vitest/browser-playwright": "^4.1.0",
|
|
"baseline-browser-mapping": "^2.9.19",
|
|
"jsdom": "^28.0.0",
|
|
"storybook": "^10.2.4",
|
|
"typescript": "~5.9.3",
|
|
"vitest": "^4.0.18"
|
|
},
|
|
"overrides": {
|
|
"lodash-es": ">=4.17.21",
|
|
"tar": ">=6.2.2"
|
|
}
|
|
}
|