From 07cdba01cdda4d688fc68b9cb2fee11403e70ee5 Mon Sep 17 00:00:00 2001 From: master <> Date: Sun, 19 Apr 2026 14:44:06 +0300 Subject: [PATCH] feat(web): integration hub audit links + dashboard tips + e2e Sprint SPRINT_20260415_002_FE_integration_audit_links_and_dashboard_tips. - integration-hub: integration-detail component + spec with audit links. - dashboard-v3: component + specs (core/testing + tests/dashboard) with getting-started tips. - audit-log: audit-log-table component + spec. - policy-governance: client + scope helper. - deploy-diff: panel + page + service. - graph: graph-filters component. - jobengine: scheduler-workers-panel component. - reachability: reachability-center + witness page components. - release-investigation: release-investigation-context. - E2E: audit-consolidation, integrations, policy-orchestrator specs + live-auth fixture; live-frontdoor-auth script + playwright outputs. - Utility scripts: debug-auth, probe-services, scan-pages. - package.json tweaks. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../e2e/audit-consolidation.e2e.spec.ts | 27 +- .../e2e/fixtures/live-auth.fixture.ts | 11 +- .../e2e/integrations.e2e.spec.ts | 15 +- .../live-frontdoor-auth-failure.png | Bin 0 -> 192098 bytes .../live-frontdoor-auth-report.json | 57 ++- .../playwright/live-frontdoor-auth-state.json | 26 +- src/Web/StellaOps.Web/package.json | 1 + src/Web/StellaOps.Web/probe-services.mjs | 13 +- src/Web/StellaOps.Web/scan-pages.mjs | 13 +- .../scripts/live-frontdoor-auth.mjs | 466 +++++++++++------- .../app/core/api/policy-governance.client.ts | 7 +- .../testing/dashboard-v3.component.spec.ts | 33 ++ .../audit-log-table.component.spec.ts | 41 +- .../audit-log/audit-log-table.component.ts | 63 ++- .../dashboard-v3/dashboard-v3.component.ts | 132 +++-- .../deploy-diff-panel.component.ts | 2 +- .../deploy-diff/pages/deploy-diff.page.ts | 2 +- .../services/deploy-diff.service.ts | 2 +- .../features/graph/graph-filters.component.ts | 26 +- .../integration-detail.component.spec.ts | 14 + .../integration-detail.component.ts | 67 ++- .../scheduler-workers-panel.component.ts | 20 +- .../policy-governance-scope.ts | 2 +- .../reachability-center.component.ts | 34 +- .../reachability/witness-page.component.ts | 23 +- .../release-investigation-context.ts | 2 +- .../dashboard/dashboard-v3.component.spec.ts | 5 + .../e2e/integrations/integrations.e2e.spec.ts | 15 +- .../e2e/integrations/live-auth.fixture.ts | 11 +- .../policy-orchestrator.e2e.spec.ts | 2 +- 30 files changed, 721 insertions(+), 411 deletions(-) create mode 100644 src/Web/StellaOps.Web/output/playwright/live-frontdoor-auth-failure.png diff --git a/src/Web/StellaOps.Web/e2e/audit-consolidation.e2e.spec.ts b/src/Web/StellaOps.Web/e2e/audit-consolidation.e2e.spec.ts index 32021fd47..3118e386a 100644 --- a/src/Web/StellaOps.Web/e2e/audit-consolidation.e2e.spec.ts +++ b/src/Web/StellaOps.Web/e2e/audit-consolidation.e2e.spec.ts @@ -264,25 +264,28 @@ test.describe('Console Admin extended audit tab', () => { }); // --------------------------------------------------------------------------- -// 6. Integration Hub — Config Audit tab +// 6. Integration Hub — unified audit cross-link // --------------------------------------------------------------------------- -test.describe('Integration Hub Config Audit tab', () => { - test('Integration Hub has Config Audit tab', async ({ authenticatedPage: page }) => { +test.describe('Integration Hub unified audit cross-link', () => { + test('Integration overview links into unified audit with explicit integration scope', async ({ authenticatedPage: page }) => { const errors = collectErrors(page); await go(page, '/integrations'); await snap(page, '06-integration-hub-default'); - // Click Config Audit tab - const auditTab = page.locator('stella-page-tabs button, stella-page-tabs [role="tab"]').filter({ hasText: /config audit/i }); - if (await auditTab.isVisible({ timeout: 5000 }).catch(() => false)) { - await auditTab.click(); + const detailLink = page.locator('a[href*=\"/setup/integrations/\"]').first(); + if (await detailLink.isVisible({ timeout: 5000 }).catch(() => false)) { + await detailLink.click(); await page.waitForTimeout(1500); - await snap(page, '06-integration-hub-config-audit'); + await snap(page, '06-integration-detail-overview'); - // Should render integrations audit component - const auditComponent = page.locator('app-audit-integrations, .integrations-audit'); - const visible = await auditComponent.isVisible({ timeout: 5000 }).catch(() => false); - expect(visible, 'AuditIntegrationsComponent should be visible').toBe(true); + const tabsText = (await page.locator('stella-page-tabs').first().innerText()).toLowerCase(); + expect(tabsText).not.toContain('config audit'); + + const crossLink = page.locator('a[href*=\"/evidence/audit-log\"]').filter({ hasText: /open integration audit trail/i }).first(); + await expect(crossLink).toBeVisible({ timeout: 5000 }); + await expect(crossLink).toHaveAttribute('href', /module=integrations/); + await expect(crossLink).toHaveAttribute('href', /resourceType=integration/); + await expect(crossLink).toHaveAttribute('href', /resourceId=/); } const criticalErrors = noCriticalErrors(errors); diff --git a/src/Web/StellaOps.Web/e2e/fixtures/live-auth.fixture.ts b/src/Web/StellaOps.Web/e2e/fixtures/live-auth.fixture.ts index 92b78a77a..4dd77d23f 100644 --- a/src/Web/StellaOps.Web/e2e/fixtures/live-auth.fixture.ts +++ b/src/Web/StellaOps.Web/e2e/fixtures/live-auth.fixture.ts @@ -9,7 +9,16 @@ import { test as base, expect, Page, APIRequestContext } from '@playwright/test' const BASE_URL = process.env['PLAYWRIGHT_BASE_URL'] || 'https://stella-ops.local'; const ADMIN_USER = process.env['STELLAOPS_ADMIN_USER'] || 'admin'; -const ADMIN_PASS = process.env['STELLAOPS_ADMIN_PASS'] || 'Admin@Stella2026!'; +const ADMIN_PASS = requireEnv('STELLAOPS_ADMIN_PASS'); + +function requireEnv(name: string): string { + const value = process.env[name]; + if (!value) { + throw new Error(`${name} must be set for live-auth Playwright runs.`); + } + + return value; +} export const test = base.extend<{ liveAuthPage: Page; diff --git a/src/Web/StellaOps.Web/e2e/integrations.e2e.spec.ts b/src/Web/StellaOps.Web/e2e/integrations.e2e.spec.ts index 6ef02c2f1..be074036b 100644 --- a/src/Web/StellaOps.Web/e2e/integrations.e2e.spec.ts +++ b/src/Web/StellaOps.Web/e2e/integrations.e2e.spec.ts @@ -22,6 +22,17 @@ import { test, expect } from './fixtures/live-auth.fixture'; const SCREENSHOT_DIR = 'e2e/screenshots/integrations'; const BASE = process.env['PLAYWRIGHT_BASE_URL'] || 'https://stella-ops.local'; +const ADMIN_USER = process.env['STELLAOPS_ADMIN_USER'] || 'admin'; +const ADMIN_PASS = requiredAdminPassword(); + +function requiredAdminPassword(): string { + const value = process.env['STELLAOPS_ADMIN_PASS']; + if (!value) { + throw new Error('STELLAOPS_ADMIN_PASS must be set for live integration cleanup.'); + } + + return value; +} // --------------------------------------------------------------------------- // Helpers @@ -258,8 +269,8 @@ test.describe('Integration Services — Connector Lifecycle', () => { } const usernameField = page.getByRole('textbox', { name: /username/i }); if (await usernameField.isVisible({ timeout: 5_000 }).catch(() => false)) { - await usernameField.fill('admin'); - await page.getByRole('textbox', { name: /password/i }).fill('Admin@Stella2026!'); + await usernameField.fill(ADMIN_USER); + await page.getByRole('textbox', { name: /password/i }).fill(ADMIN_PASS); await page.getByRole('button', { name: /sign in/i }).click(); await page.waitForURL(`${BASE}/**`, { timeout: 15_000 }); } diff --git a/src/Web/StellaOps.Web/output/playwright/live-frontdoor-auth-failure.png b/src/Web/StellaOps.Web/output/playwright/live-frontdoor-auth-failure.png new file mode 100644 index 0000000000000000000000000000000000000000..2db582924e404cbda29e32b2133612e845abc39f GIT binary patch literal 192098 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 YVP$g3bueYnOas7!y9Qc?ciNdTL1t6 literal 0 HcmV?d00001 diff --git a/src/Web/StellaOps.Web/output/playwright/live-frontdoor-auth-report.json b/src/Web/StellaOps.Web/output/playwright/live-frontdoor-auth-report.json index 52d860b41..42f6134f7 100644 --- a/src/Web/StellaOps.Web/output/playwright/live-frontdoor-auth-report.json +++ b/src/Web/StellaOps.Web/output/playwright/live-frontdoor-auth-report.json @@ -1,55 +1,58 @@ { - "authenticatedAtUtc": "2026-04-15T08:23:58.746Z", + "authenticatedAtUtc": "2026-04-19T10:08:12.266Z", + "authenticated": true, + "error": null, "baseUrl": "https://stella-ops.local", - "finalUrl": "https://stella-ops.local/?tenant=demo-prod®ions=apac,eu-west,us-east,us-west", - "title": "Dashboard - StellaOps", + "finalUrl": "https://stella-ops.local/auth/callback?code=eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkEyNTZDQkMtSFM1MTIiLCJraWQiOiJZV0pPRVlCSzU3UEpSQTFTSFhFWkM3NEFRQktRWFdEQjZaWlVPV0dVIiwidHlwIjoib2lfYXVjK2p3dCIsImN0eSI6IkpXVCJ9.IDXJmN_y55KXyQfQck2Fk2g49Mwgi6qrbu4GFQBt-Rsq0Ja-td8huvXXbB4ZH0DTPpAjFdDLqGxCVVEurC9WuxTJ2BqdQjXgHBVz7HEat_l3wITTSC5IjQiprxE43W0wJ-18u82uc_b3eA7k_TBOkaETA6K85h-r0aWHPk21eLUFJ6RsMbkY_uGi8T098-9UNvKiJ-r2Em3KXzs5uhBgUWjv_eUlxXqy1I3kL4VwKb-Owv6D1I_4N_v02wLlJjLmj40I4rc6AC01-QnnWGDAXQqXbz8GvarIUxGRlVvd_siGDaZHqKaMScV_6k3mzK8AyQMfmH1GzKDJtHpHmbBItw.wl-qD35iFGQCPthi9hlXGQ.OKdcas-sptgtseIuePWdXeHzO4Itv_Gm2FVPPKh96Isuo_GBkXHs4vgmnANz7sq-_o1dMJLUREOWR964NV7AQaq1vvIK3xkcyvkQCVrXHte1rcTXdIYXz6J89SyUN0lJ1NnSWusjYFXnFLt3T1OznwFBo_ry_hgmnieHKYn_deAFXOAj_cisYG9DgTZ9DADecU6a9_TeDEKFgRc-WTXKUlvjsn4XSMnq_lD26dyGP-iGVYfXd21bdzZIo2DzOSzYtchA_CWF42cz5VchrBH19yPJbKJBoh0BDIw5uVRrfk6yw0EZndglVOAoxQdiKinIxOhYeryhc2qoYeT4tdEKB-zJcQ7XUHKYsT4crsjzgKwNr7m0pKUpSMRS-T2ttqHMl7tDMKsVYSsngpVl3bII-RSqBK7cSSzjwCyd0TbBuCSM2aRKhbD5yGzEhhuIA85TOgIlnLJmG_XmGX9P3b0KjPZEQoYZU30aYvf4lB84KbyMX9WHBi0kGDVOleuQK7ZqMOXqRDo8mt9aVKkDJaV7nwNJYTw2omgNGepFz5_0euprC7PZZBnRrw7L494AngJUR3Ku1qKtxvNwXv8Inm9G-q7B9CtFMYU8UA4YBLmVtnIeFrJgxzIeDxEKRHC8U6EKs1ZipxCalGudjAMR4drJoBjYAGazKU85rlR0SLBomH-YtY7MLHXWaiDSOeOCZpf1CDCMI-vJADNGovBRXczd_xIjKEquzlsuK0FfE1IXQBxwYLKEw6CaTqgP4LsdSWWYyf9g5vUpfgvFlnMPEOoWmmzR-Ul-5LoS_OY52_f32adYRlODwL84_kM00JPxh4xzLIUup3BLP01SRo5-1o18QtCihs1IfzFvWKoPq76YiQ00s51FwqRzd_SDc9Fh8Zd7zgjCtZ0wEKYaU2wRmPeI7UNroT_p2I3L8aKE_fcdlEIjRvT-bb893S7YDYAVaihyS1NTi3O-C7TdWx85UIMjeuBzhPw2iKfSuuSa5GJzPUMtZBoq0U_Eo2SnLLzva1n2N-jtlpv5N5gnPJV17CDHHeTBbSQkjBg8OIbTQcGsSEp02feFQ6DQ5uFM1mj7yEIaejMbeXdIDksmwPDitUoO4BwNOGOFVyboU2XpXPxA-FzdM3APC4UOGUHhaA4u2e-S0zKV_gKT9G1mEbD9axO8IvfMdV_Sk8xUejqas3vHk0yo8-mNP-MzlYdnEnQZDzTezEcIhOkUUH-p94DAAZq-L32Y3XxeFxkZsbvQn01_o6jJHnCLQYuND19d9Uak4oOK_y3KVFiGwN6xdqJMIbHF6ULnMkFFbqsOAmg0Fb9ktg1Eu0o4gywTKNQg-ynYTZ2SLDcfZouheP1y2vZODTe9dEh6HYdAptThS0ayQWLUW7hcFR9vQtmZi0jS2CZf8QBjPQ69J6D-aj8X9FNCJvvhMq2mo8zOQEQc1Yj7MF2FwQSs7vZjHEFcyo6tO81N-c36ufgKK2F1zIVzDyOYPFLQK9tcH2yY8Wmndvo9pv3YTHlgUhideDBObfX7wW7-Oe7A_-JvwakHdWY21qBmY68R-AfYhPyUbMQ6k6X_prQhdobFl51rxDUbNeMEOiwl4sistfrDvoLzotUxSY1fZEI2tJJPhkFvsR5WXwQMmKw65_sbuln_uSzuSErWtGPYfyzsma_cRlycTi0OqkRvBn-1gyynbXwaYGHyx-lcrn3ePARewzIKv5eJhgZLgxscttf1GHpw9x4yeRgNOqpC1pr9zOaA0x0bgl-VWRJ_LR8ZyjnkjX9NDjhWHmwBvxacbrGSWlVC7wAu4SHWjZYTuKPJrGaq1XFEWwdbxFdWCx1T4wayzUF12HokprZMXg20JhKa6OJi3rIHblQlAgoq_m3vyfcs2EGtOCw6s6t1VzviUue7EKsR4H_eTo3oqlv1VuSrqycpzNeUJcF8N43utSNVEhIQnt6Ec20S6jaMVfPdRaCOmI113Y75laM6Dz41Mc0xp_rEp9B-B1x9pmy5k7C93e44M-hAgRQcVNEc81rjSC6Tgpt_vXqobFvIu68tMeJ0JxgAfixc2KbIYbvxolV9yy1Y9WIVX6Fmn2jNrRQfwu9N4M-2U4cMH6K83Ltsgq8qgGffnGUq5aOu9WUpSiHRiu_jiE1N63RB8Ys60YK969J6o_f2eBzpP8oJfldMHfJ7nXzVL_Diql_Gt_yZdTzks83tMnNRS0XCrUTRRC8zec7960xywgC6nvn3lMS5J9aInnUSNp7v92m3C5Esw20UTnv8dsuEjnHqEa3uVGaZg-b0xp5d8oklmOgJqGsVlZ8XcFxsgxhVT574-_G2qPGr3azF1DDUXSqQI5g8BNBSHJOuiYq89TwS-uRlyti-mhB6Qommo1zKlfOKHNdEk9VWGoYH4LouhWRXBNE3Ez282oAl-c-gAWtIdI1hwCl0bnG3HsMpSApexF6PuX3QtwTq33glR7Ovw_i8BTtYRUWC4evgidDJeBv7opgo75xNwXg9bDZypbjZxLsT-kjUNu7Epw8BAEf-I1YmBJZQboqVwFtJLwS3bb5V0NjP5IXwf5lUp6zkxe7Wq50jnLOQwa_0p3K2PKpAm-_nl5begrS368DdEMhQ2CvuOh4D7Qkmsn59OsdkQNla2_N16JKc7iPN7xrvQcDnAmNsVRVIgmyyE5oGQfrHUAwVbnNQgb6IQyACWG8cCt_HFsdxp-tOOZYXW_X8sKi0uYhbkrJtePlc3vu4gU3MYilo0CwM8RUzRBXn_QLc1QKhSbFHkIx7C3GjjtWM_CeTyA9dGhjnrt6wR_SKMuk8MB8XFy39IMhOR75S8PAZpL5zSX10Xohou09SHR_mrqHWy5sP_VHx2RRQWnWuCQBPiXwl0eQeQh0X7PGIeNqzgkPRjVc-OwSS2-9gc6YEtvmZYtKI8yh2zNWHgSoBJk9zf-9393s7wcDY-7gZU61W4yFYxI_oZplBXbD6b24IOcsRjiHlYaWEvfASMEGH7svXtiq5ia2e7Gu4v66sWOntAGaFlo8Lq-5uM9L3CJ0kMnZ9llGbQ0bIRT5DsVHmgA7VuOrCt7IkFc1l4U8ezQUYgIxtWpT7QpTzDQRKQzOKYYeEKOwoZv7jWKE1ytExnHy6KRyXeklol4IkXXJlJoPMvAmH67qiRqTf0tcxzsZoK2Ss6iKBHIQshmm7q6bC2F98cedeaE0-5WapKsZWq-J7RGgZ-b7eaaJyohHY14-iXPeYaNEp5RRwanKb9vD-PXP5r6MvTjW89EDVDyZI2f-SM_Nc0lQg8um56TB1d1hbXYOu5jLv__GjDatsaUM8OcC0YgvixzuWjO-JkZg84dvS9EoeygPw33FgfxuFJrhrfIVbaLmK3Pf_0zFE2-Gf7_OK-7auRFO_PbQ2jkeViusQWwPUKfV4Ew0gpaRvXHLkdl5mkCnlxvg9ENHYi5p18hiP8K0c2HcJSDOIkxbMHHz43RzJtX3-LAAFxIcFFLr8GaRnzqfnOZvs07afm9ymUo4v4Tf8TwulTq1xhswtWVHABmIdrc0kOm2IWyPlYFEvNDS1jHJrZCtbs0wH13PeMDAHHrRNj13ThERQNi4icfJyJ9lKoZeATLLtDZ-PFK1GbGDHI7HcCfI6-2r6MZJ7ZVrjGtAJa0hVhymgK70GCJtnctV5OMzKGB0LSNlNnpt0v4TDpbzz9FLo1rjIPv-UNrH5Gmsbl7tKoW8fOniFJHkSakUpyfdiDzAqDy8NxPRggGPsz5Yuqc4YdL-EWqshUf_WhCmnK-D1QDfCLsNpxK8HQBbFMVSqH5nIo9Ey2D-eSU9Udgz2WWtSra-YPsy-GOZiYaJlt0__npOYfp86AkbuBKbhNnksoHes-S_mlLTxlW7Svc64QOAvSgunqlvaFjVrognkxHAsOuarNtay-o6SJkWcjkqJt3qK90tj3lSf_8_3EYVfCVCJCi-KVI0Cnln9AOmoLGw_lzKe3_AfUJzk569b8EsLzM2d6JFpdgn95fNWb7nVxRf_NIVonjlgyVPuuJcJzgDGlM-GruNfLwoVj81bBZrG4X5OMYEdhb7nAItOj3eio6dAWqPnAfxSlzlVoXCnl6fIDl5H64c_nrOGkE1FFCf-2_GSEby2fPawSNqFrJgkj2DIv9-I9ZP7nW6ONq9kCWEo1UchpXhl5KVLfoMEce18xJi8jgLC6lLewcru47oUX2UcY-urUrNVawY8s6JEiqnCnJ6PkU_HAo1HDL8Mo19tKXEaIakQXS5WKbCsyhviD08evyrv3ZFOUdFbHOuJ8WlKKWX20eg-bYUDzFghEDRsuJoP8d-9NTZ6vKWEniHgLkIrAh74bJKzpJQB5xBmeRPE6KjeUUbD9XcflDWa8Xvqb8q2dX_zr05oiB75lEwzemzITzWigRLhbbJSb23OrPgTEHTjoqEXb62suM6-tWZFyFKOtQgjLZpj5Fngrh4Axfx6hpznPedZ3o4bDY0IhlYoHLCaEk20GXMkre6gRfp9llmVJGtrPCoC_5P9ofKZrx253OSIF_DIWz5mmK3X4XUvb_kGL24eegRKL9JdYr_hmKCuMUB6YzBiK79X9Nx28O9I7j9zvJHwbYbEOoPqXyXfF4tC_psL.GJk49TeQyEpyH4Q2BwlvJ4ZzD5mLAOHjN7xjD7dcvdk&state=3625aa20-9cb3-48c6-83dd-6dde75733845&iss=https:%2F%2Fauthority.stella-ops.local%2F", + "title": "Callback - StellaOps", + "bodyText": "Stella Ops\ndefault\nf945f00811f44f008058268a264ed015\n\nCompleting sign-in…\n\nSecurely verifying your credentials", "cookies": [], "storage": { "localStorageEntries": [ + [ + "stellaops.auth.session.info", + "{\"subject\":\"f945f00811f44f008058268a264ed015\",\"expiresAtEpochMs\":1776595090118,\"issuedAtEpochMs\":1776593289124,\"dpopKeyThumbprint\":\"knhtz_ieCuFgS2A6bYdUWWhbWQNMcly969VVWFBQoAA\",\"tenantId\":\"default\"}" + ], [ "stellaops.auth.session.full", - "{\"tokens\":{\"accessToken\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6Ikg4TkdITjJESUNPUlE5QUpGTUlFRzlXWVdTVVlSUUw0LVJXR0E5QlEiLCJ0eXAiOiJhdCtqd3QifQ.eyJpc3MiOiJodHRwczovL2F1dGhvcml0eS5zdGVsbGEtb3BzLmxvY2FsLyIsImV4cCI6MTc3NjI0MzIzNiwiaWF0IjoxNzc2MjQxNDM2LCJzY29wZSI6Im9wZW5pZCBwcm9maWxlIGVtYWlsIG9mZmxpbmVfYWNjZXNzIHVpLnJlYWQgdWkuYWRtaW4gdWkucHJlZmVyZW5jZXMucmVhZCB1aS5wcmVmZXJlbmNlcy53cml0ZSBhdXRob3JpdHk6dGVuYW50cy5yZWFkIGF1dGhvcml0eTp0ZW5hbnRzLndyaXRlIGF1dGhvcml0eTp1c2Vycy5yZWFkIGF1dGhvcml0eTp1c2Vycy53cml0ZSBhdXRob3JpdHk6cm9sZXMucmVhZCBhdXRob3JpdHk6cm9sZXMud3JpdGUgYXV0aG9yaXR5OmNsaWVudHMucmVhZCBhdXRob3JpdHk6Y2xpZW50cy53cml0ZSBhdXRob3JpdHk6dG9rZW5zLnJlYWQgYXV0aG9yaXR5OnRva2Vucy5yZXZva2UgYXV0aG9yaXR5OmJyYW5kaW5nLnJlYWQgYXV0aG9yaXR5OmJyYW5kaW5nLndyaXRlIGF1dGhvcml0eS5hdWRpdC5yZWFkIGdyYXBoOnJlYWQgc2JvbTpyZWFkIHNjYW5uZXI6cmVhZCBwb2xpY3k6cmVhZCBwb2xpY3k6c2ltdWxhdGUgcG9saWN5OmF1dGhvciBwb2xpY3k6cmV2aWV3IHBvbGljeTphcHByb3ZlIHBvbGljeTpydW4gcG9saWN5OmFjdGl2YXRlIHBvbGljeTphdWRpdCBwb2xpY3k6ZWRpdCBwb2xpY3k6b3BlcmF0ZSBwb2xpY3k6cHVibGlzaCBhaXJnYXA6c2VhbCBhaXJnYXA6c3RhdHVzOnJlYWQgb3JjaDpyZWFkIG9yY2g6b3BlcmF0ZSBvcmNoOnF1b3RhIGFuYWx5dGljcy5yZWFkIGFkdmlzb3J5OnJlYWQgYWR2aXNvcnktYWk6dmlldyBhZHZpc29yeS1haTpvcGVyYXRlIHZleDpyZWFkIHZleGh1YjpyZWFkIGV4Y2VwdGlvbnM6cmVhZCBleGNlcHRpb25zOmFwcHJvdmUgYW9jOnZlcmlmeSBmaW5kaW5nczpyZWFkIHJlbGVhc2U6cmVhZCByZWxlYXNlOndyaXRlIHJlbGVhc2U6cHVibGlzaCBzY2hlZHVsZXI6cmVhZCBzY2hlZHVsZXI6b3BlcmF0ZSBub3RpZnkudmlld2VyIG5vdGlmeS5vcGVyYXRvciBub3RpZnkuYWRtaW4gbm90aWZ5LmVzY2FsYXRlIGV2aWRlbmNlOnJlYWQgZXhwb3J0LnZpZXdlciBleHBvcnQub3BlcmF0b3IgZXhwb3J0LmFkbWluIHZ1bG46dmlldyB2dWxuOmludmVzdGlnYXRlIHZ1bG46b3BlcmF0ZSB2dWxuOmF1ZGl0IHBsYXRmb3JtLmNvbnRleHQucmVhZCBwbGF0Zm9ybS5jb250ZXh0LndyaXRlIGRvY3RvcjpydW4gZG9jdG9yOmFkbWluIG9wcy5oZWFsdGggaW50ZWdyYXRpb246cmVhZCBpbnRlZ3JhdGlvbjp3cml0ZSBpbnRlZ3JhdGlvbjpvcGVyYXRlIHBhY2tzLnJlYWQgcGFja3Mud3JpdGUgcGFja3MucnVuIHBhY2tzLmFwcHJvdmUgcmVnaXN0cnkuYWRtaW4gdGltZWxpbmU6cmVhZCB0aW1lbGluZTp3cml0ZSB0cnVzdDpyZWFkIHRydXN0OndyaXRlIHRydXN0OmFkbWluIHNpZ25lcjpyZWFkIHNpZ25lcjpzaWduIHNpZ25lcjpyb3RhdGUgc2lnbmVyOmFkbWluIiwianRpIjoiZmZlZGY3MWQtYWY1MC00NWQ5LTlhMzQtMmNiYTE4ZTVmMWQyIiwic3ViIjoiMzRlNjllNDdkMzE2NDdiODkzMDc0NDk0NGYyZmZmNzAiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJhZG1pbiIsIm5hbWUiOiJhZG1pbiIsInJvbGUiOiJhZG1pbiIsInN0ZWxsYW9wczp0ZW5hbnQiOiJkZW1vLXByb2QiLCJhdXRoX3RpbWUiOjE3NzYyNDE0MzUsIm9pX3Byc3QiOiJzdGVsbGEtb3BzLXVpIiwiY2xpZW50X2lkIjoic3RlbGxhLW9wcy11aSJ9.BAPTbUxstvf4uSVv4bcKBCxCWam0MHZ8KxaaqIygmYnTng7xnoN6x2ub6s0EjAbQRY7M67gP_ESywOOMkklH_iIXEixCEQLueAIyvbFmo21ssmDY2SclXtInuXsIosZfKpqraYcvn7nO9DdqDa44hZ6OVbFJTkrGjJCjazhApR5VD5hiAK53_swYhVPuPXCXNU38aExVPPazAu4C4QuDBJuy5Rp4tne92Uzo60tad-ojOMGT-7ILkDWqzp_SPRSuvbQuyzQEjBGGljSeoUqUnRg7Q4gj1u6XwyKMhTvbA6n6KtcgsPGLK6_AzspFqxOuMicjgcvY93pcnnm62b8EAg\",\"tokenType\":\"Bearer\",\"refreshToken\":\"eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkEyNTZDQkMtSFM1MTIiLCJraWQiOiIxRVlZNFdJNFJfWE9HSDZVRFRPTFBUV0JQSE1QUlZaWURBS0FaRjcwIiwidHlwIjoib2lfcmVmdCtqd3QiLCJjdHkiOiJKV1QifQ.OjzFbXMVmR9utsZHxNNBb7lKfzW1tuD2V7uE6_WIo7viJTqvK5Pc70225amfOn_ppciNbsQtdWqtULoybzWVR-dOKJ7xN8vDcmhVJCvlHOTdVVZIw9fkdRDpsUXkabUFWC8hjpAd1ol-x5Y56EpB4LHmEBYRRV2g1g9lBMcnK8ARBoLwgrsK1xsR_Vueg9bvbcnbQdDoi_tgV2jORtPQ3WUyzNECt8WY0cMnU7AP43EcU5agg4r5SLJ4qYCoGRrEasAaH3kIEQaZLRqIlCNF1x-77vvMdYVDpqkLLgQF2bg2EM32_DIyccxSzdKFqyzTWieOfz8nnR_cgdpWITOjug.-ZgbI6MR19kz4G8ueQfOgg.w3F0J2tK722wQD6NcNcIrOXtj4ZkmYNy-mf-aK08l_TBUpHwqTByrAz3XfmD7SXtO4DqC0H-BdjxeBGbnnMxTjNG5BwtGN0wNZbYPd7yBm8eJy7ay6VhwpRBHDUm0UBUL-Onk0mcgD3vi_POkeBv54zFFJBqcijN3ia70Eim19HgxLkFop5LYebbWkX4juRRz6fI5KLglBrQnF6FTPaz3gq65PUbyAW1qQpdv1fw3n6S0YjkQzV_96sBsx7iLexfT16AwRRfmPiUOTpPljcfDtSHXKK4n0y4TVHdDb5FoOmf8WuloMAVPUzVjVuwJqZk169I8Yx-eyP62yWJYKNNaPE0-YQ9b7XXub2U3StSSMagPTNM8RG3Yxe2pnQDIoW5v81Q6Qdek7xktmooL8WNnFMBd4udNOsMCeGk98QTuXHXVVKq4zNuVuBgFoCWAWMBGGNVZXXtiELgwH3lE9IoUlbdMsGUBAQ-vcj_QFlzAGGonAp2YUMX3pY-bnqfzhp0cWMjBJxUK8-iRWmmw-1cMKtNSEqlg21bEDUQBFDJTMJENC31kaaqCfny8wNu90Oi9faTzx_bjAtFiH83XB1c-J0eTa5BBdWbd7Mu7U-hryne0RWK1wCkf97vo9aB0xclHxnQA2v-gtp-rtpb8QkvYS91D9YvpHyuPEhkQK3liyKRXvQND-6tMwDrcFoj9_7XyukAjw1WEKnjQG7u9TnH81ejB0nHVDOhwWGMxMIA8EO0_ql9MfGvIN3Cy_O82MlIthSn5-V7aakV_dyZYkvEcKZ0UBrSxCwQSKAS9cqmew0ud3fzzp8cAqwNMDHvkECw_YN8LBJN7FfpPXxnOsKveySv-IISsOxae9A5i9BPYh0OJ0jxKxI2XmnOqspdGZu-5D5JVZDBrqlDM4b84SECSuLnDkejV7_N1Cwt0YogU7lckvaFCvmuQ0xmhdWBOvlXtyEgGjr7HpviX_64utAR5ItsXu2QK0tVq_mmXiL9nNqsPqO13Qy2GJhtg_5GLXVV7GFztNVzaxu1Yu8tSEuhMWJ2aKx5xkaY5jr4pzW9gkgx-TQBQrkwSvKm2NVGxX74StxQwo-3vM0V8uUhlGxOBH2WNC8SbsPXdwsb3yad2c-0itweIm9znnGg7ePxl3NQFLVaBQiW1wiqJta5iSb970fTJ560wsNt7ooBDw2Ux5lGeEGNJC7F4X6KjuvZsONSJRkyguiduDVDytbN_PAvIGPPFsCNzdY3K9rw-fd3vABygfYWxhUacWTbHq-jFfYHijBJPQ4J7uzh-gr2O5dYODCg8uo3h1Ka-p9tXX1D_uLsfjHc62Sp3LaFZ34tFWzq3cZKKllmDWgpECgySFXLKHKRAP1GCahWkgyf3PW1j4liK3Xxaqq4W1-UokwOLyacWD5Gw54JgY2o43BpQZuK3pRjSaoyB2PErrNrzsdw9f_gHSa8-z7xvoQSjegyIjAB9UN0-h7pb-cozsYsvhsFm_4E7d6aCtmn80QQl5w7_8MyuuVngij65B8jRXxlUog-lQGSm-q3ZyMrWK8puR7KpokgfUl1qwOM1N-5WxDGHQHFeD2Hm-9mSmQfv3coF1rHmh65fk3kzubaMZoPEXFTtEwQtmhRVAS5F4JFniT_hX3xuthylEtW12b20EkLWfnSt_bH3tL0Ig48I4Z7P8w_v7kQNS8qjiAMaOstE48fOfc36y5Pk89uyDC_Zji2exOugPJ8E_YeaEhzhFeMHxwEq2JGWAzXwhma1wZ8BkNNWyMOLNhd5S0--OqnhArs09RCEpzpoWSNDa3aInE4QjNcEdQsMFyyCNa_1Pk9qXM8DLDPueh_BS7EhVhWNOoYLmBSZKFZHksB6LQngbWr9CS4RHedCw1zi5KriZKDSkLGwFrpBeXs2d2UGPqO-Wyz7ea6wtZ4MLWXpXJASlr0OYEEvR48DphIs--UPvTRf8pyg0O5ZBk45AwEl7twN85IYwlX01swbVe9V8Eur1hJBCKPUYn9WBs3SVP5wYURnO8ukOt2UIQCPzXG1qGTmGk88Df-TlsunUmVsHnPChzGxyew1FCwV4R1YDuc0BBd3XH1mlv2656lQ01Fht9l-gt06a2RwIJTZL4y1Vh3DYcvKWNBw-LLGjo7rOL8u8bADx_-cscu-Rs_n9PKFzuQfu5VZsRpMiIIJ8qnEqaHX5Mcy70gbRYH91mDXEdpAYykr4olwB1sG-yP5H10A7nKExx24YoToZbxgEyZuV7HZ5xrcreSIQ-uFH2S6I7nkYhm_3QshyHP1kn4UrUemrcVpAa97x8IUT6LSjJEQ6i6vH0akluHMFjPcf7o1UndrVUGOlux-kd3i7LD5Qp4x1fB3NTaOoPvsZGuBdTxLh5nxO55FU2afldTaTYVhgm9V3yrJ16p2wWj8cR8XbmGk-0ociK0FLjVgSVBK9oPX5OhMkYQYI0JQgdLfM_1PPvxBkJPU9Bv7OuVc3oFm9Vkf3CDgl2kNh9HN7Pi4eUDydqgwcO_WQqpLkbHV-V3IAMyxJRyvLBvNDkOLmyDzbg5CCUwVZuKugASUoud8qEqn-jupPGXxqzpUi7cBrgxM3CfULa3idzknLszw8K9utCjsazoyewSiWUN7V7L6b18Rp4gLMZ9M9NBRMHNa2Uf9htGb-HK8L0xNKlab6EYY0iNMRV00RLbHlAbgKntj8pfD0Ox5y5AgqFNxJ1m2dWMoo_fsXiYNvAYN9DBLhewds1SsOQ4X7Q-7FCJKIceeiIOUbbpoCqJnxg_ZF-eukpA5QicuZv60qvbp-QBFt2x22TBIFtphJB-uNudY2_inRyt3VYZJGr-juUgxaMDTJ8WDiLyVqO_Dnd-vvU_Z0DF4xWiuVi5LVuYPO3etlT9ibfqJKne6Wf8bO2zQ7-A3KMgB1VY_fZmG0-13YHunTqGhIhLpkAqJJgcb8i3CQK0csGADE-_pLl7BwfbAq1WKAVtmU5QT-uAfvn1mjAv4Q6htO4wSzCW41Ij_i_VifLKZ8S_cZADmWxxBtWvwxgBfxIeoxY26zk0E63j6ZhmqVqM8bt-IRlm5Jfc1D3wWhZ9Tp-BGT4qZSmP2nVzyvyc8bE0wF2ANIF-Ks0Dh8KW9XRd_bma0BupJAHooAh5oFHhvr8qThWYGRdY9E4Jk6XkTElVe9X8FpimkkEGyDMltmCScbYDR3QGsHURbkBHYcQ1u6nb87PravJrBCd9Lw62P0ImdSOzHKmgM2xDkh7M0taCG_7kM5sJDplhJD14Oiz3CxlOTwci4TRr9kICpkdp0kr10xvQi_x_xTuxUynlKHl4OvyQ7RksdB39w1be4NRo4wYfbzAjGdK_KUwdQSJwyAK4wh6SKFnc8TfaVyqp4fy_drb_TAxH7nyHkeS0m9FRZOjaYmXNko0dX8_djS7hVdxcdjLpX50r9duN2kJ35cMbszsRyhnXr4JuIdVziEvSRs23jKgDwKXFld7uvV6QPTa6eEctpJXTlUSNZMhJxEfT-pO6Dbmu5oIYzus5ogQRqlohHyVOOndFhhR2T4MgxVczLc7Nu_M955mnNdGn6Dwz_kClAMOxCkLB6HuGF5pjoTb4UJcL93LP0Hw7FiKoaBectNrQPEyk-c2ycY2rFuoyuvNYdBBo-FPnTpP2O89mjkhL8-9RcFmKxN7UHniK2WDdu0uR0y3icm6zH8ABAZsduy8mhyDqx2YNQjhy5tfmoxkAIVUsL9YAt1o45wenfI1dW_p4bnxxEGVl3mUbRBswN8wc3CuwsxcWRNRAVZWC2WADLqgMUkInXDyLcijfoJ1LNxCo_6og8UIMKb7ix6uao4VSMnYO9mNE5SCq5jalPkjwhXfJiJL9RdRhB5rd5t3Dw7OrJwvcSY1EwVMT7z-l-6Zv-q7Q73NlzHU6Spx1AwrKx3fAIEX_LRULI-15Zsp4QcFc4qtAkzw07CTGzcBPQD88zHq3VcL1zVzToFO4f-exWsg0QdXwdipI3EtV3M-DyKXvHYNBKcpeIG8h95_EfcXfWXxAszyGfCDdGY_bxOzi9seh0A5LP0b5ZJa3lwcFWYtMEGL0G3yNUse-Aoqr0mZtdslMiHk7LO__E7fb3we82QwA316JSf7VRhnqSZIo-EuvKF0F2J2wmWea99bbD6wZPvJ6DD5YPfnTZ6ApXiJhnt8M5FCbjqefT3mwMhiMEVVFwKqqR8nH73NJtfz_lnfrWKRJ14_MohDCXFCluFWmSWyJ19e_co7of-_H7BrYBog9jmuJCFw4a2dUcE1tffnDI-sbsP8YdwOZ-RX6cEmllnCyhRFiC8UXACRmo6Jnszuz4UgXnz_DzmNF_mxzLg2TJzF8GG-63C25xE-lA3iYABoMQiPus79ki8gqxx_JW1h2yph1sghDHyWnBYKM-Ev9iDLXBfIhW2J8DYEDCdSqQbw190-sQIN2D0QQI-CP1O3MXze-ZZ8sZD4BU9rjnMJzmP7P_HG7pH-UqSbb2fOG80tZksYicLK0FVx0hIzAiB57ZIKqTOIQ08LhgF98RRXEZ7M5oz4P4dg4vaWHiM7lD92lXraJQ1KZcgBCGDyCHQWPrBzmGi9TJKrgkQvJwYPaxT7AazSkWsMDE9tWHX0LN_3BS48-ntxWmzBP8ocYudCZUo7hS0V3AJ0-KS_BYLY5KM-MepF2BYnN_iPn_tfuuCyKho_lw6QeiyrnWK1Yz8IWSoPueJ-ME02YLX3P9KZmN3dOD8zIkbju03v4PxJSL5yLtgHwmjRkYQ.cjOvEX-7aFRdot2RsGMsT7sykvFcQPb73BRcWRYb7us\",\"scope\":\"openid profile email offline_access ui.read ui.admin ui.preferences.read ui.preferences.write authority:tenants.read authority:tenants.write authority:users.read authority:users.write authority:roles.read authority:roles.write authority:clients.read authority:clients.write authority:tokens.read authority:tokens.revoke authority:branding.read authority:branding.write authority.audit.read graph:read sbom:read scanner:read policy:read policy:simulate policy:author policy:review policy:approve policy:run policy:activate policy:audit policy:edit policy:operate policy:publish airgap:seal airgap:status:read orch:read orch:operate orch:quota analytics.read advisory:read advisory-ai:view advisory-ai:operate vex:read vexhub:read exceptions:read exceptions:approve aoc:verify findings:read release:read release:write release:publish scheduler:read scheduler:operate notify.viewer notify.operator notify.admin notify.escalate evidence:read export.viewer export.operator export.admin vuln:view vuln:investigate vuln:operate vuln:audit platform.context.read platform.context.write doctor:run doctor:admin ops.health integration:read integration:write integration:operate packs.read packs.write packs.run packs.approve registry.admin timeline:read timeline:write trust:read trust:write trust:admin signer:read signer:sign signer:rotate signer:admin\",\"expiresAtEpochMs\":1776243236072},\"identity\":{\"subject\":\"34e69e47d31647b8930744944f2fff70\",\"name\":\"admin\",\"roles\":[],\"idToken\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6Ikg4TkdITjJESUNPUlE5QUpGTUlFRzlXWVdTVVlSUUw0LVJXR0E5QlEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJodHRwczovL2F1dGhvcml0eS5zdGVsbGEtb3BzLmxvY2FsLyIsImV4cCI6MTc3NjI0NDczNiwiaWF0IjoxNzc2MjQxNDM2LCJhdWQiOiJzdGVsbGEtb3BzLXVpIiwic3ViIjoiMzRlNjllNDdkMzE2NDdiODkzMDc0NDk0NGYyZmZmNzAiLCJuYW1lIjoiYWRtaW4iLCJhenAiOiJzdGVsbGEtb3BzLXVpIiwibm9uY2UiOiIwMWIxY2NhYi1iYmM4LTRjZjQtOWZlOC0zOTMxYWQ3YTJkOWMiLCJhdF9oYXNoIjoiVVRmc3NvaWJkUTFEM29UTFphMnlnZyJ9.ZWgl9L3OfXRvrrRsuHaaMXM-GVyYWjnF0PKI2Z4Q3xaCHJVY4dnvs54bBhjqYYWiaq9naM2KdLOTc3_KcAyiTPkqNbQPmHbxvfOAgYMt6Y1Og3lhcuuK2Lx9ZAIKBTlHK-QwaGANhOJ55oc9-JXsYKZHcQFMn-N61USb1fFz87ETzYfwBncYIDSCiYH3imu4uKrjvtgJ3xq6RTkKoccWuEs3cIyfc2xVC5sIk333tParluN983CyRe6qjMnFq336DzfNB8oGW3qVNuXfZaVyzABdrHyWXrwkTg_6wbPwTFHX1TEFOcszKEWV3SP4Pb8Sp8HuqxoLdMxdrLyQX_E-CQ\"},\"dpopKeyThumbprint\":\"DMsuRsgxj4LVVAKUpzryYlk0KRfhmt92uKKrhB36dmM\",\"issuedAtEpochMs\":1776241436074,\"tenantId\":\"demo-prod\",\"scopes\":[\"advisory-ai:operate\",\"advisory-ai:view\",\"advisory:read\",\"airgap:seal\",\"airgap:status:read\",\"analytics.read\",\"aoc:verify\",\"authority.audit.read\",\"authority:branding.read\",\"authority:branding.write\",\"authority:clients.read\",\"authority:clients.write\",\"authority:roles.read\",\"authority:roles.write\",\"authority:tenants.read\",\"authority:tenants.write\",\"authority:tokens.read\",\"authority:tokens.revoke\",\"authority:users.read\",\"authority:users.write\",\"doctor:admin\",\"doctor:run\",\"email\",\"evidence:read\",\"exceptions:approve\",\"exceptions:read\",\"export.admin\",\"export.operator\",\"export.viewer\",\"findings:read\",\"graph:read\",\"integration:operate\",\"integration:read\",\"integration:write\",\"notify.admin\",\"notify.escalate\",\"notify.operator\",\"notify.viewer\",\"offline_access\",\"openid\",\"ops.health\",\"orch:operate\",\"orch:quota\",\"orch:read\",\"packs.approve\",\"packs.read\",\"packs.run\",\"packs.write\",\"platform.context.read\",\"platform.context.write\",\"policy:activate\",\"policy:approve\",\"policy:audit\",\"policy:author\",\"policy:edit\",\"policy:operate\",\"policy:publish\",\"policy:read\",\"policy:review\",\"policy:run\",\"policy:simulate\",\"profile\",\"registry.admin\",\"release:publish\",\"release:read\",\"release:write\",\"sbom:read\",\"scanner:read\",\"scheduler:operate\",\"scheduler:read\",\"signer:admin\",\"signer:read\",\"signer:rotate\",\"signer:sign\",\"timeline:read\",\"timeline:write\",\"trust:admin\",\"trust:read\",\"trust:write\",\"ui.admin\",\"ui.preferences.read\",\"ui.preferences.write\",\"ui.read\",\"vex:read\",\"vexhub:read\",\"vuln:audit\",\"vuln:investigate\",\"vuln:operate\",\"vuln:view\"],\"audiences\":[],\"authenticationTimeEpochMs\":1776241435000,\"freshAuthActive\":false,\"freshAuthExpiresAtEpochMs\":null}" - ], - [ - "stellaops.helper.preferences", - "{\"dismissed\":false,\"tooltipsMuted\":false,\"mutedPages\":[],\"mutedTipIds\":[],\"seenPages\":[],\"tipIndex\":{},\"dismissedBanners\":[],\"seenHelpPages\":[],\"pageHelpOpen\":{},\"pageHelpDismissedGlobal\":false,\"pageHelpDismissedPages\":[]}" - ], - [ - "stellaops.content-width", - "centered" - ], - [ - "stellaops.assistant.state", - "{\"seenRoutes\":[],\"completedTours\":[],\"tipPositions\":{},\"dismissed\":false}" + "{\"tokens\":{\"accessToken\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6IjdLUks4OUw1UTNESkVQR09IV1NPSDNMVDktTVdNWVVJRS1aSU1VX1EiLCJ0eXAiOiJhdCtqd3QifQ.eyJpc3MiOiJodHRwczovL2F1dGhvcml0eS5zdGVsbGEtb3BzLmxvY2FsLyIsImV4cCI6MTc3NjU5NTA4OCwiaWF0IjoxNzc2NTkzMjg4LCJzY29wZSI6Im9wZW5pZCBwcm9maWxlIGVtYWlsIG9mZmxpbmVfYWNjZXNzIHVpLnJlYWQgdWkuYWRtaW4gdWkucHJlZmVyZW5jZXMucmVhZCB1aS5wcmVmZXJlbmNlcy53cml0ZSBhdXRob3JpdHk6dGVuYW50cy5yZWFkIGF1dGhvcml0eTp0ZW5hbnRzLndyaXRlIGF1dGhvcml0eTp1c2Vycy5yZWFkIGF1dGhvcml0eTp1c2Vycy53cml0ZSBhdXRob3JpdHk6cm9sZXMucmVhZCBhdXRob3JpdHk6cm9sZXMud3JpdGUgYXV0aG9yaXR5OmNsaWVudHMucmVhZCBhdXRob3JpdHk6Y2xpZW50cy53cml0ZSBhdXRob3JpdHk6dG9rZW5zLnJlYWQgYXV0aG9yaXR5OnRva2Vucy5yZXZva2UgYXV0aG9yaXR5OmJyYW5kaW5nLnJlYWQgYXV0aG9yaXR5OmJyYW5kaW5nLndyaXRlIGF1dGhvcml0eS5hdWRpdC5yZWFkIGdyYXBoOnJlYWQgc2JvbTpyZWFkIHNjYW5uZXI6cmVhZCBwb2xpY3k6cmVhZCBwb2xpY3k6c2ltdWxhdGUgcG9saWN5OmF1dGhvciBwb2xpY3k6cmV2aWV3IHBvbGljeTphcHByb3ZlIHBvbGljeTpydW4gcG9saWN5OmFjdGl2YXRlIHBvbGljeTphdWRpdCBwb2xpY3k6ZWRpdCBwb2xpY3k6b3BlcmF0ZSBwb2xpY3k6cHVibGlzaCBhaXJnYXA6c2VhbCBhaXJnYXA6c3RhdHVzOnJlYWQgb3JjaDpyZWFkIG9yY2g6b3BlcmF0ZSBvcmNoOnF1b3RhIGFuYWx5dGljcy5yZWFkIGFkdmlzb3J5OnJlYWQgYWR2aXNvcnktYWk6dmlldyBhZHZpc29yeS1haTpvcGVyYXRlIHZleDpyZWFkIHZleGh1YjpyZWFkIGV4Y2VwdGlvbnM6cmVhZCBleGNlcHRpb25zOmFwcHJvdmUgYW9jOnZlcmlmeSBmaW5kaW5nczpyZWFkIHJlbGVhc2U6cmVhZCByZWxlYXNlOndyaXRlIHJlbGVhc2U6cHVibGlzaCBzY2hlZHVsZXI6cmVhZCBzY2hlZHVsZXI6b3BlcmF0ZSBub3RpZnkudmlld2VyIG5vdGlmeS5vcGVyYXRvciBub3RpZnkuYWRtaW4gbm90aWZ5LmVzY2FsYXRlIGV2aWRlbmNlOnJlYWQgZXhwb3J0LnZpZXdlciBleHBvcnQub3BlcmF0b3IgZXhwb3J0LmFkbWluIHZ1bG46dmlldyB2dWxuOmludmVzdGlnYXRlIHZ1bG46b3BlcmF0ZSB2dWxuOmF1ZGl0IHBsYXRmb3JtLmNvbnRleHQucmVhZCBwbGF0Zm9ybS5jb250ZXh0LndyaXRlIGRvY3RvcjpydW4gZG9jdG9yOmFkbWluIG9wcy5oZWFsdGggaW50ZWdyYXRpb246cmVhZCBpbnRlZ3JhdGlvbjp3cml0ZSBpbnRlZ3JhdGlvbjpvcGVyYXRlIHBhY2tzLnJlYWQgcGFja3Mud3JpdGUgcGFja3MucnVuIHBhY2tzLmFwcHJvdmUgcmVnaXN0cnkuYWRtaW4gdGltZWxpbmU6cmVhZCB0aW1lbGluZTp3cml0ZSB0cnVzdDpyZWFkIHRydXN0OndyaXRlIHRydXN0OmFkbWluIHNpZ25lcjpyZWFkIHNpZ25lcjpzaWduIHNpZ25lcjpyb3RhdGUgc2lnbmVyOmFkbWluIiwianRpIjoiZTk1MGE0NGUtZmMyZC00YTJkLWFkNDAtM2YwMmVjYjRiNjQ2Iiwic3ViIjoiZjk0NWYwMDgxMWY0NGYwMDgwNTgyNjhhMjY0ZWQwMTUiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJhZG1pbiIsInJvbGUiOiJhZG1pbiIsInN0ZWxsYW9wczp0ZW5hbnQiOiJkZWZhdWx0IiwiYXV0aF90aW1lIjoxNzc2NTkzMjcyLCJvaV9wcnN0Ijoic3RlbGxhLW9wcy11aSIsImNsaWVudF9pZCI6InN0ZWxsYS1vcHMtdWkifQ.UQHuPO8JY_GQUzB-pPcos1eZJqPcbl3BaygXNnGUdlL1tz4C5P9PkHEPGH1LyNrJuPIzPSLI8Jx9vbXOF5VlTo2qfb2-NvalYkmuz8RTxDoevWpOfaFtoZLqWuOMy198pC_HKpxw6LMe9OxwRtN7n6OHB1jqGZWCmlJvEkWLvrrCqhIpnvFLcuC6l1Q54S2DFTEw1ahMYKMMmwtAFqAnfY5IPIZAdVJ9t7Ax8-Jski3vteSf1z-YIrdpEzEUv-5SXqNsgeNhHcE7-cdujOb4CMJsK4cLvBBZd2miZBkbRHs9ass19hXFPxhv4PgjuyrD9FNy2xzvPevbc2ykuvf6hw\",\"tokenType\":\"Bearer\",\"refreshToken\":\"eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkEyNTZDQkMtSFM1MTIiLCJraWQiOiJZV0pPRVlCSzU3UEpSQTFTSFhFWkM3NEFRQktRWFdEQjZaWlVPV0dVIiwidHlwIjoib2lfcmVmdCtqd3QiLCJjdHkiOiJKV1QifQ.J7ia8dvkcB0Bs0Z7yx_-BwUPECUq397tiuUOpc-tGIdWSNs9CvHHRj_yPGlU06Fmpr1bkelR5wpD7jy_8f-xc1OZmOWVCk4qrJSoCB_VhA8M5rf28xbLswNhj2OhP5_Lj9b9obaqzWwpLNAPl4wDaJBgOPW5hYNoVsoDcAZH3DB4jeALVLu6J7B3q5BLNAw-QRIgaEF7z8uutLrvs8-Dv0PgI-XcEGKQonmlml079_5jKEkKdiEAVCionn-2ksFkvLcDhK8DkDuPTvieHmnnz6Oi55XlBjlOr6-w_zV_3VA7L0zHozTKDFMUaVPqpU2rZU1ggA-hGMkb1zoBddoYiw.yFzbv7Vg3lA28Fu7wpT0Vg.TgCK7wAm6_JSQgq5ZL2YGNfNRNbAfsjx2_8WqtNwjRFiXg-dJt3OrOIljaz8bGivi3QLBOuyCrG4z_UXBITf5gcWd--BlW_XG8tvRfyXRFp9JsJqWxFl4_CwNZZNBCQpZVAy8g_oNSDhQhOyCW_rKK12GuRRv7swXkJKqkwTBLmAcHP6u-ewPheFufWSqWtf_-l1JdvaM69GoSOeiU9fx9ZWZabq2bKu8v1CM5D9_xVqq-RzKNP_DefvAn-nsElnNmVaTlKNmnu1R3K93mKorvL6aOpE1QtEzAkPyzEu7vrV3bJcoVv8YKHnJKuO7zT6gXJe5WHtcJDgHGjdjQd_Ca-fQ2nDaDk7PXmbOL8gLOUZRf1duuN5DAvlKqCehMEil_luv9w9aUX7dgHgZq3cJu6hM68Gr_TuPdCpPlQauTEyO81dFMD4ACNTwDWrnHpL36ChOl4znQ_gXjUS07T3ls8cG4FFu3v84FDUSJBPDjUIFoNZ5aR2LHrR8K5JhROb4fwu4wQf_EQPeNBTnMfmm_TeeSJUGkx7U2vD2IAPm_r3UgAmt9lS2ry4t8Xk8Alzg32ijARHAC8Tgu301p6RH0MgmbllwGbNBH1AwTyabytngpfda0Nu37NzKPZHha4AdotX4GjVKBXqA0TRzmgQR9Y_crlmQbjdGNselt7DD_OUpVgIX6uU4pnf2YoiyhAE6LwmFvLyAElgEf7d2rYe1q_Nb_rYerSWf4E73I2nwlsHs7Rcq9C3_z2y5mb35bMLj8chOiRAlW7rY5g2G6ybwAEz0RiUgxgULk6VHbfZgAoBHnCG0yB6hjbYjIrpA3bg3LJhHPcZGER8kU6p9bAZx5zR7AQ9xoO0wrwTQiyuHFRgHct2YYQqvjewzw8oDRsjx_jiNKg38vyXgccZgCVgSjQF6-xQYu-6-GU0CgNzgjPdl9UuQW4cN_ewwb5S9MZWcMPNXGKsyuG_hDemD1-n3B2bXyx2RaXi8c_QRWVj8BMY0cmTBiAvm-dPacbj4Gqk1SU7sqR-yyAH9L9MkSx0ok9p7VvvwjbPmXSfY8Savvls0ziWJOld21vPKDVbKD8PVWDWOKTsSSGbWXIyJTSVWfULDk3i2UjysL5JOhtcZrKokj3ERHvZKHMNMqckHz_MM-nRfS6aItguhBz8anl73WRcE9vTDdmAUUjP-XFyb_BG7ZZ545CTR9UUB3LQAPbbMQkFpmSUtdGvb4lL2AOWfQNMY9dpCkC7SlS4XDYDYcKe5rzjbNhG3cHfgvPxFkyygj5-JZ3hjIPpqytBl2omD3IQ05uRTWcvPLPc22FVb2E7UTDzOFASWTyKbfT9lBFNDemOQrw5EtNUYuc5RPKxUx0Uj_NFWiXjuxTmjl1db3ka-wWwQIEuUlQ4XACo7tWgJQNHN9VbAIobImoOMRB4K4JNN9ekJ4R2Mn_Zcz8B85Zjxn1ajwtmUyTszCPpXKorRG3eMR1kPFJO5eoYWFs1TLlXIAQYtv9niv-NitzVoOmAYkcanVB0hfN9q-g8hCRV4YvgjJzFQtcKcKSkaTFMYuB2wNT0yfag_nSpZM15aClopt1aFcEb2BaLZ3KgHxiAnU-3M3FjIgp4PK4XbT-shJJO3EsYDRtFpYLQZSaWuIopd3PheQNOIQCX_-__giM7xB7zOTv5NUkO5kzDWxRdMtbxua7jf6Xh_R715K0feg7WXu_t0GI-0E1E5AhzIqfSHOn4LDqi4muG4TMLtAt7qHbHgLOHrGvWUTWm65rKWo3rSCH_bb8mM_qRq5wRrxNjgWP-389Z7w2uTwvuqHlyrk9_5F16zcTBFYsrdsyNpsdNetv0B9_ukaBR8pZhHmqcwjKN8mwBdcxk7aSieUhSzLQ5WyZoaV0i0JKHeGX9uhjQEzZ2PjzHmP0UUEqc_lxpxLIm67p7wkT-Qf988PwqzUOqNLbXy-7KHkB9HeJMxWHRpNTo85hsCw3580E7oC5je4rDmzPSb8IPgLylZzwT3zA9We4K2kJWxv14hPLPbbRn3R0bhmx3FrAjrfiC14Rc7mrMdFatWI5kWk9H-QHhlIdOhlfmGMDmZdgxecsQqYUNAp-S2KH97KX5G8UqSVPaT8VJWz6KIAegjlo4-mJDOmyhAYELlsX1eNceO8RsY1mreb0JSXxuE1L_E0KrqfXKlqaIxZptlwtbFYKUo0A9lhImct9W0CyzRUNoPSk9efy1RUIYMwITMyzhfSYWOBPqEH3O3fbS_TOG7K2BrLC5_0HpATFMp3kWIZIPREvGfwNSHUrMVhNdukewix3zxdfGRsE2bG1C2xBIWnRHsdKcZa_DoLf6EHomz9OlGnYsrqtBV3vB6MzDGgb4Es6A9HTxynhtEEaTeuO_BAEmGuPBYGmNfaE8cx37LmRL33nK9v9zQvlaqSmeJeE53G_tTNsv98aDR9dtWlJgsIU5U9lTwepYSz6unzUf3-e0yDO0sE1nmyGIqvknAO6bxhPfmTE9xDQTZyU0YVjAL6XfOeQidaconqfh9DEFfqKxfbskymACi2WSE_4YjJYlEw1gfn-w3t5yggj8mQ7jeH_rWY6mxb7kaNFvMoVjUaqaJxtoGZEsgQVd0K3eFoAMC4tfzbX9oGwKNr-27e_5DbugDqlunZLBchhlM5o5gsBQqv3-JNk69erVOKWctI79yTIIUoKWtxqlLMMVSo2dcIb2TthKyyk0XKnKs7nLxT5lSsOJ3K8qeA8bF8_ikEi9YLnp88EoQOp-O7VEQ6JOgDy9Kv_NlV_jYrBpjJZsNe2kGzaTpw0Nf7ncfLvc90CsdcWylJTN_s9do2vJtpP1Kwa-nc8hdLqTyrt5G_oImjy62qcvDWE-G6bLjLGXkIcmAE-Lic_AXk7Fy86u6fxKs3pSDQK03zKOmsethMJ3meOz6mmjH4e2kcsK8V1UVJtffbW0h1dhv9aT96ODpL50udZUkyyk_iJVnEqhFJ6-ayHBGUVjBHrK5T1FbG7P0PoI7uTHkpYnRkqr9LOUBBdtBE6W0evjgWLLlVVjvK-QyDaVmLzY5YsU_nHwHOUB0n-iqPbsgf6Pnu0-e7qf081jXSr7LRnt8lB2BY1CwGWdnDVdapM4vjVxa7Kg4thKbm_ktcwtPJAUiXn_JkV7OF6M4YX2-N32JN6-3EKW5e9wnig-xjo4XjNEKFQ5Ln40iK2KjKfkLBbyRmhE1v3d7YON-uIAff0yI2ip4X_nW-PTOydWFcsgRcGOUR4VArzfZHKl17J8fSwJM4EGfE56do70PaAUcy1yHZfklIlZ-dvUQJEqkY6zqMdeZGtI0JAaIBi5vnNiXFWhXf2jZ8t9MpHq37w96CguhnV4pDoT9W3MsOqiJxTC256FDj-zWbfx7FDDPJ-VmtDnJjY2SluPLR4YRwLVcNLlhbjzAv2qaw1TrmNh_TBNPs0qLypdRpKMYyrjaLtLRoEjkFfR8nmt_5DR8X6GgcU2O55lFEn8Uzz9LqeLeaWaGuHQJqFQboY8tdVHvV8R9ijTRzG-P3vSWX6K8F9Y7FAbm25MJwWEJf6VWaHLDKY-wxs6OPdSBOdK--zWfNeRHg4gCt_L1Rk0j81PslGKe71cthqy8E4yIJErXWczUtcKx0pT4gynkT0viifpvisyTeXpW9_0gTKG6b71FFConwwomUwpZpoY0nO7xc4PT07Ph6f4FpgjkOtIWCukBf-LXwhaio_bAYQL34GPFusr92AypxO_9ZHkcY-SYt3H02PkjdDazert9k_XCSkahdiWnmYtC-2yDY8we-H1OHD4XyQbb2ReMRo9hMSrWv3StwSlHDJO0FT_TSHzWJnRk2rJPpoxaCnY53zfCkzsiViVrE5m4Ys3pBQBpIUQFcUNqmEt3d6-vuissmQAsEb9oBpmWaqC3cGV-6qz-uFD47VUYii7_3HDxtkc23FbcItpLKn0ECL2bf8AVbmou7qwI4KBU3R_tSI-DQtlms1tSpA4Bs1X6Z30a4wsl1nn4DEHC2Ln4lJ6CKixZaElcHlueDL-bUo13X5onWnP3xuhMdBBBpQcR_UidK3WPNfOKdsrrSmit6zyLJHX4CXA07LC__BzW8ZFX2IHQiXsxbMD7CN8tyiayPi-iDj25No-bCvWLV0SRQf_rB2Gt0tvObDHr4gNW6hCI1KRaBlKVfh5y5XfrNu8eFJW0KAi1Cxl4IKBQooS7DgbVRdt17EuOeR9AHrd7h5TqtV2UL5GzH-_n_02CzU47pZ3CACHQfbXVWpW11-YQo112p0P1gXb_kgpsSfxktzg9RofQ6Y1uAX84AkFyUw3Y1T50MBZR27XNq7WA1ovhaheEqvgfDL-kmLfqBoQl6OZ5b6L433rC0HKRQV5JtKxoulOEckKGIL7NAss6-ogKq582M3rkMjFuppcpKKZR_ix8lhAXLzniJMHqpxnyhuUK5mMAG_CzOSTlL-YSL2VWjMs3gmzOjqTAcs-JiRMzD_eMEsCoLSZ_otth8Aw4_Cj6tISca62_OFNPGvtcGCuGeNDsIxmx2doWXJ65yuAR2BekymdBe1tTiUWE9FrUCXZt20DxZB4eVvOAYainfUwPR-GKhHQXSHqVLcg-O45BaUHJ1Se_eXEJy2fSNaKOjfD_M2XVSUR_xo0LC9nUGzVBmY.3_UfBuwJIBsAgxZEYYD1TG0u_JsZbiZDqPwdoP-3_8E\",\"scope\":\"openid profile email offline_access ui.read ui.admin ui.preferences.read ui.preferences.write authority:tenants.read authority:tenants.write authority:users.read authority:users.write authority:roles.read authority:roles.write authority:clients.read authority:clients.write authority:tokens.read authority:tokens.revoke authority:branding.read authority:branding.write authority.audit.read graph:read sbom:read scanner:read policy:read policy:simulate policy:author policy:review policy:approve policy:run policy:activate policy:audit policy:edit policy:operate policy:publish airgap:seal airgap:status:read orch:read orch:operate orch:quota analytics.read advisory:read advisory-ai:view advisory-ai:operate vex:read vexhub:read exceptions:read exceptions:approve aoc:verify findings:read release:read release:write release:publish scheduler:read scheduler:operate notify.viewer notify.operator notify.admin notify.escalate evidence:read export.viewer export.operator export.admin vuln:view vuln:investigate vuln:operate vuln:audit platform.context.read platform.context.write doctor:run doctor:admin ops.health integration:read integration:write integration:operate packs.read packs.write packs.run packs.approve registry.admin timeline:read timeline:write trust:read trust:write trust:admin signer:read signer:sign signer:rotate signer:admin\",\"expiresAtEpochMs\":1776595090118},\"identity\":{\"subject\":\"f945f00811f44f008058268a264ed015\",\"roles\":[],\"idToken\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6IjdLUks4OUw1UTNESkVQR09IV1NPSDNMVDktTVdNWVVJRS1aSU1VX1EiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJodHRwczovL2F1dGhvcml0eS5zdGVsbGEtb3BzLmxvY2FsLyIsImV4cCI6MTc3NjU5NjU4OCwiaWF0IjoxNzc2NTkzMjg4LCJhdWQiOiJzdGVsbGEtb3BzLXVpIiwic3ViIjoiZjk0NWYwMDgxMWY0NGYwMDgwNTgyNjhhMjY0ZWQwMTUiLCJhenAiOiJzdGVsbGEtb3BzLXVpIiwibm9uY2UiOiIyNGNiYWZhNS03ZDNhLTQ0ZDMtODgzNy00NTIyYTQyOTk0NzUiLCJhdF9oYXNoIjoiSzZqRXhqdDFmMFZZVlVtbWF6T09JQSJ9.EcbkBfurdz6gfBT_5_TP6vz2aNARKP5BiEhDoBKkY4esokvWoCxPQfT6NozP4sEde-lofT4W1w1GNavRDO7QN51C6YFM25DplqcX_QWGC_UhinUd2w_WkNtzYRDjVdpTMI7gnEch77IZ0pKAKaSTNwSTLIeGG-q-SZr1M_HiIjbG0x2-kzwolGrXxVuA5XXQbWNoFW0W9PdFKpz6SNicVi_D3WM2rvRkSF_-gZ4byilC7uIZ-o45HllQceM1EAlUObQMG01b-XDMaFCAY243GY0NzRZ2pgvPD6X6SuZPtAAzBPWGm71EU2w_DyVlZt7hTGyKl-SGt_hwSrXMQ1oDdA\"},\"dpopKeyThumbprint\":\"knhtz_ieCuFgS2A6bYdUWWhbWQNMcly969VVWFBQoAA\",\"issuedAtEpochMs\":1776593289124,\"tenantId\":\"default\",\"scopes\":[\"advisory-ai:operate\",\"advisory-ai:view\",\"advisory:read\",\"airgap:seal\",\"airgap:status:read\",\"analytics.read\",\"aoc:verify\",\"authority.audit.read\",\"authority:branding.read\",\"authority:branding.write\",\"authority:clients.read\",\"authority:clients.write\",\"authority:roles.read\",\"authority:roles.write\",\"authority:tenants.read\",\"authority:tenants.write\",\"authority:tokens.read\",\"authority:tokens.revoke\",\"authority:users.read\",\"authority:users.write\",\"doctor:admin\",\"doctor:run\",\"email\",\"evidence:read\",\"exceptions:approve\",\"exceptions:read\",\"export.admin\",\"export.operator\",\"export.viewer\",\"findings:read\",\"graph:read\",\"integration:operate\",\"integration:read\",\"integration:write\",\"notify.admin\",\"notify.escalate\",\"notify.operator\",\"notify.viewer\",\"offline_access\",\"openid\",\"ops.health\",\"orch:operate\",\"orch:quota\",\"orch:read\",\"packs.approve\",\"packs.read\",\"packs.run\",\"packs.write\",\"platform.context.read\",\"platform.context.write\",\"policy:activate\",\"policy:approve\",\"policy:audit\",\"policy:author\",\"policy:edit\",\"policy:operate\",\"policy:publish\",\"policy:read\",\"policy:review\",\"policy:run\",\"policy:simulate\",\"profile\",\"registry.admin\",\"release:publish\",\"release:read\",\"release:write\",\"sbom:read\",\"scanner:read\",\"scheduler:operate\",\"scheduler:read\",\"signer:admin\",\"signer:read\",\"signer:rotate\",\"signer:sign\",\"timeline:read\",\"timeline:write\",\"trust:admin\",\"trust:read\",\"trust:write\",\"ui.admin\",\"ui.preferences.read\",\"ui.preferences.write\",\"ui.read\",\"vex:read\",\"vexhub:read\",\"vuln:audit\",\"vuln:investigate\",\"vuln:operate\",\"vuln:view\"],\"audiences\":[],\"authenticationTimeEpochMs\":1776593272000,\"freshAuthActive\":false,\"freshAuthExpiresAtEpochMs\":null}" ], [ "stellaops.theme", "system" - ], - [ - "stellaops.auth.session.info", - "{\"subject\":\"34e69e47d31647b8930744944f2fff70\",\"expiresAtEpochMs\":1776243236072,\"issuedAtEpochMs\":1776241436074,\"dpopKeyThumbprint\":\"DMsuRsgxj4LVVAKUpzryYlk0KRfhmt92uKKrhB36dmM\",\"tenantId\":\"demo-prod\"}" - ], - [ - "stellaops.sidebar.preferences", - "{\"sidebarCollapsed\":false,\"collapsedGroups\":[\"evidence\",\"setup-admin\"],\"collapsedSections\":[]}" ] ], "sessionStorageEntries": [ [ "stellaops.auth.session.full", - "{\"tokens\":{\"accessToken\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6Ikg4TkdITjJESUNPUlE5QUpGTUlFRzlXWVdTVVlSUUw0LVJXR0E5QlEiLCJ0eXAiOiJhdCtqd3QifQ.eyJpc3MiOiJodHRwczovL2F1dGhvcml0eS5zdGVsbGEtb3BzLmxvY2FsLyIsImV4cCI6MTc3NjI0MzIzNiwiaWF0IjoxNzc2MjQxNDM2LCJzY29wZSI6Im9wZW5pZCBwcm9maWxlIGVtYWlsIG9mZmxpbmVfYWNjZXNzIHVpLnJlYWQgdWkuYWRtaW4gdWkucHJlZmVyZW5jZXMucmVhZCB1aS5wcmVmZXJlbmNlcy53cml0ZSBhdXRob3JpdHk6dGVuYW50cy5yZWFkIGF1dGhvcml0eTp0ZW5hbnRzLndyaXRlIGF1dGhvcml0eTp1c2Vycy5yZWFkIGF1dGhvcml0eTp1c2Vycy53cml0ZSBhdXRob3JpdHk6cm9sZXMucmVhZCBhdXRob3JpdHk6cm9sZXMud3JpdGUgYXV0aG9yaXR5OmNsaWVudHMucmVhZCBhdXRob3JpdHk6Y2xpZW50cy53cml0ZSBhdXRob3JpdHk6dG9rZW5zLnJlYWQgYXV0aG9yaXR5OnRva2Vucy5yZXZva2UgYXV0aG9yaXR5OmJyYW5kaW5nLnJlYWQgYXV0aG9yaXR5OmJyYW5kaW5nLndyaXRlIGF1dGhvcml0eS5hdWRpdC5yZWFkIGdyYXBoOnJlYWQgc2JvbTpyZWFkIHNjYW5uZXI6cmVhZCBwb2xpY3k6cmVhZCBwb2xpY3k6c2ltdWxhdGUgcG9saWN5OmF1dGhvciBwb2xpY3k6cmV2aWV3IHBvbGljeTphcHByb3ZlIHBvbGljeTpydW4gcG9saWN5OmFjdGl2YXRlIHBvbGljeTphdWRpdCBwb2xpY3k6ZWRpdCBwb2xpY3k6b3BlcmF0ZSBwb2xpY3k6cHVibGlzaCBhaXJnYXA6c2VhbCBhaXJnYXA6c3RhdHVzOnJlYWQgb3JjaDpyZWFkIG9yY2g6b3BlcmF0ZSBvcmNoOnF1b3RhIGFuYWx5dGljcy5yZWFkIGFkdmlzb3J5OnJlYWQgYWR2aXNvcnktYWk6dmlldyBhZHZpc29yeS1haTpvcGVyYXRlIHZleDpyZWFkIHZleGh1YjpyZWFkIGV4Y2VwdGlvbnM6cmVhZCBleGNlcHRpb25zOmFwcHJvdmUgYW9jOnZlcmlmeSBmaW5kaW5nczpyZWFkIHJlbGVhc2U6cmVhZCByZWxlYXNlOndyaXRlIHJlbGVhc2U6cHVibGlzaCBzY2hlZHVsZXI6cmVhZCBzY2hlZHVsZXI6b3BlcmF0ZSBub3RpZnkudmlld2VyIG5vdGlmeS5vcGVyYXRvciBub3RpZnkuYWRtaW4gbm90aWZ5LmVzY2FsYXRlIGV2aWRlbmNlOnJlYWQgZXhwb3J0LnZpZXdlciBleHBvcnQub3BlcmF0b3IgZXhwb3J0LmFkbWluIHZ1bG46dmlldyB2dWxuOmludmVzdGlnYXRlIHZ1bG46b3BlcmF0ZSB2dWxuOmF1ZGl0IHBsYXRmb3JtLmNvbnRleHQucmVhZCBwbGF0Zm9ybS5jb250ZXh0LndyaXRlIGRvY3RvcjpydW4gZG9jdG9yOmFkbWluIG9wcy5oZWFsdGggaW50ZWdyYXRpb246cmVhZCBpbnRlZ3JhdGlvbjp3cml0ZSBpbnRlZ3JhdGlvbjpvcGVyYXRlIHBhY2tzLnJlYWQgcGFja3Mud3JpdGUgcGFja3MucnVuIHBhY2tzLmFwcHJvdmUgcmVnaXN0cnkuYWRtaW4gdGltZWxpbmU6cmVhZCB0aW1lbGluZTp3cml0ZSB0cnVzdDpyZWFkIHRydXN0OndyaXRlIHRydXN0OmFkbWluIHNpZ25lcjpyZWFkIHNpZ25lcjpzaWduIHNpZ25lcjpyb3RhdGUgc2lnbmVyOmFkbWluIiwianRpIjoiZmZlZGY3MWQtYWY1MC00NWQ5LTlhMzQtMmNiYTE4ZTVmMWQyIiwic3ViIjoiMzRlNjllNDdkMzE2NDdiODkzMDc0NDk0NGYyZmZmNzAiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJhZG1pbiIsIm5hbWUiOiJhZG1pbiIsInJvbGUiOiJhZG1pbiIsInN0ZWxsYW9wczp0ZW5hbnQiOiJkZW1vLXByb2QiLCJhdXRoX3RpbWUiOjE3NzYyNDE0MzUsIm9pX3Byc3QiOiJzdGVsbGEtb3BzLXVpIiwiY2xpZW50X2lkIjoic3RlbGxhLW9wcy11aSJ9.BAPTbUxstvf4uSVv4bcKBCxCWam0MHZ8KxaaqIygmYnTng7xnoN6x2ub6s0EjAbQRY7M67gP_ESywOOMkklH_iIXEixCEQLueAIyvbFmo21ssmDY2SclXtInuXsIosZfKpqraYcvn7nO9DdqDa44hZ6OVbFJTkrGjJCjazhApR5VD5hiAK53_swYhVPuPXCXNU38aExVPPazAu4C4QuDBJuy5Rp4tne92Uzo60tad-ojOMGT-7ILkDWqzp_SPRSuvbQuyzQEjBGGljSeoUqUnRg7Q4gj1u6XwyKMhTvbA6n6KtcgsPGLK6_AzspFqxOuMicjgcvY93pcnnm62b8EAg\",\"tokenType\":\"Bearer\",\"refreshToken\":\"eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkEyNTZDQkMtSFM1MTIiLCJraWQiOiIxRVlZNFdJNFJfWE9HSDZVRFRPTFBUV0JQSE1QUlZaWURBS0FaRjcwIiwidHlwIjoib2lfcmVmdCtqd3QiLCJjdHkiOiJKV1QifQ.OjzFbXMVmR9utsZHxNNBb7lKfzW1tuD2V7uE6_WIo7viJTqvK5Pc70225amfOn_ppciNbsQtdWqtULoybzWVR-dOKJ7xN8vDcmhVJCvlHOTdVVZIw9fkdRDpsUXkabUFWC8hjpAd1ol-x5Y56EpB4LHmEBYRRV2g1g9lBMcnK8ARBoLwgrsK1xsR_Vueg9bvbcnbQdDoi_tgV2jORtPQ3WUyzNECt8WY0cMnU7AP43EcU5agg4r5SLJ4qYCoGRrEasAaH3kIEQaZLRqIlCNF1x-77vvMdYVDpqkLLgQF2bg2EM32_DIyccxSzdKFqyzTWieOfz8nnR_cgdpWITOjug.-ZgbI6MR19kz4G8ueQfOgg.w3F0J2tK722wQD6NcNcIrOXtj4ZkmYNy-mf-aK08l_TBUpHwqTByrAz3XfmD7SXtO4DqC0H-BdjxeBGbnnMxTjNG5BwtGN0wNZbYPd7yBm8eJy7ay6VhwpRBHDUm0UBUL-Onk0mcgD3vi_POkeBv54zFFJBqcijN3ia70Eim19HgxLkFop5LYebbWkX4juRRz6fI5KLglBrQnF6FTPaz3gq65PUbyAW1qQpdv1fw3n6S0YjkQzV_96sBsx7iLexfT16AwRRfmPiUOTpPljcfDtSHXKK4n0y4TVHdDb5FoOmf8WuloMAVPUzVjVuwJqZk169I8Yx-eyP62yWJYKNNaPE0-YQ9b7XXub2U3StSSMagPTNM8RG3Yxe2pnQDIoW5v81Q6Qdek7xktmooL8WNnFMBd4udNOsMCeGk98QTuXHXVVKq4zNuVuBgFoCWAWMBGGNVZXXtiELgwH3lE9IoUlbdMsGUBAQ-vcj_QFlzAGGonAp2YUMX3pY-bnqfzhp0cWMjBJxUK8-iRWmmw-1cMKtNSEqlg21bEDUQBFDJTMJENC31kaaqCfny8wNu90Oi9faTzx_bjAtFiH83XB1c-J0eTa5BBdWbd7Mu7U-hryne0RWK1wCkf97vo9aB0xclHxnQA2v-gtp-rtpb8QkvYS91D9YvpHyuPEhkQK3liyKRXvQND-6tMwDrcFoj9_7XyukAjw1WEKnjQG7u9TnH81ejB0nHVDOhwWGMxMIA8EO0_ql9MfGvIN3Cy_O82MlIthSn5-V7aakV_dyZYkvEcKZ0UBrSxCwQSKAS9cqmew0ud3fzzp8cAqwNMDHvkECw_YN8LBJN7FfpPXxnOsKveySv-IISsOxae9A5i9BPYh0OJ0jxKxI2XmnOqspdGZu-5D5JVZDBrqlDM4b84SECSuLnDkejV7_N1Cwt0YogU7lckvaFCvmuQ0xmhdWBOvlXtyEgGjr7HpviX_64utAR5ItsXu2QK0tVq_mmXiL9nNqsPqO13Qy2GJhtg_5GLXVV7GFztNVzaxu1Yu8tSEuhMWJ2aKx5xkaY5jr4pzW9gkgx-TQBQrkwSvKm2NVGxX74StxQwo-3vM0V8uUhlGxOBH2WNC8SbsPXdwsb3yad2c-0itweIm9znnGg7ePxl3NQFLVaBQiW1wiqJta5iSb970fTJ560wsNt7ooBDw2Ux5lGeEGNJC7F4X6KjuvZsONSJRkyguiduDVDytbN_PAvIGPPFsCNzdY3K9rw-fd3vABygfYWxhUacWTbHq-jFfYHijBJPQ4J7uzh-gr2O5dYODCg8uo3h1Ka-p9tXX1D_uLsfjHc62Sp3LaFZ34tFWzq3cZKKllmDWgpECgySFXLKHKRAP1GCahWkgyf3PW1j4liK3Xxaqq4W1-UokwOLyacWD5Gw54JgY2o43BpQZuK3pRjSaoyB2PErrNrzsdw9f_gHSa8-z7xvoQSjegyIjAB9UN0-h7pb-cozsYsvhsFm_4E7d6aCtmn80QQl5w7_8MyuuVngij65B8jRXxlUog-lQGSm-q3ZyMrWK8puR7KpokgfUl1qwOM1N-5WxDGHQHFeD2Hm-9mSmQfv3coF1rHmh65fk3kzubaMZoPEXFTtEwQtmhRVAS5F4JFniT_hX3xuthylEtW12b20EkLWfnSt_bH3tL0Ig48I4Z7P8w_v7kQNS8qjiAMaOstE48fOfc36y5Pk89uyDC_Zji2exOugPJ8E_YeaEhzhFeMHxwEq2JGWAzXwhma1wZ8BkNNWyMOLNhd5S0--OqnhArs09RCEpzpoWSNDa3aInE4QjNcEdQsMFyyCNa_1Pk9qXM8DLDPueh_BS7EhVhWNOoYLmBSZKFZHksB6LQngbWr9CS4RHedCw1zi5KriZKDSkLGwFrpBeXs2d2UGPqO-Wyz7ea6wtZ4MLWXpXJASlr0OYEEvR48DphIs--UPvTRf8pyg0O5ZBk45AwEl7twN85IYwlX01swbVe9V8Eur1hJBCKPUYn9WBs3SVP5wYURnO8ukOt2UIQCPzXG1qGTmGk88Df-TlsunUmVsHnPChzGxyew1FCwV4R1YDuc0BBd3XH1mlv2656lQ01Fht9l-gt06a2RwIJTZL4y1Vh3DYcvKWNBw-LLGjo7rOL8u8bADx_-cscu-Rs_n9PKFzuQfu5VZsRpMiIIJ8qnEqaHX5Mcy70gbRYH91mDXEdpAYykr4olwB1sG-yP5H10A7nKExx24YoToZbxgEyZuV7HZ5xrcreSIQ-uFH2S6I7nkYhm_3QshyHP1kn4UrUemrcVpAa97x8IUT6LSjJEQ6i6vH0akluHMFjPcf7o1UndrVUGOlux-kd3i7LD5Qp4x1fB3NTaOoPvsZGuBdTxLh5nxO55FU2afldTaTYVhgm9V3yrJ16p2wWj8cR8XbmGk-0ociK0FLjVgSVBK9oPX5OhMkYQYI0JQgdLfM_1PPvxBkJPU9Bv7OuVc3oFm9Vkf3CDgl2kNh9HN7Pi4eUDydqgwcO_WQqpLkbHV-V3IAMyxJRyvLBvNDkOLmyDzbg5CCUwVZuKugASUoud8qEqn-jupPGXxqzpUi7cBrgxM3CfULa3idzknLszw8K9utCjsazoyewSiWUN7V7L6b18Rp4gLMZ9M9NBRMHNa2Uf9htGb-HK8L0xNKlab6EYY0iNMRV00RLbHlAbgKntj8pfD0Ox5y5AgqFNxJ1m2dWMoo_fsXiYNvAYN9DBLhewds1SsOQ4X7Q-7FCJKIceeiIOUbbpoCqJnxg_ZF-eukpA5QicuZv60qvbp-QBFt2x22TBIFtphJB-uNudY2_inRyt3VYZJGr-juUgxaMDTJ8WDiLyVqO_Dnd-vvU_Z0DF4xWiuVi5LVuYPO3etlT9ibfqJKne6Wf8bO2zQ7-A3KMgB1VY_fZmG0-13YHunTqGhIhLpkAqJJgcb8i3CQK0csGADE-_pLl7BwfbAq1WKAVtmU5QT-uAfvn1mjAv4Q6htO4wSzCW41Ij_i_VifLKZ8S_cZADmWxxBtWvwxgBfxIeoxY26zk0E63j6ZhmqVqM8bt-IRlm5Jfc1D3wWhZ9Tp-BGT4qZSmP2nVzyvyc8bE0wF2ANIF-Ks0Dh8KW9XRd_bma0BupJAHooAh5oFHhvr8qThWYGRdY9E4Jk6XkTElVe9X8FpimkkEGyDMltmCScbYDR3QGsHURbkBHYcQ1u6nb87PravJrBCd9Lw62P0ImdSOzHKmgM2xDkh7M0taCG_7kM5sJDplhJD14Oiz3CxlOTwci4TRr9kICpkdp0kr10xvQi_x_xTuxUynlKHl4OvyQ7RksdB39w1be4NRo4wYfbzAjGdK_KUwdQSJwyAK4wh6SKFnc8TfaVyqp4fy_drb_TAxH7nyHkeS0m9FRZOjaYmXNko0dX8_djS7hVdxcdjLpX50r9duN2kJ35cMbszsRyhnXr4JuIdVziEvSRs23jKgDwKXFld7uvV6QPTa6eEctpJXTlUSNZMhJxEfT-pO6Dbmu5oIYzus5ogQRqlohHyVOOndFhhR2T4MgxVczLc7Nu_M955mnNdGn6Dwz_kClAMOxCkLB6HuGF5pjoTb4UJcL93LP0Hw7FiKoaBectNrQPEyk-c2ycY2rFuoyuvNYdBBo-FPnTpP2O89mjkhL8-9RcFmKxN7UHniK2WDdu0uR0y3icm6zH8ABAZsduy8mhyDqx2YNQjhy5tfmoxkAIVUsL9YAt1o45wenfI1dW_p4bnxxEGVl3mUbRBswN8wc3CuwsxcWRNRAVZWC2WADLqgMUkInXDyLcijfoJ1LNxCo_6og8UIMKb7ix6uao4VSMnYO9mNE5SCq5jalPkjwhXfJiJL9RdRhB5rd5t3Dw7OrJwvcSY1EwVMT7z-l-6Zv-q7Q73NlzHU6Spx1AwrKx3fAIEX_LRULI-15Zsp4QcFc4qtAkzw07CTGzcBPQD88zHq3VcL1zVzToFO4f-exWsg0QdXwdipI3EtV3M-DyKXvHYNBKcpeIG8h95_EfcXfWXxAszyGfCDdGY_bxOzi9seh0A5LP0b5ZJa3lwcFWYtMEGL0G3yNUse-Aoqr0mZtdslMiHk7LO__E7fb3we82QwA316JSf7VRhnqSZIo-EuvKF0F2J2wmWea99bbD6wZPvJ6DD5YPfnTZ6ApXiJhnt8M5FCbjqefT3mwMhiMEVVFwKqqR8nH73NJtfz_lnfrWKRJ14_MohDCXFCluFWmSWyJ19e_co7of-_H7BrYBog9jmuJCFw4a2dUcE1tffnDI-sbsP8YdwOZ-RX6cEmllnCyhRFiC8UXACRmo6Jnszuz4UgXnz_DzmNF_mxzLg2TJzF8GG-63C25xE-lA3iYABoMQiPus79ki8gqxx_JW1h2yph1sghDHyWnBYKM-Ev9iDLXBfIhW2J8DYEDCdSqQbw190-sQIN2D0QQI-CP1O3MXze-ZZ8sZD4BU9rjnMJzmP7P_HG7pH-UqSbb2fOG80tZksYicLK0FVx0hIzAiB57ZIKqTOIQ08LhgF98RRXEZ7M5oz4P4dg4vaWHiM7lD92lXraJQ1KZcgBCGDyCHQWPrBzmGi9TJKrgkQvJwYPaxT7AazSkWsMDE9tWHX0LN_3BS48-ntxWmzBP8ocYudCZUo7hS0V3AJ0-KS_BYLY5KM-MepF2BYnN_iPn_tfuuCyKho_lw6QeiyrnWK1Yz8IWSoPueJ-ME02YLX3P9KZmN3dOD8zIkbju03v4PxJSL5yLtgHwmjRkYQ.cjOvEX-7aFRdot2RsGMsT7sykvFcQPb73BRcWRYb7us\",\"scope\":\"openid profile email offline_access ui.read ui.admin ui.preferences.read ui.preferences.write authority:tenants.read authority:tenants.write authority:users.read authority:users.write authority:roles.read authority:roles.write authority:clients.read authority:clients.write authority:tokens.read authority:tokens.revoke authority:branding.read authority:branding.write authority.audit.read graph:read sbom:read scanner:read policy:read policy:simulate policy:author policy:review policy:approve policy:run policy:activate policy:audit policy:edit policy:operate policy:publish airgap:seal airgap:status:read orch:read orch:operate orch:quota analytics.read advisory:read advisory-ai:view advisory-ai:operate vex:read vexhub:read exceptions:read exceptions:approve aoc:verify findings:read release:read release:write release:publish scheduler:read scheduler:operate notify.viewer notify.operator notify.admin notify.escalate evidence:read export.viewer export.operator export.admin vuln:view vuln:investigate vuln:operate vuln:audit platform.context.read platform.context.write doctor:run doctor:admin ops.health integration:read integration:write integration:operate packs.read packs.write packs.run packs.approve registry.admin timeline:read timeline:write trust:read trust:write trust:admin signer:read signer:sign signer:rotate signer:admin\",\"expiresAtEpochMs\":1776243236072},\"identity\":{\"subject\":\"34e69e47d31647b8930744944f2fff70\",\"name\":\"admin\",\"roles\":[],\"idToken\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6Ikg4TkdITjJESUNPUlE5QUpGTUlFRzlXWVdTVVlSUUw0LVJXR0E5QlEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJodHRwczovL2F1dGhvcml0eS5zdGVsbGEtb3BzLmxvY2FsLyIsImV4cCI6MTc3NjI0NDczNiwiaWF0IjoxNzc2MjQxNDM2LCJhdWQiOiJzdGVsbGEtb3BzLXVpIiwic3ViIjoiMzRlNjllNDdkMzE2NDdiODkzMDc0NDk0NGYyZmZmNzAiLCJuYW1lIjoiYWRtaW4iLCJhenAiOiJzdGVsbGEtb3BzLXVpIiwibm9uY2UiOiIwMWIxY2NhYi1iYmM4LTRjZjQtOWZlOC0zOTMxYWQ3YTJkOWMiLCJhdF9oYXNoIjoiVVRmc3NvaWJkUTFEM29UTFphMnlnZyJ9.ZWgl9L3OfXRvrrRsuHaaMXM-GVyYWjnF0PKI2Z4Q3xaCHJVY4dnvs54bBhjqYYWiaq9naM2KdLOTc3_KcAyiTPkqNbQPmHbxvfOAgYMt6Y1Og3lhcuuK2Lx9ZAIKBTlHK-QwaGANhOJ55oc9-JXsYKZHcQFMn-N61USb1fFz87ETzYfwBncYIDSCiYH3imu4uKrjvtgJ3xq6RTkKoccWuEs3cIyfc2xVC5sIk333tParluN983CyRe6qjMnFq336DzfNB8oGW3qVNuXfZaVyzABdrHyWXrwkTg_6wbPwTFHX1TEFOcszKEWV3SP4Pb8Sp8HuqxoLdMxdrLyQX_E-CQ\"},\"dpopKeyThumbprint\":\"DMsuRsgxj4LVVAKUpzryYlk0KRfhmt92uKKrhB36dmM\",\"issuedAtEpochMs\":1776241436074,\"tenantId\":\"demo-prod\",\"scopes\":[\"advisory-ai:operate\",\"advisory-ai:view\",\"advisory:read\",\"airgap:seal\",\"airgap:status:read\",\"analytics.read\",\"aoc:verify\",\"authority.audit.read\",\"authority:branding.read\",\"authority:branding.write\",\"authority:clients.read\",\"authority:clients.write\",\"authority:roles.read\",\"authority:roles.write\",\"authority:tenants.read\",\"authority:tenants.write\",\"authority:tokens.read\",\"authority:tokens.revoke\",\"authority:users.read\",\"authority:users.write\",\"doctor:admin\",\"doctor:run\",\"email\",\"evidence:read\",\"exceptions:approve\",\"exceptions:read\",\"export.admin\",\"export.operator\",\"export.viewer\",\"findings:read\",\"graph:read\",\"integration:operate\",\"integration:read\",\"integration:write\",\"notify.admin\",\"notify.escalate\",\"notify.operator\",\"notify.viewer\",\"offline_access\",\"openid\",\"ops.health\",\"orch:operate\",\"orch:quota\",\"orch:read\",\"packs.approve\",\"packs.read\",\"packs.run\",\"packs.write\",\"platform.context.read\",\"platform.context.write\",\"policy:activate\",\"policy:approve\",\"policy:audit\",\"policy:author\",\"policy:edit\",\"policy:operate\",\"policy:publish\",\"policy:read\",\"policy:review\",\"policy:run\",\"policy:simulate\",\"profile\",\"registry.admin\",\"release:publish\",\"release:read\",\"release:write\",\"sbom:read\",\"scanner:read\",\"scheduler:operate\",\"scheduler:read\",\"signer:admin\",\"signer:read\",\"signer:rotate\",\"signer:sign\",\"timeline:read\",\"timeline:write\",\"trust:admin\",\"trust:read\",\"trust:write\",\"ui.admin\",\"ui.preferences.read\",\"ui.preferences.write\",\"ui.read\",\"vex:read\",\"vexhub:read\",\"vuln:audit\",\"vuln:investigate\",\"vuln:operate\",\"vuln:view\"],\"audiences\":[],\"authenticationTimeEpochMs\":1776241435000,\"freshAuthActive\":false,\"freshAuthExpiresAtEpochMs\":null}" + "{\"tokens\":{\"accessToken\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6IjdLUks4OUw1UTNESkVQR09IV1NPSDNMVDktTVdNWVVJRS1aSU1VX1EiLCJ0eXAiOiJhdCtqd3QifQ.eyJpc3MiOiJodHRwczovL2F1dGhvcml0eS5zdGVsbGEtb3BzLmxvY2FsLyIsImV4cCI6MTc3NjU5NTA4OCwiaWF0IjoxNzc2NTkzMjg4LCJzY29wZSI6Im9wZW5pZCBwcm9maWxlIGVtYWlsIG9mZmxpbmVfYWNjZXNzIHVpLnJlYWQgdWkuYWRtaW4gdWkucHJlZmVyZW5jZXMucmVhZCB1aS5wcmVmZXJlbmNlcy53cml0ZSBhdXRob3JpdHk6dGVuYW50cy5yZWFkIGF1dGhvcml0eTp0ZW5hbnRzLndyaXRlIGF1dGhvcml0eTp1c2Vycy5yZWFkIGF1dGhvcml0eTp1c2Vycy53cml0ZSBhdXRob3JpdHk6cm9sZXMucmVhZCBhdXRob3JpdHk6cm9sZXMud3JpdGUgYXV0aG9yaXR5OmNsaWVudHMucmVhZCBhdXRob3JpdHk6Y2xpZW50cy53cml0ZSBhdXRob3JpdHk6dG9rZW5zLnJlYWQgYXV0aG9yaXR5OnRva2Vucy5yZXZva2UgYXV0aG9yaXR5OmJyYW5kaW5nLnJlYWQgYXV0aG9yaXR5OmJyYW5kaW5nLndyaXRlIGF1dGhvcml0eS5hdWRpdC5yZWFkIGdyYXBoOnJlYWQgc2JvbTpyZWFkIHNjYW5uZXI6cmVhZCBwb2xpY3k6cmVhZCBwb2xpY3k6c2ltdWxhdGUgcG9saWN5OmF1dGhvciBwb2xpY3k6cmV2aWV3IHBvbGljeTphcHByb3ZlIHBvbGljeTpydW4gcG9saWN5OmFjdGl2YXRlIHBvbGljeTphdWRpdCBwb2xpY3k6ZWRpdCBwb2xpY3k6b3BlcmF0ZSBwb2xpY3k6cHVibGlzaCBhaXJnYXA6c2VhbCBhaXJnYXA6c3RhdHVzOnJlYWQgb3JjaDpyZWFkIG9yY2g6b3BlcmF0ZSBvcmNoOnF1b3RhIGFuYWx5dGljcy5yZWFkIGFkdmlzb3J5OnJlYWQgYWR2aXNvcnktYWk6dmlldyBhZHZpc29yeS1haTpvcGVyYXRlIHZleDpyZWFkIHZleGh1YjpyZWFkIGV4Y2VwdGlvbnM6cmVhZCBleGNlcHRpb25zOmFwcHJvdmUgYW9jOnZlcmlmeSBmaW5kaW5nczpyZWFkIHJlbGVhc2U6cmVhZCByZWxlYXNlOndyaXRlIHJlbGVhc2U6cHVibGlzaCBzY2hlZHVsZXI6cmVhZCBzY2hlZHVsZXI6b3BlcmF0ZSBub3RpZnkudmlld2VyIG5vdGlmeS5vcGVyYXRvciBub3RpZnkuYWRtaW4gbm90aWZ5LmVzY2FsYXRlIGV2aWRlbmNlOnJlYWQgZXhwb3J0LnZpZXdlciBleHBvcnQub3BlcmF0b3IgZXhwb3J0LmFkbWluIHZ1bG46dmlldyB2dWxuOmludmVzdGlnYXRlIHZ1bG46b3BlcmF0ZSB2dWxuOmF1ZGl0IHBsYXRmb3JtLmNvbnRleHQucmVhZCBwbGF0Zm9ybS5jb250ZXh0LndyaXRlIGRvY3RvcjpydW4gZG9jdG9yOmFkbWluIG9wcy5oZWFsdGggaW50ZWdyYXRpb246cmVhZCBpbnRlZ3JhdGlvbjp3cml0ZSBpbnRlZ3JhdGlvbjpvcGVyYXRlIHBhY2tzLnJlYWQgcGFja3Mud3JpdGUgcGFja3MucnVuIHBhY2tzLmFwcHJvdmUgcmVnaXN0cnkuYWRtaW4gdGltZWxpbmU6cmVhZCB0aW1lbGluZTp3cml0ZSB0cnVzdDpyZWFkIHRydXN0OndyaXRlIHRydXN0OmFkbWluIHNpZ25lcjpyZWFkIHNpZ25lcjpzaWduIHNpZ25lcjpyb3RhdGUgc2lnbmVyOmFkbWluIiwianRpIjoiZTk1MGE0NGUtZmMyZC00YTJkLWFkNDAtM2YwMmVjYjRiNjQ2Iiwic3ViIjoiZjk0NWYwMDgxMWY0NGYwMDgwNTgyNjhhMjY0ZWQwMTUiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJhZG1pbiIsInJvbGUiOiJhZG1pbiIsInN0ZWxsYW9wczp0ZW5hbnQiOiJkZWZhdWx0IiwiYXV0aF90aW1lIjoxNzc2NTkzMjcyLCJvaV9wcnN0Ijoic3RlbGxhLW9wcy11aSIsImNsaWVudF9pZCI6InN0ZWxsYS1vcHMtdWkifQ.UQHuPO8JY_GQUzB-pPcos1eZJqPcbl3BaygXNnGUdlL1tz4C5P9PkHEPGH1LyNrJuPIzPSLI8Jx9vbXOF5VlTo2qfb2-NvalYkmuz8RTxDoevWpOfaFtoZLqWuOMy198pC_HKpxw6LMe9OxwRtN7n6OHB1jqGZWCmlJvEkWLvrrCqhIpnvFLcuC6l1Q54S2DFTEw1ahMYKMMmwtAFqAnfY5IPIZAdVJ9t7Ax8-Jski3vteSf1z-YIrdpEzEUv-5SXqNsgeNhHcE7-cdujOb4CMJsK4cLvBBZd2miZBkbRHs9ass19hXFPxhv4PgjuyrD9FNy2xzvPevbc2ykuvf6hw\",\"tokenType\":\"Bearer\",\"refreshToken\":\"eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkEyNTZDQkMtSFM1MTIiLCJraWQiOiJZV0pPRVlCSzU3UEpSQTFTSFhFWkM3NEFRQktRWFdEQjZaWlVPV0dVIiwidHlwIjoib2lfcmVmdCtqd3QiLCJjdHkiOiJKV1QifQ.J7ia8dvkcB0Bs0Z7yx_-BwUPECUq397tiuUOpc-tGIdWSNs9CvHHRj_yPGlU06Fmpr1bkelR5wpD7jy_8f-xc1OZmOWVCk4qrJSoCB_VhA8M5rf28xbLswNhj2OhP5_Lj9b9obaqzWwpLNAPl4wDaJBgOPW5hYNoVsoDcAZH3DB4jeALVLu6J7B3q5BLNAw-QRIgaEF7z8uutLrvs8-Dv0PgI-XcEGKQonmlml079_5jKEkKdiEAVCionn-2ksFkvLcDhK8DkDuPTvieHmnnz6Oi55XlBjlOr6-w_zV_3VA7L0zHozTKDFMUaVPqpU2rZU1ggA-hGMkb1zoBddoYiw.yFzbv7Vg3lA28Fu7wpT0Vg.TgCK7wAm6_JSQgq5ZL2YGNfNRNbAfsjx2_8WqtNwjRFiXg-dJt3OrOIljaz8bGivi3QLBOuyCrG4z_UXBITf5gcWd--BlW_XG8tvRfyXRFp9JsJqWxFl4_CwNZZNBCQpZVAy8g_oNSDhQhOyCW_rKK12GuRRv7swXkJKqkwTBLmAcHP6u-ewPheFufWSqWtf_-l1JdvaM69GoSOeiU9fx9ZWZabq2bKu8v1CM5D9_xVqq-RzKNP_DefvAn-nsElnNmVaTlKNmnu1R3K93mKorvL6aOpE1QtEzAkPyzEu7vrV3bJcoVv8YKHnJKuO7zT6gXJe5WHtcJDgHGjdjQd_Ca-fQ2nDaDk7PXmbOL8gLOUZRf1duuN5DAvlKqCehMEil_luv9w9aUX7dgHgZq3cJu6hM68Gr_TuPdCpPlQauTEyO81dFMD4ACNTwDWrnHpL36ChOl4znQ_gXjUS07T3ls8cG4FFu3v84FDUSJBPDjUIFoNZ5aR2LHrR8K5JhROb4fwu4wQf_EQPeNBTnMfmm_TeeSJUGkx7U2vD2IAPm_r3UgAmt9lS2ry4t8Xk8Alzg32ijARHAC8Tgu301p6RH0MgmbllwGbNBH1AwTyabytngpfda0Nu37NzKPZHha4AdotX4GjVKBXqA0TRzmgQR9Y_crlmQbjdGNselt7DD_OUpVgIX6uU4pnf2YoiyhAE6LwmFvLyAElgEf7d2rYe1q_Nb_rYerSWf4E73I2nwlsHs7Rcq9C3_z2y5mb35bMLj8chOiRAlW7rY5g2G6ybwAEz0RiUgxgULk6VHbfZgAoBHnCG0yB6hjbYjIrpA3bg3LJhHPcZGER8kU6p9bAZx5zR7AQ9xoO0wrwTQiyuHFRgHct2YYQqvjewzw8oDRsjx_jiNKg38vyXgccZgCVgSjQF6-xQYu-6-GU0CgNzgjPdl9UuQW4cN_ewwb5S9MZWcMPNXGKsyuG_hDemD1-n3B2bXyx2RaXi8c_QRWVj8BMY0cmTBiAvm-dPacbj4Gqk1SU7sqR-yyAH9L9MkSx0ok9p7VvvwjbPmXSfY8Savvls0ziWJOld21vPKDVbKD8PVWDWOKTsSSGbWXIyJTSVWfULDk3i2UjysL5JOhtcZrKokj3ERHvZKHMNMqckHz_MM-nRfS6aItguhBz8anl73WRcE9vTDdmAUUjP-XFyb_BG7ZZ545CTR9UUB3LQAPbbMQkFpmSUtdGvb4lL2AOWfQNMY9dpCkC7SlS4XDYDYcKe5rzjbNhG3cHfgvPxFkyygj5-JZ3hjIPpqytBl2omD3IQ05uRTWcvPLPc22FVb2E7UTDzOFASWTyKbfT9lBFNDemOQrw5EtNUYuc5RPKxUx0Uj_NFWiXjuxTmjl1db3ka-wWwQIEuUlQ4XACo7tWgJQNHN9VbAIobImoOMRB4K4JNN9ekJ4R2Mn_Zcz8B85Zjxn1ajwtmUyTszCPpXKorRG3eMR1kPFJO5eoYWFs1TLlXIAQYtv9niv-NitzVoOmAYkcanVB0hfN9q-g8hCRV4YvgjJzFQtcKcKSkaTFMYuB2wNT0yfag_nSpZM15aClopt1aFcEb2BaLZ3KgHxiAnU-3M3FjIgp4PK4XbT-shJJO3EsYDRtFpYLQZSaWuIopd3PheQNOIQCX_-__giM7xB7zOTv5NUkO5kzDWxRdMtbxua7jf6Xh_R715K0feg7WXu_t0GI-0E1E5AhzIqfSHOn4LDqi4muG4TMLtAt7qHbHgLOHrGvWUTWm65rKWo3rSCH_bb8mM_qRq5wRrxNjgWP-389Z7w2uTwvuqHlyrk9_5F16zcTBFYsrdsyNpsdNetv0B9_ukaBR8pZhHmqcwjKN8mwBdcxk7aSieUhSzLQ5WyZoaV0i0JKHeGX9uhjQEzZ2PjzHmP0UUEqc_lxpxLIm67p7wkT-Qf988PwqzUOqNLbXy-7KHkB9HeJMxWHRpNTo85hsCw3580E7oC5je4rDmzPSb8IPgLylZzwT3zA9We4K2kJWxv14hPLPbbRn3R0bhmx3FrAjrfiC14Rc7mrMdFatWI5kWk9H-QHhlIdOhlfmGMDmZdgxecsQqYUNAp-S2KH97KX5G8UqSVPaT8VJWz6KIAegjlo4-mJDOmyhAYELlsX1eNceO8RsY1mreb0JSXxuE1L_E0KrqfXKlqaIxZptlwtbFYKUo0A9lhImct9W0CyzRUNoPSk9efy1RUIYMwITMyzhfSYWOBPqEH3O3fbS_TOG7K2BrLC5_0HpATFMp3kWIZIPREvGfwNSHUrMVhNdukewix3zxdfGRsE2bG1C2xBIWnRHsdKcZa_DoLf6EHomz9OlGnYsrqtBV3vB6MzDGgb4Es6A9HTxynhtEEaTeuO_BAEmGuPBYGmNfaE8cx37LmRL33nK9v9zQvlaqSmeJeE53G_tTNsv98aDR9dtWlJgsIU5U9lTwepYSz6unzUf3-e0yDO0sE1nmyGIqvknAO6bxhPfmTE9xDQTZyU0YVjAL6XfOeQidaconqfh9DEFfqKxfbskymACi2WSE_4YjJYlEw1gfn-w3t5yggj8mQ7jeH_rWY6mxb7kaNFvMoVjUaqaJxtoGZEsgQVd0K3eFoAMC4tfzbX9oGwKNr-27e_5DbugDqlunZLBchhlM5o5gsBQqv3-JNk69erVOKWctI79yTIIUoKWtxqlLMMVSo2dcIb2TthKyyk0XKnKs7nLxT5lSsOJ3K8qeA8bF8_ikEi9YLnp88EoQOp-O7VEQ6JOgDy9Kv_NlV_jYrBpjJZsNe2kGzaTpw0Nf7ncfLvc90CsdcWylJTN_s9do2vJtpP1Kwa-nc8hdLqTyrt5G_oImjy62qcvDWE-G6bLjLGXkIcmAE-Lic_AXk7Fy86u6fxKs3pSDQK03zKOmsethMJ3meOz6mmjH4e2kcsK8V1UVJtffbW0h1dhv9aT96ODpL50udZUkyyk_iJVnEqhFJ6-ayHBGUVjBHrK5T1FbG7P0PoI7uTHkpYnRkqr9LOUBBdtBE6W0evjgWLLlVVjvK-QyDaVmLzY5YsU_nHwHOUB0n-iqPbsgf6Pnu0-e7qf081jXSr7LRnt8lB2BY1CwGWdnDVdapM4vjVxa7Kg4thKbm_ktcwtPJAUiXn_JkV7OF6M4YX2-N32JN6-3EKW5e9wnig-xjo4XjNEKFQ5Ln40iK2KjKfkLBbyRmhE1v3d7YON-uIAff0yI2ip4X_nW-PTOydWFcsgRcGOUR4VArzfZHKl17J8fSwJM4EGfE56do70PaAUcy1yHZfklIlZ-dvUQJEqkY6zqMdeZGtI0JAaIBi5vnNiXFWhXf2jZ8t9MpHq37w96CguhnV4pDoT9W3MsOqiJxTC256FDj-zWbfx7FDDPJ-VmtDnJjY2SluPLR4YRwLVcNLlhbjzAv2qaw1TrmNh_TBNPs0qLypdRpKMYyrjaLtLRoEjkFfR8nmt_5DR8X6GgcU2O55lFEn8Uzz9LqeLeaWaGuHQJqFQboY8tdVHvV8R9ijTRzG-P3vSWX6K8F9Y7FAbm25MJwWEJf6VWaHLDKY-wxs6OPdSBOdK--zWfNeRHg4gCt_L1Rk0j81PslGKe71cthqy8E4yIJErXWczUtcKx0pT4gynkT0viifpvisyTeXpW9_0gTKG6b71FFConwwomUwpZpoY0nO7xc4PT07Ph6f4FpgjkOtIWCukBf-LXwhaio_bAYQL34GPFusr92AypxO_9ZHkcY-SYt3H02PkjdDazert9k_XCSkahdiWnmYtC-2yDY8we-H1OHD4XyQbb2ReMRo9hMSrWv3StwSlHDJO0FT_TSHzWJnRk2rJPpoxaCnY53zfCkzsiViVrE5m4Ys3pBQBpIUQFcUNqmEt3d6-vuissmQAsEb9oBpmWaqC3cGV-6qz-uFD47VUYii7_3HDxtkc23FbcItpLKn0ECL2bf8AVbmou7qwI4KBU3R_tSI-DQtlms1tSpA4Bs1X6Z30a4wsl1nn4DEHC2Ln4lJ6CKixZaElcHlueDL-bUo13X5onWnP3xuhMdBBBpQcR_UidK3WPNfOKdsrrSmit6zyLJHX4CXA07LC__BzW8ZFX2IHQiXsxbMD7CN8tyiayPi-iDj25No-bCvWLV0SRQf_rB2Gt0tvObDHr4gNW6hCI1KRaBlKVfh5y5XfrNu8eFJW0KAi1Cxl4IKBQooS7DgbVRdt17EuOeR9AHrd7h5TqtV2UL5GzH-_n_02CzU47pZ3CACHQfbXVWpW11-YQo112p0P1gXb_kgpsSfxktzg9RofQ6Y1uAX84AkFyUw3Y1T50MBZR27XNq7WA1ovhaheEqvgfDL-kmLfqBoQl6OZ5b6L433rC0HKRQV5JtKxoulOEckKGIL7NAss6-ogKq582M3rkMjFuppcpKKZR_ix8lhAXLzniJMHqpxnyhuUK5mMAG_CzOSTlL-YSL2VWjMs3gmzOjqTAcs-JiRMzD_eMEsCoLSZ_otth8Aw4_Cj6tISca62_OFNPGvtcGCuGeNDsIxmx2doWXJ65yuAR2BekymdBe1tTiUWE9FrUCXZt20DxZB4eVvOAYainfUwPR-GKhHQXSHqVLcg-O45BaUHJ1Se_eXEJy2fSNaKOjfD_M2XVSUR_xo0LC9nUGzVBmY.3_UfBuwJIBsAgxZEYYD1TG0u_JsZbiZDqPwdoP-3_8E\",\"scope\":\"openid profile email offline_access ui.read ui.admin ui.preferences.read ui.preferences.write authority:tenants.read authority:tenants.write authority:users.read authority:users.write authority:roles.read authority:roles.write authority:clients.read authority:clients.write authority:tokens.read authority:tokens.revoke authority:branding.read authority:branding.write authority.audit.read graph:read sbom:read scanner:read policy:read policy:simulate policy:author policy:review policy:approve policy:run policy:activate policy:audit policy:edit policy:operate policy:publish airgap:seal airgap:status:read orch:read orch:operate orch:quota analytics.read advisory:read advisory-ai:view advisory-ai:operate vex:read vexhub:read exceptions:read exceptions:approve aoc:verify findings:read release:read release:write release:publish scheduler:read scheduler:operate notify.viewer notify.operator notify.admin notify.escalate evidence:read export.viewer export.operator export.admin vuln:view vuln:investigate vuln:operate vuln:audit platform.context.read platform.context.write doctor:run doctor:admin ops.health integration:read integration:write integration:operate packs.read packs.write packs.run packs.approve registry.admin timeline:read timeline:write trust:read trust:write trust:admin signer:read signer:sign signer:rotate signer:admin\",\"expiresAtEpochMs\":1776595090118},\"identity\":{\"subject\":\"f945f00811f44f008058268a264ed015\",\"roles\":[],\"idToken\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6IjdLUks4OUw1UTNESkVQR09IV1NPSDNMVDktTVdNWVVJRS1aSU1VX1EiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJodHRwczovL2F1dGhvcml0eS5zdGVsbGEtb3BzLmxvY2FsLyIsImV4cCI6MTc3NjU5NjU4OCwiaWF0IjoxNzc2NTkzMjg4LCJhdWQiOiJzdGVsbGEtb3BzLXVpIiwic3ViIjoiZjk0NWYwMDgxMWY0NGYwMDgwNTgyNjhhMjY0ZWQwMTUiLCJhenAiOiJzdGVsbGEtb3BzLXVpIiwibm9uY2UiOiIyNGNiYWZhNS03ZDNhLTQ0ZDMtODgzNy00NTIyYTQyOTk0NzUiLCJhdF9oYXNoIjoiSzZqRXhqdDFmMFZZVlVtbWF6T09JQSJ9.EcbkBfurdz6gfBT_5_TP6vz2aNARKP5BiEhDoBKkY4esokvWoCxPQfT6NozP4sEde-lofT4W1w1GNavRDO7QN51C6YFM25DplqcX_QWGC_UhinUd2w_WkNtzYRDjVdpTMI7gnEch77IZ0pKAKaSTNwSTLIeGG-q-SZr1M_HiIjbG0x2-kzwolGrXxVuA5XXQbWNoFW0W9PdFKpz6SNicVi_D3WM2rvRkSF_-gZ4byilC7uIZ-o45HllQceM1EAlUObQMG01b-XDMaFCAY243GY0NzRZ2pgvPD6X6SuZPtAAzBPWGm71EU2w_DyVlZt7hTGyKl-SGt_hwSrXMQ1oDdA\"},\"dpopKeyThumbprint\":\"knhtz_ieCuFgS2A6bYdUWWhbWQNMcly969VVWFBQoAA\",\"issuedAtEpochMs\":1776593289124,\"tenantId\":\"default\",\"scopes\":[\"advisory-ai:operate\",\"advisory-ai:view\",\"advisory:read\",\"airgap:seal\",\"airgap:status:read\",\"analytics.read\",\"aoc:verify\",\"authority.audit.read\",\"authority:branding.read\",\"authority:branding.write\",\"authority:clients.read\",\"authority:clients.write\",\"authority:roles.read\",\"authority:roles.write\",\"authority:tenants.read\",\"authority:tenants.write\",\"authority:tokens.read\",\"authority:tokens.revoke\",\"authority:users.read\",\"authority:users.write\",\"doctor:admin\",\"doctor:run\",\"email\",\"evidence:read\",\"exceptions:approve\",\"exceptions:read\",\"export.admin\",\"export.operator\",\"export.viewer\",\"findings:read\",\"graph:read\",\"integration:operate\",\"integration:read\",\"integration:write\",\"notify.admin\",\"notify.escalate\",\"notify.operator\",\"notify.viewer\",\"offline_access\",\"openid\",\"ops.health\",\"orch:operate\",\"orch:quota\",\"orch:read\",\"packs.approve\",\"packs.read\",\"packs.run\",\"packs.write\",\"platform.context.read\",\"platform.context.write\",\"policy:activate\",\"policy:approve\",\"policy:audit\",\"policy:author\",\"policy:edit\",\"policy:operate\",\"policy:publish\",\"policy:read\",\"policy:review\",\"policy:run\",\"policy:simulate\",\"profile\",\"registry.admin\",\"release:publish\",\"release:read\",\"release:write\",\"sbom:read\",\"scanner:read\",\"scheduler:operate\",\"scheduler:read\",\"signer:admin\",\"signer:read\",\"signer:rotate\",\"signer:sign\",\"timeline:read\",\"timeline:write\",\"trust:admin\",\"trust:read\",\"trust:write\",\"ui.admin\",\"ui.preferences.read\",\"ui.preferences.write\",\"ui.read\",\"vex:read\",\"vexhub:read\",\"vuln:audit\",\"vuln:investigate\",\"vuln:operate\",\"vuln:view\"],\"audiences\":[],\"authenticationTimeEpochMs\":1776593272000,\"freshAuthActive\":false,\"freshAuthExpiresAtEpochMs\":null}" ], [ "stellaops:wasEverAuth", "true" + ], + [ + "stellaops.auth.login.fb523b4b-6b82-4856-8426-95227415ecff", + "{\"state\":\"fb523b4b-6b82-4856-8426-95227415ecff\",\"codeVerifier\":\"CRDqWUd4QlgZUrDJTjOS-kDJKp6k6-cV1VULgFxUnzg\",\"createdAtEpochMs\":1776593265039,\"returnUrl\":\"/\",\"nonce\":\"7e2ac1fd-3b29-47b2-9b79-60435839292f\"}" ] ] }, + "sessionStatus": { + "hasFullSession": true, + "hasSessionInfo": true + }, "events": { "consoleErrors": [], - "requestFailures": [], + "requestFailures": [ + { + "method": "GET", + "url": "https://stella-ops.local/connect/authorize?response_type=code&client_id=stella-ops-ui&redirect_uri=https%3A%2F%2Fstella-ops.local%2Fauth%2Fcallback&scope=openid+profile+email+offline_access+ui.read+ui.admin+ui.preferences.read+ui.preferences.write+authority%3Atenants.read+authority%3Atenants.write+authority%3Ausers.read+authority%3Ausers.write+authority%3Aroles.read+authority%3Aroles.write+authority%3Aclients.read+authority%3Aclients.write+authority%3Atokens.read+authority%3Atokens.revoke+authority%3Abranding.read+authority%3Abranding.write+authority.audit.read+graph%3Aread+sbom%3Aread+scanner%3Aread+policy%3Aread+policy%3Asimulate+policy%3Aauthor+policy%3Areview+policy%3Aapprove+policy%3Arun+policy%3Aactivate+policy%3Aaudit+policy%3Aedit+policy%3Aoperate+policy%3Apublish+airgap%3Aseal+airgap%3Astatus%3Aread+orch%3Aread+orch%3Aoperate+orch%3Aquota+analytics.read+advisory%3Aread+advisory-ai%3Aview+advisory-ai%3Aoperate+vex%3Aread+vexhub%3Aread+exceptions%3Aread+exceptions%3Aapprove+aoc%3Averify+findings%3Aread+release%3Aread+release%3Awrite+release%3Apublish+scheduler%3Aread+scheduler%3Aoperate+notify.viewer+notify.operator+notify.admin+notify.escalate+evidence%3Aread+export.viewer+export.operator+export.admin+vuln%3Aview+vuln%3Ainvestigate+vuln%3Aoperate+vuln%3Aaudit+platform.context.read+platform.context.write+doctor%3Arun+doctor%3Aadmin+ops.health+integration%3Aread+integration%3Awrite+integration%3Aoperate+packs.read+packs.write+packs.run+packs.approve+registry.admin+timeline%3Aread+timeline%3Awrite+trust%3Aread+trust%3Awrite+trust%3Aadmin+signer%3Aread+signer%3Asign+signer%3Arotate+signer%3Aadmin&state=fb523b4b-6b82-4856-8426-95227415ecff&nonce=7e2ac1fd-3b29-47b2-9b79-60435839292f&code_challenge=GYPWvjWHUsim-5XCdVNmPtj-Z0yIT8fw0t1bmtCz3iU&code_challenge_method=S256&audience=stella-ops-api&ui_return=%2F", + "error": "net::ERR_ABORTED", + "page": "https://stella-ops.local/welcome" + } + ], "responseErrors": [] }, - "statePath": "C:\\dev\\New folder\\git.stella-ops.org\\src\\Web\\StellaOps.Web\\output\\playwright\\live-frontdoor-auth-state.json" + "statePath": "C:\\dev\\New folder\\git.stella-ops.org\\src\\Web\\StellaOps.Web\\output\\playwright\\live-frontdoor-auth-state.json", + "screenshotPath": null } diff --git a/src/Web/StellaOps.Web/output/playwright/live-frontdoor-auth-state.json b/src/Web/StellaOps.Web/output/playwright/live-frontdoor-auth-state.json index 6466850fc..67ee08786 100644 --- a/src/Web/StellaOps.Web/output/playwright/live-frontdoor-auth-state.json +++ b/src/Web/StellaOps.Web/output/playwright/live-frontdoor-auth-state.json @@ -4,33 +4,17 @@ { "origin": "https://stella-ops.local", "localStorage": [ + { + "name": "stellaops.auth.session.info", + "value": "{\"subject\":\"f945f00811f44f008058268a264ed015\",\"expiresAtEpochMs\":1776595090118,\"issuedAtEpochMs\":1776593289124,\"dpopKeyThumbprint\":\"knhtz_ieCuFgS2A6bYdUWWhbWQNMcly969VVWFBQoAA\",\"tenantId\":\"default\"}" + }, { "name": "stellaops.auth.session.full", - "value": "{\"tokens\":{\"accessToken\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6Ikg4TkdITjJESUNPUlE5QUpGTUlFRzlXWVdTVVlSUUw0LVJXR0E5QlEiLCJ0eXAiOiJhdCtqd3QifQ.eyJpc3MiOiJodHRwczovL2F1dGhvcml0eS5zdGVsbGEtb3BzLmxvY2FsLyIsImV4cCI6MTc3NjI0MzIzNiwiaWF0IjoxNzc2MjQxNDM2LCJzY29wZSI6Im9wZW5pZCBwcm9maWxlIGVtYWlsIG9mZmxpbmVfYWNjZXNzIHVpLnJlYWQgdWkuYWRtaW4gdWkucHJlZmVyZW5jZXMucmVhZCB1aS5wcmVmZXJlbmNlcy53cml0ZSBhdXRob3JpdHk6dGVuYW50cy5yZWFkIGF1dGhvcml0eTp0ZW5hbnRzLndyaXRlIGF1dGhvcml0eTp1c2Vycy5yZWFkIGF1dGhvcml0eTp1c2Vycy53cml0ZSBhdXRob3JpdHk6cm9sZXMucmVhZCBhdXRob3JpdHk6cm9sZXMud3JpdGUgYXV0aG9yaXR5OmNsaWVudHMucmVhZCBhdXRob3JpdHk6Y2xpZW50cy53cml0ZSBhdXRob3JpdHk6dG9rZW5zLnJlYWQgYXV0aG9yaXR5OnRva2Vucy5yZXZva2UgYXV0aG9yaXR5OmJyYW5kaW5nLnJlYWQgYXV0aG9yaXR5OmJyYW5kaW5nLndyaXRlIGF1dGhvcml0eS5hdWRpdC5yZWFkIGdyYXBoOnJlYWQgc2JvbTpyZWFkIHNjYW5uZXI6cmVhZCBwb2xpY3k6cmVhZCBwb2xpY3k6c2ltdWxhdGUgcG9saWN5OmF1dGhvciBwb2xpY3k6cmV2aWV3IHBvbGljeTphcHByb3ZlIHBvbGljeTpydW4gcG9saWN5OmFjdGl2YXRlIHBvbGljeTphdWRpdCBwb2xpY3k6ZWRpdCBwb2xpY3k6b3BlcmF0ZSBwb2xpY3k6cHVibGlzaCBhaXJnYXA6c2VhbCBhaXJnYXA6c3RhdHVzOnJlYWQgb3JjaDpyZWFkIG9yY2g6b3BlcmF0ZSBvcmNoOnF1b3RhIGFuYWx5dGljcy5yZWFkIGFkdmlzb3J5OnJlYWQgYWR2aXNvcnktYWk6dmlldyBhZHZpc29yeS1haTpvcGVyYXRlIHZleDpyZWFkIHZleGh1YjpyZWFkIGV4Y2VwdGlvbnM6cmVhZCBleGNlcHRpb25zOmFwcHJvdmUgYW9jOnZlcmlmeSBmaW5kaW5nczpyZWFkIHJlbGVhc2U6cmVhZCByZWxlYXNlOndyaXRlIHJlbGVhc2U6cHVibGlzaCBzY2hlZHVsZXI6cmVhZCBzY2hlZHVsZXI6b3BlcmF0ZSBub3RpZnkudmlld2VyIG5vdGlmeS5vcGVyYXRvciBub3RpZnkuYWRtaW4gbm90aWZ5LmVzY2FsYXRlIGV2aWRlbmNlOnJlYWQgZXhwb3J0LnZpZXdlciBleHBvcnQub3BlcmF0b3IgZXhwb3J0LmFkbWluIHZ1bG46dmlldyB2dWxuOmludmVzdGlnYXRlIHZ1bG46b3BlcmF0ZSB2dWxuOmF1ZGl0IHBsYXRmb3JtLmNvbnRleHQucmVhZCBwbGF0Zm9ybS5jb250ZXh0LndyaXRlIGRvY3RvcjpydW4gZG9jdG9yOmFkbWluIG9wcy5oZWFsdGggaW50ZWdyYXRpb246cmVhZCBpbnRlZ3JhdGlvbjp3cml0ZSBpbnRlZ3JhdGlvbjpvcGVyYXRlIHBhY2tzLnJlYWQgcGFja3Mud3JpdGUgcGFja3MucnVuIHBhY2tzLmFwcHJvdmUgcmVnaXN0cnkuYWRtaW4gdGltZWxpbmU6cmVhZCB0aW1lbGluZTp3cml0ZSB0cnVzdDpyZWFkIHRydXN0OndyaXRlIHRydXN0OmFkbWluIHNpZ25lcjpyZWFkIHNpZ25lcjpzaWduIHNpZ25lcjpyb3RhdGUgc2lnbmVyOmFkbWluIiwianRpIjoiZmZlZGY3MWQtYWY1MC00NWQ5LTlhMzQtMmNiYTE4ZTVmMWQyIiwic3ViIjoiMzRlNjllNDdkMzE2NDdiODkzMDc0NDk0NGYyZmZmNzAiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJhZG1pbiIsIm5hbWUiOiJhZG1pbiIsInJvbGUiOiJhZG1pbiIsInN0ZWxsYW9wczp0ZW5hbnQiOiJkZW1vLXByb2QiLCJhdXRoX3RpbWUiOjE3NzYyNDE0MzUsIm9pX3Byc3QiOiJzdGVsbGEtb3BzLXVpIiwiY2xpZW50X2lkIjoic3RlbGxhLW9wcy11aSJ9.BAPTbUxstvf4uSVv4bcKBCxCWam0MHZ8KxaaqIygmYnTng7xnoN6x2ub6s0EjAbQRY7M67gP_ESywOOMkklH_iIXEixCEQLueAIyvbFmo21ssmDY2SclXtInuXsIosZfKpqraYcvn7nO9DdqDa44hZ6OVbFJTkrGjJCjazhApR5VD5hiAK53_swYhVPuPXCXNU38aExVPPazAu4C4QuDBJuy5Rp4tne92Uzo60tad-ojOMGT-7ILkDWqzp_SPRSuvbQuyzQEjBGGljSeoUqUnRg7Q4gj1u6XwyKMhTvbA6n6KtcgsPGLK6_AzspFqxOuMicjgcvY93pcnnm62b8EAg\",\"tokenType\":\"Bearer\",\"refreshToken\":\"eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkEyNTZDQkMtSFM1MTIiLCJraWQiOiIxRVlZNFdJNFJfWE9HSDZVRFRPTFBUV0JQSE1QUlZaWURBS0FaRjcwIiwidHlwIjoib2lfcmVmdCtqd3QiLCJjdHkiOiJKV1QifQ.OjzFbXMVmR9utsZHxNNBb7lKfzW1tuD2V7uE6_WIo7viJTqvK5Pc70225amfOn_ppciNbsQtdWqtULoybzWVR-dOKJ7xN8vDcmhVJCvlHOTdVVZIw9fkdRDpsUXkabUFWC8hjpAd1ol-x5Y56EpB4LHmEBYRRV2g1g9lBMcnK8ARBoLwgrsK1xsR_Vueg9bvbcnbQdDoi_tgV2jORtPQ3WUyzNECt8WY0cMnU7AP43EcU5agg4r5SLJ4qYCoGRrEasAaH3kIEQaZLRqIlCNF1x-77vvMdYVDpqkLLgQF2bg2EM32_DIyccxSzdKFqyzTWieOfz8nnR_cgdpWITOjug.-ZgbI6MR19kz4G8ueQfOgg.w3F0J2tK722wQD6NcNcIrOXtj4ZkmYNy-mf-aK08l_TBUpHwqTByrAz3XfmD7SXtO4DqC0H-BdjxeBGbnnMxTjNG5BwtGN0wNZbYPd7yBm8eJy7ay6VhwpRBHDUm0UBUL-Onk0mcgD3vi_POkeBv54zFFJBqcijN3ia70Eim19HgxLkFop5LYebbWkX4juRRz6fI5KLglBrQnF6FTPaz3gq65PUbyAW1qQpdv1fw3n6S0YjkQzV_96sBsx7iLexfT16AwRRfmPiUOTpPljcfDtSHXKK4n0y4TVHdDb5FoOmf8WuloMAVPUzVjVuwJqZk169I8Yx-eyP62yWJYKNNaPE0-YQ9b7XXub2U3StSSMagPTNM8RG3Yxe2pnQDIoW5v81Q6Qdek7xktmooL8WNnFMBd4udNOsMCeGk98QTuXHXVVKq4zNuVuBgFoCWAWMBGGNVZXXtiELgwH3lE9IoUlbdMsGUBAQ-vcj_QFlzAGGonAp2YUMX3pY-bnqfzhp0cWMjBJxUK8-iRWmmw-1cMKtNSEqlg21bEDUQBFDJTMJENC31kaaqCfny8wNu90Oi9faTzx_bjAtFiH83XB1c-J0eTa5BBdWbd7Mu7U-hryne0RWK1wCkf97vo9aB0xclHxnQA2v-gtp-rtpb8QkvYS91D9YvpHyuPEhkQK3liyKRXvQND-6tMwDrcFoj9_7XyukAjw1WEKnjQG7u9TnH81ejB0nHVDOhwWGMxMIA8EO0_ql9MfGvIN3Cy_O82MlIthSn5-V7aakV_dyZYkvEcKZ0UBrSxCwQSKAS9cqmew0ud3fzzp8cAqwNMDHvkECw_YN8LBJN7FfpPXxnOsKveySv-IISsOxae9A5i9BPYh0OJ0jxKxI2XmnOqspdGZu-5D5JVZDBrqlDM4b84SECSuLnDkejV7_N1Cwt0YogU7lckvaFCvmuQ0xmhdWBOvlXtyEgGjr7HpviX_64utAR5ItsXu2QK0tVq_mmXiL9nNqsPqO13Qy2GJhtg_5GLXVV7GFztNVzaxu1Yu8tSEuhMWJ2aKx5xkaY5jr4pzW9gkgx-TQBQrkwSvKm2NVGxX74StxQwo-3vM0V8uUhlGxOBH2WNC8SbsPXdwsb3yad2c-0itweIm9znnGg7ePxl3NQFLVaBQiW1wiqJta5iSb970fTJ560wsNt7ooBDw2Ux5lGeEGNJC7F4X6KjuvZsONSJRkyguiduDVDytbN_PAvIGPPFsCNzdY3K9rw-fd3vABygfYWxhUacWTbHq-jFfYHijBJPQ4J7uzh-gr2O5dYODCg8uo3h1Ka-p9tXX1D_uLsfjHc62Sp3LaFZ34tFWzq3cZKKllmDWgpECgySFXLKHKRAP1GCahWkgyf3PW1j4liK3Xxaqq4W1-UokwOLyacWD5Gw54JgY2o43BpQZuK3pRjSaoyB2PErrNrzsdw9f_gHSa8-z7xvoQSjegyIjAB9UN0-h7pb-cozsYsvhsFm_4E7d6aCtmn80QQl5w7_8MyuuVngij65B8jRXxlUog-lQGSm-q3ZyMrWK8puR7KpokgfUl1qwOM1N-5WxDGHQHFeD2Hm-9mSmQfv3coF1rHmh65fk3kzubaMZoPEXFTtEwQtmhRVAS5F4JFniT_hX3xuthylEtW12b20EkLWfnSt_bH3tL0Ig48I4Z7P8w_v7kQNS8qjiAMaOstE48fOfc36y5Pk89uyDC_Zji2exOugPJ8E_YeaEhzhFeMHxwEq2JGWAzXwhma1wZ8BkNNWyMOLNhd5S0--OqnhArs09RCEpzpoWSNDa3aInE4QjNcEdQsMFyyCNa_1Pk9qXM8DLDPueh_BS7EhVhWNOoYLmBSZKFZHksB6LQngbWr9CS4RHedCw1zi5KriZKDSkLGwFrpBeXs2d2UGPqO-Wyz7ea6wtZ4MLWXpXJASlr0OYEEvR48DphIs--UPvTRf8pyg0O5ZBk45AwEl7twN85IYwlX01swbVe9V8Eur1hJBCKPUYn9WBs3SVP5wYURnO8ukOt2UIQCPzXG1qGTmGk88Df-TlsunUmVsHnPChzGxyew1FCwV4R1YDuc0BBd3XH1mlv2656lQ01Fht9l-gt06a2RwIJTZL4y1Vh3DYcvKWNBw-LLGjo7rOL8u8bADx_-cscu-Rs_n9PKFzuQfu5VZsRpMiIIJ8qnEqaHX5Mcy70gbRYH91mDXEdpAYykr4olwB1sG-yP5H10A7nKExx24YoToZbxgEyZuV7HZ5xrcreSIQ-uFH2S6I7nkYhm_3QshyHP1kn4UrUemrcVpAa97x8IUT6LSjJEQ6i6vH0akluHMFjPcf7o1UndrVUGOlux-kd3i7LD5Qp4x1fB3NTaOoPvsZGuBdTxLh5nxO55FU2afldTaTYVhgm9V3yrJ16p2wWj8cR8XbmGk-0ociK0FLjVgSVBK9oPX5OhMkYQYI0JQgdLfM_1PPvxBkJPU9Bv7OuVc3oFm9Vkf3CDgl2kNh9HN7Pi4eUDydqgwcO_WQqpLkbHV-V3IAMyxJRyvLBvNDkOLmyDzbg5CCUwVZuKugASUoud8qEqn-jupPGXxqzpUi7cBrgxM3CfULa3idzknLszw8K9utCjsazoyewSiWUN7V7L6b18Rp4gLMZ9M9NBRMHNa2Uf9htGb-HK8L0xNKlab6EYY0iNMRV00RLbHlAbgKntj8pfD0Ox5y5AgqFNxJ1m2dWMoo_fsXiYNvAYN9DBLhewds1SsOQ4X7Q-7FCJKIceeiIOUbbpoCqJnxg_ZF-eukpA5QicuZv60qvbp-QBFt2x22TBIFtphJB-uNudY2_inRyt3VYZJGr-juUgxaMDTJ8WDiLyVqO_Dnd-vvU_Z0DF4xWiuVi5LVuYPO3etlT9ibfqJKne6Wf8bO2zQ7-A3KMgB1VY_fZmG0-13YHunTqGhIhLpkAqJJgcb8i3CQK0csGADE-_pLl7BwfbAq1WKAVtmU5QT-uAfvn1mjAv4Q6htO4wSzCW41Ij_i_VifLKZ8S_cZADmWxxBtWvwxgBfxIeoxY26zk0E63j6ZhmqVqM8bt-IRlm5Jfc1D3wWhZ9Tp-BGT4qZSmP2nVzyvyc8bE0wF2ANIF-Ks0Dh8KW9XRd_bma0BupJAHooAh5oFHhvr8qThWYGRdY9E4Jk6XkTElVe9X8FpimkkEGyDMltmCScbYDR3QGsHURbkBHYcQ1u6nb87PravJrBCd9Lw62P0ImdSOzHKmgM2xDkh7M0taCG_7kM5sJDplhJD14Oiz3CxlOTwci4TRr9kICpkdp0kr10xvQi_x_xTuxUynlKHl4OvyQ7RksdB39w1be4NRo4wYfbzAjGdK_KUwdQSJwyAK4wh6SKFnc8TfaVyqp4fy_drb_TAxH7nyHkeS0m9FRZOjaYmXNko0dX8_djS7hVdxcdjLpX50r9duN2kJ35cMbszsRyhnXr4JuIdVziEvSRs23jKgDwKXFld7uvV6QPTa6eEctpJXTlUSNZMhJxEfT-pO6Dbmu5oIYzus5ogQRqlohHyVOOndFhhR2T4MgxVczLc7Nu_M955mnNdGn6Dwz_kClAMOxCkLB6HuGF5pjoTb4UJcL93LP0Hw7FiKoaBectNrQPEyk-c2ycY2rFuoyuvNYdBBo-FPnTpP2O89mjkhL8-9RcFmKxN7UHniK2WDdu0uR0y3icm6zH8ABAZsduy8mhyDqx2YNQjhy5tfmoxkAIVUsL9YAt1o45wenfI1dW_p4bnxxEGVl3mUbRBswN8wc3CuwsxcWRNRAVZWC2WADLqgMUkInXDyLcijfoJ1LNxCo_6og8UIMKb7ix6uao4VSMnYO9mNE5SCq5jalPkjwhXfJiJL9RdRhB5rd5t3Dw7OrJwvcSY1EwVMT7z-l-6Zv-q7Q73NlzHU6Spx1AwrKx3fAIEX_LRULI-15Zsp4QcFc4qtAkzw07CTGzcBPQD88zHq3VcL1zVzToFO4f-exWsg0QdXwdipI3EtV3M-DyKXvHYNBKcpeIG8h95_EfcXfWXxAszyGfCDdGY_bxOzi9seh0A5LP0b5ZJa3lwcFWYtMEGL0G3yNUse-Aoqr0mZtdslMiHk7LO__E7fb3we82QwA316JSf7VRhnqSZIo-EuvKF0F2J2wmWea99bbD6wZPvJ6DD5YPfnTZ6ApXiJhnt8M5FCbjqefT3mwMhiMEVVFwKqqR8nH73NJtfz_lnfrWKRJ14_MohDCXFCluFWmSWyJ19e_co7of-_H7BrYBog9jmuJCFw4a2dUcE1tffnDI-sbsP8YdwOZ-RX6cEmllnCyhRFiC8UXACRmo6Jnszuz4UgXnz_DzmNF_mxzLg2TJzF8GG-63C25xE-lA3iYABoMQiPus79ki8gqxx_JW1h2yph1sghDHyWnBYKM-Ev9iDLXBfIhW2J8DYEDCdSqQbw190-sQIN2D0QQI-CP1O3MXze-ZZ8sZD4BU9rjnMJzmP7P_HG7pH-UqSbb2fOG80tZksYicLK0FVx0hIzAiB57ZIKqTOIQ08LhgF98RRXEZ7M5oz4P4dg4vaWHiM7lD92lXraJQ1KZcgBCGDyCHQWPrBzmGi9TJKrgkQvJwYPaxT7AazSkWsMDE9tWHX0LN_3BS48-ntxWmzBP8ocYudCZUo7hS0V3AJ0-KS_BYLY5KM-MepF2BYnN_iPn_tfuuCyKho_lw6QeiyrnWK1Yz8IWSoPueJ-ME02YLX3P9KZmN3dOD8zIkbju03v4PxJSL5yLtgHwmjRkYQ.cjOvEX-7aFRdot2RsGMsT7sykvFcQPb73BRcWRYb7us\",\"scope\":\"openid profile email offline_access ui.read ui.admin ui.preferences.read ui.preferences.write authority:tenants.read authority:tenants.write authority:users.read authority:users.write authority:roles.read authority:roles.write authority:clients.read authority:clients.write authority:tokens.read authority:tokens.revoke authority:branding.read authority:branding.write authority.audit.read graph:read sbom:read scanner:read policy:read policy:simulate policy:author policy:review policy:approve policy:run policy:activate policy:audit policy:edit policy:operate policy:publish airgap:seal airgap:status:read orch:read orch:operate orch:quota analytics.read advisory:read advisory-ai:view advisory-ai:operate vex:read vexhub:read exceptions:read exceptions:approve aoc:verify findings:read release:read release:write release:publish scheduler:read scheduler:operate notify.viewer notify.operator notify.admin notify.escalate evidence:read export.viewer export.operator export.admin vuln:view vuln:investigate vuln:operate vuln:audit platform.context.read platform.context.write doctor:run doctor:admin ops.health integration:read integration:write integration:operate packs.read packs.write packs.run packs.approve registry.admin timeline:read timeline:write trust:read trust:write trust:admin signer:read signer:sign signer:rotate signer:admin\",\"expiresAtEpochMs\":1776243236072},\"identity\":{\"subject\":\"34e69e47d31647b8930744944f2fff70\",\"name\":\"admin\",\"roles\":[],\"idToken\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6Ikg4TkdITjJESUNPUlE5QUpGTUlFRzlXWVdTVVlSUUw0LVJXR0E5QlEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJodHRwczovL2F1dGhvcml0eS5zdGVsbGEtb3BzLmxvY2FsLyIsImV4cCI6MTc3NjI0NDczNiwiaWF0IjoxNzc2MjQxNDM2LCJhdWQiOiJzdGVsbGEtb3BzLXVpIiwic3ViIjoiMzRlNjllNDdkMzE2NDdiODkzMDc0NDk0NGYyZmZmNzAiLCJuYW1lIjoiYWRtaW4iLCJhenAiOiJzdGVsbGEtb3BzLXVpIiwibm9uY2UiOiIwMWIxY2NhYi1iYmM4LTRjZjQtOWZlOC0zOTMxYWQ3YTJkOWMiLCJhdF9oYXNoIjoiVVRmc3NvaWJkUTFEM29UTFphMnlnZyJ9.ZWgl9L3OfXRvrrRsuHaaMXM-GVyYWjnF0PKI2Z4Q3xaCHJVY4dnvs54bBhjqYYWiaq9naM2KdLOTc3_KcAyiTPkqNbQPmHbxvfOAgYMt6Y1Og3lhcuuK2Lx9ZAIKBTlHK-QwaGANhOJ55oc9-JXsYKZHcQFMn-N61USb1fFz87ETzYfwBncYIDSCiYH3imu4uKrjvtgJ3xq6RTkKoccWuEs3cIyfc2xVC5sIk333tParluN983CyRe6qjMnFq336DzfNB8oGW3qVNuXfZaVyzABdrHyWXrwkTg_6wbPwTFHX1TEFOcszKEWV3SP4Pb8Sp8HuqxoLdMxdrLyQX_E-CQ\"},\"dpopKeyThumbprint\":\"DMsuRsgxj4LVVAKUpzryYlk0KRfhmt92uKKrhB36dmM\",\"issuedAtEpochMs\":1776241436074,\"tenantId\":\"demo-prod\",\"scopes\":[\"advisory-ai:operate\",\"advisory-ai:view\",\"advisory:read\",\"airgap:seal\",\"airgap:status:read\",\"analytics.read\",\"aoc:verify\",\"authority.audit.read\",\"authority:branding.read\",\"authority:branding.write\",\"authority:clients.read\",\"authority:clients.write\",\"authority:roles.read\",\"authority:roles.write\",\"authority:tenants.read\",\"authority:tenants.write\",\"authority:tokens.read\",\"authority:tokens.revoke\",\"authority:users.read\",\"authority:users.write\",\"doctor:admin\",\"doctor:run\",\"email\",\"evidence:read\",\"exceptions:approve\",\"exceptions:read\",\"export.admin\",\"export.operator\",\"export.viewer\",\"findings:read\",\"graph:read\",\"integration:operate\",\"integration:read\",\"integration:write\",\"notify.admin\",\"notify.escalate\",\"notify.operator\",\"notify.viewer\",\"offline_access\",\"openid\",\"ops.health\",\"orch:operate\",\"orch:quota\",\"orch:read\",\"packs.approve\",\"packs.read\",\"packs.run\",\"packs.write\",\"platform.context.read\",\"platform.context.write\",\"policy:activate\",\"policy:approve\",\"policy:audit\",\"policy:author\",\"policy:edit\",\"policy:operate\",\"policy:publish\",\"policy:read\",\"policy:review\",\"policy:run\",\"policy:simulate\",\"profile\",\"registry.admin\",\"release:publish\",\"release:read\",\"release:write\",\"sbom:read\",\"scanner:read\",\"scheduler:operate\",\"scheduler:read\",\"signer:admin\",\"signer:read\",\"signer:rotate\",\"signer:sign\",\"timeline:read\",\"timeline:write\",\"trust:admin\",\"trust:read\",\"trust:write\",\"ui.admin\",\"ui.preferences.read\",\"ui.preferences.write\",\"ui.read\",\"vex:read\",\"vexhub:read\",\"vuln:audit\",\"vuln:investigate\",\"vuln:operate\",\"vuln:view\"],\"audiences\":[],\"authenticationTimeEpochMs\":1776241435000,\"freshAuthActive\":false,\"freshAuthExpiresAtEpochMs\":null}" - }, - { - "name": "stellaops.helper.preferences", - "value": "{\"dismissed\":false,\"tooltipsMuted\":false,\"mutedPages\":[],\"mutedTipIds\":[],\"seenPages\":[],\"tipIndex\":{},\"dismissedBanners\":[],\"seenHelpPages\":[],\"pageHelpOpen\":{},\"pageHelpDismissedGlobal\":false,\"pageHelpDismissedPages\":[]}" - }, - { - "name": "stellaops.content-width", - "value": "centered" - }, - { - "name": "stellaops.assistant.state", - "value": "{\"seenRoutes\":[],\"completedTours\":[],\"tipPositions\":{},\"dismissed\":false}" + "value": "{\"tokens\":{\"accessToken\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6IjdLUks4OUw1UTNESkVQR09IV1NPSDNMVDktTVdNWVVJRS1aSU1VX1EiLCJ0eXAiOiJhdCtqd3QifQ.eyJpc3MiOiJodHRwczovL2F1dGhvcml0eS5zdGVsbGEtb3BzLmxvY2FsLyIsImV4cCI6MTc3NjU5NTA4OCwiaWF0IjoxNzc2NTkzMjg4LCJzY29wZSI6Im9wZW5pZCBwcm9maWxlIGVtYWlsIG9mZmxpbmVfYWNjZXNzIHVpLnJlYWQgdWkuYWRtaW4gdWkucHJlZmVyZW5jZXMucmVhZCB1aS5wcmVmZXJlbmNlcy53cml0ZSBhdXRob3JpdHk6dGVuYW50cy5yZWFkIGF1dGhvcml0eTp0ZW5hbnRzLndyaXRlIGF1dGhvcml0eTp1c2Vycy5yZWFkIGF1dGhvcml0eTp1c2Vycy53cml0ZSBhdXRob3JpdHk6cm9sZXMucmVhZCBhdXRob3JpdHk6cm9sZXMud3JpdGUgYXV0aG9yaXR5OmNsaWVudHMucmVhZCBhdXRob3JpdHk6Y2xpZW50cy53cml0ZSBhdXRob3JpdHk6dG9rZW5zLnJlYWQgYXV0aG9yaXR5OnRva2Vucy5yZXZva2UgYXV0aG9yaXR5OmJyYW5kaW5nLnJlYWQgYXV0aG9yaXR5OmJyYW5kaW5nLndyaXRlIGF1dGhvcml0eS5hdWRpdC5yZWFkIGdyYXBoOnJlYWQgc2JvbTpyZWFkIHNjYW5uZXI6cmVhZCBwb2xpY3k6cmVhZCBwb2xpY3k6c2ltdWxhdGUgcG9saWN5OmF1dGhvciBwb2xpY3k6cmV2aWV3IHBvbGljeTphcHByb3ZlIHBvbGljeTpydW4gcG9saWN5OmFjdGl2YXRlIHBvbGljeTphdWRpdCBwb2xpY3k6ZWRpdCBwb2xpY3k6b3BlcmF0ZSBwb2xpY3k6cHVibGlzaCBhaXJnYXA6c2VhbCBhaXJnYXA6c3RhdHVzOnJlYWQgb3JjaDpyZWFkIG9yY2g6b3BlcmF0ZSBvcmNoOnF1b3RhIGFuYWx5dGljcy5yZWFkIGFkdmlzb3J5OnJlYWQgYWR2aXNvcnktYWk6dmlldyBhZHZpc29yeS1haTpvcGVyYXRlIHZleDpyZWFkIHZleGh1YjpyZWFkIGV4Y2VwdGlvbnM6cmVhZCBleGNlcHRpb25zOmFwcHJvdmUgYW9jOnZlcmlmeSBmaW5kaW5nczpyZWFkIHJlbGVhc2U6cmVhZCByZWxlYXNlOndyaXRlIHJlbGVhc2U6cHVibGlzaCBzY2hlZHVsZXI6cmVhZCBzY2hlZHVsZXI6b3BlcmF0ZSBub3RpZnkudmlld2VyIG5vdGlmeS5vcGVyYXRvciBub3RpZnkuYWRtaW4gbm90aWZ5LmVzY2FsYXRlIGV2aWRlbmNlOnJlYWQgZXhwb3J0LnZpZXdlciBleHBvcnQub3BlcmF0b3IgZXhwb3J0LmFkbWluIHZ1bG46dmlldyB2dWxuOmludmVzdGlnYXRlIHZ1bG46b3BlcmF0ZSB2dWxuOmF1ZGl0IHBsYXRmb3JtLmNvbnRleHQucmVhZCBwbGF0Zm9ybS5jb250ZXh0LndyaXRlIGRvY3RvcjpydW4gZG9jdG9yOmFkbWluIG9wcy5oZWFsdGggaW50ZWdyYXRpb246cmVhZCBpbnRlZ3JhdGlvbjp3cml0ZSBpbnRlZ3JhdGlvbjpvcGVyYXRlIHBhY2tzLnJlYWQgcGFja3Mud3JpdGUgcGFja3MucnVuIHBhY2tzLmFwcHJvdmUgcmVnaXN0cnkuYWRtaW4gdGltZWxpbmU6cmVhZCB0aW1lbGluZTp3cml0ZSB0cnVzdDpyZWFkIHRydXN0OndyaXRlIHRydXN0OmFkbWluIHNpZ25lcjpyZWFkIHNpZ25lcjpzaWduIHNpZ25lcjpyb3RhdGUgc2lnbmVyOmFkbWluIiwianRpIjoiZTk1MGE0NGUtZmMyZC00YTJkLWFkNDAtM2YwMmVjYjRiNjQ2Iiwic3ViIjoiZjk0NWYwMDgxMWY0NGYwMDgwNTgyNjhhMjY0ZWQwMTUiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJhZG1pbiIsInJvbGUiOiJhZG1pbiIsInN0ZWxsYW9wczp0ZW5hbnQiOiJkZWZhdWx0IiwiYXV0aF90aW1lIjoxNzc2NTkzMjcyLCJvaV9wcnN0Ijoic3RlbGxhLW9wcy11aSIsImNsaWVudF9pZCI6InN0ZWxsYS1vcHMtdWkifQ.UQHuPO8JY_GQUzB-pPcos1eZJqPcbl3BaygXNnGUdlL1tz4C5P9PkHEPGH1LyNrJuPIzPSLI8Jx9vbXOF5VlTo2qfb2-NvalYkmuz8RTxDoevWpOfaFtoZLqWuOMy198pC_HKpxw6LMe9OxwRtN7n6OHB1jqGZWCmlJvEkWLvrrCqhIpnvFLcuC6l1Q54S2DFTEw1ahMYKMMmwtAFqAnfY5IPIZAdVJ9t7Ax8-Jski3vteSf1z-YIrdpEzEUv-5SXqNsgeNhHcE7-cdujOb4CMJsK4cLvBBZd2miZBkbRHs9ass19hXFPxhv4PgjuyrD9FNy2xzvPevbc2ykuvf6hw\",\"tokenType\":\"Bearer\",\"refreshToken\":\"eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkEyNTZDQkMtSFM1MTIiLCJraWQiOiJZV0pPRVlCSzU3UEpSQTFTSFhFWkM3NEFRQktRWFdEQjZaWlVPV0dVIiwidHlwIjoib2lfcmVmdCtqd3QiLCJjdHkiOiJKV1QifQ.J7ia8dvkcB0Bs0Z7yx_-BwUPECUq397tiuUOpc-tGIdWSNs9CvHHRj_yPGlU06Fmpr1bkelR5wpD7jy_8f-xc1OZmOWVCk4qrJSoCB_VhA8M5rf28xbLswNhj2OhP5_Lj9b9obaqzWwpLNAPl4wDaJBgOPW5hYNoVsoDcAZH3DB4jeALVLu6J7B3q5BLNAw-QRIgaEF7z8uutLrvs8-Dv0PgI-XcEGKQonmlml079_5jKEkKdiEAVCionn-2ksFkvLcDhK8DkDuPTvieHmnnz6Oi55XlBjlOr6-w_zV_3VA7L0zHozTKDFMUaVPqpU2rZU1ggA-hGMkb1zoBddoYiw.yFzbv7Vg3lA28Fu7wpT0Vg.TgCK7wAm6_JSQgq5ZL2YGNfNRNbAfsjx2_8WqtNwjRFiXg-dJt3OrOIljaz8bGivi3QLBOuyCrG4z_UXBITf5gcWd--BlW_XG8tvRfyXRFp9JsJqWxFl4_CwNZZNBCQpZVAy8g_oNSDhQhOyCW_rKK12GuRRv7swXkJKqkwTBLmAcHP6u-ewPheFufWSqWtf_-l1JdvaM69GoSOeiU9fx9ZWZabq2bKu8v1CM5D9_xVqq-RzKNP_DefvAn-nsElnNmVaTlKNmnu1R3K93mKorvL6aOpE1QtEzAkPyzEu7vrV3bJcoVv8YKHnJKuO7zT6gXJe5WHtcJDgHGjdjQd_Ca-fQ2nDaDk7PXmbOL8gLOUZRf1duuN5DAvlKqCehMEil_luv9w9aUX7dgHgZq3cJu6hM68Gr_TuPdCpPlQauTEyO81dFMD4ACNTwDWrnHpL36ChOl4znQ_gXjUS07T3ls8cG4FFu3v84FDUSJBPDjUIFoNZ5aR2LHrR8K5JhROb4fwu4wQf_EQPeNBTnMfmm_TeeSJUGkx7U2vD2IAPm_r3UgAmt9lS2ry4t8Xk8Alzg32ijARHAC8Tgu301p6RH0MgmbllwGbNBH1AwTyabytngpfda0Nu37NzKPZHha4AdotX4GjVKBXqA0TRzmgQR9Y_crlmQbjdGNselt7DD_OUpVgIX6uU4pnf2YoiyhAE6LwmFvLyAElgEf7d2rYe1q_Nb_rYerSWf4E73I2nwlsHs7Rcq9C3_z2y5mb35bMLj8chOiRAlW7rY5g2G6ybwAEz0RiUgxgULk6VHbfZgAoBHnCG0yB6hjbYjIrpA3bg3LJhHPcZGER8kU6p9bAZx5zR7AQ9xoO0wrwTQiyuHFRgHct2YYQqvjewzw8oDRsjx_jiNKg38vyXgccZgCVgSjQF6-xQYu-6-GU0CgNzgjPdl9UuQW4cN_ewwb5S9MZWcMPNXGKsyuG_hDemD1-n3B2bXyx2RaXi8c_QRWVj8BMY0cmTBiAvm-dPacbj4Gqk1SU7sqR-yyAH9L9MkSx0ok9p7VvvwjbPmXSfY8Savvls0ziWJOld21vPKDVbKD8PVWDWOKTsSSGbWXIyJTSVWfULDk3i2UjysL5JOhtcZrKokj3ERHvZKHMNMqckHz_MM-nRfS6aItguhBz8anl73WRcE9vTDdmAUUjP-XFyb_BG7ZZ545CTR9UUB3LQAPbbMQkFpmSUtdGvb4lL2AOWfQNMY9dpCkC7SlS4XDYDYcKe5rzjbNhG3cHfgvPxFkyygj5-JZ3hjIPpqytBl2omD3IQ05uRTWcvPLPc22FVb2E7UTDzOFASWTyKbfT9lBFNDemOQrw5EtNUYuc5RPKxUx0Uj_NFWiXjuxTmjl1db3ka-wWwQIEuUlQ4XACo7tWgJQNHN9VbAIobImoOMRB4K4JNN9ekJ4R2Mn_Zcz8B85Zjxn1ajwtmUyTszCPpXKorRG3eMR1kPFJO5eoYWFs1TLlXIAQYtv9niv-NitzVoOmAYkcanVB0hfN9q-g8hCRV4YvgjJzFQtcKcKSkaTFMYuB2wNT0yfag_nSpZM15aClopt1aFcEb2BaLZ3KgHxiAnU-3M3FjIgp4PK4XbT-shJJO3EsYDRtFpYLQZSaWuIopd3PheQNOIQCX_-__giM7xB7zOTv5NUkO5kzDWxRdMtbxua7jf6Xh_R715K0feg7WXu_t0GI-0E1E5AhzIqfSHOn4LDqi4muG4TMLtAt7qHbHgLOHrGvWUTWm65rKWo3rSCH_bb8mM_qRq5wRrxNjgWP-389Z7w2uTwvuqHlyrk9_5F16zcTBFYsrdsyNpsdNetv0B9_ukaBR8pZhHmqcwjKN8mwBdcxk7aSieUhSzLQ5WyZoaV0i0JKHeGX9uhjQEzZ2PjzHmP0UUEqc_lxpxLIm67p7wkT-Qf988PwqzUOqNLbXy-7KHkB9HeJMxWHRpNTo85hsCw3580E7oC5je4rDmzPSb8IPgLylZzwT3zA9We4K2kJWxv14hPLPbbRn3R0bhmx3FrAjrfiC14Rc7mrMdFatWI5kWk9H-QHhlIdOhlfmGMDmZdgxecsQqYUNAp-S2KH97KX5G8UqSVPaT8VJWz6KIAegjlo4-mJDOmyhAYELlsX1eNceO8RsY1mreb0JSXxuE1L_E0KrqfXKlqaIxZptlwtbFYKUo0A9lhImct9W0CyzRUNoPSk9efy1RUIYMwITMyzhfSYWOBPqEH3O3fbS_TOG7K2BrLC5_0HpATFMp3kWIZIPREvGfwNSHUrMVhNdukewix3zxdfGRsE2bG1C2xBIWnRHsdKcZa_DoLf6EHomz9OlGnYsrqtBV3vB6MzDGgb4Es6A9HTxynhtEEaTeuO_BAEmGuPBYGmNfaE8cx37LmRL33nK9v9zQvlaqSmeJeE53G_tTNsv98aDR9dtWlJgsIU5U9lTwepYSz6unzUf3-e0yDO0sE1nmyGIqvknAO6bxhPfmTE9xDQTZyU0YVjAL6XfOeQidaconqfh9DEFfqKxfbskymACi2WSE_4YjJYlEw1gfn-w3t5yggj8mQ7jeH_rWY6mxb7kaNFvMoVjUaqaJxtoGZEsgQVd0K3eFoAMC4tfzbX9oGwKNr-27e_5DbugDqlunZLBchhlM5o5gsBQqv3-JNk69erVOKWctI79yTIIUoKWtxqlLMMVSo2dcIb2TthKyyk0XKnKs7nLxT5lSsOJ3K8qeA8bF8_ikEi9YLnp88EoQOp-O7VEQ6JOgDy9Kv_NlV_jYrBpjJZsNe2kGzaTpw0Nf7ncfLvc90CsdcWylJTN_s9do2vJtpP1Kwa-nc8hdLqTyrt5G_oImjy62qcvDWE-G6bLjLGXkIcmAE-Lic_AXk7Fy86u6fxKs3pSDQK03zKOmsethMJ3meOz6mmjH4e2kcsK8V1UVJtffbW0h1dhv9aT96ODpL50udZUkyyk_iJVnEqhFJ6-ayHBGUVjBHrK5T1FbG7P0PoI7uTHkpYnRkqr9LOUBBdtBE6W0evjgWLLlVVjvK-QyDaVmLzY5YsU_nHwHOUB0n-iqPbsgf6Pnu0-e7qf081jXSr7LRnt8lB2BY1CwGWdnDVdapM4vjVxa7Kg4thKbm_ktcwtPJAUiXn_JkV7OF6M4YX2-N32JN6-3EKW5e9wnig-xjo4XjNEKFQ5Ln40iK2KjKfkLBbyRmhE1v3d7YON-uIAff0yI2ip4X_nW-PTOydWFcsgRcGOUR4VArzfZHKl17J8fSwJM4EGfE56do70PaAUcy1yHZfklIlZ-dvUQJEqkY6zqMdeZGtI0JAaIBi5vnNiXFWhXf2jZ8t9MpHq37w96CguhnV4pDoT9W3MsOqiJxTC256FDj-zWbfx7FDDPJ-VmtDnJjY2SluPLR4YRwLVcNLlhbjzAv2qaw1TrmNh_TBNPs0qLypdRpKMYyrjaLtLRoEjkFfR8nmt_5DR8X6GgcU2O55lFEn8Uzz9LqeLeaWaGuHQJqFQboY8tdVHvV8R9ijTRzG-P3vSWX6K8F9Y7FAbm25MJwWEJf6VWaHLDKY-wxs6OPdSBOdK--zWfNeRHg4gCt_L1Rk0j81PslGKe71cthqy8E4yIJErXWczUtcKx0pT4gynkT0viifpvisyTeXpW9_0gTKG6b71FFConwwomUwpZpoY0nO7xc4PT07Ph6f4FpgjkOtIWCukBf-LXwhaio_bAYQL34GPFusr92AypxO_9ZHkcY-SYt3H02PkjdDazert9k_XCSkahdiWnmYtC-2yDY8we-H1OHD4XyQbb2ReMRo9hMSrWv3StwSlHDJO0FT_TSHzWJnRk2rJPpoxaCnY53zfCkzsiViVrE5m4Ys3pBQBpIUQFcUNqmEt3d6-vuissmQAsEb9oBpmWaqC3cGV-6qz-uFD47VUYii7_3HDxtkc23FbcItpLKn0ECL2bf8AVbmou7qwI4KBU3R_tSI-DQtlms1tSpA4Bs1X6Z30a4wsl1nn4DEHC2Ln4lJ6CKixZaElcHlueDL-bUo13X5onWnP3xuhMdBBBpQcR_UidK3WPNfOKdsrrSmit6zyLJHX4CXA07LC__BzW8ZFX2IHQiXsxbMD7CN8tyiayPi-iDj25No-bCvWLV0SRQf_rB2Gt0tvObDHr4gNW6hCI1KRaBlKVfh5y5XfrNu8eFJW0KAi1Cxl4IKBQooS7DgbVRdt17EuOeR9AHrd7h5TqtV2UL5GzH-_n_02CzU47pZ3CACHQfbXVWpW11-YQo112p0P1gXb_kgpsSfxktzg9RofQ6Y1uAX84AkFyUw3Y1T50MBZR27XNq7WA1ovhaheEqvgfDL-kmLfqBoQl6OZ5b6L433rC0HKRQV5JtKxoulOEckKGIL7NAss6-ogKq582M3rkMjFuppcpKKZR_ix8lhAXLzniJMHqpxnyhuUK5mMAG_CzOSTlL-YSL2VWjMs3gmzOjqTAcs-JiRMzD_eMEsCoLSZ_otth8Aw4_Cj6tISca62_OFNPGvtcGCuGeNDsIxmx2doWXJ65yuAR2BekymdBe1tTiUWE9FrUCXZt20DxZB4eVvOAYainfUwPR-GKhHQXSHqVLcg-O45BaUHJ1Se_eXEJy2fSNaKOjfD_M2XVSUR_xo0LC9nUGzVBmY.3_UfBuwJIBsAgxZEYYD1TG0u_JsZbiZDqPwdoP-3_8E\",\"scope\":\"openid profile email offline_access ui.read ui.admin ui.preferences.read ui.preferences.write authority:tenants.read authority:tenants.write authority:users.read authority:users.write authority:roles.read authority:roles.write authority:clients.read authority:clients.write authority:tokens.read authority:tokens.revoke authority:branding.read authority:branding.write authority.audit.read graph:read sbom:read scanner:read policy:read policy:simulate policy:author policy:review policy:approve policy:run policy:activate policy:audit policy:edit policy:operate policy:publish airgap:seal airgap:status:read orch:read orch:operate orch:quota analytics.read advisory:read advisory-ai:view advisory-ai:operate vex:read vexhub:read exceptions:read exceptions:approve aoc:verify findings:read release:read release:write release:publish scheduler:read scheduler:operate notify.viewer notify.operator notify.admin notify.escalate evidence:read export.viewer export.operator export.admin vuln:view vuln:investigate vuln:operate vuln:audit platform.context.read platform.context.write doctor:run doctor:admin ops.health integration:read integration:write integration:operate packs.read packs.write packs.run packs.approve registry.admin timeline:read timeline:write trust:read trust:write trust:admin signer:read signer:sign signer:rotate signer:admin\",\"expiresAtEpochMs\":1776595090118},\"identity\":{\"subject\":\"f945f00811f44f008058268a264ed015\",\"roles\":[],\"idToken\":\"eyJhbGciOiJSUzI1NiIsImtpZCI6IjdLUks4OUw1UTNESkVQR09IV1NPSDNMVDktTVdNWVVJRS1aSU1VX1EiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJodHRwczovL2F1dGhvcml0eS5zdGVsbGEtb3BzLmxvY2FsLyIsImV4cCI6MTc3NjU5NjU4OCwiaWF0IjoxNzc2NTkzMjg4LCJhdWQiOiJzdGVsbGEtb3BzLXVpIiwic3ViIjoiZjk0NWYwMDgxMWY0NGYwMDgwNTgyNjhhMjY0ZWQwMTUiLCJhenAiOiJzdGVsbGEtb3BzLXVpIiwibm9uY2UiOiIyNGNiYWZhNS03ZDNhLTQ0ZDMtODgzNy00NTIyYTQyOTk0NzUiLCJhdF9oYXNoIjoiSzZqRXhqdDFmMFZZVlVtbWF6T09JQSJ9.EcbkBfurdz6gfBT_5_TP6vz2aNARKP5BiEhDoBKkY4esokvWoCxPQfT6NozP4sEde-lofT4W1w1GNavRDO7QN51C6YFM25DplqcX_QWGC_UhinUd2w_WkNtzYRDjVdpTMI7gnEch77IZ0pKAKaSTNwSTLIeGG-q-SZr1M_HiIjbG0x2-kzwolGrXxVuA5XXQbWNoFW0W9PdFKpz6SNicVi_D3WM2rvRkSF_-gZ4byilC7uIZ-o45HllQceM1EAlUObQMG01b-XDMaFCAY243GY0NzRZ2pgvPD6X6SuZPtAAzBPWGm71EU2w_DyVlZt7hTGyKl-SGt_hwSrXMQ1oDdA\"},\"dpopKeyThumbprint\":\"knhtz_ieCuFgS2A6bYdUWWhbWQNMcly969VVWFBQoAA\",\"issuedAtEpochMs\":1776593289124,\"tenantId\":\"default\",\"scopes\":[\"advisory-ai:operate\",\"advisory-ai:view\",\"advisory:read\",\"airgap:seal\",\"airgap:status:read\",\"analytics.read\",\"aoc:verify\",\"authority.audit.read\",\"authority:branding.read\",\"authority:branding.write\",\"authority:clients.read\",\"authority:clients.write\",\"authority:roles.read\",\"authority:roles.write\",\"authority:tenants.read\",\"authority:tenants.write\",\"authority:tokens.read\",\"authority:tokens.revoke\",\"authority:users.read\",\"authority:users.write\",\"doctor:admin\",\"doctor:run\",\"email\",\"evidence:read\",\"exceptions:approve\",\"exceptions:read\",\"export.admin\",\"export.operator\",\"export.viewer\",\"findings:read\",\"graph:read\",\"integration:operate\",\"integration:read\",\"integration:write\",\"notify.admin\",\"notify.escalate\",\"notify.operator\",\"notify.viewer\",\"offline_access\",\"openid\",\"ops.health\",\"orch:operate\",\"orch:quota\",\"orch:read\",\"packs.approve\",\"packs.read\",\"packs.run\",\"packs.write\",\"platform.context.read\",\"platform.context.write\",\"policy:activate\",\"policy:approve\",\"policy:audit\",\"policy:author\",\"policy:edit\",\"policy:operate\",\"policy:publish\",\"policy:read\",\"policy:review\",\"policy:run\",\"policy:simulate\",\"profile\",\"registry.admin\",\"release:publish\",\"release:read\",\"release:write\",\"sbom:read\",\"scanner:read\",\"scheduler:operate\",\"scheduler:read\",\"signer:admin\",\"signer:read\",\"signer:rotate\",\"signer:sign\",\"timeline:read\",\"timeline:write\",\"trust:admin\",\"trust:read\",\"trust:write\",\"ui.admin\",\"ui.preferences.read\",\"ui.preferences.write\",\"ui.read\",\"vex:read\",\"vexhub:read\",\"vuln:audit\",\"vuln:investigate\",\"vuln:operate\",\"vuln:view\"],\"audiences\":[],\"authenticationTimeEpochMs\":1776593272000,\"freshAuthActive\":false,\"freshAuthExpiresAtEpochMs\":null}" }, { "name": "stellaops.theme", "value": "system" - }, - { - "name": "stellaops.auth.session.info", - "value": "{\"subject\":\"34e69e47d31647b8930744944f2fff70\",\"expiresAtEpochMs\":1776243236072,\"issuedAtEpochMs\":1776241436074,\"dpopKeyThumbprint\":\"DMsuRsgxj4LVVAKUpzryYlk0KRfhmt92uKKrhB36dmM\",\"tenantId\":\"demo-prod\"}" - }, - { - "name": "stellaops.sidebar.preferences", - "value": "{\"sidebarCollapsed\":false,\"collapsedGroups\":[\"evidence\",\"setup-admin\"],\"collapsedSections\":[]}" } ] } diff --git a/src/Web/StellaOps.Web/package.json b/src/Web/StellaOps.Web/package.json index f16a01347..19e3bb7c9 100644 --- a/src/Web/StellaOps.Web/package.json +++ b/src/Web/StellaOps.Web/package.json @@ -19,6 +19,7 @@ "test:e2e": "playwright test", "test:e2e:search:live": "node ./scripts/run-live-search-e2e.mjs", "test:e2e:policy:producer:live": "node ./scripts/run-policy-orchestrator-proof-e2e.mjs", + "test:e2e:platform:bootstrap:first-run:live": "node ./scripts/live-setup-wizard-first-run-bootstrap.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", diff --git a/src/Web/StellaOps.Web/probe-services.mjs b/src/Web/StellaOps.Web/probe-services.mjs index b95bb6618..7e332a811 100644 --- a/src/Web/StellaOps.Web/probe-services.mjs +++ b/src/Web/StellaOps.Web/probe-services.mjs @@ -1,8 +1,17 @@ import { chromium } from 'playwright'; const BASE = 'http://127.1.0.5'; +const USERNAME = process.env.STELLAOPS_FRONTDOOR_USERNAME?.trim() + || process.env.STELLAOPS_ADMIN_USER?.trim() + || 'admin'; +const PASSWORD = process.env.STELLAOPS_FRONTDOOR_PASSWORD?.trim() + || process.env.STELLAOPS_ADMIN_PASS?.trim(); (async () => { + if (!PASSWORD) { + throw new Error('Set STELLAOPS_FRONTDOOR_PASSWORD or STELLAOPS_ADMIN_PASS before running this script.'); + } + const browser = await chromium.launch({ headless: true }); const context = await browser.newContext({ ignoreHTTPSErrors: true }); const page = await context.newPage(); @@ -14,8 +23,8 @@ const BASE = 'http://127.1.0.5'; try { await signInBtn.click({ timeout: 5000 }); } catch {} await page.waitForTimeout(2000); try { - await page.locator('input[name="Username"], input[type="text"]').first().fill('admin', { timeout: 5000 }); - await page.locator('input[type="password"]').first().fill('Admin@Stella2026!'); + await page.locator('input[name="Username"], input[type="text"]').first().fill(USERNAME, { timeout: 5000 }); + await page.locator('input[type="password"]').first().fill(PASSWORD); await page.locator('button[type="submit"]').first().click(); await page.waitForTimeout(4000); } catch (e) { console.log('Login error: ' + e.message); } diff --git a/src/Web/StellaOps.Web/scan-pages.mjs b/src/Web/StellaOps.Web/scan-pages.mjs index eb1c05276..62e6b64f4 100644 --- a/src/Web/StellaOps.Web/scan-pages.mjs +++ b/src/Web/StellaOps.Web/scan-pages.mjs @@ -1,6 +1,11 @@ import { chromium } from 'playwright'; const BASE = 'http://127.1.0.5'; +const USERNAME = process.env.STELLAOPS_FRONTDOOR_USERNAME?.trim() + || process.env.STELLAOPS_ADMIN_USER?.trim() + || 'admin'; +const PASSWORD = process.env.STELLAOPS_FRONTDOOR_PASSWORD?.trim() + || process.env.STELLAOPS_ADMIN_PASS?.trim(); const routes = [ '/security', @@ -27,6 +32,10 @@ const routes = [ ]; (async () => { + if (!PASSWORD) { + throw new Error('Set STELLAOPS_FRONTDOOR_PASSWORD or STELLAOPS_ADMIN_PASS before running this script.'); + } + const browser = await chromium.launch({ headless: true }); const context = await browser.newContext({ ignoreHTTPSErrors: true }); const page = await context.newPage(); @@ -50,8 +59,8 @@ const routes = [ const usernameInput = page.locator('input[name="Username"], input[name="username"], input[type="text"]').first(); const passwordInput = page.locator('input[name="Password"], input[name="password"], input[type="password"]').first(); - await usernameInput.fill('admin', { timeout: 5000 }); - await passwordInput.fill('Admin@Stella2026!'); + await usernameInput.fill(USERNAME, { timeout: 5000 }); + await passwordInput.fill(PASSWORD); const loginBtn = page.locator('button[type="submit"], button:has-text("Log in"), button:has-text("Login"), button:has-text("Sign in")').first(); await loginBtn.click(); diff --git a/src/Web/StellaOps.Web/scripts/live-frontdoor-auth.mjs b/src/Web/StellaOps.Web/scripts/live-frontdoor-auth.mjs index 73342df2c..49f3863ee 100644 --- a/src/Web/StellaOps.Web/scripts/live-frontdoor-auth.mjs +++ b/src/Web/StellaOps.Web/scripts/live-frontdoor-auth.mjs @@ -12,12 +12,19 @@ const webRoot = path.resolve(__dirname, '..'); const outputDirectory = path.join(webRoot, 'output', 'playwright'); const DEFAULT_BASE_URL = process.env.STELLAOPS_FRONTDOOR_BASE_URL?.trim() || 'https://stella-ops.local'; -const DEFAULT_USERNAME = process.env.STELLAOPS_FRONTDOOR_USERNAME?.trim() || 'admin'; -const DEFAULT_PASSWORD_CANDIDATES = process.env.STELLAOPS_FRONTDOOR_PASSWORD?.trim() - ? [process.env.STELLAOPS_FRONTDOOR_PASSWORD.trim()] - : ['Admin@Stella2026!', 'Admin@Stella1']; +const DEFAULT_USERNAME = process.env.STELLAOPS_FRONTDOOR_USERNAME?.trim() + || process.env.STELLAOPS_ADMIN_USER?.trim() + || 'admin'; +const DEFAULT_PASSWORD = process.env.STELLAOPS_FRONTDOOR_PASSWORD?.trim() + || process.env.STELLAOPS_ADMIN_PASS?.trim(); const DEFAULT_STATE_PATH = path.join(outputDirectory, 'live-frontdoor-auth-state.json'); const DEFAULT_REPORT_PATH = path.join(outputDirectory, 'live-frontdoor-auth-report.json'); +const DEFAULT_FAILURE_SCREENSHOT_PATH = path.join(outputDirectory, 'live-frontdoor-auth-failure.png'); + +function isAuthorityNavigationUrl(url) { + return typeof url === 'string' + && (url.includes('/connect/authorize') || url.includes('/auth/callback')); +} function createLocator(page, selectors) { return page.locator(selectors.join(', ')).first(); @@ -63,7 +70,7 @@ async function waitForShell(page) { async function waitForAuthTransition(page, usernameField, passwordField, timeoutMs = 10_000) { await Promise.race([ - page.waitForURL((url) => url.toString().includes('/connect/authorize') || url.toString().includes('/auth/callback'), { + page.waitForURL((url) => isAuthorityNavigationUrl(url.toString()), { timeout: timeoutMs, }).catch(() => {}), usernameField.waitFor({ state: 'visible', timeout: timeoutMs }).catch(() => {}), @@ -89,29 +96,145 @@ async function hasBrowserSession(page) { ).catch(() => false); } +async function waitForAuthenticationSurface(page, usernameField, passwordField, timeoutMs = 15_000) { + await Promise.race([ + page.waitForURL((url) => isAuthorityNavigationUrl(url.toString()), { + timeout: timeoutMs, + }).catch(() => {}), + usernameField.waitFor({ state: 'visible', timeout: timeoutMs }).catch(() => {}), + passwordField.waitFor({ state: 'visible', timeout: timeoutMs }).catch(() => {}), + page.waitForFunction( + () => + Boolean(sessionStorage.getItem('stellaops.auth.session.full')) + || Boolean(localStorage.getItem('stellaops.auth.session.info')) + || Boolean(localStorage.getItem('stellaops.auth.session.full')) + || Boolean(localStorage.getItem('stellaops.auth.session.info')), + null, + { + timeout: timeoutMs, + }, + ).catch(() => {}), + page.waitForTimeout(timeoutMs), + ]); +} + +async function waitForSignInTriggerOrAuthenticationSurface(page, signInTrigger, usernameField, passwordField, timeoutMs = 15_000) { + await Promise.race([ + waitForAuthenticationSurface(page, usernameField, passwordField, timeoutMs), + signInTrigger.waitFor({ state: 'visible', timeout: timeoutMs }).catch(() => {}), + page.waitForTimeout(timeoutMs), + ]); +} + async function ensureAuthorityLoginReachable(page, baseUrl, signInTrigger, usernameField, passwordField) { const hasLoginForm = async () => (await usernameField.count()) > 0 && (await passwordField.count()) > 0; - if (page.url().includes('/connect/authorize') || await hasLoginForm()) { + const hasAuthenticationSurface = async () => + isAuthorityNavigationUrl(page.url()) + || await hasLoginForm() + || await hasBrowserSession(page); + + if (await hasAuthenticationSurface()) { + return; + } + + await waitForSignInTriggerOrAuthenticationSurface(page, signInTrigger, usernameField, passwordField, 12_000); + + if (await hasAuthenticationSurface()) { return; } const clicked = await clickIfVisible(signInTrigger, 10_000); if (clicked) { - await waitForAuthTransition(page, usernameField, passwordField, 10_000); + await waitForAuthenticationSurface(page, usernameField, passwordField, 15_000); } - if (page.url().includes('/connect/authorize') || await hasLoginForm()) { + if (await hasAuthenticationSurface()) { return; } - await page.goto(`${baseUrl}/connect/authorize`, { + // The live frontdoor starts auth by redirecting from /welcome with OIDC parameters. + // Navigating to /connect/authorize directly produces an invalid_request page with no form. + await page.goto(`${baseUrl}/welcome`, { waitUntil: 'domcontentloaded', timeout: 30_000, }).catch(() => {}); - await waitForAuthTransition(page, usernameField, passwordField, 10_000); + + await waitForSignInTriggerOrAuthenticationSurface(page, signInTrigger, usernameField, passwordField, 15_000); + + if (await hasAuthenticationSurface()) { + return; + } + + const welcomeClicked = await clickIfVisible(signInTrigger, 10_000); + if (welcomeClicked) { + await waitForAuthenticationSurface(page, usernameField, passwordField, 15_000); + } +} + +async function collectReportData(page, context, events, statePath, options = {}) { + const screenshotPath = options.screenshotPath ?? null; + const storage = page + ? await page.evaluate(() => ({ + localStorageEntries: [...Array(localStorage.length)] + .map((_, index) => localStorage.key(index)) + .filter(Boolean) + .map((key) => [key, localStorage.getItem(key)]), + sessionStorageEntries: [...Array(sessionStorage.length)] + .map((_, index) => sessionStorage.key(index)) + .filter(Boolean) + .map((key) => [key, sessionStorage.getItem(key)]), + })).catch(() => ({ + localStorageEntries: [], + sessionStorageEntries: [], + })) + : { + localStorageEntries: [], + sessionStorageEntries: [], + }; + + const sessionStatus = page + ? await page.evaluate(() => ({ + hasFullSession: + Boolean(sessionStorage.getItem('stellaops.auth.session.full')) + || Boolean(localStorage.getItem('stellaops.auth.session.full')), + hasSessionInfo: + Boolean(sessionStorage.getItem('stellaops.auth.session.info')) + || Boolean(localStorage.getItem('stellaops.auth.session.info')), + })).catch(() => ({ + hasFullSession: false, + hasSessionInfo: false, + })) + : { + hasFullSession: false, + hasSessionInfo: false, + }; + + return { + authenticatedAtUtc: new Date().toISOString(), + authenticated: options.authenticated ?? sessionStatus.hasFullSession, + error: options.error ?? null, + baseUrl: options.baseUrl, + finalUrl: page?.url?.() ?? options.baseUrl, + title: page ? await page.title().catch(() => null) : null, + bodyText: page ? await page.locator('body').innerText().catch(() => null) : null, + cookies: context + ? (await context.cookies().catch(() => [])).map((cookie) => ({ + name: cookie.name, + domain: cookie.domain, + path: cookie.path, + secure: cookie.secure, + sameSite: cookie.sameSite, + })) + : [], + storage, + sessionStatus, + events, + statePath, + screenshotPath, + }; } export async function authenticateFrontdoor(options = {}) { @@ -121,21 +244,23 @@ export async function authenticateFrontdoor(options = {}) { ? options.passwordCandidates.map((value) => String(value ?? '').trim()).filter(Boolean) : options.password?.trim() ? [options.password.trim()] - : DEFAULT_PASSWORD_CANDIDATES; + : DEFAULT_PASSWORD + ? [DEFAULT_PASSWORD] + : []; const statePath = options.statePath || DEFAULT_STATE_PATH; const reportPath = options.reportPath || DEFAULT_REPORT_PATH; const headless = options.headless ?? true; + if (passwordCandidates.length === 0) { + throw new Error('Set STELLAOPS_FRONTDOOR_PASSWORD or STELLAOPS_ADMIN_PASS before authenticating against a live frontdoor.'); + } + mkdirSync(path.dirname(statePath), { recursive: true }); mkdirSync(path.dirname(reportPath), { recursive: true }); - const browser = await chromium.launch({ - headless, - args: ['--disable-dev-shm-usage'], - }); - - const context = await browser.newContext({ ignoreHTTPSErrors: true }); - const page = await context.newPage(); + let browser; + let context; + let page; const events = { consoleErrors: [], @@ -143,176 +268,187 @@ export async function authenticateFrontdoor(options = {}) { responseErrors: [], }; - page.on('console', (message) => { - if (message.type() === 'error') { - events.consoleErrors.push(message.text()); - } - }); - - page.on('requestfailed', (request) => { - const url = request.url(); - if (/\.(?:css|js|map|png|jpg|jpeg|svg|woff2?)(?:$|\?)/i.test(url)) { - return; - } - - events.requestFailures.push({ - method: request.method(), - url, - error: request.failure()?.errorText ?? 'unknown', - page: page.url(), + try { + browser = await chromium.launch({ + headless, + // Local browser automation must tolerate dev/self-signed certificates. + // Product runtime source sync remains strict about TLS validation. + args: ['--disable-dev-shm-usage', '--ignore-certificate-errors'], }); - }); - page.on('response', (response) => { - const url = response.url(); - if (/\.(?:css|js|map|png|jpg|jpeg|svg|woff2?)(?:$|\?)/i.test(url)) { - return; - } + context = await browser.newContext({ ignoreHTTPSErrors: true }); + page = await context.newPage(); - if (response.status() >= 400) { - events.responseErrors.push({ - status: response.status(), - method: response.request().method(), + page.on('console', (message) => { + if (message.type() === 'error') { + events.consoleErrors.push(message.text()); + } + }); + + page.on('requestfailed', (request) => { + const url = request.url(); + if (/\.(?:css|js|map|png|jpg|jpeg|svg|woff2?)(?:$|\?)/i.test(url)) { + return; + } + + events.requestFailures.push({ + method: request.method(), url, + error: request.failure()?.errorText ?? 'unknown', page: page.url(), }); - } - }); + }); - await page.goto(`${baseUrl}/welcome`, { - waitUntil: 'domcontentloaded', - timeout: 30_000, - }); - await page.waitForTimeout(1_500); + page.on('response', (response) => { + const url = response.url(); + if (/\.(?:css|js|map|png|jpg|jpeg|svg|woff2?)(?:$|\?)/i.test(url)) { + return; + } - const signInTrigger = createLocator(page, [ - 'button:has-text("Sign In")', - 'button:has-text("Sign in")', - 'a:has-text("Sign In")', - 'a:has-text("Sign in")', - 'button.cta', - ]); + if (response.status() >= 400) { + events.responseErrors.push({ + status: response.status(), + method: response.request().method(), + url, + page: page.url(), + }); + } + }); - const usernameField = createLocator(page, [ - 'input[name="username"]', - 'input[name="Username"]', - 'input[type="text"]', - 'input[type="email"]', - ]); - const passwordField = createLocator(page, [ - 'input[name="password"]', - 'input[name="Password"]', - 'input[type="password"]', - ]); + await page.goto(`${baseUrl}/welcome`, { + waitUntil: 'domcontentloaded', + timeout: 30_000, + }); - await ensureAuthorityLoginReachable(page, baseUrl, signInTrigger, usernameField, passwordField); - - const hasLoginForm = (await usernameField.count()) > 0 && (await passwordField.count()) > 0; - if (page.url().includes('/connect/authorize') || hasLoginForm) { - await Promise.all([ - usernameField.waitFor({ state: 'visible', timeout: 10_000 }).catch(() => {}), - passwordField.waitFor({ state: 'visible', timeout: 10_000 }).catch(() => {}), - ]); - - const filledUser = await fillIfVisible(usernameField, username); - if (!filledUser) { - throw new Error(`Authority login form was reached at ${page.url()} but the credentials fields were not interactable.`); - } - - const submitButton = createLocator(page, [ - 'button[type="submit"]', + const signInTrigger = createLocator(page, [ 'button:has-text("Sign In")', 'button:has-text("Sign in")', - 'button:has-text("Log in")', - 'button:has-text("Login")', + 'a:has-text("Sign In")', + 'a:has-text("Sign in")', + 'button.cta', ]); - let authenticated = false; - for (const candidate of passwordCandidates) { - const filledPassword = await fillIfVisible(passwordField, candidate); - if (!filledPassword) { - throw new Error(`Authority login form was reached at ${page.url()} but the password field was not interactable.`); - } + const usernameField = createLocator(page, [ + 'form input[name="username"]', + 'form input[name="Username"]', + 'input[name="username"]', + 'input[name="Username"]', + 'input[type="text"]', + 'input[type="email"]', + ]); + const passwordField = createLocator(page, [ + 'form input[name="password"]', + 'form input[name="Password"]', + 'input[name="password"]', + 'input[name="Password"]', + 'input[type="password"]', + ]); - await submitButton.click({ timeout: 10_000 }); + await ensureAuthorityLoginReachable(page, baseUrl, signInTrigger, usernameField, passwordField); + await waitForAuthenticationSurface(page, usernameField, passwordField, 15_000); - await Promise.race([ - page.waitForURL( - (url) => !url.toString().includes('/connect/authorize') && !url.toString().includes('/auth/callback'), - { timeout: 30_000 }, - ).catch(() => {}), - page.waitForFunction( - () => - Boolean(sessionStorage.getItem('stellaops.auth.session.full')) - || Boolean(localStorage.getItem('stellaops.auth.session.full')), - null, - { - timeout: 30_000, - }, - ).catch(() => {}), + const hasLoginForm = (await usernameField.count()) > 0 && (await passwordField.count()) > 0; + if (isAuthorityNavigationUrl(page.url()) || hasLoginForm) { + await Promise.all([ + usernameField.waitFor({ state: 'visible', timeout: 10_000 }).catch(() => {}), + passwordField.waitFor({ state: 'visible', timeout: 10_000 }).catch(() => {}), ]); - authenticated = await hasBrowserSession(page); - if (authenticated) { - break; + const filledUser = await fillIfVisible(usernameField, username); + if (!filledUser) { + throw new Error(`Authority login form was reached at ${page.url()} but the credentials fields were not interactable.`); } - if (!page.url().includes('/connect/authorize')) { - break; + const submitButton = createLocator(page, [ + 'form button[type="submit"]', + 'button[type="submit"]', + 'button:has-text("Sign In")', + 'button:has-text("Sign in")', + 'button:has-text("Log in")', + 'button:has-text("Login")', + ]); + + let authenticated = false; + for (const candidate of passwordCandidates) { + const filledPassword = await fillIfVisible(passwordField, candidate); + if (!filledPassword) { + throw new Error(`Authority login form was reached at ${page.url()} but the password field was not interactable.`); + } + + await submitButton.click({ timeout: 10_000 }); + + await Promise.race([ + page.waitForURL( + (url) => !isAuthorityNavigationUrl(url.toString()), + { timeout: 30_000 }, + ).catch(() => {}), + page.waitForFunction( + () => + Boolean(sessionStorage.getItem('stellaops.auth.session.full')) + || Boolean(localStorage.getItem('stellaops.auth.session.full')), + null, + { + timeout: 30_000, + }, + ).catch(() => {}), + ]); + + authenticated = await hasBrowserSession(page); + if (authenticated) { + break; + } + + if (!isAuthorityNavigationUrl(page.url())) { + break; + } } } + + await waitForShell(page); + await page.waitForTimeout(2_500); + + const sessionStatus = await page.evaluate(() => ({ + hasFullSession: + Boolean(sessionStorage.getItem('stellaops.auth.session.full')) + || Boolean(localStorage.getItem('stellaops.auth.session.full')), + hasSessionInfo: + Boolean(sessionStorage.getItem('stellaops.auth.session.info')) + || Boolean(localStorage.getItem('stellaops.auth.session.info')), + })); + const signInStillVisible = await signInTrigger.isVisible().catch(() => false); + if (!sessionStatus.hasFullSession) { + throw new Error( + `Frontdoor authentication did not establish a Stella Ops session. finalUrl=${page.url()} signInVisible=${signInStillVisible}`, + ); + } + + await context.storageState({ path: statePath }); + + const report = await collectReportData(page, context, events, statePath, { + authenticated: true, + baseUrl, + }); + + writeFileSync(reportPath, `${JSON.stringify(report, null, 2)}\n`, 'utf8'); + return report; + } catch (error) { + const screenshotPath = page ? DEFAULT_FAILURE_SCREENSHOT_PATH : null; + if (page && screenshotPath) { + await page.screenshot({ path: screenshotPath, fullPage: true }).catch(() => {}); + } + + const failureReport = await collectReportData(page, context, events, statePath, { + authenticated: false, + baseUrl, + error: error instanceof Error ? error.message : String(error), + screenshotPath, + }); + + writeFileSync(reportPath, `${JSON.stringify(failureReport, null, 2)}\n`, 'utf8'); + throw error; + } finally { + await browser?.close().catch(() => {}); } - - await waitForShell(page); - await page.waitForTimeout(2_500); - - const sessionStatus = await page.evaluate(() => ({ - hasFullSession: - Boolean(sessionStorage.getItem('stellaops.auth.session.full')) - || Boolean(localStorage.getItem('stellaops.auth.session.full')), - hasSessionInfo: - Boolean(sessionStorage.getItem('stellaops.auth.session.info')) - || Boolean(localStorage.getItem('stellaops.auth.session.info')), - })); - const signInStillVisible = await signInTrigger.isVisible().catch(() => false); - if (!sessionStatus.hasFullSession || (!page.url().includes('/connect/authorize') && signInStillVisible)) { - throw new Error( - `Frontdoor authentication did not establish a Stella Ops session. finalUrl=${page.url()} signInVisible=${signInStillVisible}`, - ); - } - - await context.storageState({ path: statePath }); - - const report = { - authenticatedAtUtc: new Date().toISOString(), - baseUrl, - finalUrl: page.url(), - title: await page.title(), - cookies: (await context.cookies()).map((cookie) => ({ - name: cookie.name, - domain: cookie.domain, - path: cookie.path, - secure: cookie.secure, - sameSite: cookie.sameSite, - })), - storage: await page.evaluate(() => ({ - localStorageEntries: [...Array(localStorage.length)] - .map((_, index) => localStorage.key(index)) - .filter(Boolean) - .map((key) => [key, localStorage.getItem(key)]), - sessionStorageEntries: [...Array(sessionStorage.length)] - .map((_, index) => sessionStorage.key(index)) - .filter(Boolean) - .map((key) => [key, sessionStorage.getItem(key)]), - })), - events, - statePath, - }; - - writeFileSync(reportPath, `${JSON.stringify(report, null, 2)}\n`, 'utf8'); - await browser.close(); - - return report; } export function getSessionStorageEntries(authReport) { diff --git a/src/Web/StellaOps.Web/src/app/core/api/policy-governance.client.ts b/src/Web/StellaOps.Web/src/app/core/api/policy-governance.client.ts index 7f50929bc..d798b0768 100644 --- a/src/Web/StellaOps.Web/src/app/core/api/policy-governance.client.ts +++ b/src/Web/StellaOps.Web/src/app/core/api/policy-governance.client.ts @@ -280,7 +280,7 @@ const MOCK_AUDIT_EVENTS: GovernanceAuditEvent[] = [ newState: { weight: 1.5 }, diff: { added: {}, removed: {}, modified: { weight: { before: 1.2, after: 1.5 } } }, traceId: 'trace-audit-001', - tenantId: 'demo-prod', + tenantId: 'default', }, { id: 'audit-002', @@ -292,7 +292,7 @@ const MOCK_AUDIT_EVENTS: GovernanceAuditEvent[] = [ targetResourceType: 'risk_profile', summary: 'Activated Strict Security Profile v1.1.0', traceId: 'trace-audit-002', - tenantId: 'demo-prod', + tenantId: 'default', }, { id: 'audit-003', @@ -306,7 +306,7 @@ const MOCK_AUDIT_EVENTS: GovernanceAuditEvent[] = [ previousState: { isSealed: false }, newState: { isSealed: true, reason: 'Air-gap deployment preparation' }, traceId: 'trace-audit-003', - tenantId: 'demo-prod', + tenantId: 'default', }, ]; @@ -1178,4 +1178,3 @@ export class HttpPolicyGovernanceApi implements PolicyGovernanceApi { } } - diff --git a/src/Web/StellaOps.Web/src/app/core/testing/dashboard-v3.component.spec.ts b/src/Web/StellaOps.Web/src/app/core/testing/dashboard-v3.component.spec.ts index b3f714f07..28ca316a4 100644 --- a/src/Web/StellaOps.Web/src/app/core/testing/dashboard-v3.component.spec.ts +++ b/src/Web/StellaOps.Web/src/app/core/testing/dashboard-v3.component.spec.ts @@ -254,4 +254,37 @@ describe('DashboardV3Component', () => { ), ).toBeTrue(); }); + + it('renders recommended next steps inside the dismissible dashboard banner', () => { + const contextStore = { + initialize: () => undefined, + initialized: () => true, + error: () => null, + tenantId: () => 'tenant-default', + selectedRegions: () => [], + selectedEnvironments: () => [], + contextVersion: () => 0, + environments: () => [ + { + environmentId: 'dev', + regionId: 'eu-west', + environmentType: 'development', + displayName: 'Development EU West', + }, + ], + }; + + TestBed.configureTestingModule({ + imports: [DashboardV3Component], + providers: provideDashboardDependencies(contextStore), + }); + + const fixture = TestBed.createComponent(DashboardV3Component); + fixture.detectChanges(); + + const host = fixture.nativeElement as HTMLElement; + expect(host.querySelector('.dashboard-next-steps')).toBeNull(); + expect(host.querySelector('.dashboard-banner__next-steps')).not.toBeNull(); + expect(host.textContent).toContain('What should I do next?'); + }); }); diff --git a/src/Web/StellaOps.Web/src/app/features/audit-log/audit-log-table.component.spec.ts b/src/Web/StellaOps.Web/src/app/features/audit-log/audit-log-table.component.spec.ts index eccc1ba49..679303bdb 100644 --- a/src/Web/StellaOps.Web/src/app/features/audit-log/audit-log-table.component.spec.ts +++ b/src/Web/StellaOps.Web/src/app/features/audit-log/audit-log-table.component.spec.ts @@ -4,7 +4,7 @@ */ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { RouterModule } from '@angular/router'; +import { ActivatedRoute, RouterModule, convertToParamMap } from '@angular/router'; import { of } from 'rxjs'; import { AuditLogTableComponent } from './audit-log-table.component'; import { AuditLogClient } from '../../core/api/audit-log.client'; @@ -27,7 +27,17 @@ describe('AuditLogTableComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ imports: [AuditLogTableComponent, RouterModule.forRoot([])], - providers: [{ provide: AuditLogClient, useValue: mockClient }], + providers: [ + { provide: AuditLogClient, useValue: mockClient }, + { + provide: ActivatedRoute, + useValue: { + snapshot: { + queryParamMap: convertToParamMap({}), + }, + }, + }, + ], }).compileComponents(); fixture = TestBed.createComponent(AuditLogTableComponent); @@ -101,4 +111,31 @@ describe('AuditLogTableComponent', () => { expect(component.formatModule('authority')).toBe('Authority'); expect(component.formatModule('jobengine')).toBe('JobEngine'); }); + + it('adds an integration resource filter pill when the audit view is scoped to a single integration', () => { + component.selectedModule = 'integrations'; + component.selectedResourceType = 'integration'; + component.selectedResourceId = 'int-1'; + component.selectedResourceName = 'Harbor Registry'; + + expect(component.buildFilters()).toEqual( + jasmine.objectContaining({ + modules: ['integrations'], + resourceType: 'integration', + resourceId: 'int-1', + }), + ); + + component['rebuildPills'](); + + expect(component.activeFilterPills()).toEqual( + jasmine.arrayContaining([ + jasmine.objectContaining({ + key: 'resource', + value: 'int-1', + label: 'Integration: Harbor Registry', + }), + ]), + ); + }); }); diff --git a/src/Web/StellaOps.Web/src/app/features/audit-log/audit-log-table.component.ts b/src/Web/StellaOps.Web/src/app/features/audit-log/audit-log-table.component.ts index 93a1a54b5..8742284ce 100644 --- a/src/Web/StellaOps.Web/src/app/features/audit-log/audit-log-table.component.ts +++ b/src/Web/StellaOps.Web/src/app/features/audit-log/audit-log-table.component.ts @@ -19,6 +19,12 @@ import { FilterBarComponent, type FilterOption, type ActiveFilter } from '../../ Audit Log / All Events

Audit Events

+ @if (selectedResourceId) { +

+ Scoped to {{ resourceScopeLabel() }} + {{ selectedResourceName || selectedResourceId }} +

+ } ([]); ngOnInit(): void { - const moduleParam = this.route.snapshot.queryParamMap.get('module'); + const queryParams = this.route.snapshot.queryParamMap; + const moduleParam = queryParams.get('module'); if (moduleParam && this.allModules.includes(moduleParam as AuditModule)) { this.selectedModule = moduleParam; - this.rebuildPills(); } + this.selectedAction = queryParams.get('action') ?? ''; + this.selectedSeverity = queryParams.get('severity') ?? ''; + this.searchQuery = queryParams.get('search') ?? ''; + this.selectedResourceType = queryParams.get('resourceType') ?? ''; + this.selectedResourceId = queryParams.get('resourceId') ?? ''; + this.selectedResourceName = queryParams.get('resourceName') ?? ''; + this.rebuildPills(); this.loadEvents(); } @@ -512,6 +538,10 @@ export class AuditLogTableComponent implements OnInit { const prop = map[filter.key]; if (prop) { (this as any)[prop] = filter.key === 'dateRange' ? '7d' : ''; + } else if (filter.key === 'resource') { + this.selectedResourceType = ''; + this.selectedResourceId = ''; + this.selectedResourceName = ''; } this.rebuildPills(); this.applyFilters(); @@ -538,6 +568,8 @@ export class AuditLogTableComponent implements OnInit { if (this.selectedAction) filters.actions = [this.selectedAction as AuditAction]; if (this.selectedSeverity) filters.severities = [this.selectedSeverity as AuditSeverity]; if (this.searchQuery) filters.search = this.searchQuery; + if (this.selectedResourceType) filters.resourceType = this.selectedResourceType; + if (this.selectedResourceId) filters.resourceId = this.selectedResourceId; const now = new Date(); if (this.dateRange === '24h') { @@ -566,10 +598,25 @@ export class AuditLogTableComponent implements OnInit { this.selectedSeverity = ''; this.dateRange = '7d'; this.searchQuery = ''; + this.selectedResourceType = ''; + this.selectedResourceId = ''; + this.selectedResourceName = ''; this.activeFilterPills.set([]); this.applyFilters(); } + resourceScopeLabel(): string { + if (!this.selectedResourceType) { + return 'resource'; + } + + if (this.selectedResourceType === 'integration') { + return 'integration'; + } + + return this.selectedResourceType.replace(/[-_]+/g, ' ').toLowerCase(); + } + private rebuildPills(): void { const pills: ActiveFilter[] = []; const defs = [ @@ -585,6 +632,18 @@ export class AuditLogTableComponent implements OnInit { pills.push({ key: def.key, value: val, label: def.label + ': ' + (opt?.label || val) }); } } + if (this.selectedResourceId) { + const resourceTypeLabel = this.selectedResourceType + ? `${this.resourceScopeLabel().replace(/\b\w/g, (match) => match.toUpperCase())}: ` + : ''; + pills.push({ + key: 'resource', + value: this.selectedResourceId, + label: this.selectedResourceName + ? `${resourceTypeLabel}${this.selectedResourceName}` + : `${resourceTypeLabel}${this.selectedResourceId}`, + }); + } this.activeFilterPills.set(pills); } diff --git a/src/Web/StellaOps.Web/src/app/features/dashboard-v3/dashboard-v3.component.ts b/src/Web/StellaOps.Web/src/app/features/dashboard-v3/dashboard-v3.component.ts index e651aea12..fb39f0ecf 100644 --- a/src/Web/StellaOps.Web/src/app/features/dashboard-v3/dashboard-v3.component.ts +++ b/src/Web/StellaOps.Web/src/app/features/dashboard-v3/dashboard-v3.component.ts @@ -132,6 +132,20 @@ interface DashboardGuideAction {
  • Medium Moderate risk. Address in planned sprint work.
  • Low Track and fix when it is cost-effective.
  • + @if (recommendedDashboardActions().length > 0 && !hasNoEnvironments()) { +
    + What should I do next? +

    These suggestions are based on the current state of your environments, feeds, and findings.

    +
    + @for (step of recommendedDashboardActions(); track step.id) { + + {{ step.title }} + {{ step.description }} + + } +
    +
    + }