@cloudhal/cli 0.3.10 → 0.3.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/starters/blog/README.md +1 -1
- package/dist/assets/starters/blog/package.json +4 -4
- package/dist/assets/starters/blog/src/components/EntryList.astro +1 -1
- package/dist/assets/starters/blog/src/pages/[...path].astro +6 -2
- package/dist/assets/starters/blog/src/theme.ts +3 -2
- package/dist/assets/studio/assets/{AccountPage-C_F6GEbp.js → AccountPage-DhdHmvOg.js} +2 -2
- package/dist/assets/studio/assets/{ActivityPage-CAKmV0_b.js → ActivityPage-CjbJHI95.js} +2 -2
- package/dist/assets/studio/assets/{AgentModes-D8HMrK7G.js → AgentModes-QhxdiMYV.js} +2 -2
- package/dist/assets/studio/assets/AgentsPage-B-czVWlA.js +2 -0
- package/dist/assets/studio/assets/AnalyticsPage-CjGEPEPx.js +3 -0
- package/dist/assets/studio/assets/{ApprovalDialog-Dv9mtEvX.js → ApprovalDialog-DHKo0y6u.js} +2 -2
- package/dist/assets/studio/assets/{ApprovalsPage-BaCTOLgB.js → ApprovalsPage-DpH3gVFr.js} +3 -3
- package/dist/assets/studio/assets/ArticleEditorPage-B6i-ohJH.js +2 -0
- package/dist/assets/studio/assets/ArticlesPage-CL-4O3zB.js +2 -0
- package/dist/assets/studio/assets/{AssetPage-CQa3FSgH.js → AssetPage-C95V1y8t.js} +2 -2
- package/dist/assets/studio/assets/{Audit-BsehRESJ.js → Audit-Qsn-EQ3C.js} +2 -2
- package/dist/assets/studio/assets/{AuditBadges-Bd8EnwON.js → AuditBadges-CPDfmk_z.js} +2 -2
- package/dist/assets/studio/assets/{AuthLayout-BNLNRRmt.js → AuthLayout-wpvclpda.js} +2 -2
- package/dist/assets/studio/assets/{AutomationsPage-C1rjUwWk.js → AutomationsPage-PQAJefmU.js} +2 -2
- package/dist/assets/studio/assets/{BlockSection-dqMQjKxw.js → BlockSection-Dz_7O4BN.js} +2 -2
- package/dist/assets/studio/assets/{BodyChanges-DOaqosb8.js → BodyChanges-2lB47SO5.js} +2 -2
- package/dist/assets/studio/assets/{BuildPage-DEOfRzA9.js → BuildPage-CySzzTQW.js} +2 -2
- package/dist/assets/studio/assets/{CommandMenu-D9MNc-Wo.js → CommandMenu-CB2kq5oc.js} +2 -2
- package/dist/assets/studio/assets/{CommentThreadControls-DpKsd1i6.js → CommentThreadControls-CVB-n4D_.js} +2 -2
- package/dist/assets/studio/assets/CommentThreadPage-DZHFTxT4.js +2 -0
- package/dist/assets/studio/assets/{CommenterPage-DyUS-J5W.js → CommenterPage-7Sd7_lXK.js} +2 -2
- package/dist/assets/studio/assets/{Comments-BRP_6oQ6.js → Comments-BXWLWhKk.js} +2 -2
- package/dist/assets/studio/assets/{CommentsPage-C4uR0zDd.js → CommentsPage-BX1NccsN.js} +2 -2
- package/dist/assets/studio/assets/{ConfirmDialog-DTOOI7kj.js → ConfirmDialog-DCuw5jgs.js} +2 -2
- package/dist/assets/studio/assets/{Crumbs-BVqhFD_U.js → Crumbs-CJ6UlbPv.js} +2 -2
- package/dist/assets/studio/assets/{EditorLayout-GefNJMG2.js → EditorLayout-FlmsPOxF.js} +2 -2
- package/dist/assets/studio/assets/{EditorPreview-BuGAQX3g.js → EditorPreview-CA6-0wUw.js} +2 -2
- package/dist/assets/studio/assets/{Elevation-ahkqnCOT.js → Elevation-BrgkbjjJ.js} +2 -2
- package/dist/assets/studio/assets/{ElevationRequest-DbaZPpTy.js → ElevationRequest-DXg8u-DR.js} +2 -2
- package/dist/assets/studio/assets/EntryPath-CkymIfuw.js +2 -0
- package/dist/assets/studio/assets/{ForgotPasswordPage-ECAplOgO.js → ForgotPasswordPage-DwB7XyB2.js} +2 -2
- package/dist/assets/studio/assets/{Gating-BGO4D_AP.js → Gating-0HRGz-rR.js} +2 -2
- package/dist/assets/studio/assets/GovernanceDialog-DUYzDR09.js +2 -0
- package/dist/assets/studio/assets/{InvitePage-CciurSHj.js → InvitePage-DE6bIpV3.js} +2 -2
- package/dist/assets/studio/assets/{ListToolbar-DPtPcPWp.js → ListToolbar-BG__bomj.js} +2 -2
- package/dist/assets/studio/assets/{LoginPage-BKdmHe8_.js → LoginPage-DNfzz9zT.js} +2 -2
- package/dist/assets/studio/assets/{MediaPage-Bx_Q3p5Z.js → MediaPage-CYmEY5cn.js} +2 -2
- package/dist/assets/studio/assets/{MediaPicker-BHakhuPF.js → MediaPicker-C9vXkzHW.js} +2 -2
- package/dist/assets/studio/assets/{MediaUpload-Cjwe01QK.js → MediaUpload-BVeC5zW0.js} +2 -2
- package/dist/assets/studio/assets/MembersPage-DPlqxnNE.js +2 -0
- package/dist/assets/studio/assets/Menus-LJoFj5RT.js +2 -0
- package/dist/assets/studio/assets/{NavigationPage-3JIfd_2C.js → NavigationPage-C_3mnXYX.js} +2 -2
- package/dist/assets/studio/assets/{NewSiteDialog-DES6p9cW.js → NewSiteDialog-DSy8gRik.js} +2 -2
- package/dist/assets/studio/assets/{PageEditorPage-BiskVdPq.js → PageEditorPage-BcVleR3m.js} +2 -2
- package/dist/assets/studio/assets/{PagesPage-YrYME9pn.js → PagesPage-DBYQBTbf.js} +2 -2
- package/dist/assets/studio/assets/{PasswordField-BaDn4bwQ.js → PasswordField-CmuKqecN.js} +2 -2
- package/dist/assets/studio/assets/{PreviewPanel-CYgpgHYL.js → PreviewPanel-BGtfUafo.js} +2 -2
- package/dist/assets/studio/assets/{ProjectPage-B8YTPbZu.js → ProjectPage-fFSVFBu7.js} +2 -2
- package/dist/assets/studio/assets/{Readers-PSJxQtDw.js → Readers-BXiEXx2Q.js} +3 -3
- package/dist/assets/studio/assets/RedirectDialog-Bjj_Yc96.js +2 -0
- package/dist/assets/studio/assets/RedirectsPage-CHcqSOyu.js +2 -0
- package/dist/assets/studio/assets/{ReleaseApproval-DUUheBUr.js → ReleaseApproval-BIjYTn-g.js} +2 -2
- package/dist/assets/studio/assets/{ReleasePage-DU_sEnGb.js → ReleasePage-CxToLp34.js} +2 -2
- package/dist/assets/studio/assets/{ReleaseParts-blYiBCFL.js → ReleaseParts-B_Uljbxy.js} +2 -2
- package/dist/assets/studio/assets/{ResetPasswordPage-CxIo4Yvk.js → ResetPasswordPage-BmP2ALzo.js} +2 -2
- package/dist/assets/studio/assets/{RowMenu-CvzLtDk6.js → RowMenu-24gQZese.js} +2 -2
- package/dist/assets/studio/assets/{ScheduleCard-BNM_ecEJ.js → ScheduleCard-Chuz3OOY.js} +2 -2
- package/dist/assets/studio/assets/ScheduleDialog-Dh8bLDpe.js +2 -0
- package/dist/assets/studio/assets/{ScheduleHistoryPage-B_79RLNY.js → ScheduleHistoryPage-CS6Epz5q.js} +2 -2
- package/dist/assets/studio/assets/{ScheduleStatusBadge-CgZ65nzd.js → ScheduleStatusBadge-B4BPQAx4.js} +2 -2
- package/dist/assets/studio/assets/{SchedulerStalled-C8C91Ds8.js → SchedulerStalled-nDxONkWM.js} +2 -2
- package/dist/assets/studio/assets/{Schedules-xnhmCXba.js → Schedules-Dpu78aTu.js} +2 -2
- package/dist/assets/studio/assets/{SchedulesPage-KA7TSNlR.js → SchedulesPage-a0OcBtxY.js} +2 -2
- package/dist/assets/studio/assets/{ScopeBadge-C_XnkWYq.js → ScopeBadge-BNM9FT-5.js} +2 -2
- package/dist/assets/studio/assets/{SectionCard-GPZWTzbx.js → SectionCard-BxLoZOcp.js} +2 -2
- package/dist/assets/studio/assets/Seo-ytU9solr.js +2 -0
- package/dist/assets/studio/assets/SeoPreview-yfqYstu_.js +2 -0
- package/dist/assets/studio/assets/{Settings-BeAGyeQI.js → Settings-m8Ai9oIJ.js} +2 -2
- package/dist/assets/studio/assets/{SiteAccessField-C0J26Q-t.js → SiteAccessField-Dt_TYknY.js} +2 -2
- package/dist/assets/studio/assets/{SiteOverviewPage-CDnjXcd6.js → SiteOverviewPage-C-fICOMI.js} +3 -3
- package/dist/assets/studio/assets/SiteSettingsPage-B38ObhQp.js +3 -0
- package/dist/assets/studio/assets/{SitesPage-DSpx69dn.js → SitesPage-BeZp4ZWP.js} +2 -2
- package/dist/assets/studio/assets/{SkillsPage-DF4xGVkJ.js → SkillsPage-HCITPWLC.js} +2 -2
- package/dist/assets/studio/assets/SnapshotsPage-Bz6q1NZG.js +2 -0
- package/dist/assets/studio/assets/{Status-B6jbm_Zq.js → Status-Bj8AxXIX.js} +2 -2
- package/dist/assets/studio/assets/{StatusActions-DgRInkQb.js → StatusActions-B7qbr17X.js} +3 -3
- package/dist/assets/studio/assets/{TagsMigration-DYR-VkVc.js → TagsMigration-DWLg_J-t.js} +2 -2
- package/dist/assets/studio/assets/Taxonomy-CVwYZsH4.js +2 -0
- package/dist/assets/studio/assets/{TaxonomyPage-BYCM2_2l.js → TaxonomyPage-Bl9v3mnU.js} +2 -2
- package/dist/assets/studio/assets/{TermEditorPage-C8NQHobp.js → TermEditorPage-0g_PGShy.js} +2 -2
- package/dist/assets/studio/assets/{TermPickers-a6Ed0J4R.js → TermPickers-BI3nNBmj.js} +2 -2
- package/dist/assets/studio/assets/{Toast-DYiK3WzC.js → Toast-CXAk8wMq.js} +2 -2
- package/dist/assets/studio/assets/{TranslationList-D6YA7Vjr.js → TranslationList-hfg5iYSt.js} +2 -2
- package/dist/assets/studio/assets/{TranslationsPage-Ci-5wWIr.js → TranslationsPage-DEH0PY-i.js} +2 -2
- package/dist/assets/studio/assets/api-Mdeo6gzg.js +4 -0
- package/dist/assets/studio/assets/{api-errors-DObQzNBx.js → api-errors-CXLBmdpk.js} +2 -2
- package/dist/assets/studio/assets/{approvals-Dq0eHG8S.js → approvals-CIXN6a5b.js} +2 -2
- package/dist/assets/studio/assets/ar-ofvhEEt4.js +6 -0
- package/dist/assets/studio/assets/{charts-RqioK5fB.js → charts-Dni4XxBl.js} +2 -2
- package/dist/assets/studio/assets/{clipboard-text-gd6s3n1bqse9zgt8-_Ede63Fg.js → clipboard-text-gd6s3n1bqse9zgt8-ZQgZ1_-o.js} +2 -2
- package/dist/assets/studio/assets/{collapsible-l8g94on4w7qfosmn-Dk6hg5t7.js → collapsible-l8g94on4w7qfosmn-Bn4JrutR.js} +2 -2
- package/dist/assets/studio/assets/{combobox-hdxtsm2gqcxxgfju-DgmfP13I.js → combobox-hdxtsm2gqcxxgfju-C8ue-AJ-.js} +2 -2
- package/dist/assets/studio/assets/{createToastManager-onmoqrmr8zo02rif-_Y_xgvmb.js → createToastManager-onmoqrmr8zo02rif-V5YAqQyh.js} +2 -2
- package/dist/assets/studio/assets/de-CUjqphee.js +6 -0
- package/dist/assets/studio/assets/{deleteLabels-C5GfAnPh.js → deleteLabels-Cm9ihsQ3.js} +2 -2
- package/dist/assets/studio/assets/{dialog-glpnivujociqs9lh-Cch0_XyA.js → dialog-glpnivujociqs9lh-BqMU4UxI.js} +2 -2
- package/dist/assets/studio/assets/{editor-BQa6TaZi.js → editor-D3pyx_CZ.js} +2 -2
- package/dist/assets/studio/assets/es-DXloqVLE.js +6 -0
- package/dist/assets/studio/assets/fa-BDO-9MVu.js +6 -0
- package/dist/assets/studio/assets/fr-Cm9SdqZD.js +6 -0
- package/dist/assets/studio/assets/he-Bt5bz790.js +6 -0
- package/dist/assets/studio/assets/hi-C3-GZG-C.js +6 -0
- package/dist/assets/studio/assets/i18n-CdW50___.js +7 -0
- package/dist/assets/studio/assets/id-fk1BPM1I.js +6 -0
- package/dist/assets/studio/assets/index-DYyDeKnk.js +4 -0
- package/dist/assets/studio/assets/it-KwlZf5Ee.js +6 -0
- package/dist/assets/studio/assets/ja-BZHSI7Yq.js +6 -0
- package/dist/assets/studio/assets/ko-B9L7Js7b.js +6 -0
- package/dist/assets/studio/assets/layer-dialog-j5ywmzs46ccg6oqy-DLBR2ljP.js +2 -0
- package/dist/assets/studio/assets/{media-PkgIV37k.js → media-D4YZ713s.js} +3 -3
- package/dist/assets/studio/assets/nl-4w3IGlXj.js +6 -0
- package/dist/assets/studio/assets/permalinks-CNYgOPCo.js +2 -0
- package/dist/assets/studio/assets/pl-CCYhWdyU.js +6 -0
- package/dist/assets/studio/assets/pt-BR-xY-_D6mf.js +6 -0
- package/dist/assets/studio/assets/ru-DZ1xI15Q.js +6 -0
- package/dist/assets/studio/assets/{schedules-api-5mgRmrjL.js → schedules-api-DWQc-xjG.js} +2 -2
- package/dist/assets/studio/assets/{tag-input-ohfybx5dbxy3houy-C5BpU4R7.js → tag-input-ohfybx5dbxy3houy-CbqFHYvH.js} +2 -2
- package/dist/assets/studio/assets/tr-n4MtlsVR.js +6 -0
- package/dist/assets/studio/assets/uk-aiCWjdse.js +6 -0
- package/dist/assets/studio/assets/{useAnalyticsCard-tsyFdq37.js → useAnalyticsCard-D_EaD-GJ.js} +2 -2
- package/dist/assets/studio/assets/{useMe-DcrRDsez.js → useMe-D5W0xdO9.js} +2 -2
- package/dist/assets/studio/assets/{usePaging-kMfWrvea.js → usePaging-YS-Bfnj9.js} +2 -2
- package/dist/assets/studio/assets/{usePendingApprovals-BVHPCnd7.js → usePendingApprovals-54FcNUfi.js} +2 -2
- package/dist/assets/studio/assets/zh-Hans-D7CeiRbC.js +6 -0
- package/dist/assets/studio/index.html +16 -16
- package/dist/src/commands/analytics.d.ts +1 -1
- package/dist/src/commands/analytics.js +4 -3
- package/package.json +11 -11
- package/dist/assets/studio/assets/AgentsPage-DTYrfM8r.js +0 -2
- package/dist/assets/studio/assets/AnalyticsPage-BHH7HUno.js +0 -3
- package/dist/assets/studio/assets/ArticleEditorPage-DNo73SWr.js +0 -2
- package/dist/assets/studio/assets/ArticlesPage-aY2U4lYq.js +0 -2
- package/dist/assets/studio/assets/CommentThreadPage-JhpHw2fy.js +0 -2
- package/dist/assets/studio/assets/GovernanceDialog-6vMG-DjQ.js +0 -2
- package/dist/assets/studio/assets/MembersPage-1Dpp6fR0.js +0 -2
- package/dist/assets/studio/assets/Menus-BqLOw0If.js +0 -2
- package/dist/assets/studio/assets/RedirectDialog-BEIl9Rio.js +0 -2
- package/dist/assets/studio/assets/RedirectsPage-ClI2C61E.js +0 -2
- package/dist/assets/studio/assets/ScheduleDialog-BcjQEb-r.js +0 -2
- package/dist/assets/studio/assets/Seo-S2Fmf0_k.js +0 -2
- package/dist/assets/studio/assets/SeoPreview-BaS-x90q.js +0 -2
- package/dist/assets/studio/assets/SiteSettingsPage-DdNblHPf.js +0 -3
- package/dist/assets/studio/assets/SnapshotsPage-CTUCS2y4.js +0 -2
- package/dist/assets/studio/assets/Taxonomy-BP_PrlF2.js +0 -2
- package/dist/assets/studio/assets/api-Cqqt5jTd.js +0 -4
- package/dist/assets/studio/assets/ar-DZD_LN4R.js +0 -6
- package/dist/assets/studio/assets/de-D65bXpkj.js +0 -6
- package/dist/assets/studio/assets/es-c812D9nl.js +0 -6
- package/dist/assets/studio/assets/fa-vxNhZpLh.js +0 -6
- package/dist/assets/studio/assets/fr-DhVGWQ1r.js +0 -6
- package/dist/assets/studio/assets/he-BUNedH-H.js +0 -6
- package/dist/assets/studio/assets/hi-BRLMI3vy.js +0 -6
- package/dist/assets/studio/assets/i18n-Dz1LE8DB.js +0 -7
- package/dist/assets/studio/assets/id-Di4ybegt.js +0 -6
- package/dist/assets/studio/assets/index-DMKFLgkG.js +0 -4
- package/dist/assets/studio/assets/it-CmzTT1jK.js +0 -6
- package/dist/assets/studio/assets/ja-Bx1aRBDT.js +0 -6
- package/dist/assets/studio/assets/ko-Dcw0wiZr.js +0 -6
- package/dist/assets/studio/assets/layer-dialog-j5ywmzs46ccg6oqy-CySAcQJW.js +0 -2
- package/dist/assets/studio/assets/nl-BeTtPQCB.js +0 -6
- package/dist/assets/studio/assets/pl-DMfBcmtn.js +0 -6
- package/dist/assets/studio/assets/pt-BR-B4XbkQp3.js +0 -6
- package/dist/assets/studio/assets/ru-ttvcqOmM.js +0 -6
- package/dist/assets/studio/assets/tr-eeqDuraZ.js +0 -6
- package/dist/assets/studio/assets/uk-ooRGP488.js +0 -6
- package/dist/assets/studio/assets/zh-Hans-CGcsS9Bh.js +0 -6
|
@@ -16,7 +16,7 @@ Everything but `.gitignore`'s list. `cloudhal.json` holds the project's settings
|
|
|
16
16
|
`cloudhal.json` → `domains.site` (set with `cloudhal domain set <hostname>`) is also the address a static build (`cloudhal build`) writes into canonical links, the sitemap, feeds and `robots.txt`.
|
|
17
17
|
|
|
18
18
|
## Routes
|
|
19
|
-
- `[...path].astro` — pages at their path, posts at `/<collection>/<slug>`, category and tag archives at `/category/<slug>` and `/tag/<slug>` (`/page/<n>` for older posts). Anything else follows the site's redirects (301), answers 410 for a retired term, or 404.
|
|
19
|
+
- `[...path].astro` — pages at their path, posts at their collection's permalink (`/<collection>/<slug>` unless Studio's Site settings › Collections or the `set_collection_permalink` tool moves them, e.g. to `/blog/<slug>`, with a 301 from the old URLs), category and tag archives at `/category/<slug>` and `/tag/<slug>` (`/page/<n>` for older posts). Anything else follows the site's redirects (301), answers 410 for a retired term, or 404.
|
|
20
20
|
- `[...path]/rss.xml.ts` — a feed per category and tag (`/category/<slug>/rss.xml`).
|
|
21
21
|
- `rss.xml.ts`, `sitemap.xml.ts`, `robots.txt.ts` — the site feed, the sitemap (pages, posts and indexable archives) and robots rules.
|
|
22
22
|
- `search.json.ts` — the search modal's answers (RFC-0029), where the deployment answers searches (`cloudhal dev`, the Cloudflare Site Worker). `components/SearchDialog.astro` is the modal's markup and words; Cloudhal's `/_cloudhal/search.1.js` wires it, and without it the header form opens `/search`.
|
|
@@ -14,18 +14,18 @@
|
|
|
14
14
|
"astro": "astro"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@cloudhal/astro-renderer": "0.3.
|
|
18
|
-
"@cloudhal/core-ts": "0.3.
|
|
17
|
+
"@cloudhal/astro-renderer": "0.3.11",
|
|
18
|
+
"@cloudhal/core-ts": "0.3.11",
|
|
19
19
|
"@tailwindcss/vite": "^4.3.3",
|
|
20
20
|
"astro": "7.3.6",
|
|
21
21
|
"better-sqlite3": "13.0.3",
|
|
22
22
|
"tailwindcss": "^4.3.3",
|
|
23
23
|
"@astrojs/cloudflare": "14.3.4",
|
|
24
|
-
"@cloudhal/cli": "0.3.
|
|
24
|
+
"@cloudhal/cli": "0.3.11"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"wrangler": "^4.148.0",
|
|
28
|
-
"@cloudhal/cloudflare": "0.3.
|
|
28
|
+
"@cloudhal/cloudflare": "0.3.11"
|
|
29
29
|
},
|
|
30
30
|
"trustedDependencies": [
|
|
31
31
|
"better-sqlite3",
|
|
@@ -41,7 +41,7 @@ const cover = (e: ContentEntry) => {
|
|
|
41
41
|
<img class="ch-card-entry__cover" src={img.src} srcset={img.srcset} sizes={img.sizes} alt="" width={img.width || undefined} height={img.height || undefined} loading="lazy" decoding="async" />
|
|
42
42
|
)}
|
|
43
43
|
<div class="ch-card-entry__body">
|
|
44
|
-
<a href={entryPath(e)}>{e.title}</a>
|
|
44
|
+
<a href={entryPath(media?.permalinks, e)}>{e.title}</a>
|
|
45
45
|
{e.summary && <p>{e.summary}</p>}
|
|
46
46
|
<span class="ch-card-entry__meta">
|
|
47
47
|
{e.publishedAt && <time datetime={e.publishedAt}>{date(e.publishedAt)}</time>}
|
|
@@ -55,7 +55,7 @@ import { themeVariables } from "@cloudhal/astro-renderer/theme-settings";
|
|
|
55
55
|
import type { ContentEntry } from "@cloudhal/core-contracts";
|
|
56
56
|
/**
|
|
57
57
|
* One route for the whole graph (RFC-0002 §7 order): a Page answers at its `path`; an article at
|
|
58
|
-
* `/<collection>/<slug
|
|
58
|
+
* its collection's permalink (`/<collection>/<slug>` by default, RFC-0038); a category or tag archive at `<basePath>/<slug>[/page/<n>]`. Anything
|
|
59
59
|
* else asks the site's redirects (301 with the query kept), then answers 410 for a retired term
|
|
60
60
|
* or 404. Term feeds live next door in `[...path]/rss.xml.ts`. The header renders the `primary`
|
|
61
61
|
* menu, or the derived header without one; a `footer` menu replaces the footer links (RFC-0003).
|
|
@@ -161,7 +161,9 @@ const isMenu = route.kind === "not-found" && path === "/menu";
|
|
|
161
161
|
// Reader comments (RFC-0007): tags the response `cloudhal-comments-<id>` and reads the thread;
|
|
162
162
|
// `?comments=<n>` past the last page is a miss.
|
|
163
163
|
const comments =
|
|
164
|
-
route.kind === "entry"
|
|
164
|
+
route.kind === "entry"
|
|
165
|
+
? await loadComments(config, Astro, route.entry, { locale, site })
|
|
166
|
+
: undefined;
|
|
165
167
|
// A miss (RFC-0033 §4) answers 404 in the request's locale: the site's page at `/404` (its
|
|
166
168
|
// translation, or the original under `default-with-notice`), else the theme's NotFound below.
|
|
167
169
|
// The authored page answers 404 at its own path too.
|
|
@@ -199,6 +201,8 @@ const media: MediaContext = {
|
|
|
199
201
|
icons: { weight: String(site.theme.config?.iconWeight ?? "regular"), set: iconSet },
|
|
200
202
|
// RFC-0028: one placeholder allowance for the whole page.
|
|
201
203
|
budget: placeholderBudget(),
|
|
204
|
+
// RFC-0038: entry links follow the site's collection permalinks.
|
|
205
|
+
permalinks: site,
|
|
202
206
|
};
|
|
203
207
|
const t = strings(locale, site.theme.config?.strings);
|
|
204
208
|
const index = route.kind === "archive" ? route.index : await loadTaxonomyIndex(source, locale);
|
|
@@ -36,8 +36,9 @@ export const NAV_CATEGORIES = true;
|
|
|
36
36
|
|
|
37
37
|
/**
|
|
38
38
|
* Where this theme serves a collection's index, for menu items that link to a collection
|
|
39
|
-
* (RFC-0003 §7.1). Return `undefined` to use the default:
|
|
40
|
-
*
|
|
39
|
+
* (RFC-0003 §7.1). Return `undefined` to use the default: a published page at the collection's
|
|
40
|
+
* permalink prefix (`/docs` for `/docs/{slug}`, RFC-0038 §5), else the first published page that
|
|
41
|
+
* lists the collection (the blog's home page lists `posts`); without one the item is hidden.
|
|
41
42
|
*/
|
|
42
43
|
export const collectionIndex: CollectionIndexHook = () => undefined;
|
|
43
44
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{t}from"./IconBase.es-BZDpYMnj.js";import{i as n,r}from"./react-CDCuUAOg.js";import{t as i}from"./badge-dq8bx752b9dp7dst--rpq8QXS.js";import{o as a,t as o}from"./button-pa1bq9b85hawg41a-CmOCuL-1.js";import{S as s,_ as c,h as l,l as u}from"./tanstack-BRxyYm4G.js";import{t as d}from"./DirectionalIcon-UZJFXGY_.js";import{m as f,n as p,t as m}from"./skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js";import{t as h}from"./inline-copy-text-gbd7jhwpor27l4rq-BGh10UAA.js";import{t as g}from"./DeviceMobile.es-B4PwJ85Q.js";import{t as _}from"./DeviceTablet.es-BpxIF5z6.js";import{t as v}from"./checkbox-lbo436duy7krxcsk-HiD6vTuC.js";import{t as y}from"./ProhibitInset.es-DsnL02EX.js";import{t as b}from"./Question.es-BqQtQle2.js";import{t as x}from"./ShieldWarning.es-DPxoDMpT.js";import{t as S}from"./SignIn.es-jAzHZG6b.js";import{S as C,_ as w,s as T}from"./Elevation-ahkqnCOT.js";import{t as E}from"./TerminalWindow.es-DRFBT_Ie.js";import{n as D,t as O}from"./banner-msnmqm7of2lck01x-D6cADEpP.js";import{t as k}from"./Toast-DYiK3WzC.js";import{t as A}from"./input-c8lv9ulv0kortliq-Be2cm12J.js";import{t as j}from"./api-Cqqt5jTd.js";import{t as ee}from"./switch-cqsvolm7h69z7vgg-DkSvRVQF.js";import{t as M}from"./table-yf8ul2e5nbemioi1-KGRDj7XO.js";import{t as te}from"./Crumbs-BVqhFD_U.js";import{n as ne,r as N,t as P}from"./Settings-BeAGyeQI.js";import{o as re}from"./intl-C22KAx_l.js";import{c as ie,u as F}from"./i18n-Dz1LE8DB.js";import{t as ae}from"./api-errors-DObQzNBx.js";import{C as oe,T as se,U as I,_ as ce,a as le,g as L,h as R,i as ue,nt as de,s as fe,u as z,v as B,x as V}from"./index-DMKFLgkG.js";import{t as H}from"./ConfirmDialog-DTOOI7kj.js";import{t as U}from"./PasswordField-BaDn4bwQ.js";import{t as pe}from"./TableSkeleton-DWrf88UN.js";import{a as W,i as me,n as he,o as G,r as K,s as q,t as J}from"./account-BXWuYNDB.js";var Y=e(n(),1),ge=new Map([[`bold`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M225.81,74.65A11.86,11.86,0,0,1,220.3,76a12,12,0,0,1-10.67-6.47,90.1,90.1,0,0,0-32-35.38,12,12,0,1,1,12.8-20.29,115.25,115.25,0,0,1,40.54,44.62A12,12,0,0,1,225.81,74.65ZM46.37,69.53a90.1,90.1,0,0,1,32-35.38A12,12,0,1,0,65.6,13.86,115.25,115.25,0,0,0,25.06,58.48a12,12,0,0,0,5.13,16.17A11.86,11.86,0,0,0,35.7,76,12,12,0,0,0,46.37,69.53Zm173.51,98.35A20,20,0,0,1,204,200H171.81a44,44,0,0,1-87.62,0H52a20,20,0,0,1-15.91-32.12c7.17-9.33,15.73-26.62,15.88-55.94A76,76,0,0,1,204,112C204.15,141.26,212.71,158.55,219.88,167.88ZM147.6,200H108.4a20,20,0,0,0,39.2,0Zm48.74-24c-8.16-13-16.19-33.57-16.34-63.94A52,52,0,1,0,76,112c-.15,30.42-8.18,51-16.34,64Z`}))],[`fill`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M224,71.1a8,8,0,0,1-10.78-3.42,94.13,94.13,0,0,0-33.46-36.91,8,8,0,1,1,8.54-13.54,111.46,111.46,0,0,1,39.12,43.09A8,8,0,0,1,224,71.1ZM35.71,72a8,8,0,0,0,7.1-4.32A94.13,94.13,0,0,1,76.27,30.77a8,8,0,1,0-8.54-13.54A111.46,111.46,0,0,0,28.61,60.32,8,8,0,0,0,35.71,72Zm186.1,103.94A16,16,0,0,1,208,200H167.2a40,40,0,0,1-78.4,0H48a16,16,0,0,1-13.79-24.06C43.22,160.39,48,138.28,48,112a80,80,0,0,1,160,0C208,138.27,212.78,160.38,221.81,175.94ZM150.62,200H105.38a24,24,0,0,0,45.24,0Z`}))],[`regular`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M224,71.1a8,8,0,0,1-10.78-3.42,94.13,94.13,0,0,0-33.46-36.91,8,8,0,1,1,8.54-13.54,111.46,111.46,0,0,1,39.12,43.09A8,8,0,0,1,224,71.1ZM35.71,72a8,8,0,0,0,7.1-4.32A94.13,94.13,0,0,1,76.27,30.77a8,8,0,1,0-8.54-13.54A111.46,111.46,0,0,0,28.61,60.32,8,8,0,0,0,35.71,72Zm186.1,103.94A16,16,0,0,1,208,200H167.2a40,40,0,0,1-78.4,0H48a16,16,0,0,1-13.79-24.06C43.22,160.39,48,138.28,48,112a80,80,0,0,1,160,0C208,138.27,212.78,160.38,221.81,175.94ZM150.62,200H105.38a24,24,0,0,0,45.24,0ZM208,184c-10.64-18.27-16-42.49-16-72a64,64,0,0,0-128,0c0,29.52-5.38,53.74-16,72Z`}))]]),X=Y.forwardRef((e,n)=>Y.createElement(t,{ref:n,...e,weights:ge}));X.displayName=`BellRingingIcon`;var _e=X,Z=r(),ve={granted:`success`,default:`neutral`,denied:`error`};function ye({children:e}){return(0,Z.jsxs)(`div`,{className:`flex items-start gap-2`,"data-testid":`notifications-note`,children:[(0,Z.jsx)(`span`,{className:`flex h-lh items-center text-kumo-subtle`,children:(0,Z.jsx)(f,{size:16})}),(0,Z.jsx)(p,{variant:`secondary`,size:`sm`,children:e})]})}function be(){let e=F(),t=k(),[n,r]=(0,Y.useState)(T),[a,s]=(0,Y.useState)(w),[c,l]=(0,Y.useState)(!1),u=a&&n===`granted`,d=async i=>{if(!i){C(!1),s(!1);return}if(n===`granted`){C(!0),s(!0);return}l(!0);try{let n=await window.Notification.requestPermission();r(n),C(n===`granted`),s(n===`granted`),n===`granted`&&t.success(e(`account.notifications.enabled`))}catch{r(T())}finally{l(!1)}};return(0,Z.jsx)(N,{id:`notifications`,title:e(`account.sections.notifications`),description:e(`account.notifications.description`),children:n===`unsupported`?(0,Z.jsx)(ye,{children:e(`account.notifications.unsupported`)}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`grid gap-1.5`,"data-browser-notifications":u?`on`:`off`,children:[(0,Z.jsx)(ee,{label:e(`account.notifications.switch`),checked:u,disabled:n===`denied`||c,onCheckedChange:e=>void d(e)}),(0,Z.jsx)(p,{variant:`secondary`,size:`sm`,children:e(`account.notifications.switchHint`)})]}),(0,Z.jsx)(`dl`,{className:`-my-3`,"data-permission":n,children:(0,Z.jsx)(P,{label:e(`account.notifications.permission`),hint:e(`account.notifications.permissionHints.${n}`),children:(0,Z.jsx)(i,{variant:ve[n],appearance:`dot`,children:e(`account.notifications.permissions.${n}`)})})}),n===`denied`&&(0,Z.jsx)(O,{variant:`secondary`,icon:(0,Z.jsx)(y,{weight:`fill`}),title:e(`account.notifications.deniedTitle`),description:e(`account.notifications.denied`)}),u&&(0,Z.jsx)(`div`,{children:(0,Z.jsx)(o,{variant:`secondary`,size:`sm`,icon:(0,Z.jsx)(_e,{}),onClick:()=>le(`cloudhal-test`,e(`account.notifications.testTitle`),e(`account.notifications.testBody`),()=>void 0),children:e(`account.notifications.test`)})})]})})}var Q=5,xe=[`profile`,`password`,`sessions`,`notifications`,`access`,`server`];function Se({me:e,pending:t}){let{t:n,locale:r}=ie(),i=s(),a=k(),u=c({queryKey:[`me`],queryFn:j.me}),d=e?.user.name??``,[f,g]=(0,Y.useState)(d),[_,v]=(0,Y.useState)(!1);(0,Y.useEffect)(()=>g(d),[d]);let y=f.trim()!==d,b=_?G(f):void 0,x=l({mutationFn:e=>L.updateName(e),onSuccess:async()=>{v(!1),await Promise.all([i.invalidateQueries({queryKey:[`auth-session`]}),i.invalidateQueries({queryKey:[`me`]})]),a.success(n(`account.profile.saved`))}}),S=()=>{v(!0),y&&!G(f)&&x.mutate(f.trim())},C=W(e?.user.createdAt);return(0,Z.jsx)(N,{id:`profile`,title:n(`account.sections.profile`),description:n(`account.profile.description`),footer:(0,Z.jsxs)(Z.Fragment,{children:[y&&(0,Z.jsx)(o,{variant:`ghost`,onClick:()=>{g(d),v(!1),x.reset()},disabled:x.isPending,children:n(`common.discard`)}),(0,Z.jsx)(o,{variant:`primary`,onClick:S,loading:x.isPending,disabled:!y||t,children:n(`common.saveChanges`)})]}),children:t||!e?(0,Z.jsxs)(`div`,{className:`grid gap-3`,role:`status`,children:[(0,Z.jsx)(`span`,{className:`sr-only`,children:n(`common.loading`)}),(0,Z.jsx)(m,{minWidth:30,maxWidth:45}),(0,Z.jsx)(m,{minWidth:60,maxWidth:80}),(0,Z.jsx)(m,{minWidth:60,maxWidth:80})]}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,Z.jsx)(se,{initials:ue(e.user.name,e.user.email),size:`lg`}),(0,Z.jsxs)(`div`,{className:`grid min-w-0 gap-0.5`,children:[(0,Z.jsx)(p,{bold:!0,truncate:!0,as:`span`,children:e.user.name||e.user.email}),(0,Z.jsx)(p,{variant:`secondary`,size:`sm`,truncate:!0,as:`span`,children:e.user.email}),C&&(0,Z.jsx)(p,{variant:`secondary`,size:`sm`,as:`span`,children:n(`account.profile.memberSince`,{date:re(r,C,{dateStyle:`long`})})})]})]}),x.error&&(0,Z.jsx)(O,{variant:`error`,size:`sm`,icon:(0,Z.jsx)(D,{weight:`fill`}),title:n(`account.profile.failed`),description:ae(n,x.error)}),(0,Z.jsx)(`div`,{className:`@container`,children:(0,Z.jsxs)(`div`,{className:`grid items-start gap-5 @lg:grid-cols-2`,children:[(0,Z.jsx)(A,{className:`w-full`,label:n(`account.profile.name`),description:n(`account.profile.nameHint`),value:f,onValueChange:g,autoComplete:`name`,maxLength:250,error:b?n(`account.profile.errors.${b}`,{max:200}):void 0,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),S())}}),(0,Z.jsx)(A,{className:`w-full text-kumo-subtle`,label:n(`account.profile.email`),description:n(`account.profile.emailHint`),value:e.user.email,type:`email`,readOnly:!0})]})}),(0,Z.jsxs)(`dl`,{className:`-mb-3 border-kumo-hairline border-t`,children:[(0,Z.jsx)(P,{label:n(`account.profile.actorId`),hint:n(`account.profile.actorIdHint`),children:u.data?(0,Z.jsx)(h,{children:u.data.actor.id}):(0,Z.jsx)(m,{minWidth:40,maxWidth:60})}),u.data?.role&&(0,Z.jsx)(P,{label:n(`account.profile.role`),hint:n(`account.profile.roleHint`),children:(0,Z.jsx)(fe,{value:u.data.role})})]})]})})}var Ce={current:``,next:``,confirm:``};function we(e,t){let n={"current:required":`account.password.errors.currentRequired`,"current:wrong":`account.password.errors.currentWrong`,"next:required":`account.password.errors.newRequired`,"next:tooShort":`account.password.errors.tooShort`,"next:tooLong":`account.password.errors.tooLong`,"next:same":`account.password.errors.same`,"confirm:required":`account.password.errors.confirmRequired`,"confirm:mismatch":`account.password.errors.mismatch`},r=r=>{let i=t[r],a=i?n[`${r}:${i}`]:void 0;return a?e(a,{min:8,max:128}):void 0};return{current:r(`current`),next:r(`next`),confirm:r(`confirm`)}}function Te(){let e=F(),t=s(),n=k(),[r,i]=(0,Y.useState)(Ce),[a,c]=(0,Y.useState)(!0),[u,d]=(0,Y.useState)(!1),[f,m]=(0,Y.useState)({}),h=l({mutationFn:()=>L.changePassword({currentPassword:r.current,newPassword:r.next,revokeOtherSessions:a}),onSuccess:async()=>{i(Ce),d(!1),await t.invalidateQueries({queryKey:[`auth-sessions`]}),n.success(e(`account.password.changed`),a?e(`account.password.changedOthers`):void 0)},onError:e=>{let t=K(e instanceof R?e.code:void 0);t&&m(t)}}),g=we(e,{...u?q(r):{},...f}),_=e=>t=>{i(n=>({...n,[e]:t})),m(t=>({...t,[e]:void 0}))},y=()=>{d(!0),m({}),!(he(q(r))||h.isPending)&&h.mutate()},b=h.error&&!K(h.error instanceof R?h.error.code:void 0);return(0,Z.jsxs)(N,{id:`password`,title:e(`account.sections.password`),description:e(`account.password.description`),footer:(0,Z.jsx)(o,{variant:`primary`,onClick:y,loading:h.isPending,children:e(`account.password.submit`)}),children:[b&&(0,Z.jsx)(O,{variant:`error`,size:`sm`,icon:(0,Z.jsx)(D,{weight:`fill`}),title:e(`account.password.failed`),description:ae(e,h.error)}),(0,Z.jsx)(`div`,{className:`@container`,children:(0,Z.jsxs)(`div`,{className:`grid items-start gap-5 @lg:grid-cols-2`,children:[(0,Z.jsx)(U,{label:e(`account.password.current`),value:r.current,onValueChange:_(`current`),error:g.current,autoComplete:`current-password`,onEnter:y}),(0,Z.jsx)(`div`,{className:`@lg:col-start-1`,children:(0,Z.jsx)(U,{label:e(`account.password.new`),description:e(`account.password.newHint`,{min:8}),value:r.next,onValueChange:_(`next`),error:g.next,autoComplete:`new-password`,onEnter:y})}),(0,Z.jsx)(U,{label:e(`account.password.confirm`),description:e(`account.password.confirmHint`),value:r.confirm,onValueChange:_(`confirm`),error:g.confirm,autoComplete:`new-password`,onEnter:y})]})}),(0,Z.jsxs)(`div`,{className:`grid gap-1`,children:[(0,Z.jsx)(v,{checked:a,onCheckedChange:e=>c(e===!0),label:e(`account.password.signOutOthers`)}),(0,Z.jsx)(`span`,{className:`ps-6`,children:(0,Z.jsx)(p,{variant:`secondary`,size:`sm`,children:e(`account.password.signOutOthersHint`)})})]})]})}var Ee={desktop:de,mobile:g,tablet:_,cli:E,unknown:b};function De(e,t){return t.browser&&t.os?e(`account.sessions.deviceOn`,{browser:t.browser,os:t.os}):t.browser??t.os??e(`account.sessions.unknownDevice`)}function Oe({currentToken:e}){let t=F(),n=s(),r=k(),m=u(),h=c({queryKey:[`auth-sessions`],queryFn:L.sessions,retry:(e,t)=>!B(t)&&e<1}),[g,_]=(0,Y.useState)(),[v,y]=(0,Y.useState)(!1),b=l({mutationFn:e=>L.revokeSession(e.token),onSuccess:async()=>{_(void 0),await n.invalidateQueries({queryKey:[`auth-sessions`]}),r.success(t(`account.sessions.revoked`))}}),x=l({mutationFn:L.revokeOtherSessions,onSuccess:async()=>{y(!1),await n.invalidateQueries({queryKey:[`auth-sessions`]}),r.success(t(`account.sessions.revokedOthers`))}}),C=me(h.data??[],e),[w,T]=(0,Y.useState)(!1),E=w?C:C.slice(0,Q),D=C.filter(t=>t.token!==e).length,A=B(h.error);return(0,Z.jsxs)(N,{id:`sessions`,title:t(`account.sections.sessions`),description:t(`account.sessions.description`),flush:!0,aside:h.data&&(0,Z.jsx)(i,{variant:`secondary`,children:t(`account.sessions.count`,{count:h.data.length})}),footer:(0,Z.jsxs)(Z.Fragment,{children:[C.length>Q&&(0,Z.jsx)(o,{variant:`ghost`,onClick:()=>T(e=>!e),children:w?t(`account.sessions.showFewer`):t(`account.sessions.showAll`,{count:C.length})}),(0,Z.jsx)(o,{variant:`secondary`,icon:(0,Z.jsx)(d,{icon:I}),disabled:D===0,onClick:()=>y(!0),children:t(`account.sessions.signOutOthers`)})]}),children:[A?(0,Z.jsx)(`div`,{className:`px-5 py-4`,children:(0,Z.jsx)(O,{variant:`secondary`,icon:(0,Z.jsx)(f,{weight:`fill`}),title:t(`account.sessions.staleTitle`),description:t(`account.sessions.staleDescription`),action:(0,Z.jsx)(O.Action,{variant:`secondary`,icon:(0,Z.jsx)(d,{icon:S}),onClick:async()=>{await ce.signOut(),await m({to:`/login`})},children:t(`account.sessions.signInAgain`)})})}):h.error?(0,Z.jsx)(`div`,{className:`px-5 py-4`,children:(0,Z.jsx)(V,{error:h.error,onRetry:()=>h.refetch(),retrying:h.isFetching})}):(0,Z.jsxs)(M,{children:[(0,Z.jsx)(M.Header,{children:(0,Z.jsxs)(M.Row,{children:[(0,Z.jsx)(M.Head,{children:t(`account.sessions.columns.device`)}),(0,Z.jsx)(M.Head,{children:t(`account.sessions.columns.ip`)}),(0,Z.jsx)(M.Head,{children:t(`account.sessions.columns.lastActive`)}),(0,Z.jsx)(M.Head,{children:t(`account.sessions.columns.signedIn`)}),(0,Z.jsx)(M.Head,{sticky:`right`})]})}),h.isPending?(0,Z.jsx)(pe,{columns:5,rows:2}):(0,Z.jsxs)(M.Body,{children:[E.map(n=>{let r=J(n.userAgent),s=Ee[r.kind],c=n.token===e,l=De(t,r),u=W(n.updatedAt),f=W(n.createdAt);return(0,Z.jsxs)(M.Row,{"data-session-id":n.id,"data-current":c||void 0,children:[(0,Z.jsx)(M.Cell,{className:`whitespace-nowrap`,children:(0,Z.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,Z.jsx)(s,{size:16,className:`shrink-0 text-kumo-subtle`}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(a,{content:n.userAgent??t(`account.sessions.unknownDevice`),children:(0,Z.jsx)(p,{bold:!0,as:`span`,children:l})}),c&&(0,Z.jsx)(i,{variant:`info`,children:t(`account.sessions.current`)})]})]})}),(0,Z.jsx)(M.Cell,{className:`whitespace-nowrap`,children:n.ipAddress?(0,Z.jsx)(p,{variant:`mono-secondary`,as:`span`,children:n.ipAddress}):(0,Z.jsx)(p,{variant:`secondary`,as:`span`,children:t(`account.sessions.unknownIp`)})}),(0,Z.jsx)(M.Cell,{className:`whitespace-nowrap`,children:u&&(0,Z.jsx)(z,{iso:u})}),(0,Z.jsx)(M.Cell,{className:`whitespace-nowrap`,children:f&&(0,Z.jsx)(z,{iso:f})}),(0,Z.jsx)(M.Cell,{sticky:`right`,className:`text-end`,children:!c&&(0,Z.jsx)(o,{variant:`ghost`,size:`sm`,icon:(0,Z.jsx)(d,{icon:I}),"aria-label":t(`account.sessions.revokeLabel`,{device:l}),onClick:()=>_(n),children:t(`account.sessions.revoke`)})})]},n.id)}),D===0&&(0,Z.jsx)(M.Row,{children:(0,Z.jsx)(M.Cell,{colSpan:5,children:(0,Z.jsx)(p,{variant:`secondary`,size:`sm`,children:t(`account.sessions.onlyThis`)})})})]})]}),(0,Z.jsx)(H,{open:g!==void 0,onOpenChange:e=>{e||(_(void 0),b.reset())},title:t(`account.sessions.revokeTitle`),description:t(`account.sessions.revokeDescription`,{device:g?(e=>De(t,J(e.userAgent)))(g):``}),detail:g?.ipAddress??void 0,confirmLabel:t(`account.sessions.revoke`),busy:b.isPending,error:b.error,onConfirm:()=>g&&b.mutate(g)}),(0,Z.jsx)(H,{open:v,onOpenChange:e=>{y(e),e||x.reset()},title:t(`account.sessions.revokeOthersTitle`),description:t(`account.sessions.revokeOthersDescription`),confirmLabel:t(`account.sessions.signOutOthers`),busy:x.isPending,error:x.error,onConfirm:()=>x.mutate()})]})}var ke={"first-user":`success`,closed:`success`,open:`warning`,unknown:`neutral`},Ae=[`members`,`mcp`,`agentKeys`,`activity`,`previewLinks`,`deployTransfer`];function $(){let e=F();return(0,Z.jsxs)(`div`,{className:`grid gap-3`,role:`status`,children:[(0,Z.jsx)(`span`,{className:`sr-only`,children:e(`common.loading`)}),(0,Z.jsx)(m,{minWidth:40,maxWidth:60}),(0,Z.jsx)(m,{minWidth:70,maxWidth:90})]})}function je({children:e}){return(0,Z.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,Z.jsx)(`span`,{className:`flex h-lh items-center text-kumo-subtle`,children:(0,Z.jsx)(f,{size:16})}),(0,Z.jsx)(p,{variant:`secondary`,size:`sm`,children:e})]})}function Me({instance:e,pending:t,error:n,onRetry:r}){let a=F(),o=e?.signUp;return(0,Z.jsxs)(N,{id:`access`,title:a(`account.sections.access`),description:a(`account.access.description`),children:[(0,Z.jsx)(V,{error:n,onRetry:r}),t?(0,Z.jsx)($,{}):o&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`dl`,{className:`-my-3`,"data-sign-up":o,children:(0,Z.jsx)(P,{label:a(`account.access.signUp`),hint:a(`account.access.explanations.${o}`),children:(0,Z.jsx)(i,{variant:ke[o],appearance:`dot`,children:a(`account.access.policies.${o}`)})})}),o===`open`&&(0,Z.jsx)(O,{variant:`alert`,icon:(0,Z.jsx)(x,{weight:`fill`}),title:a(`account.access.openWarningTitle`),description:a(`account.access.openWarning`)}),(0,Z.jsx)(je,{children:a(`account.access.howToChange`)})]})]})}function Ne({instance:e,pending:t}){let n=F();return(0,Z.jsx)(N,{id:`server`,title:n(`account.sections.server`),description:n(`account.access.serverDescription`),children:t?(0,Z.jsx)($,{}):e&&(0,Z.jsx)(`dl`,{className:`-my-3 divide-y divide-kumo-hairline`,children:Ae.map(t=>(0,Z.jsx)(P,{label:n(`account.access.features.${t}`),hint:n(`account.access.featureHints.${t}`),children:(0,Z.jsx)(`span`,{"data-feature":t,"data-enabled":e.features[t],children:e.features[t]?(0,Z.jsx)(i,{variant:`success`,appearance:`dot`,children:n(`common.on`)}):(0,Z.jsx)(i,{variant:`neutral`,appearance:`dot`,children:n(`common.off`)})})},t))})})}function Pe(){let e=F(),t=c({queryKey:[`auth-session`],queryFn:L.current}),n=c({queryKey:[`instance`],queryFn:j.instance});return(0,Z.jsxs)(oe,{crumbs:(0,Z.jsx)(te,{trail:[{label:e(`pageHeaders.account.title`)}]}),title:e(`pageHeaders.account.title`),description:e(`pageHeaders.account.description`),children:[(0,Z.jsx)(V,{error:t.error,onRetry:()=>t.refetch(),retrying:t.isFetching}),(0,Z.jsxs)(ne,{title:e(`common.onThisPage`),sections:xe.map(t=>({id:t,label:e(`account.sections.${t}`)})),children:[(0,Z.jsx)(Se,{me:t.data,pending:t.isPending}),(0,Z.jsx)(Te,{}),(0,Z.jsx)(Oe,{currentToken:t.data?.session.token}),(0,Z.jsx)(be,{}),(0,Z.jsx)(Me,{instance:n.data,pending:n.isPending,error:n.error,onRetry:()=>n.refetch()}),(0,Z.jsx)(Ne,{instance:n.data,pending:n.isPending})]})]})}export{Pe as AccountPage};
|
|
2
|
-
//# sourceMappingURL=AccountPage-
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{t}from"./IconBase.es-BZDpYMnj.js";import{i as n,r}from"./react-CDCuUAOg.js";import{t as i}from"./badge-dq8bx752b9dp7dst--rpq8QXS.js";import{o as a,t as o}from"./button-pa1bq9b85hawg41a-CmOCuL-1.js";import{S as s,_ as c,h as l,l as u}from"./tanstack-BRxyYm4G.js";import{t as d}from"./DirectionalIcon-UZJFXGY_.js";import{m as f,n as p,t as m}from"./skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js";import{t as h}from"./inline-copy-text-gbd7jhwpor27l4rq-BGh10UAA.js";import{t as g}from"./DeviceMobile.es-B4PwJ85Q.js";import{t as _}from"./DeviceTablet.es-BpxIF5z6.js";import{t as v}from"./checkbox-lbo436duy7krxcsk-HiD6vTuC.js";import{t as y}from"./ProhibitInset.es-DsnL02EX.js";import{t as b}from"./Question.es-BqQtQle2.js";import{t as x}from"./ShieldWarning.es-DPxoDMpT.js";import{t as S}from"./SignIn.es-jAzHZG6b.js";import{S as C,_ as w,s as T}from"./Elevation-BrgkbjjJ.js";import{t as E}from"./TerminalWindow.es-DRFBT_Ie.js";import{n as D,t as O}from"./banner-msnmqm7of2lck01x-D6cADEpP.js";import{t as k}from"./Toast-CXAk8wMq.js";import{t as A}from"./input-c8lv9ulv0kortliq-Be2cm12J.js";import{t as j}from"./api-Mdeo6gzg.js";import{t as ee}from"./switch-cqsvolm7h69z7vgg-DkSvRVQF.js";import{t as M}from"./table-yf8ul2e5nbemioi1-KGRDj7XO.js";import{t as te}from"./Crumbs-CJ6UlbPv.js";import{n as ne,r as N,t as P}from"./Settings-m8Ai9oIJ.js";import{o as re}from"./intl-C22KAx_l.js";import{c as ie,u as F}from"./i18n-CdW50___.js";import{t as ae}from"./api-errors-CXLBmdpk.js";import{C as oe,T as se,U as I,_ as ce,a as le,g as L,h as R,i as ue,nt as de,s as fe,u as z,v as B,x as V}from"./index-DYyDeKnk.js";import{t as H}from"./ConfirmDialog-DCuw5jgs.js";import{t as U}from"./PasswordField-CmuKqecN.js";import{t as pe}from"./TableSkeleton-DWrf88UN.js";import{a as W,i as me,n as he,o as G,r as K,s as q,t as J}from"./account-BXWuYNDB.js";var Y=e(n(),1),ge=new Map([[`bold`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M225.81,74.65A11.86,11.86,0,0,1,220.3,76a12,12,0,0,1-10.67-6.47,90.1,90.1,0,0,0-32-35.38,12,12,0,1,1,12.8-20.29,115.25,115.25,0,0,1,40.54,44.62A12,12,0,0,1,225.81,74.65ZM46.37,69.53a90.1,90.1,0,0,1,32-35.38A12,12,0,1,0,65.6,13.86,115.25,115.25,0,0,0,25.06,58.48a12,12,0,0,0,5.13,16.17A11.86,11.86,0,0,0,35.7,76,12,12,0,0,0,46.37,69.53Zm173.51,98.35A20,20,0,0,1,204,200H171.81a44,44,0,0,1-87.62,0H52a20,20,0,0,1-15.91-32.12c7.17-9.33,15.73-26.62,15.88-55.94A76,76,0,0,1,204,112C204.15,141.26,212.71,158.55,219.88,167.88ZM147.6,200H108.4a20,20,0,0,0,39.2,0Zm48.74-24c-8.16-13-16.19-33.57-16.34-63.94A52,52,0,1,0,76,112c-.15,30.42-8.18,51-16.34,64Z`}))],[`fill`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M224,71.1a8,8,0,0,1-10.78-3.42,94.13,94.13,0,0,0-33.46-36.91,8,8,0,1,1,8.54-13.54,111.46,111.46,0,0,1,39.12,43.09A8,8,0,0,1,224,71.1ZM35.71,72a8,8,0,0,0,7.1-4.32A94.13,94.13,0,0,1,76.27,30.77a8,8,0,1,0-8.54-13.54A111.46,111.46,0,0,0,28.61,60.32,8,8,0,0,0,35.71,72Zm186.1,103.94A16,16,0,0,1,208,200H167.2a40,40,0,0,1-78.4,0H48a16,16,0,0,1-13.79-24.06C43.22,160.39,48,138.28,48,112a80,80,0,0,1,160,0C208,138.27,212.78,160.38,221.81,175.94ZM150.62,200H105.38a24,24,0,0,0,45.24,0Z`}))],[`regular`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M224,71.1a8,8,0,0,1-10.78-3.42,94.13,94.13,0,0,0-33.46-36.91,8,8,0,1,1,8.54-13.54,111.46,111.46,0,0,1,39.12,43.09A8,8,0,0,1,224,71.1ZM35.71,72a8,8,0,0,0,7.1-4.32A94.13,94.13,0,0,1,76.27,30.77a8,8,0,1,0-8.54-13.54A111.46,111.46,0,0,0,28.61,60.32,8,8,0,0,0,35.71,72Zm186.1,103.94A16,16,0,0,1,208,200H167.2a40,40,0,0,1-78.4,0H48a16,16,0,0,1-13.79-24.06C43.22,160.39,48,138.28,48,112a80,80,0,0,1,160,0C208,138.27,212.78,160.38,221.81,175.94ZM150.62,200H105.38a24,24,0,0,0,45.24,0ZM208,184c-10.64-18.27-16-42.49-16-72a64,64,0,0,0-128,0c0,29.52-5.38,53.74-16,72Z`}))]]),X=Y.forwardRef((e,n)=>Y.createElement(t,{ref:n,...e,weights:ge}));X.displayName=`BellRingingIcon`;var _e=X,Z=r(),ve={granted:`success`,default:`neutral`,denied:`error`};function ye({children:e}){return(0,Z.jsxs)(`div`,{className:`flex items-start gap-2`,"data-testid":`notifications-note`,children:[(0,Z.jsx)(`span`,{className:`flex h-lh items-center text-kumo-subtle`,children:(0,Z.jsx)(f,{size:16})}),(0,Z.jsx)(p,{variant:`secondary`,size:`sm`,children:e})]})}function be(){let e=F(),t=k(),[n,r]=(0,Y.useState)(T),[a,s]=(0,Y.useState)(w),[c,l]=(0,Y.useState)(!1),u=a&&n===`granted`,d=async i=>{if(!i){C(!1),s(!1);return}if(n===`granted`){C(!0),s(!0);return}l(!0);try{let n=await window.Notification.requestPermission();r(n),C(n===`granted`),s(n===`granted`),n===`granted`&&t.success(e(`account.notifications.enabled`))}catch{r(T())}finally{l(!1)}};return(0,Z.jsx)(N,{id:`notifications`,title:e(`account.sections.notifications`),description:e(`account.notifications.description`),children:n===`unsupported`?(0,Z.jsx)(ye,{children:e(`account.notifications.unsupported`)}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`grid gap-1.5`,"data-browser-notifications":u?`on`:`off`,children:[(0,Z.jsx)(ee,{label:e(`account.notifications.switch`),checked:u,disabled:n===`denied`||c,onCheckedChange:e=>void d(e)}),(0,Z.jsx)(p,{variant:`secondary`,size:`sm`,children:e(`account.notifications.switchHint`)})]}),(0,Z.jsx)(`dl`,{className:`-my-3`,"data-permission":n,children:(0,Z.jsx)(P,{label:e(`account.notifications.permission`),hint:e(`account.notifications.permissionHints.${n}`),children:(0,Z.jsx)(i,{variant:ve[n],appearance:`dot`,children:e(`account.notifications.permissions.${n}`)})})}),n===`denied`&&(0,Z.jsx)(O,{variant:`secondary`,icon:(0,Z.jsx)(y,{weight:`fill`}),title:e(`account.notifications.deniedTitle`),description:e(`account.notifications.denied`)}),u&&(0,Z.jsx)(`div`,{children:(0,Z.jsx)(o,{variant:`secondary`,size:`sm`,icon:(0,Z.jsx)(_e,{}),onClick:()=>le(`cloudhal-test`,e(`account.notifications.testTitle`),e(`account.notifications.testBody`),()=>void 0),children:e(`account.notifications.test`)})})]})})}var Q=5,xe=[`profile`,`password`,`sessions`,`notifications`,`access`,`server`];function Se({me:e,pending:t}){let{t:n,locale:r}=ie(),i=s(),a=k(),u=c({queryKey:[`me`],queryFn:j.me}),d=e?.user.name??``,[f,g]=(0,Y.useState)(d),[_,v]=(0,Y.useState)(!1);(0,Y.useEffect)(()=>g(d),[d]);let y=f.trim()!==d,b=_?G(f):void 0,x=l({mutationFn:e=>L.updateName(e),onSuccess:async()=>{v(!1),await Promise.all([i.invalidateQueries({queryKey:[`auth-session`]}),i.invalidateQueries({queryKey:[`me`]})]),a.success(n(`account.profile.saved`))}}),S=()=>{v(!0),y&&!G(f)&&x.mutate(f.trim())},C=W(e?.user.createdAt);return(0,Z.jsx)(N,{id:`profile`,title:n(`account.sections.profile`),description:n(`account.profile.description`),footer:(0,Z.jsxs)(Z.Fragment,{children:[y&&(0,Z.jsx)(o,{variant:`ghost`,onClick:()=>{g(d),v(!1),x.reset()},disabled:x.isPending,children:n(`common.discard`)}),(0,Z.jsx)(o,{variant:`primary`,onClick:S,loading:x.isPending,disabled:!y||t,children:n(`common.saveChanges`)})]}),children:t||!e?(0,Z.jsxs)(`div`,{className:`grid gap-3`,role:`status`,children:[(0,Z.jsx)(`span`,{className:`sr-only`,children:n(`common.loading`)}),(0,Z.jsx)(m,{minWidth:30,maxWidth:45}),(0,Z.jsx)(m,{minWidth:60,maxWidth:80}),(0,Z.jsx)(m,{minWidth:60,maxWidth:80})]}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,Z.jsx)(se,{initials:ue(e.user.name,e.user.email),size:`lg`}),(0,Z.jsxs)(`div`,{className:`grid min-w-0 gap-0.5`,children:[(0,Z.jsx)(p,{bold:!0,truncate:!0,as:`span`,children:e.user.name||e.user.email}),(0,Z.jsx)(p,{variant:`secondary`,size:`sm`,truncate:!0,as:`span`,children:e.user.email}),C&&(0,Z.jsx)(p,{variant:`secondary`,size:`sm`,as:`span`,children:n(`account.profile.memberSince`,{date:re(r,C,{dateStyle:`long`})})})]})]}),x.error&&(0,Z.jsx)(O,{variant:`error`,size:`sm`,icon:(0,Z.jsx)(D,{weight:`fill`}),title:n(`account.profile.failed`),description:ae(n,x.error)}),(0,Z.jsx)(`div`,{className:`@container`,children:(0,Z.jsxs)(`div`,{className:`grid items-start gap-5 @lg:grid-cols-2`,children:[(0,Z.jsx)(A,{className:`w-full`,label:n(`account.profile.name`),description:n(`account.profile.nameHint`),value:f,onValueChange:g,autoComplete:`name`,maxLength:250,error:b?n(`account.profile.errors.${b}`,{max:200}):void 0,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),S())}}),(0,Z.jsx)(A,{className:`w-full text-kumo-subtle`,label:n(`account.profile.email`),description:n(`account.profile.emailHint`),value:e.user.email,type:`email`,readOnly:!0})]})}),(0,Z.jsxs)(`dl`,{className:`-mb-3 border-kumo-hairline border-t`,children:[(0,Z.jsx)(P,{label:n(`account.profile.actorId`),hint:n(`account.profile.actorIdHint`),children:u.data?(0,Z.jsx)(h,{children:u.data.actor.id}):(0,Z.jsx)(m,{minWidth:40,maxWidth:60})}),u.data?.role&&(0,Z.jsx)(P,{label:n(`account.profile.role`),hint:n(`account.profile.roleHint`),children:(0,Z.jsx)(fe,{value:u.data.role})})]})]})})}var Ce={current:``,next:``,confirm:``};function we(e,t){let n={"current:required":`account.password.errors.currentRequired`,"current:wrong":`account.password.errors.currentWrong`,"next:required":`account.password.errors.newRequired`,"next:tooShort":`account.password.errors.tooShort`,"next:tooLong":`account.password.errors.tooLong`,"next:same":`account.password.errors.same`,"confirm:required":`account.password.errors.confirmRequired`,"confirm:mismatch":`account.password.errors.mismatch`},r=r=>{let i=t[r],a=i?n[`${r}:${i}`]:void 0;return a?e(a,{min:8,max:128}):void 0};return{current:r(`current`),next:r(`next`),confirm:r(`confirm`)}}function Te(){let e=F(),t=s(),n=k(),[r,i]=(0,Y.useState)(Ce),[a,c]=(0,Y.useState)(!0),[u,d]=(0,Y.useState)(!1),[f,m]=(0,Y.useState)({}),h=l({mutationFn:()=>L.changePassword({currentPassword:r.current,newPassword:r.next,revokeOtherSessions:a}),onSuccess:async()=>{i(Ce),d(!1),await t.invalidateQueries({queryKey:[`auth-sessions`]}),n.success(e(`account.password.changed`),a?e(`account.password.changedOthers`):void 0)},onError:e=>{let t=K(e instanceof R?e.code:void 0);t&&m(t)}}),g=we(e,{...u?q(r):{},...f}),_=e=>t=>{i(n=>({...n,[e]:t})),m(t=>({...t,[e]:void 0}))},y=()=>{d(!0),m({}),!(he(q(r))||h.isPending)&&h.mutate()},b=h.error&&!K(h.error instanceof R?h.error.code:void 0);return(0,Z.jsxs)(N,{id:`password`,title:e(`account.sections.password`),description:e(`account.password.description`),footer:(0,Z.jsx)(o,{variant:`primary`,onClick:y,loading:h.isPending,children:e(`account.password.submit`)}),children:[b&&(0,Z.jsx)(O,{variant:`error`,size:`sm`,icon:(0,Z.jsx)(D,{weight:`fill`}),title:e(`account.password.failed`),description:ae(e,h.error)}),(0,Z.jsx)(`div`,{className:`@container`,children:(0,Z.jsxs)(`div`,{className:`grid items-start gap-5 @lg:grid-cols-2`,children:[(0,Z.jsx)(U,{label:e(`account.password.current`),value:r.current,onValueChange:_(`current`),error:g.current,autoComplete:`current-password`,onEnter:y}),(0,Z.jsx)(`div`,{className:`@lg:col-start-1`,children:(0,Z.jsx)(U,{label:e(`account.password.new`),description:e(`account.password.newHint`,{min:8}),value:r.next,onValueChange:_(`next`),error:g.next,autoComplete:`new-password`,onEnter:y})}),(0,Z.jsx)(U,{label:e(`account.password.confirm`),description:e(`account.password.confirmHint`),value:r.confirm,onValueChange:_(`confirm`),error:g.confirm,autoComplete:`new-password`,onEnter:y})]})}),(0,Z.jsxs)(`div`,{className:`grid gap-1`,children:[(0,Z.jsx)(v,{checked:a,onCheckedChange:e=>c(e===!0),label:e(`account.password.signOutOthers`)}),(0,Z.jsx)(`span`,{className:`ps-6`,children:(0,Z.jsx)(p,{variant:`secondary`,size:`sm`,children:e(`account.password.signOutOthersHint`)})})]})]})}var Ee={desktop:de,mobile:g,tablet:_,cli:E,unknown:b};function De(e,t){return t.browser&&t.os?e(`account.sessions.deviceOn`,{browser:t.browser,os:t.os}):t.browser??t.os??e(`account.sessions.unknownDevice`)}function Oe({currentToken:e}){let t=F(),n=s(),r=k(),m=u(),h=c({queryKey:[`auth-sessions`],queryFn:L.sessions,retry:(e,t)=>!B(t)&&e<1}),[g,_]=(0,Y.useState)(),[v,y]=(0,Y.useState)(!1),b=l({mutationFn:e=>L.revokeSession(e.token),onSuccess:async()=>{_(void 0),await n.invalidateQueries({queryKey:[`auth-sessions`]}),r.success(t(`account.sessions.revoked`))}}),x=l({mutationFn:L.revokeOtherSessions,onSuccess:async()=>{y(!1),await n.invalidateQueries({queryKey:[`auth-sessions`]}),r.success(t(`account.sessions.revokedOthers`))}}),C=me(h.data??[],e),[w,T]=(0,Y.useState)(!1),E=w?C:C.slice(0,Q),D=C.filter(t=>t.token!==e).length,A=B(h.error);return(0,Z.jsxs)(N,{id:`sessions`,title:t(`account.sections.sessions`),description:t(`account.sessions.description`),flush:!0,aside:h.data&&(0,Z.jsx)(i,{variant:`secondary`,children:t(`account.sessions.count`,{count:h.data.length})}),footer:(0,Z.jsxs)(Z.Fragment,{children:[C.length>Q&&(0,Z.jsx)(o,{variant:`ghost`,onClick:()=>T(e=>!e),children:w?t(`account.sessions.showFewer`):t(`account.sessions.showAll`,{count:C.length})}),(0,Z.jsx)(o,{variant:`secondary`,icon:(0,Z.jsx)(d,{icon:I}),disabled:D===0,onClick:()=>y(!0),children:t(`account.sessions.signOutOthers`)})]}),children:[A?(0,Z.jsx)(`div`,{className:`px-5 py-4`,children:(0,Z.jsx)(O,{variant:`secondary`,icon:(0,Z.jsx)(f,{weight:`fill`}),title:t(`account.sessions.staleTitle`),description:t(`account.sessions.staleDescription`),action:(0,Z.jsx)(O.Action,{variant:`secondary`,icon:(0,Z.jsx)(d,{icon:S}),onClick:async()=>{await ce.signOut(),await m({to:`/login`})},children:t(`account.sessions.signInAgain`)})})}):h.error?(0,Z.jsx)(`div`,{className:`px-5 py-4`,children:(0,Z.jsx)(V,{error:h.error,onRetry:()=>h.refetch(),retrying:h.isFetching})}):(0,Z.jsxs)(M,{children:[(0,Z.jsx)(M.Header,{children:(0,Z.jsxs)(M.Row,{children:[(0,Z.jsx)(M.Head,{children:t(`account.sessions.columns.device`)}),(0,Z.jsx)(M.Head,{children:t(`account.sessions.columns.ip`)}),(0,Z.jsx)(M.Head,{children:t(`account.sessions.columns.lastActive`)}),(0,Z.jsx)(M.Head,{children:t(`account.sessions.columns.signedIn`)}),(0,Z.jsx)(M.Head,{sticky:`right`})]})}),h.isPending?(0,Z.jsx)(pe,{columns:5,rows:2}):(0,Z.jsxs)(M.Body,{children:[E.map(n=>{let r=J(n.userAgent),s=Ee[r.kind],c=n.token===e,l=De(t,r),u=W(n.updatedAt),f=W(n.createdAt);return(0,Z.jsxs)(M.Row,{"data-session-id":n.id,"data-current":c||void 0,children:[(0,Z.jsx)(M.Cell,{className:`whitespace-nowrap`,children:(0,Z.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,Z.jsx)(s,{size:16,className:`shrink-0 text-kumo-subtle`}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(a,{content:n.userAgent??t(`account.sessions.unknownDevice`),children:(0,Z.jsx)(p,{bold:!0,as:`span`,children:l})}),c&&(0,Z.jsx)(i,{variant:`info`,children:t(`account.sessions.current`)})]})]})}),(0,Z.jsx)(M.Cell,{className:`whitespace-nowrap`,children:n.ipAddress?(0,Z.jsx)(p,{variant:`mono-secondary`,as:`span`,children:n.ipAddress}):(0,Z.jsx)(p,{variant:`secondary`,as:`span`,children:t(`account.sessions.unknownIp`)})}),(0,Z.jsx)(M.Cell,{className:`whitespace-nowrap`,children:u&&(0,Z.jsx)(z,{iso:u})}),(0,Z.jsx)(M.Cell,{className:`whitespace-nowrap`,children:f&&(0,Z.jsx)(z,{iso:f})}),(0,Z.jsx)(M.Cell,{sticky:`right`,className:`text-end`,children:!c&&(0,Z.jsx)(o,{variant:`ghost`,size:`sm`,icon:(0,Z.jsx)(d,{icon:I}),"aria-label":t(`account.sessions.revokeLabel`,{device:l}),onClick:()=>_(n),children:t(`account.sessions.revoke`)})})]},n.id)}),D===0&&(0,Z.jsx)(M.Row,{children:(0,Z.jsx)(M.Cell,{colSpan:5,children:(0,Z.jsx)(p,{variant:`secondary`,size:`sm`,children:t(`account.sessions.onlyThis`)})})})]})]}),(0,Z.jsx)(H,{open:g!==void 0,onOpenChange:e=>{e||(_(void 0),b.reset())},title:t(`account.sessions.revokeTitle`),description:t(`account.sessions.revokeDescription`,{device:g?(e=>De(t,J(e.userAgent)))(g):``}),detail:g?.ipAddress??void 0,confirmLabel:t(`account.sessions.revoke`),busy:b.isPending,error:b.error,onConfirm:()=>g&&b.mutate(g)}),(0,Z.jsx)(H,{open:v,onOpenChange:e=>{y(e),e||x.reset()},title:t(`account.sessions.revokeOthersTitle`),description:t(`account.sessions.revokeOthersDescription`),confirmLabel:t(`account.sessions.signOutOthers`),busy:x.isPending,error:x.error,onConfirm:()=>x.mutate()})]})}var ke={"first-user":`success`,closed:`success`,open:`warning`,unknown:`neutral`},Ae=[`members`,`mcp`,`agentKeys`,`activity`,`previewLinks`,`deployTransfer`];function $(){let e=F();return(0,Z.jsxs)(`div`,{className:`grid gap-3`,role:`status`,children:[(0,Z.jsx)(`span`,{className:`sr-only`,children:e(`common.loading`)}),(0,Z.jsx)(m,{minWidth:40,maxWidth:60}),(0,Z.jsx)(m,{minWidth:70,maxWidth:90})]})}function je({children:e}){return(0,Z.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,Z.jsx)(`span`,{className:`flex h-lh items-center text-kumo-subtle`,children:(0,Z.jsx)(f,{size:16})}),(0,Z.jsx)(p,{variant:`secondary`,size:`sm`,children:e})]})}function Me({instance:e,pending:t,error:n,onRetry:r}){let a=F(),o=e?.signUp;return(0,Z.jsxs)(N,{id:`access`,title:a(`account.sections.access`),description:a(`account.access.description`),children:[(0,Z.jsx)(V,{error:n,onRetry:r}),t?(0,Z.jsx)($,{}):o&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`dl`,{className:`-my-3`,"data-sign-up":o,children:(0,Z.jsx)(P,{label:a(`account.access.signUp`),hint:a(`account.access.explanations.${o}`),children:(0,Z.jsx)(i,{variant:ke[o],appearance:`dot`,children:a(`account.access.policies.${o}`)})})}),o===`open`&&(0,Z.jsx)(O,{variant:`alert`,icon:(0,Z.jsx)(x,{weight:`fill`}),title:a(`account.access.openWarningTitle`),description:a(`account.access.openWarning`)}),(0,Z.jsx)(je,{children:a(`account.access.howToChange`)})]})]})}function Ne({instance:e,pending:t}){let n=F();return(0,Z.jsx)(N,{id:`server`,title:n(`account.sections.server`),description:n(`account.access.serverDescription`),children:t?(0,Z.jsx)($,{}):e&&(0,Z.jsx)(`dl`,{className:`-my-3 divide-y divide-kumo-hairline`,children:Ae.map(t=>(0,Z.jsx)(P,{label:n(`account.access.features.${t}`),hint:n(`account.access.featureHints.${t}`),children:(0,Z.jsx)(`span`,{"data-feature":t,"data-enabled":e.features[t],children:e.features[t]?(0,Z.jsx)(i,{variant:`success`,appearance:`dot`,children:n(`common.on`)}):(0,Z.jsx)(i,{variant:`neutral`,appearance:`dot`,children:n(`common.off`)})})},t))})})}function Pe(){let e=F(),t=c({queryKey:[`auth-session`],queryFn:L.current}),n=c({queryKey:[`instance`],queryFn:j.instance});return(0,Z.jsxs)(oe,{crumbs:(0,Z.jsx)(te,{trail:[{label:e(`pageHeaders.account.title`)}]}),title:e(`pageHeaders.account.title`),description:e(`pageHeaders.account.description`),children:[(0,Z.jsx)(V,{error:t.error,onRetry:()=>t.refetch(),retrying:t.isFetching}),(0,Z.jsxs)(ne,{title:e(`common.onThisPage`),sections:xe.map(t=>({id:t,label:e(`account.sections.${t}`)})),children:[(0,Z.jsx)(Se,{me:t.data,pending:t.isPending}),(0,Z.jsx)(Te,{}),(0,Z.jsx)(Oe,{currentToken:t.data?.session.token}),(0,Z.jsx)(be,{}),(0,Z.jsx)(Me,{instance:n.data,pending:n.isPending,error:n.error,onRetry:()=>n.refetch()}),(0,Z.jsx)(Ne,{instance:n.data,pending:n.isPending})]})]})}export{Pe as AccountPage};
|
|
2
|
+
//# sourceMappingURL=AccountPage-DhdHmvOg.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{t}from"./IconBase.es-BZDpYMnj.js";import{i as n,r}from"./react-CDCuUAOg.js";import{n as i,r as a,t as o}from"./button-pa1bq9b85hawg41a-CmOCuL-1.js";import{t as s}from"./link-cqyfjezntvr53rh7-3eczR57J.js";import{d as c,m as l}from"./tanstack-BRxyYm4G.js";import{t as u}from"./DirectionalIcon-UZJFXGY_.js";import{n as d}from"./CaretRight.es-D_coqYai.js";import{m as f,n as p}from"./skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js";import{t as m}from"./inline-copy-text-gbd7jhwpor27l4rq-BGh10UAA.js";import{t as h}from"./Funnel.es-L1Sdi8-A.js";import{t as g}from"./GitDiff.es-fB1csyEF.js";import{t as _}from"./HandPalm.es-CB5OlkOg.js";import{t as ee}from"./Key.es-DE551dL3.js";import{t as v}from"./Lightning.es-D0IF-5OW.js";import{a as y}from"./AgentModes-D8HMrK7G.js";import{t as b}from"./Prohibit.es-CAvPLn3v.js";import{t as x}from"./banner-msnmqm7of2lck01x-D6cADEpP.js";import{r as te,s as ne}from"./useMe-DcrRDsez.js";import{t as S}from"./toolbar-h213d8e22yjh5cwq-DxfVlUi9.js";import{c as C,p as re,t as w}from"./api-Cqqt5jTd.js";import{t as T}from"./select-futox5zqr3r80y9a-FumEl51u.js";import{t as E}from"./table-yf8ul2e5nbemioi1-KGRDj7XO.js";import{n as D}from"./Crumbs-BVqhFD_U.js";import{t as O}from"./empty-hkvg3is3uc6dj1at-Cen9KfIy.js";import{t as k}from"./layer-dialog-j5ywmzs46ccg6oqy-CySAcQJW.js";import{c as A,u as j}from"./i18n-Dz1LE8DB.js";import{c as ie,u as ae}from"./agents-DGWn1WXw.js";import{a as M,i as N,l as oe,m as se,o as ce,p as P,s as F}from"./activity-C0we9-m8.js";import{C as I,I as L,S as R,it as z,u as B,x as V}from"./index-DMKFLgkG.js";import{t as H}from"./TableSkeleton-DWrf88UN.js";import{a as U,i as W,n as G,o as K,r as le,t as q}from"./Audit-BsehRESJ.js";import{t as ue}from"./ListToolbar-DPtPcPWp.js";var J=e(n(),1),de=new Map([[`bold`,J.createElement(J.Fragment,null,J.createElement(`path`,{d:`M228,40V76a12,12,0,0,1-24,0V52H180a12,12,0,0,1,0-24h36A12,12,0,0,1,228,40ZM216,168a12,12,0,0,0-12,12v24H180a12,12,0,0,0,0,24h36a12,12,0,0,0,12-12V180A12,12,0,0,0,216,168ZM76,204H52V180a12,12,0,0,0-24,0v36a12,12,0,0,0,12,12H76a12,12,0,0,0,0-24ZM40,88A12,12,0,0,0,52,76V52H76a12,12,0,0,0,0-24H40A12,12,0,0,0,28,40V76A12,12,0,0,0,40,88Zm136,92a12,12,0,0,1-9.6-4.79,48,48,0,0,0-76.82,0,12,12,0,0,1-19.18-14.42,72.1,72.1,0,0,1,23.92-20.5,44,44,0,1,1,67.34,0,72.1,72.1,0,0,1,23.92,20.5A12,12,0,0,1,176,180Zm-48-48a20,20,0,1,0-20-20A20,20,0,0,0,128,132Z`}))],[`fill`,J.createElement(J.Fragment,null,J.createElement(`path`,{d:`M224,40V76a8,8,0,0,1-16,0V48H180a8,8,0,0,1,0-16h36A8,8,0,0,1,224,40Zm-8,132a8,8,0,0,0-8,8v28H180a8,8,0,0,0,0,16h36a8,8,0,0,0,8-8V180A8,8,0,0,0,216,172ZM76,208H48V180a8,8,0,0,0-16,0v36a8,8,0,0,0,8,8H76a8,8,0,0,0,0-16ZM40,84a8,8,0,0,0,8-8V48H76a8,8,0,0,0,0-16H40a8,8,0,0,0-8,8V76A8,8,0,0,0,40,84Zm61,57.51A67.94,67.94,0,0,0,73.6,163.19,8,8,0,0,0,80,176h96a8,8,0,0,0,6.4-12.81A67.94,67.94,0,0,0,155,141.51a40,40,0,1,0-53.94,0Z`}))],[`regular`,J.createElement(J.Fragment,null,J.createElement(`path`,{d:`M224,40V76a8,8,0,0,1-16,0V48H180a8,8,0,0,1,0-16h36A8,8,0,0,1,224,40Zm-8,132a8,8,0,0,0-8,8v28H180a8,8,0,0,0,0,16h36a8,8,0,0,0,8-8V180A8,8,0,0,0,216,172ZM76,208H48V180a8,8,0,0,0-16,0v36a8,8,0,0,0,8,8H76a8,8,0,0,0,0-16ZM40,84a8,8,0,0,0,8-8V48H76a8,8,0,0,0,0-16H40a8,8,0,0,0-8,8V76A8,8,0,0,0,40,84Zm136,92a8,8,0,0,1-6.41-3.19,52,52,0,0,0-83.2,0,8,8,0,1,1-12.8-9.62A67.94,67.94,0,0,1,101,141.51a40,40,0,1,1,53.94,0,67.94,67.94,0,0,1,27.43,21.68A8,8,0,0,1,176,176Zm-48-40a24,24,0,1,0-24-24A24,24,0,0,0,128,136Z`}))]]),Y=J.forwardRef((e,n)=>J.createElement(t,{ref:n,...e,weights:de}));Y.displayName=`UserFocusIcon`;var fe=Y,X=r();function Z({label:e,children:t}){return(0,X.jsxs)(`div`,{className:`grid gap-1 py-2.5 sm:grid-cols-[9rem_minmax(0,1fr)] sm:gap-4`,children:[(0,X.jsx)(`dt`,{children:(0,X.jsx)(p,{variant:`secondary`,size:`sm`,as:`span`,children:e})}),(0,X.jsx)(`dd`,{className:`min-w-0`,children:t})]})}function pe({siteId:e,row:t,onOpenChange:n}){let{t:r,locale:a}=A(),o=(0,J.useRef)(t);t&&(o.current=t);let s=t??o.current,c=K(),l=s?F(s.input):void 0,u=s?ae(s):!1,d=s?ie(s):void 0,f=s?se(s):void 0;return(0,X.jsx)(k.Root,{open:t!==void 0,onOpenChange:n,children:(0,X.jsxs)(k.Content,{size:`lg`,closeLabel:r(`common.close`),children:[(0,X.jsx)(k.Title,{children:s?c(s.tool):``}),(0,X.jsx)(k.Description,{children:s?`${r(`activity.detail.event`,{id:s.id})} · ${P(s.at,a)}`:``}),(0,X.jsx)(k.Body,{children:s&&(0,X.jsxs)(`div`,{className:`grid gap-5`,"data-testid":`activity-detail`,children:[u&&(0,X.jsx)(x,{variant:`alert`,icon:(0,X.jsx)(v,{weight:`fill`}),title:r(`activity.autoApprovedTitle`),description:d===void 0?r(`activity.autoApprovedDescription`):r(`activity.autoApprovedDescriptionCount`,{count:d})}),s.reason&&s.decision!==`allow`&&(0,X.jsx)(x,{variant:s.decision===`deny`?`error`:`alert`,icon:s.decision===`deny`?(0,X.jsx)(b,{weight:`fill`}):(0,X.jsx)(_,{weight:`fill`}),title:r(`activity.decisions.${s.decision}`),description:s.reason}),(0,X.jsxs)(`dl`,{className:`grid divide-y divide-kumo-hairline`,children:[(0,X.jsx)(Z,{label:r(`activity.detail.when`),children:(0,X.jsx)(p,{as:`span`,children:M(s.at,a)})}),(0,X.jsx)(Z,{label:r(`activity.detail.actor`),children:(0,X.jsxs)(`div`,{className:`grid gap-1`,children:[(0,X.jsx)(q,{actor:s.actor}),(0,X.jsx)(m,{children:s.actor.id})]})}),(0,X.jsx)(Z,{label:r(`activity.columns.tool`),children:(0,X.jsx)(p,{variant:`mono`,as:`span`,children:s.tool})}),s.mode&&s.actor.kind===`agent`&&(0,X.jsx)(Z,{label:r(`activity.detail.mode`),children:(0,X.jsxs)(`div`,{className:`grid gap-1`,children:[(0,X.jsx)(y,{mode:s.mode,elevation:s.elevation}),(0,X.jsx)(p,{variant:`secondary`,size:`sm`,children:r(`activity.detail.modeHint`)})]})}),s.elevation&&s.actor.kind===`agent`&&(0,X.jsx)(Z,{label:r(`activity.detail.elevation`),children:(0,X.jsxs)(`div`,{className:`grid gap-1`,"data-testid":`activity-elevation`,children:[(0,X.jsx)(p,{as:`span`,children:r(`agents.elevation.marker`,{from:r(`agents.modes.names.${s.elevation.from}`),time:M(s.elevation.until,a)})}),(0,X.jsx)(p,{variant:`secondary`,size:`sm`,children:r(`activity.detail.elevationHint`,{from:r(`agents.modes.names.${s.elevation.from}`)})})]})}),s.tool===`agent-key.elevate`&&s.elevation&&s.mode&&(0,X.jsx)(Z,{label:r(`activity.detail.elevationGranted`),children:(0,X.jsxs)(`div`,{className:`grid gap-1.5`,"data-testid":`activity-elevation-grant`,children:[(0,X.jsx)(le,{row:s}),(0,X.jsx)(p,{as:`span`,children:r(`activity.detail.elevationGrantedUntil`,{mode:r(`agents.modes.names.${s.mode}`),time:M(s.elevation.until,a),from:r(`agents.modes.names.${s.elevation.from}`)})}),f&&(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,X.jsx)(p,{variant:`secondary`,size:`sm`,as:`span`,children:r(`activity.detail.requestedByAgent`)}),(0,X.jsx)(m,{children:f})]})]})}),(0,X.jsx)(Z,{label:r(`activity.detail.decision`),children:(0,X.jsx)(G,{row:s})}),s.reason&&s.decision===`allow`&&!u&&(0,X.jsx)(Z,{label:r(`activity.detail.reason`),children:(0,X.jsx)(p,{as:`span`,children:s.reason})}),(0,X.jsx)(Z,{label:r(`activity.detail.outcome`),children:(0,X.jsx)(W,{outcome:s.outcome})}),s.skill&&(0,X.jsx)(Z,{label:r(`activity.detail.skill`),children:(0,X.jsx)(p,{variant:`mono`,as:`span`,children:s.skill})}),s.durationMs!==void 0&&(0,X.jsx)(Z,{label:r(`activity.detail.duration`),children:(0,X.jsx)(p,{as:`span`,children:r(`activity.detail.durationValue`,{ms:s.durationMs})})}),s.snapshotId&&e&&(0,X.jsx)(Z,{label:r(`activity.detail.snapshot`),children:(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,X.jsx)(m,{children:s.snapshotId}),(0,X.jsx)(i,{href:`/sites/${e}/snapshots?diff=${s.snapshotId}`,variant:`secondary`,size:`sm`,icon:g,onClick:()=>n(!1),children:r(`activity.detail.viewChanges`)})]})})]}),(0,X.jsxs)(`div`,{className:`grid min-w-0 gap-2`,children:[(0,X.jsx)(p,{bold:!0,as:`span`,children:r(`activity.detail.input`)}),l?(0,X.jsx)(`div`,{className:`max-h-80 min-w-0 overflow-auto`,children:(0,X.jsx)(R,{code:l,lang:`json`,showCopyButton:!0})}):(0,X.jsx)(p,{variant:`secondary`,children:r(`activity.detail.noInput`)})]})]})})]})})}var me=50,he=8;function Q(e,t=me){let n=typeof e==`string`?{kind:`site`,siteId:e}:e;return l({queryKey:[`activity`,n.kind===`site`?n.siteId:`deployment`,t],queryFn:({pageParam:e})=>n.kind===`site`?w.activity.list(n.siteId,{limit:t,before:e}):w.activity.deployment({limit:t,before:e}),initialPageParam:null,getNextPageParam:e=>e.nextBefore??void 0,retry:(e,t)=>!C(t)&&e<1})}function ge(){let e=j(),{siteId:t}=c({from:`/sites/$siteId`}),n=C(Q(t).error),r=te(`activity.all`);return(0,X.jsx)(I,{crumbs:(0,X.jsx)(D,{siteId:t,trail:[{label:e(`pageHeaders.activity.title`)}]}),icon:(0,X.jsx)(z,{size:24}),title:e(`pageHeaders.activity.title`),description:e(`pageHeaders.activity.description`),children:n?(0,X.jsx)(x,{variant:`secondary`,icon:(0,X.jsx)(f,{weight:`fill`}),title:e(`activity.notEnabledTitle`),description:e(`activity.notEnabledDescription`)}):(0,X.jsxs)(X.Fragment,{children:[!r&&(0,X.jsx)(x,{variant:`secondary`,icon:(0,X.jsx)(fe,{weight:`fill`}),title:e(`activity.ownOnlyTitle`),description:e(`activity.ownOnly`)}),(0,X.jsx)($,{source:{kind:`site`,siteId:t}})]})})}function $({source:e}){let t=j(),n=K(),r=Q(e),c=ne(),l=e.kind===`site`?e.siteId:void 0,[f,m]=(0,J.useState)(N),[g,_]=(0,J.useState)(),v=(0,J.useMemo)(()=>r.data?.pages.flatMap(e=>e.items)??[],[r.data]),y=(0,J.useMemo)(()=>ce(v,f,n),[v,f,n]),b=oe(f),x=r.isSuccess&&v.length===0;return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(V,{error:r.error,onRetry:()=>r.refetch(),retrying:r.isRefetching}),(0,X.jsx)(ue,{search:f.search,onSearch:e=>m(t=>({...t,search:e})),placeholder:t(`activity.search`),actions:(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-2`,children:[b&&(0,X.jsx)(o,{variant:`ghost`,onClick:()=>m(N),children:t(`activity.clearFilters`)}),(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsxs)(S,{"aria-label":t(`activity.filters.label`),children:[(0,X.jsx)(T,{"aria-label":t(`activity.filters.kind`),value:f.kind,onValueChange:e=>m(t=>({...t,kind:e})),items:{all:t(`activity.filters.allKinds`),agent:t(`activity.kinds.agent`),human:t(`activity.kinds.human`),system:t(`activity.kinds.system`)},render:(0,X.jsx)(S.Button,{})}),(0,X.jsx)(T,{"aria-label":t(`activity.filters.decision`),value:f.decision,onValueChange:e=>m(t=>({...t,decision:e})),items:{all:t(`activity.filters.allDecisions`),allow:t(`activity.decisions.allow`),"approval-required":t(`activity.decisions.approval-required`),deny:t(`activity.decisions.deny`)},render:(0,X.jsx)(S.Button,{})})]}),(0,X.jsx)(a,{variant:`secondary`,"aria-label":t(`activity.refresh`),loading:r.isRefetching&&!r.isFetchingNextPage,onClick:()=>r.refetch()})]})]})}),x&&e.kind===`deployment`?(0,X.jsx)(O,{icon:(0,X.jsx)(L,{size:48,className:`text-kumo-inactive`}),title:t(`members.activity.empty`),description:t(`members.activity.emptyDescription`)}):x?(0,X.jsx)(O,{icon:(0,X.jsx)(z,{size:48,className:`text-kumo-inactive`}),title:t(`activity.empty`),description:t(`activity.emptyDescription`),commandLine:`cloudhal mcp`,contents:(0,X.jsx)(i,{href:`/agents`,variant:`secondary`,icon:ee,children:t(`commands.createAgentKey`)})}):r.isSuccess&&y.length===0?(0,X.jsx)(O,{icon:(0,X.jsx)(h,{size:48,className:`text-kumo-inactive`}),title:t(`activity.noMatches`),description:t(`activity.noMatchesDescription`),contents:(0,X.jsx)(o,{variant:`secondary`,onClick:()=>m(N),children:t(`activity.clearFilters`)})}):(0,X.jsx)(re,{className:`overflow-x-auto p-0`,children:(0,X.jsxs)(E,{children:[(0,X.jsx)(E.Header,{children:(0,X.jsxs)(E.Row,{children:[(0,X.jsx)(E.Head,{children:t(`activity.columns.tool`)}),(0,X.jsx)(E.Head,{children:t(`activity.columns.decision`)}),(0,X.jsx)(E.Head,{children:t(`activity.columns.actor`)}),(0,X.jsx)(E.Head,{children:t(`activity.columns.when`)}),(0,X.jsx)(E.Head,{children:t(`activity.columns.outcome`)}),l&&(0,X.jsx)(E.Head,{children:t(`activity.columns.skill`)}),l&&(0,X.jsx)(E.Head,{children:t(`activity.columns.snapshot`)}),(0,X.jsx)(E.Head,{sticky:`right`})]})}),r.isPending?(0,X.jsx)(H,{columns:l?he:6,rows:6}):(0,X.jsx)(E.Body,{children:y.map(e=>(0,X.jsxs)(E.Row,{"data-event-id":e.id,"data-decision":e.decision,onClick:()=>_(e),className:`cursor-pointer hover:bg-kumo-tint`,children:[(0,X.jsx)(E.Cell,{className:`whitespace-nowrap`,children:(0,X.jsx)(U,{tool:e.tool,row:e})}),(0,X.jsx)(E.Cell,{className:`whitespace-nowrap`,children:(0,X.jsx)(G,{row:e})}),(0,X.jsx)(E.Cell,{className:`min-w-56 max-w-80`,children:(0,X.jsx)(q,{actor:e.actor,mode:e.mode,elevation:e.elevation,role:c.get(e.actor.id)})}),(0,X.jsx)(E.Cell,{className:`whitespace-nowrap`,children:(0,X.jsx)(B,{iso:e.at})}),(0,X.jsx)(E.Cell,{className:`whitespace-nowrap`,children:(0,X.jsx)(W,{outcome:e.outcome})}),l&&(0,X.jsx)(E.Cell,{className:`whitespace-nowrap`,children:e.skill?(0,X.jsx)(p,{variant:`mono-secondary`,as:`span`,children:e.skill}):(0,X.jsx)(p,{variant:`secondary`,as:`span`,children:`—`})}),l&&(0,X.jsx)(E.Cell,{className:`whitespace-nowrap`,children:e.snapshotId?(0,X.jsx)(`span`,{onClick:e=>e.stopPropagation(),children:(0,X.jsx)(s,{href:`/sites/${l}/snapshots?diff=${e.snapshotId}`,variant:`inline`,children:(0,X.jsx)(`span`,{className:`font-mono text-[0.9em]`,children:e.snapshotId})})}):(0,X.jsx)(p,{variant:`secondary`,as:`span`,children:`—`})}),(0,X.jsx)(E.Cell,{sticky:`right`,className:`text-end`,children:(0,X.jsx)(o,{variant:`ghost`,size:`xs`,shape:`square`,icon:(0,X.jsx)(u,{icon:d}),"aria-label":`${t(`activity.viewEvent`)}: ${n(e.tool)}`,onClick:t=>{t.stopPropagation(),_(e)}})})]},e.id))})]})}),!x&&r.isSuccess&&(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,X.jsx)(p,{variant:`secondary`,size:`sm`,children:t(`activity.showing`,{shown:y.length,loaded:v.length})}),r.hasNextPage?(0,X.jsx)(o,{variant:`secondary`,onClick:()=>r.fetchNextPage(),loading:r.isFetchingNextPage,children:t(`activity.loadMore`)}):(0,X.jsx)(p,{variant:`secondary`,size:`sm`,children:t(`activity.allLoaded`)})]}),(0,X.jsx)(pe,{siteId:l,row:g,onOpenChange:e=>!e&&_(void 0)})]})}export{$ as ActivityList,ge as ActivityPage,Q as useActivity};
|
|
2
|
-
//# sourceMappingURL=ActivityPage-
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{t}from"./IconBase.es-BZDpYMnj.js";import{i as n,r}from"./react-CDCuUAOg.js";import{n as i,r as a,t as o}from"./button-pa1bq9b85hawg41a-CmOCuL-1.js";import{t as s}from"./link-cqyfjezntvr53rh7-3eczR57J.js";import{d as c,m as l}from"./tanstack-BRxyYm4G.js";import{t as u}from"./DirectionalIcon-UZJFXGY_.js";import{n as d}from"./CaretRight.es-D_coqYai.js";import{m as f,n as p}from"./skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js";import{t as m}from"./inline-copy-text-gbd7jhwpor27l4rq-BGh10UAA.js";import{t as h}from"./Funnel.es-L1Sdi8-A.js";import{t as g}from"./GitDiff.es-fB1csyEF.js";import{t as _}from"./HandPalm.es-CB5OlkOg.js";import{t as ee}from"./Key.es-DE551dL3.js";import{t as v}from"./Lightning.es-D0IF-5OW.js";import{a as y}from"./AgentModes-QhxdiMYV.js";import{t as b}from"./Prohibit.es-CAvPLn3v.js";import{t as x}from"./banner-msnmqm7of2lck01x-D6cADEpP.js";import{c as te,i as ne}from"./useMe-D5W0xdO9.js";import{t as S}from"./toolbar-h213d8e22yjh5cwq-DxfVlUi9.js";import{c as C,h as re,t as w}from"./api-Mdeo6gzg.js";import{t as T}from"./select-futox5zqr3r80y9a-FumEl51u.js";import{t as E}from"./table-yf8ul2e5nbemioi1-KGRDj7XO.js";import{n as D}from"./Crumbs-CJ6UlbPv.js";import{t as O}from"./empty-hkvg3is3uc6dj1at-Cen9KfIy.js";import{t as k}from"./layer-dialog-j5ywmzs46ccg6oqy-DLBR2ljP.js";import{c as A,u as j}from"./i18n-CdW50___.js";import{c as ie,u as ae}from"./agents-DGWn1WXw.js";import{a as M,i as N,l as oe,m as se,o as ce,p as P,s as F}from"./activity-C0we9-m8.js";import{C as I,I as L,S as R,it as z,u as B,x as V}from"./index-DYyDeKnk.js";import{t as H}from"./TableSkeleton-DWrf88UN.js";import{a as U,i as W,n as G,o as K,r as le,t as q}from"./Audit-Qsn-EQ3C.js";import{t as ue}from"./ListToolbar-BG__bomj.js";var J=e(n(),1),de=new Map([[`bold`,J.createElement(J.Fragment,null,J.createElement(`path`,{d:`M228,40V76a12,12,0,0,1-24,0V52H180a12,12,0,0,1,0-24h36A12,12,0,0,1,228,40ZM216,168a12,12,0,0,0-12,12v24H180a12,12,0,0,0,0,24h36a12,12,0,0,0,12-12V180A12,12,0,0,0,216,168ZM76,204H52V180a12,12,0,0,0-24,0v36a12,12,0,0,0,12,12H76a12,12,0,0,0,0-24ZM40,88A12,12,0,0,0,52,76V52H76a12,12,0,0,0,0-24H40A12,12,0,0,0,28,40V76A12,12,0,0,0,40,88Zm136,92a12,12,0,0,1-9.6-4.79,48,48,0,0,0-76.82,0,12,12,0,0,1-19.18-14.42,72.1,72.1,0,0,1,23.92-20.5,44,44,0,1,1,67.34,0,72.1,72.1,0,0,1,23.92,20.5A12,12,0,0,1,176,180Zm-48-48a20,20,0,1,0-20-20A20,20,0,0,0,128,132Z`}))],[`fill`,J.createElement(J.Fragment,null,J.createElement(`path`,{d:`M224,40V76a8,8,0,0,1-16,0V48H180a8,8,0,0,1,0-16h36A8,8,0,0,1,224,40Zm-8,132a8,8,0,0,0-8,8v28H180a8,8,0,0,0,0,16h36a8,8,0,0,0,8-8V180A8,8,0,0,0,216,172ZM76,208H48V180a8,8,0,0,0-16,0v36a8,8,0,0,0,8,8H76a8,8,0,0,0,0-16ZM40,84a8,8,0,0,0,8-8V48H76a8,8,0,0,0,0-16H40a8,8,0,0,0-8,8V76A8,8,0,0,0,40,84Zm61,57.51A67.94,67.94,0,0,0,73.6,163.19,8,8,0,0,0,80,176h96a8,8,0,0,0,6.4-12.81A67.94,67.94,0,0,0,155,141.51a40,40,0,1,0-53.94,0Z`}))],[`regular`,J.createElement(J.Fragment,null,J.createElement(`path`,{d:`M224,40V76a8,8,0,0,1-16,0V48H180a8,8,0,0,1,0-16h36A8,8,0,0,1,224,40Zm-8,132a8,8,0,0,0-8,8v28H180a8,8,0,0,0,0,16h36a8,8,0,0,0,8-8V180A8,8,0,0,0,216,172ZM76,208H48V180a8,8,0,0,0-16,0v36a8,8,0,0,0,8,8H76a8,8,0,0,0,0-16ZM40,84a8,8,0,0,0,8-8V48H76a8,8,0,0,0,0-16H40a8,8,0,0,0-8,8V76A8,8,0,0,0,40,84Zm136,92a8,8,0,0,1-6.41-3.19,52,52,0,0,0-83.2,0,8,8,0,1,1-12.8-9.62A67.94,67.94,0,0,1,101,141.51a40,40,0,1,1,53.94,0,67.94,67.94,0,0,1,27.43,21.68A8,8,0,0,1,176,176Zm-48-40a24,24,0,1,0-24-24A24,24,0,0,0,128,136Z`}))]]),Y=J.forwardRef((e,n)=>J.createElement(t,{ref:n,...e,weights:de}));Y.displayName=`UserFocusIcon`;var fe=Y,X=r();function Z({label:e,children:t}){return(0,X.jsxs)(`div`,{className:`grid gap-1 py-2.5 sm:grid-cols-[9rem_minmax(0,1fr)] sm:gap-4`,children:[(0,X.jsx)(`dt`,{children:(0,X.jsx)(p,{variant:`secondary`,size:`sm`,as:`span`,children:e})}),(0,X.jsx)(`dd`,{className:`min-w-0`,children:t})]})}function pe({siteId:e,row:t,onOpenChange:n}){let{t:r,locale:a}=A(),o=(0,J.useRef)(t);t&&(o.current=t);let s=t??o.current,c=K(),l=s?F(s.input):void 0,u=s?ae(s):!1,d=s?ie(s):void 0,f=s?se(s):void 0;return(0,X.jsx)(k.Root,{open:t!==void 0,onOpenChange:n,children:(0,X.jsxs)(k.Content,{size:`lg`,closeLabel:r(`common.close`),children:[(0,X.jsx)(k.Title,{children:s?c(s.tool):``}),(0,X.jsx)(k.Description,{children:s?`${r(`activity.detail.event`,{id:s.id})} · ${P(s.at,a)}`:``}),(0,X.jsx)(k.Body,{children:s&&(0,X.jsxs)(`div`,{className:`grid gap-5`,"data-testid":`activity-detail`,children:[u&&(0,X.jsx)(x,{variant:`alert`,icon:(0,X.jsx)(v,{weight:`fill`}),title:r(`activity.autoApprovedTitle`),description:d===void 0?r(`activity.autoApprovedDescription`):r(`activity.autoApprovedDescriptionCount`,{count:d})}),s.reason&&s.decision!==`allow`&&(0,X.jsx)(x,{variant:s.decision===`deny`?`error`:`alert`,icon:s.decision===`deny`?(0,X.jsx)(b,{weight:`fill`}):(0,X.jsx)(_,{weight:`fill`}),title:r(`activity.decisions.${s.decision}`),description:s.reason}),(0,X.jsxs)(`dl`,{className:`grid divide-y divide-kumo-hairline`,children:[(0,X.jsx)(Z,{label:r(`activity.detail.when`),children:(0,X.jsx)(p,{as:`span`,children:M(s.at,a)})}),(0,X.jsx)(Z,{label:r(`activity.detail.actor`),children:(0,X.jsxs)(`div`,{className:`grid gap-1`,children:[(0,X.jsx)(q,{actor:s.actor}),(0,X.jsx)(m,{children:s.actor.id})]})}),(0,X.jsx)(Z,{label:r(`activity.columns.tool`),children:(0,X.jsx)(p,{variant:`mono`,as:`span`,children:s.tool})}),s.mode&&s.actor.kind===`agent`&&(0,X.jsx)(Z,{label:r(`activity.detail.mode`),children:(0,X.jsxs)(`div`,{className:`grid gap-1`,children:[(0,X.jsx)(y,{mode:s.mode,elevation:s.elevation}),(0,X.jsx)(p,{variant:`secondary`,size:`sm`,children:r(`activity.detail.modeHint`)})]})}),s.elevation&&s.actor.kind===`agent`&&(0,X.jsx)(Z,{label:r(`activity.detail.elevation`),children:(0,X.jsxs)(`div`,{className:`grid gap-1`,"data-testid":`activity-elevation`,children:[(0,X.jsx)(p,{as:`span`,children:r(`agents.elevation.marker`,{from:r(`agents.modes.names.${s.elevation.from}`),time:M(s.elevation.until,a)})}),(0,X.jsx)(p,{variant:`secondary`,size:`sm`,children:r(`activity.detail.elevationHint`,{from:r(`agents.modes.names.${s.elevation.from}`)})})]})}),s.tool===`agent-key.elevate`&&s.elevation&&s.mode&&(0,X.jsx)(Z,{label:r(`activity.detail.elevationGranted`),children:(0,X.jsxs)(`div`,{className:`grid gap-1.5`,"data-testid":`activity-elevation-grant`,children:[(0,X.jsx)(le,{row:s}),(0,X.jsx)(p,{as:`span`,children:r(`activity.detail.elevationGrantedUntil`,{mode:r(`agents.modes.names.${s.mode}`),time:M(s.elevation.until,a),from:r(`agents.modes.names.${s.elevation.from}`)})}),f&&(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,X.jsx)(p,{variant:`secondary`,size:`sm`,as:`span`,children:r(`activity.detail.requestedByAgent`)}),(0,X.jsx)(m,{children:f})]})]})}),(0,X.jsx)(Z,{label:r(`activity.detail.decision`),children:(0,X.jsx)(G,{row:s})}),s.reason&&s.decision===`allow`&&!u&&(0,X.jsx)(Z,{label:r(`activity.detail.reason`),children:(0,X.jsx)(p,{as:`span`,children:s.reason})}),(0,X.jsx)(Z,{label:r(`activity.detail.outcome`),children:(0,X.jsx)(W,{outcome:s.outcome})}),s.skill&&(0,X.jsx)(Z,{label:r(`activity.detail.skill`),children:(0,X.jsx)(p,{variant:`mono`,as:`span`,children:s.skill})}),s.durationMs!==void 0&&(0,X.jsx)(Z,{label:r(`activity.detail.duration`),children:(0,X.jsx)(p,{as:`span`,children:r(`activity.detail.durationValue`,{ms:s.durationMs})})}),s.snapshotId&&e&&(0,X.jsx)(Z,{label:r(`activity.detail.snapshot`),children:(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,X.jsx)(m,{children:s.snapshotId}),(0,X.jsx)(i,{href:`/sites/${e}/snapshots?diff=${s.snapshotId}`,variant:`secondary`,size:`sm`,icon:g,onClick:()=>n(!1),children:r(`activity.detail.viewChanges`)})]})})]}),(0,X.jsxs)(`div`,{className:`grid min-w-0 gap-2`,children:[(0,X.jsx)(p,{bold:!0,as:`span`,children:r(`activity.detail.input`)}),l?(0,X.jsx)(`div`,{className:`max-h-80 min-w-0 overflow-auto`,children:(0,X.jsx)(R,{code:l,lang:`json`,showCopyButton:!0})}):(0,X.jsx)(p,{variant:`secondary`,children:r(`activity.detail.noInput`)})]})]})})]})})}var me=50,he=8;function Q(e,t=me){let n=typeof e==`string`?{kind:`site`,siteId:e}:e;return l({queryKey:[`activity`,n.kind===`site`?n.siteId:`deployment`,t],queryFn:({pageParam:e})=>n.kind===`site`?w.activity.list(n.siteId,{limit:t,before:e}):w.activity.deployment({limit:t,before:e}),initialPageParam:null,getNextPageParam:e=>e.nextBefore??void 0,retry:(e,t)=>!C(t)&&e<1})}function ge(){let e=j(),{siteId:t}=c({from:`/sites/$siteId`}),n=C(Q(t).error),r=ne(`activity.all`);return(0,X.jsx)(I,{crumbs:(0,X.jsx)(D,{siteId:t,trail:[{label:e(`pageHeaders.activity.title`)}]}),icon:(0,X.jsx)(z,{size:24}),title:e(`pageHeaders.activity.title`),description:e(`pageHeaders.activity.description`),children:n?(0,X.jsx)(x,{variant:`secondary`,icon:(0,X.jsx)(f,{weight:`fill`}),title:e(`activity.notEnabledTitle`),description:e(`activity.notEnabledDescription`)}):(0,X.jsxs)(X.Fragment,{children:[!r&&(0,X.jsx)(x,{variant:`secondary`,icon:(0,X.jsx)(fe,{weight:`fill`}),title:e(`activity.ownOnlyTitle`),description:e(`activity.ownOnly`)}),(0,X.jsx)($,{source:{kind:`site`,siteId:t}})]})})}function $({source:e}){let t=j(),n=K(),r=Q(e),c=te(),l=e.kind===`site`?e.siteId:void 0,[f,m]=(0,J.useState)(N),[g,_]=(0,J.useState)(),v=(0,J.useMemo)(()=>r.data?.pages.flatMap(e=>e.items)??[],[r.data]),y=(0,J.useMemo)(()=>ce(v,f,n),[v,f,n]),b=oe(f),x=r.isSuccess&&v.length===0;return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(V,{error:r.error,onRetry:()=>r.refetch(),retrying:r.isRefetching}),(0,X.jsx)(ue,{search:f.search,onSearch:e=>m(t=>({...t,search:e})),placeholder:t(`activity.search`),actions:(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-2`,children:[b&&(0,X.jsx)(o,{variant:`ghost`,onClick:()=>m(N),children:t(`activity.clearFilters`)}),(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsxs)(S,{"aria-label":t(`activity.filters.label`),children:[(0,X.jsx)(T,{"aria-label":t(`activity.filters.kind`),value:f.kind,onValueChange:e=>m(t=>({...t,kind:e})),items:{all:t(`activity.filters.allKinds`),agent:t(`activity.kinds.agent`),human:t(`activity.kinds.human`),system:t(`activity.kinds.system`)},render:(0,X.jsx)(S.Button,{})}),(0,X.jsx)(T,{"aria-label":t(`activity.filters.decision`),value:f.decision,onValueChange:e=>m(t=>({...t,decision:e})),items:{all:t(`activity.filters.allDecisions`),allow:t(`activity.decisions.allow`),"approval-required":t(`activity.decisions.approval-required`),deny:t(`activity.decisions.deny`)},render:(0,X.jsx)(S.Button,{})})]}),(0,X.jsx)(a,{variant:`secondary`,"aria-label":t(`activity.refresh`),loading:r.isRefetching&&!r.isFetchingNextPage,onClick:()=>r.refetch()})]})]})}),x&&e.kind===`deployment`?(0,X.jsx)(O,{icon:(0,X.jsx)(L,{size:48,className:`text-kumo-inactive`}),title:t(`members.activity.empty`),description:t(`members.activity.emptyDescription`)}):x?(0,X.jsx)(O,{icon:(0,X.jsx)(z,{size:48,className:`text-kumo-inactive`}),title:t(`activity.empty`),description:t(`activity.emptyDescription`),commandLine:`cloudhal mcp`,contents:(0,X.jsx)(i,{href:`/agents`,variant:`secondary`,icon:ee,children:t(`commands.createAgentKey`)})}):r.isSuccess&&y.length===0?(0,X.jsx)(O,{icon:(0,X.jsx)(h,{size:48,className:`text-kumo-inactive`}),title:t(`activity.noMatches`),description:t(`activity.noMatchesDescription`),contents:(0,X.jsx)(o,{variant:`secondary`,onClick:()=>m(N),children:t(`activity.clearFilters`)})}):(0,X.jsx)(re,{className:`overflow-x-auto p-0`,children:(0,X.jsxs)(E,{children:[(0,X.jsx)(E.Header,{children:(0,X.jsxs)(E.Row,{children:[(0,X.jsx)(E.Head,{children:t(`activity.columns.tool`)}),(0,X.jsx)(E.Head,{children:t(`activity.columns.decision`)}),(0,X.jsx)(E.Head,{children:t(`activity.columns.actor`)}),(0,X.jsx)(E.Head,{children:t(`activity.columns.when`)}),(0,X.jsx)(E.Head,{children:t(`activity.columns.outcome`)}),l&&(0,X.jsx)(E.Head,{children:t(`activity.columns.skill`)}),l&&(0,X.jsx)(E.Head,{children:t(`activity.columns.snapshot`)}),(0,X.jsx)(E.Head,{sticky:`right`})]})}),r.isPending?(0,X.jsx)(H,{columns:l?he:6,rows:6}):(0,X.jsx)(E.Body,{children:y.map(e=>(0,X.jsxs)(E.Row,{"data-event-id":e.id,"data-decision":e.decision,onClick:()=>_(e),className:`cursor-pointer hover:bg-kumo-tint`,children:[(0,X.jsx)(E.Cell,{className:`whitespace-nowrap`,children:(0,X.jsx)(U,{tool:e.tool,row:e})}),(0,X.jsx)(E.Cell,{className:`whitespace-nowrap`,children:(0,X.jsx)(G,{row:e})}),(0,X.jsx)(E.Cell,{className:`min-w-56 max-w-80`,children:(0,X.jsx)(q,{actor:e.actor,mode:e.mode,elevation:e.elevation,role:c.get(e.actor.id)})}),(0,X.jsx)(E.Cell,{className:`whitespace-nowrap`,children:(0,X.jsx)(B,{iso:e.at})}),(0,X.jsx)(E.Cell,{className:`whitespace-nowrap`,children:(0,X.jsx)(W,{outcome:e.outcome})}),l&&(0,X.jsx)(E.Cell,{className:`whitespace-nowrap`,children:e.skill?(0,X.jsx)(p,{variant:`mono-secondary`,as:`span`,children:e.skill}):(0,X.jsx)(p,{variant:`secondary`,as:`span`,children:`—`})}),l&&(0,X.jsx)(E.Cell,{className:`whitespace-nowrap`,children:e.snapshotId?(0,X.jsx)(`span`,{onClick:e=>e.stopPropagation(),children:(0,X.jsx)(s,{href:`/sites/${l}/snapshots?diff=${e.snapshotId}`,variant:`inline`,children:(0,X.jsx)(`span`,{className:`font-mono text-[0.9em]`,children:e.snapshotId})})}):(0,X.jsx)(p,{variant:`secondary`,as:`span`,children:`—`})}),(0,X.jsx)(E.Cell,{sticky:`right`,className:`text-end`,children:(0,X.jsx)(o,{variant:`ghost`,size:`xs`,shape:`square`,icon:(0,X.jsx)(u,{icon:d}),"aria-label":`${t(`activity.viewEvent`)}: ${n(e.tool)}`,onClick:t=>{t.stopPropagation(),_(e)}})})]},e.id))})]})}),!x&&r.isSuccess&&(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,X.jsx)(p,{variant:`secondary`,size:`sm`,children:t(`activity.showing`,{shown:y.length,loaded:v.length})}),r.hasNextPage?(0,X.jsx)(o,{variant:`secondary`,onClick:()=>r.fetchNextPage(),loading:r.isFetchingNextPage,children:t(`activity.loadMore`)}):(0,X.jsx)(p,{variant:`secondary`,size:`sm`,children:t(`activity.allLoaded`)})]}),(0,X.jsx)(pe,{siteId:l,row:g,onOpenChange:e=>!e&&_(void 0)})]})}export{$ as ActivityList,ge as ActivityPage,Q as useActivity};
|
|
2
|
+
//# sourceMappingURL=ActivityPage-CjbJHI95.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{t}from"./IconBase.es-BZDpYMnj.js";import{i as n,r}from"./react-CDCuUAOg.js";import{t as i}from"./badge-dq8bx752b9dp7dst--rpq8QXS.js";import{o as a}from"./button-pa1bq9b85hawg41a-CmOCuL-1.js";import{_ as o}from"./tanstack-BRxyYm4G.js";import{n as s}from"./skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js";import{t as c}from"./ClockCountdown.es-BR_zz6vi.js";import{t as l}from"./Eye.es-DqovdtPt.js";import{t as u}from"./HandPalm.es-CB5OlkOg.js";import{t as d}from"./Lightning.es-D0IF-5OW.js";import{t as f}from"./checkbox-lbo436duy7krxcsk-HiD6vTuC.js";import{t as p}from"./PencilSimple.es-CsZ-k9wK.js";import{t as m}from"./ShieldCheck.es-BOXTHH7h.js";import{t as h}from"./SlidersHorizontal.es-Bg-14CTG.js";import{t as g}from"./Star.es-DhrrAurR.js";import{t as _}from"./Warning.es-LZXqwHRF.js";import{t as v}from"./banner-msnmqm7of2lck01x-D6cADEpP.js";import{t as y}from"./api-Cqqt5jTd.js";import{t as b}from"./table-yf8ul2e5nbemioi1-KGRDj7XO.js";import{t as x}from"./radio-35dx7y6rjrezbjsp-2D7MXAy3.js";import{t as S}from"./SectionCard-GPZWTzbx.js";import{c as C,u as w}from"./i18n-Dz1LE8DB.js";import{E as ee,a as T,c as E,h as D,i as O,m as k,n as A}from"./agents-DGWn1WXw.js";import{x as j}from"./roles-B7USahqW.js";var M=e(n(),1),N=new Map([[`bold`,M.createElement(M.Fragment,null,M.createElement(`path`,{d:`M208,76H100V56a28,28,0,0,1,28-28c13.51,0,25.65,9.62,28.24,22.39a12,12,0,1,0,23.52-4.78C174.87,21.5,153.1,4,128,4A52.06,52.06,0,0,0,76,56V76H48A20,20,0,0,0,28,96V208a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V96A20,20,0,0,0,208,76Zm-4,128H52V100H204Z`}))],[`fill`,M.createElement(M.Fragment,null,M.createElement(`path`,{d:`M224,96V208a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V96A16,16,0,0,1,48,80H80V56A48.05,48.05,0,0,1,128,8c23.2,0,43.32,16.15,47.84,38.41a8,8,0,0,1-15.68,3.18C157.2,35,143.37,24,128,24A32,32,0,0,0,96,56V80H208A16,16,0,0,1,224,96Z`}))],[`regular`,M.createElement(M.Fragment,null,M.createElement(`path`,{d:`M208,80H96V56a32,32,0,0,1,32-32c15.37,0,29.2,11,32.16,25.59a8,8,0,0,0,15.68-3.18C171.32,24.15,151.2,8,128,8A48.05,48.05,0,0,0,80,56V80H48A16,16,0,0,0,32,96V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V96A16,16,0,0,0,208,80Zm0,128H48V96H208V208Z`}))]]),P=new Map([[`bold`,M.createElement(M.Fragment,null,M.createElement(`path`,{d:`M152.5,156.54a72,72,0,1,0-89,0,124,124,0,0,0-48.69,35.74,12,12,0,0,0,18.38,15.44C46.88,191.42,71,172,108,172s61.12,19.42,74.81,35.72a12,12,0,1,0,18.38-15.44A123.89,123.89,0,0,0,152.5,156.54ZM60,100a48,48,0,1,1,48,48A48.05,48.05,0,0,1,60,100Zm192.49,36.49-32,32a12,12,0,0,1-17,0l-16-16a12,12,0,0,1,17-17L212,143l23.51-23.52a12,12,0,1,1,17,17Z`}))],[`fill`,M.createElement(M.Fragment,null,M.createElement(`path`,{d:`M253.66,133.66l-32,32a8,8,0,0,1-11.32,0l-16-16a8,8,0,0,1,11.32-11.32L216,148.69l26.34-26.35a8,8,0,0,1,11.32,11.32ZM144,157.68a68,68,0,1,0-71.9,0c-20.65,6.76-39.23,19.39-54.17,37.17A8,8,0,0,0,24,208H192a8,8,0,0,0,6.13-13.15C183.18,177.07,164.6,164.44,144,157.68Z`}))],[`regular`,M.createElement(M.Fragment,null,M.createElement(`path`,{d:`M144,157.68a68,68,0,1,0-71.9,0c-20.65,6.76-39.23,19.39-54.17,37.17a8,8,0,0,0,12.25,10.3C50.25,181.19,77.91,168,108,168s57.75,13.19,77.87,37.15a8,8,0,0,0,12.25-10.3C183.18,177.07,164.6,164.44,144,157.68ZM56,100a52,52,0,1,1,52,52A52.06,52.06,0,0,1,56,100Zm197.66,33.66-32,32a8,8,0,0,1-11.32,0l-16-16a8,8,0,0,1,11.32-11.32L216,148.69l26.34-26.35a8,8,0,0,1,11.32,11.32Z`}))]]),F=M.forwardRef((e,n)=>M.createElement(t,{ref:n,...e,weights:N}));F.displayName=`LockSimpleOpenIcon`;var I=F,L=M.forwardRef((e,n)=>M.createElement(t,{ref:n,...e,weights:P}));L.displayName=`UserCheckIcon`;var R=L;function z(){let e=o({queryKey:[`instance`],queryFn:y.instance,staleTime:3e5,retry:!1}),t=o({queryKey:[`me`],queryFn:y.me,staleTime:6e4,retry:!1}).data?.role??void 0;return(0,M.useMemo)(()=>{let n=e.data?.roles?j(e.data.roles):void 0;return k(e.data?.agentModes,t&&n?{cap:n.modeCaps[t],scopes:n.scopes[t]}:void 0)},[e.data,t])}var B=r(),V=`cloudhal mcp --mode bypass`,H={plan:l,manual:R,edits:p,auto:d,bypass:I},U={safest:{variant:`success`,icon:m},recommended:{variant:`info`,icon:g},caution:{variant:`warning`,icon:_}};function W({mode:e,size:t=16}){let n=H[e];return(0,B.jsx)(n,{size:t})}function G({mode:e}){let t=w();return(0,B.jsxs)(`span`,{className:`grid max-w-72 gap-1`,children:[(0,B.jsx)(`span`,{children:t(`agents.modes.descriptions.${e}`)}),(0,B.jsx)(`span`,{children:t(`agents.modes.waitsFor`,{mode:e})})]})}function K({mode:e,subtle:t=!1,elevation:n}){let{t:r,locale:o}=C();return(0,B.jsx)(`span`,{"data-mode":e,"data-elevated":n?`true`:void 0,className:`inline-flex`,children:(0,B.jsx)(a,{content:n?(0,B.jsxs)(`span`,{className:`grid max-w-72 gap-1.5`,children:[(0,B.jsx)(s,{as:`span`,size:`sm`,bold:!0,children:r(`agents.elevation.marker`,{from:r(`agents.modes.names.${n.from}`),time:ee(n.until,o)})}),(0,B.jsx)(G,{mode:e})]}):(0,B.jsx)(G,{mode:e}),children:(0,B.jsxs)(i,{variant:t?`outline`:D(e),icon:(0,B.jsx)(W,{mode:e}),children:[r(`agents.modes.names.${e}`),n&&(0,B.jsx)(c,{size:12,weight:`bold`,role:`img`,"aria-label":r(`agents.elevation.temporary`),"data-testid":`elevation-marker`})]})})})}function q({risk:e}){let t=w(),n=U[e];return(0,B.jsx)(`span`,{"data-risk":e,className:`inline-flex`,children:(0,B.jsx)(i,{variant:n.variant,icon:(0,B.jsx)(n.icon,{weight:`fill`}),children:t(`agents.modes.risk.${e}`)})})}function J({value:e,onValueChange:t,current:n,legend:r,only:a}){let o=w(),s=z(),c=a?s.keyModes.filter(e=>a.includes(e)):s.keyModes;return(0,B.jsxs)(`div`,{className:`grid gap-3`,children:[(0,B.jsxs)(x.Group,{appearance:`card`,value:e,onValueChange:e=>t(e),children:[(0,B.jsx)(x.Legend,{className:`sr-only`,children:r}),c.map(e=>(0,B.jsx)(x.Item,{value:e,label:(0,B.jsxs)(`span`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1`,"data-mode-option":e,children:[(0,B.jsx)(`span`,{className:`flex h-lh items-center text-kumo-subtle`,children:(0,B.jsx)(W,{mode:e})}),(0,B.jsx)(`span`,{children:o(`agents.modes.names.${e}`)}),(0,B.jsx)(q,{risk:O[e]}),n===e&&(0,B.jsx)(i,{variant:`outline`,children:o(`agents.modes.current`)})]}),description:(0,B.jsxs)(`span`,{className:`grid gap-1.5 pt-0.5`,children:[(0,B.jsx)(`span`,{children:o(`agents.modes.descriptions.${e}`)}),(0,B.jsxs)(`span`,{className:`flex items-start gap-1.5`,children:[(0,B.jsx)(`span`,{className:`flex h-lh items-center`,children:(0,B.jsx)(u,{size:14})}),(0,B.jsx)(`span`,{children:o(`agents.modes.waitsFor`,{mode:e})})]})]})},e))]}),s.cap&&(0,B.jsx)(Y,{cap:s.cap})]})}function Y({cap:e}){let t=w();return(0,B.jsxs)(`div`,{className:`flex items-start gap-2`,"data-testid":`role-cap`,children:[(0,B.jsx)(`span`,{className:`flex h-lh items-center text-kumo-subtle`,children:(0,B.jsx)(m,{size:16})}),(0,B.jsx)(s,{variant:`secondary`,size:`sm`,children:t(`agents.roleCap`,{mode:t(`agents.modes.names.${e}`)})})]})}function X(){let e=w();return(0,B.jsxs)(`div`,{className:`flex items-start gap-2`,"data-testid":`bypass-hint`,children:[(0,B.jsx)(`span`,{className:`flex h-lh items-center text-kumo-subtle`,children:(0,B.jsx)(W,{mode:`bypass`})}),(0,B.jsxs)(s,{variant:`secondary`,size:`sm`,children:[e(`agents.modes.bypassHint`),` `,(0,B.jsx)(`span`,{className:`font-mono text-[0.9em] whitespace-nowrap text-kumo-default [font-variant-ligatures:none]`,children:V})]})]})}function Z({checked:e,onCheckedChange:t,showError:n}){let r=w(),{autoPublishLimit:i}=z(),a=n&&!e;return(0,B.jsxs)(`div`,{className:`grid gap-3`,"data-testid":`auto-confirm`,children:[(0,B.jsx)(v,{variant:`alert`,icon:(0,B.jsx)(d,{weight:`fill`}),title:r(`agents.modes.autoTitle`),description:r(`agents.modes.autoDescription`,{limit:i})}),(0,B.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,B.jsx)(f,{checked:e,onCheckedChange:e=>t(e===!0),variant:a?`error`:`default`,label:r(`agents.modes.autoConfirm`)}),a&&(0,B.jsx)(s,{variant:`error`,size:`sm`,children:r(`agents.modes.autoConfirmRequired`)})]})]})}function Q({row:e}){let t=w(),n=E(e);return(0,B.jsx)(`span`,{"data-auto-approved":`true`,className:`inline-flex`,children:(0,B.jsx)(a,{content:(0,B.jsxs)(`span`,{className:`grid max-w-72 gap-1`,children:[(0,B.jsx)(`span`,{children:t(`activity.autoApprovedHint`)}),n!==void 0&&(0,B.jsx)(`span`,{children:t(`activity.autoApprovedCount`,{count:n})})]}),children:(0,B.jsx)(i,{variant:`warning`,icon:(0,B.jsx)(d,{weight:`fill`}),children:t(`activity.autoApproved`)})})})}var te={denied:`neutral`,waits:`warning`,free:`success`,lowRisk:`success`};function $({rule:e}){let t=w(),{autoPublishLimit:n}=z();return(0,B.jsx)(`span`,{"data-rule":e,className:`inline-flex`,children:(0,B.jsx)(a,{content:(0,B.jsx)(`span`,{className:`block max-w-64`,children:t(`agents.howModes.rulesHint.${e}`,{limit:n})}),children:(0,B.jsx)(i,{variant:te[e],appearance:`dot`,children:t(`agents.howModes.rules.${e}`)})})})}function ne(){let e=w(),{modes:t}=z();return(0,B.jsxs)(S,{id:`how-modes`,title:e(`agents.howModes.title`),icon:(0,B.jsx)(h,{size:16}),description:e(`agents.howModes.description`),flush:!0,children:[(0,B.jsxs)(b,{className:`[&_td]:px-1 [&_td:first-child]:pl-5 [&_td:last-child]:pr-5 [&_th]:px-1 [&_th]:align-bottom [&_th:first-child]:pl-5 [&_th:last-child]:pr-5`,children:[(0,B.jsx)(b.Header,{variant:`compact`,children:(0,B.jsxs)(b.Row,{children:[(0,B.jsx)(b.Head,{children:e(`agents.howModes.columns.mode`)}),(0,B.jsx)(b.Head,{children:e(`agents.howModes.columns.edits`)}),(0,B.jsx)(b.Head,{children:e(`agents.howModes.columns.publish`)}),(0,B.jsx)(b.Head,{children:e(`agents.howModes.columns.rollback`)})]})}),(0,B.jsx)(b.Body,{children:t.map(t=>(0,B.jsxs)(b.Row,{"data-mode-row":t,children:[(0,B.jsx)(b.Cell,{className:`whitespace-nowrap`,children:(0,B.jsx)(s,{as:`span`,bold:!0,children:e(`agents.modes.names.${t}`)})}),(0,B.jsx)(b.Cell,{children:(0,B.jsx)($,{rule:T[t].edits})}),(0,B.jsx)(b.Cell,{children:(0,B.jsx)($,{rule:T[t].publish})}),(0,B.jsx)(b.Cell,{children:(0,B.jsx)($,{rule:T[t].rollback})})]},t))})]}),(0,B.jsxs)(`div`,{className:`grid gap-4 border-kumo-hairline border-t px-5 pt-4 pb-5`,children:[(0,B.jsxs)(`div`,{className:`grid gap-2`,children:[(0,B.jsx)(s,{size:`sm`,bold:!0,as:`span`,children:e(`agents.howModes.gated`)}),(0,B.jsx)(`dl`,{className:`grid gap-1.5`,children:A.map(t=>(0,B.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,B.jsx)(`dt`,{children:(0,B.jsx)(s,{as:`span`,children:e(`tools.${t}`)})}),(0,B.jsx)(`dd`,{children:(0,B.jsx)(s,{variant:`mono-secondary`,as:`span`,children:t})})]},t))})]}),(0,B.jsxs)(`div`,{className:`flex items-start gap-2`,"data-testid":`how-elevation`,children:[(0,B.jsx)(`span`,{className:`flex h-lh items-center text-kumo-subtle`,children:(0,B.jsx)(c,{size:16})}),(0,B.jsx)(s,{variant:`secondary`,size:`sm`,children:e(`agents.elevation.howModes`)})]}),(0,B.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,B.jsx)(`span`,{className:`flex h-lh items-center text-kumo-subtle`,children:(0,B.jsx)(W,{mode:`bypass`})}),(0,B.jsxs)(s,{variant:`secondary`,size:`sm`,children:[e(`agents.howModes.bypass`),` `,(0,B.jsx)(`span`,{className:`font-mono text-[0.9em] whitespace-nowrap text-kumo-default [font-variant-ligatures:none]`,children:V})]})]})]})]})}export{K as a,ne as i,Z as n,J as o,X as r,z as s,Q as t};
|
|
2
|
-
//# sourceMappingURL=AgentModes-
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{t}from"./IconBase.es-BZDpYMnj.js";import{i as n,r}from"./react-CDCuUAOg.js";import{t as i}from"./badge-dq8bx752b9dp7dst--rpq8QXS.js";import{o as a}from"./button-pa1bq9b85hawg41a-CmOCuL-1.js";import{_ as o}from"./tanstack-BRxyYm4G.js";import{n as s}from"./skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js";import{t as c}from"./ClockCountdown.es-BR_zz6vi.js";import{t as l}from"./Eye.es-DqovdtPt.js";import{t as u}from"./HandPalm.es-CB5OlkOg.js";import{t as d}from"./Lightning.es-D0IF-5OW.js";import{t as f}from"./checkbox-lbo436duy7krxcsk-HiD6vTuC.js";import{t as p}from"./PencilSimple.es-CsZ-k9wK.js";import{t as m}from"./ShieldCheck.es-BOXTHH7h.js";import{t as h}from"./SlidersHorizontal.es-Bg-14CTG.js";import{t as g}from"./Star.es-DhrrAurR.js";import{t as _}from"./Warning.es-LZXqwHRF.js";import{t as v}from"./banner-msnmqm7of2lck01x-D6cADEpP.js";import{t as y}from"./api-Mdeo6gzg.js";import{t as b}from"./table-yf8ul2e5nbemioi1-KGRDj7XO.js";import{t as x}from"./radio-35dx7y6rjrezbjsp-2D7MXAy3.js";import{t as S}from"./SectionCard-BxLoZOcp.js";import{c as C,u as w}from"./i18n-CdW50___.js";import{E as ee,a as T,c as E,h as D,i as O,m as k,n as A}from"./agents-DGWn1WXw.js";import{x as j}from"./roles-B7USahqW.js";var M=e(n(),1),N=new Map([[`bold`,M.createElement(M.Fragment,null,M.createElement(`path`,{d:`M208,76H100V56a28,28,0,0,1,28-28c13.51,0,25.65,9.62,28.24,22.39a12,12,0,1,0,23.52-4.78C174.87,21.5,153.1,4,128,4A52.06,52.06,0,0,0,76,56V76H48A20,20,0,0,0,28,96V208a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V96A20,20,0,0,0,208,76Zm-4,128H52V100H204Z`}))],[`fill`,M.createElement(M.Fragment,null,M.createElement(`path`,{d:`M224,96V208a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V96A16,16,0,0,1,48,80H80V56A48.05,48.05,0,0,1,128,8c23.2,0,43.32,16.15,47.84,38.41a8,8,0,0,1-15.68,3.18C157.2,35,143.37,24,128,24A32,32,0,0,0,96,56V80H208A16,16,0,0,1,224,96Z`}))],[`regular`,M.createElement(M.Fragment,null,M.createElement(`path`,{d:`M208,80H96V56a32,32,0,0,1,32-32c15.37,0,29.2,11,32.16,25.59a8,8,0,0,0,15.68-3.18C171.32,24.15,151.2,8,128,8A48.05,48.05,0,0,0,80,56V80H48A16,16,0,0,0,32,96V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V96A16,16,0,0,0,208,80Zm0,128H48V96H208V208Z`}))]]),P=new Map([[`bold`,M.createElement(M.Fragment,null,M.createElement(`path`,{d:`M152.5,156.54a72,72,0,1,0-89,0,124,124,0,0,0-48.69,35.74,12,12,0,0,0,18.38,15.44C46.88,191.42,71,172,108,172s61.12,19.42,74.81,35.72a12,12,0,1,0,18.38-15.44A123.89,123.89,0,0,0,152.5,156.54ZM60,100a48,48,0,1,1,48,48A48.05,48.05,0,0,1,60,100Zm192.49,36.49-32,32a12,12,0,0,1-17,0l-16-16a12,12,0,0,1,17-17L212,143l23.51-23.52a12,12,0,1,1,17,17Z`}))],[`fill`,M.createElement(M.Fragment,null,M.createElement(`path`,{d:`M253.66,133.66l-32,32a8,8,0,0,1-11.32,0l-16-16a8,8,0,0,1,11.32-11.32L216,148.69l26.34-26.35a8,8,0,0,1,11.32,11.32ZM144,157.68a68,68,0,1,0-71.9,0c-20.65,6.76-39.23,19.39-54.17,37.17A8,8,0,0,0,24,208H192a8,8,0,0,0,6.13-13.15C183.18,177.07,164.6,164.44,144,157.68Z`}))],[`regular`,M.createElement(M.Fragment,null,M.createElement(`path`,{d:`M144,157.68a68,68,0,1,0-71.9,0c-20.65,6.76-39.23,19.39-54.17,37.17a8,8,0,0,0,12.25,10.3C50.25,181.19,77.91,168,108,168s57.75,13.19,77.87,37.15a8,8,0,0,0,12.25-10.3C183.18,177.07,164.6,164.44,144,157.68ZM56,100a52,52,0,1,1,52,52A52.06,52.06,0,0,1,56,100Zm197.66,33.66-32,32a8,8,0,0,1-11.32,0l-16-16a8,8,0,0,1,11.32-11.32L216,148.69l26.34-26.35a8,8,0,0,1,11.32,11.32Z`}))]]),F=M.forwardRef((e,n)=>M.createElement(t,{ref:n,...e,weights:N}));F.displayName=`LockSimpleOpenIcon`;var I=F,L=M.forwardRef((e,n)=>M.createElement(t,{ref:n,...e,weights:P}));L.displayName=`UserCheckIcon`;var R=L;function z(){let e=o({queryKey:[`instance`],queryFn:y.instance,staleTime:3e5,retry:!1}),t=o({queryKey:[`me`],queryFn:y.me,staleTime:6e4,retry:!1}).data?.role??void 0;return(0,M.useMemo)(()=>{let n=e.data?.roles?j(e.data.roles):void 0;return k(e.data?.agentModes,t&&n?{cap:n.modeCaps[t],scopes:n.scopes[t]}:void 0)},[e.data,t])}var B=r(),V=`cloudhal mcp --mode bypass`,H={plan:l,manual:R,edits:p,auto:d,bypass:I},U={safest:{variant:`success`,icon:m},recommended:{variant:`info`,icon:g},caution:{variant:`warning`,icon:_}};function W({mode:e,size:t=16}){let n=H[e];return(0,B.jsx)(n,{size:t})}function G({mode:e}){let t=w();return(0,B.jsxs)(`span`,{className:`grid max-w-72 gap-1`,children:[(0,B.jsx)(`span`,{children:t(`agents.modes.descriptions.${e}`)}),(0,B.jsx)(`span`,{children:t(`agents.modes.waitsFor`,{mode:e})})]})}function K({mode:e,subtle:t=!1,elevation:n}){let{t:r,locale:o}=C();return(0,B.jsx)(`span`,{"data-mode":e,"data-elevated":n?`true`:void 0,className:`inline-flex`,children:(0,B.jsx)(a,{content:n?(0,B.jsxs)(`span`,{className:`grid max-w-72 gap-1.5`,children:[(0,B.jsx)(s,{as:`span`,size:`sm`,bold:!0,children:r(`agents.elevation.marker`,{from:r(`agents.modes.names.${n.from}`),time:ee(n.until,o)})}),(0,B.jsx)(G,{mode:e})]}):(0,B.jsx)(G,{mode:e}),children:(0,B.jsxs)(i,{variant:t?`outline`:D(e),icon:(0,B.jsx)(W,{mode:e}),children:[r(`agents.modes.names.${e}`),n&&(0,B.jsx)(c,{size:12,weight:`bold`,role:`img`,"aria-label":r(`agents.elevation.temporary`),"data-testid":`elevation-marker`})]})})})}function q({risk:e}){let t=w(),n=U[e];return(0,B.jsx)(`span`,{"data-risk":e,className:`inline-flex`,children:(0,B.jsx)(i,{variant:n.variant,icon:(0,B.jsx)(n.icon,{weight:`fill`}),children:t(`agents.modes.risk.${e}`)})})}function J({value:e,onValueChange:t,current:n,legend:r,only:a}){let o=w(),s=z(),c=a?s.keyModes.filter(e=>a.includes(e)):s.keyModes;return(0,B.jsxs)(`div`,{className:`grid gap-3`,children:[(0,B.jsxs)(x.Group,{appearance:`card`,value:e,onValueChange:e=>t(e),children:[(0,B.jsx)(x.Legend,{className:`sr-only`,children:r}),c.map(e=>(0,B.jsx)(x.Item,{value:e,label:(0,B.jsxs)(`span`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1`,"data-mode-option":e,children:[(0,B.jsx)(`span`,{className:`flex h-lh items-center text-kumo-subtle`,children:(0,B.jsx)(W,{mode:e})}),(0,B.jsx)(`span`,{children:o(`agents.modes.names.${e}`)}),(0,B.jsx)(q,{risk:O[e]}),n===e&&(0,B.jsx)(i,{variant:`outline`,children:o(`agents.modes.current`)})]}),description:(0,B.jsxs)(`span`,{className:`grid gap-1.5 pt-0.5`,children:[(0,B.jsx)(`span`,{children:o(`agents.modes.descriptions.${e}`)}),(0,B.jsxs)(`span`,{className:`flex items-start gap-1.5`,children:[(0,B.jsx)(`span`,{className:`flex h-lh items-center`,children:(0,B.jsx)(u,{size:14})}),(0,B.jsx)(`span`,{children:o(`agents.modes.waitsFor`,{mode:e})})]})]})},e))]}),s.cap&&(0,B.jsx)(Y,{cap:s.cap})]})}function Y({cap:e}){let t=w();return(0,B.jsxs)(`div`,{className:`flex items-start gap-2`,"data-testid":`role-cap`,children:[(0,B.jsx)(`span`,{className:`flex h-lh items-center text-kumo-subtle`,children:(0,B.jsx)(m,{size:16})}),(0,B.jsx)(s,{variant:`secondary`,size:`sm`,children:t(`agents.roleCap`,{mode:t(`agents.modes.names.${e}`)})})]})}function X(){let e=w();return(0,B.jsxs)(`div`,{className:`flex items-start gap-2`,"data-testid":`bypass-hint`,children:[(0,B.jsx)(`span`,{className:`flex h-lh items-center text-kumo-subtle`,children:(0,B.jsx)(W,{mode:`bypass`})}),(0,B.jsxs)(s,{variant:`secondary`,size:`sm`,children:[e(`agents.modes.bypassHint`),` `,(0,B.jsx)(`span`,{className:`font-mono text-[0.9em] whitespace-nowrap text-kumo-default [font-variant-ligatures:none]`,children:V})]})]})}function Z({checked:e,onCheckedChange:t,showError:n}){let r=w(),{autoPublishLimit:i}=z(),a=n&&!e;return(0,B.jsxs)(`div`,{className:`grid gap-3`,"data-testid":`auto-confirm`,children:[(0,B.jsx)(v,{variant:`alert`,icon:(0,B.jsx)(d,{weight:`fill`}),title:r(`agents.modes.autoTitle`),description:r(`agents.modes.autoDescription`,{limit:i})}),(0,B.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,B.jsx)(f,{checked:e,onCheckedChange:e=>t(e===!0),variant:a?`error`:`default`,label:r(`agents.modes.autoConfirm`)}),a&&(0,B.jsx)(s,{variant:`error`,size:`sm`,children:r(`agents.modes.autoConfirmRequired`)})]})]})}function Q({row:e}){let t=w(),n=E(e);return(0,B.jsx)(`span`,{"data-auto-approved":`true`,className:`inline-flex`,children:(0,B.jsx)(a,{content:(0,B.jsxs)(`span`,{className:`grid max-w-72 gap-1`,children:[(0,B.jsx)(`span`,{children:t(`activity.autoApprovedHint`)}),n!==void 0&&(0,B.jsx)(`span`,{children:t(`activity.autoApprovedCount`,{count:n})})]}),children:(0,B.jsx)(i,{variant:`warning`,icon:(0,B.jsx)(d,{weight:`fill`}),children:t(`activity.autoApproved`)})})})}var te={denied:`neutral`,waits:`warning`,free:`success`,lowRisk:`success`};function $({rule:e}){let t=w(),{autoPublishLimit:n}=z();return(0,B.jsx)(`span`,{"data-rule":e,className:`inline-flex`,children:(0,B.jsx)(a,{content:(0,B.jsx)(`span`,{className:`block max-w-64`,children:t(`agents.howModes.rulesHint.${e}`,{limit:n})}),children:(0,B.jsx)(i,{variant:te[e],appearance:`dot`,children:t(`agents.howModes.rules.${e}`)})})})}function ne(){let e=w(),{modes:t}=z();return(0,B.jsxs)(S,{id:`how-modes`,title:e(`agents.howModes.title`),icon:(0,B.jsx)(h,{size:16}),description:e(`agents.howModes.description`),flush:!0,children:[(0,B.jsxs)(b,{className:`[&_td]:px-1 [&_td:first-child]:pl-5 [&_td:last-child]:pr-5 [&_th]:px-1 [&_th]:align-bottom [&_th:first-child]:pl-5 [&_th:last-child]:pr-5`,children:[(0,B.jsx)(b.Header,{variant:`compact`,children:(0,B.jsxs)(b.Row,{children:[(0,B.jsx)(b.Head,{children:e(`agents.howModes.columns.mode`)}),(0,B.jsx)(b.Head,{children:e(`agents.howModes.columns.edits`)}),(0,B.jsx)(b.Head,{children:e(`agents.howModes.columns.publish`)}),(0,B.jsx)(b.Head,{children:e(`agents.howModes.columns.rollback`)})]})}),(0,B.jsx)(b.Body,{children:t.map(t=>(0,B.jsxs)(b.Row,{"data-mode-row":t,children:[(0,B.jsx)(b.Cell,{className:`whitespace-nowrap`,children:(0,B.jsx)(s,{as:`span`,bold:!0,children:e(`agents.modes.names.${t}`)})}),(0,B.jsx)(b.Cell,{children:(0,B.jsx)($,{rule:T[t].edits})}),(0,B.jsx)(b.Cell,{children:(0,B.jsx)($,{rule:T[t].publish})}),(0,B.jsx)(b.Cell,{children:(0,B.jsx)($,{rule:T[t].rollback})})]},t))})]}),(0,B.jsxs)(`div`,{className:`grid gap-4 border-kumo-hairline border-t px-5 pt-4 pb-5`,children:[(0,B.jsxs)(`div`,{className:`grid gap-2`,children:[(0,B.jsx)(s,{size:`sm`,bold:!0,as:`span`,children:e(`agents.howModes.gated`)}),(0,B.jsx)(`dl`,{className:`grid gap-1.5`,children:A.map(t=>(0,B.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,B.jsx)(`dt`,{children:(0,B.jsx)(s,{as:`span`,children:e(`tools.${t}`)})}),(0,B.jsx)(`dd`,{children:(0,B.jsx)(s,{variant:`mono-secondary`,as:`span`,children:t})})]},t))})]}),(0,B.jsxs)(`div`,{className:`flex items-start gap-2`,"data-testid":`how-elevation`,children:[(0,B.jsx)(`span`,{className:`flex h-lh items-center text-kumo-subtle`,children:(0,B.jsx)(c,{size:16})}),(0,B.jsx)(s,{variant:`secondary`,size:`sm`,children:e(`agents.elevation.howModes`)})]}),(0,B.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,B.jsx)(`span`,{className:`flex h-lh items-center text-kumo-subtle`,children:(0,B.jsx)(W,{mode:`bypass`})}),(0,B.jsxs)(s,{variant:`secondary`,size:`sm`,children:[e(`agents.howModes.bypass`),` `,(0,B.jsx)(`span`,{className:`font-mono text-[0.9em] whitespace-nowrap text-kumo-default [font-variant-ligatures:none]`,children:V})]})]})]})]})}export{K as a,ne as i,Z as n,J as o,X as r,z as s,Q as t};
|
|
2
|
+
//# sourceMappingURL=AgentModes-QhxdiMYV.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{t}from"./IconBase.es-BZDpYMnj.js";import{i as n,r}from"./react-CDCuUAOg.js";import{t as i}from"./badge-dq8bx752b9dp7dst--rpq8QXS.js";import{o as a,t as o}from"./button-pa1bq9b85hawg41a-CmOCuL-1.js";import{S as s,_ as c,h as l}from"./tanstack-BRxyYm4G.js";import{t as u}from"./ArrowCounterClockwise.es-Bn2jikgp.js";import{n as d}from"./DirectionalIcon-UZJFXGY_.js";import{t as f}from"./pagination-oaenm9t7ou3lmcgw-CjvX77_7.js";import{m as p,n as m}from"./skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js";import{t as h}from"./ClockCountdown.es-BR_zz6vi.js";import{r as g}from"./House.es-BQyZgbwu.js";import{t as _}from"./DotsThree.es-C-pT5SgE.js";import{t as v}from"./Key.es-DE551dL3.js";import{a as y,i as b,n as ee,o as te,r as x,s as S}from"./AgentModes-QhxdiMYV.js";import{t as C}from"./checkbox-lbo436duy7krxcsk-HiD6vTuC.js";import{t as w}from"./Plus.es-XNm1OB5Q.js";import{t as T}from"./SlidersHorizontal.es-Bg-14CTG.js";import{C as E,a as D,i as O,n as k,r as A,t as ne}from"./Elevation-BrgkbjjJ.js";import{t as j}from"./Trash.es-CxKLVMOQ.js";import{t as M}from"./Warning.es-LZXqwHRF.js";import{n as N,t as P}from"./banner-msnmqm7of2lck01x-D6cADEpP.js";import{a as F,n as I,s as L,u as R}from"./useMe-D5W0xdO9.js";import{t as z}from"./Toast-CXAk8wMq.js";import{t as re}from"./input-c8lv9ulv0kortliq-Be2cm12J.js";import{t as B}from"./clipboard-text-gd6s3n1bqse9zgt8-ZQgZ1_-o.js";import{c as V,h as H,i as U,o as W,t as G}from"./api-Mdeo6gzg.js";import{t as K}from"./dropdown-m53ji1d66mws89wh-BTaT-o14.js";import{t as ie}from"./collapsible-l8g94on4w7qfosmn-Bn4JrutR.js";import{t as ae}from"./select-futox5zqr3r80y9a-FumEl51u.js";import{t as oe}from"./tabs-gf57qqf1wcclaejq-CirIVMnq.js";import{t as q}from"./table-yf8ul2e5nbemioi1-KGRDj7XO.js";import{t as se}from"./Crumbs-CJ6UlbPv.js";import{t as J}from"./empty-hkvg3is3uc6dj1at-Cen9KfIy.js";import{t as Y}from"./layer-dialog-j5ywmzs46ccg6oqy-DLBR2ljP.js";import{o as ce,t as le}from"./intl-C22KAx_l.js";import{t as ue}from"./InsetPanel-CHSg953_.js";import{n as de,t as fe}from"./deleteLabels-Cm9ihsQ3.js";import{t as pe}from"./SectionCard-BxLoZOcp.js";import{a as me,c as he,u as X}from"./i18n-CdW50___.js";import{t as ge}from"./api-errors-CXLBmdpk.js";import{A as _e,C as ve,D as ye,E as be,O as xe,S as Se,T as Ce,_ as we,b as Te,d as Ee,g as Z,o as De,p as Oe,r as ke,s as Ae,v as je,w as Me,x as Ne}from"./agents-DGWn1WXw.js";import{s as Pe,y as Fe}from"./roles-B7USahqW.js";import{r as Ie}from"./usePendingApprovals-54FcNUfi.js";import{C as Le,E as Re,I as ze,S as Be,T as Ve,W as He,at as Ue,d as We,i as Ge,ot as Ke,s as qe,u as Je,x as Ye}from"./index-DYyDeKnk.js";import{t as Xe}from"./TableSkeleton-DWrf88UN.js";import{t as Ze}from"./ListToolbar-BG__bomj.js";import{b as Qe,d as $e}from"./comment-settings-M6JXROM1.js";import{t as et}from"./ScopeBadge-BNM9FT-5.js";import{t as tt}from"./usePaging-YS-Bfnj9.js";var Q=e(n(),1),nt=new Map([[`bold`,Q.createElement(Q.Fragment,null,Q.createElement(`path`,{d:`M216.49,56.48,177,96h19a12,12,0,0,1,0,24H148a12,12,0,0,1-12-12V60a12,12,0,0,1,24,0V79l39.51-39.52a12,12,0,0,1,17,17ZM108,136H60a12,12,0,0,0,0,24H79L39.51,199.51a12,12,0,0,0,17,17L96,177v19a12,12,0,0,0,24,0V148A12,12,0,0,0,108,136Z`}))],[`fill`,Q.createElement(Q.Fragment,null,Q.createElement(`path`,{d:`M120,144v48a8,8,0,0,1-13.66,5.66L88,179.31,53.66,213.66a8,8,0,0,1-11.32-11.32L76.69,168,58.34,149.66A8,8,0,0,1,64,136h48A8,8,0,0,1,120,144ZM213.66,42.34a8,8,0,0,0-11.32,0L168,76.69,149.66,58.34A8,8,0,0,0,136,64v48a8,8,0,0,0,8,8h48a8,8,0,0,0,5.66-13.66L179.31,88l34.35-34.34A8,8,0,0,0,213.66,42.34Z`}))],[`regular`,Q.createElement(Q.Fragment,null,Q.createElement(`path`,{d:`M213.66,53.66,163.31,104H192a8,8,0,0,1,0,16H144a8,8,0,0,1-8-8V64a8,8,0,0,1,16,0V92.69l50.34-50.35a8,8,0,0,1,11.32,11.32ZM112,136H64a8,8,0,0,0,0,16H92.69L42.34,202.34a8,8,0,0,0,11.32,11.32L104,163.31V192a8,8,0,0,0,16,0V144A8,8,0,0,0,112,136Z`}))]]),rt=new Map([[`bold`,Q.createElement(Q.Fragment,null,Q.createElement(`path`,{d:`M240.49,15.51a12,12,0,0,0-17,0L173.94,65.09l-2.54-2.55a36.05,36.05,0,0,0-50.91,0L100,83l-3.51-3.52a12,12,0,0,0-17,17L83,100,62.54,120.49a36,36,0,0,0,0,50.91l2.55,2.54L15.51,223.51a12,12,0,0,0,17,17l49.57-49.58,2.54,2.55a36.06,36.06,0,0,0,50.91,0L156,173l3.51,3.52a12,12,0,0,0,17-17L173,156l20.49-20.49a36,36,0,0,0,0-50.91l-2.55-2.54,49.58-49.57A12,12,0,0,0,240.49,15.51Zm-121.95,161a12,12,0,0,1-17,0L79.51,154.43a12,12,0,0,1,0-17L100,117l39,39Zm58-57.95h0L156,139l-39-39,20.49-20.49a12,12,0,0,1,17,0l22.06,22.06a12,12,0,0,1,0,17ZM85.27,33.37a12,12,0,0,1,21.46-10.74l8,16A12,12,0,1,1,93.27,49.37Zm-68,57.26a12,12,0,0,1,16.1-5.36l16,8a12,12,0,1,1-10.74,21.46l-16-8A12,12,0,0,1,17.27,90.63Zm221.46,74.74a12,12,0,0,1-16.1,5.36l-16-8a12,12,0,0,1,10.74-21.46l16,8A12,12,0,0,1,238.73,165.37Zm-68,57.26a12,12,0,1,1-21.46,10.74l-8-16a12,12,0,0,1,21.46-10.74Z`}))],[`fill`,Q.createElement(Q.Fragment,null,Q.createElement(`path`,{d:`M88.57,35A8,8,0,0,1,103.43,29l8,20A8,8,0,0,1,96.57,55ZM29,103.43l20,8A8,8,0,1,0,55,96.57l-20-8A8,8,0,0,0,29,103.43ZM227,152.57l-20-8A8,8,0,1,0,201,159.43l20,8A8,8,0,0,0,227,152.57ZM159.43,201A8,8,0,0,0,144.57,207l8,20A8,8,0,1,0,167.43,221ZM237.91,18.52a8,8,0,0,0-11.5-.18L174,70.75l-5.38-5.38a32,32,0,0,0-45.28,0L106.14,82.54a4,4,0,0,0,0,5.66l61.7,61.66a4,4,0,0,0,5.66,0l16.74-16.74a32.76,32.76,0,0,0,9.81-22.52,31.82,31.82,0,0,0-9.37-23.17l-5.38-5.37,52.2-52.17A8.22,8.22,0,0,0,237.91,18.52ZM85.64,90.34a8,8,0,0,0-11.49.18,8.22,8.22,0,0,0,.41,11.37L80.67,108,65.34,123.31A31.82,31.82,0,0,0,56,146.47,32.75,32.75,0,0,0,65.77,169l5,4.94L18.49,226.13a8.21,8.21,0,0,0-.61,11.1,8,8,0,0,0,11.72.43L82,185.25l5.37,5.38a32.1,32.1,0,0,0,45.29,0L148,175.31l6.34,6.35a8,8,0,0,0,11.32-11.32Z`}))],[`regular`,Q.createElement(Q.Fragment,null,Q.createElement(`path`,{d:`M237.66,18.34a8,8,0,0,0-11.32,0l-52.4,52.41-5.37-5.38a32.05,32.05,0,0,0-45.26,0L100,88.69l-6.34-6.35A8,8,0,0,0,82.34,93.66L88.69,100,65.37,123.31a32,32,0,0,0,0,45.26l5.38,5.37-52.41,52.4a8,8,0,0,0,11.32,11.32l52.4-52.41,5.37,5.38a32,32,0,0,0,45.26,0L156,167.31l6.34,6.35a8,8,0,0,0,11.32-11.32L167.31,156l23.32-23.31a32,32,0,0,0,0-45.26l-5.38-5.37,52.41-52.4A8,8,0,0,0,237.66,18.34Zm-116.29,161a16,16,0,0,1-22.62,0L76.69,157.25a16,16,0,0,1,0-22.62L100,111.31,144.69,156Zm57.94-57.94L156,144.69,111.31,100l23.32-23.31a16,16,0,0,1,22.62,0l22.06,22A16,16,0,0,1,179.31,121.37ZM88.57,35A8,8,0,0,1,103.43,29l8,20A8,8,0,0,1,96.57,55ZM24.57,93A8,8,0,0,1,35,88.57l20,8A8,8,0,0,1,49,111.43l-20-8A8,8,0,0,1,24.57,93ZM231.43,163a8,8,0,0,1-10.4,4.46l-20-8A8,8,0,1,1,207,144.57l20,8A8,8,0,0,1,231.43,163Zm-64,58.06A8,8,0,0,1,152.57,227l-8-20A8,8,0,0,1,159.43,201Z`}))]]),it=Q.forwardRef((e,n)=>Q.createElement(t,{ref:n,...e,weights:nt}));it.displayName=`ArrowsInSimpleIcon`;var at=it,ot=Q.forwardRef((e,n)=>Q.createElement(t,{ref:n,...e,weights:rt}));ot.displayName=`PlugsConnectedIcon`;var st=ot,$=r();function ct(e,t){let n=X(`analyticsSettings`),r=F(`analytics.read`),i=R();if(!t)return r;let a=e.owner?.role,o=!a||Fe(i,a,`analytics.read`);return{allowed:o,reason:o?void 0:n(`analyticsSettings.keys.ownerCannot`,{name:e.owner?.name??n(`agents.all.unknownOwner`)})}}function lt({agentKey:e,others:t=!1}){let n=X(`analyticsSettings`),r=z(),c=s(),u=ct(e,t),d=l({mutationFn:()=>G.agentKeys.allowAnalytics(e.id),onSuccess:async t=>{await c.invalidateQueries({queryKey:[`agent-keys`]}),r.success(n(`analyticsSettings.keys.allowed`),n(`analyticsSettings.keys.allowedDescription`,{name:t.name??e.name??n(`agents.unnamed`)}))},onError:e=>r.error(n(`analyticsSettings.keys.failed`),ge(n,e))});return!e.enabled||!Qe(e)?null:(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,"data-analytics-access":`missing`,children:[(0,$.jsx)(`span`,{className:`inline-flex`,children:(0,$.jsx)(a,{content:(0,$.jsx)(`span`,{className:`block max-w-72`,children:n(`analyticsSettings.keys.missingHint`)}),children:(0,$.jsx)(i,{variant:`outline`,children:n(`analyticsSettings.keys.missing`)})})}),(0,$.jsx)(o,{variant:`secondary`,size:`xs`,icon:(0,$.jsx)(Ke,{}),loading:d.isPending,onClick:()=>d.mutate(),disabled:!u.allowed,title:u.reason,children:n(`analyticsSettings.keys.allow`)})]})}function ut({agentKey:e,onOpenChange:t}){let{t:n,locale:r}=he(),i=s(),a=We(),o=z(),c=(0,Q.useRef)(e);e&&(c.current=e);let u=e??c.current,f=Ee(u?.mode)?u.mode:ke,[g,_]=(0,Q.useState)(f),[v,b]=(0,Q.useState)(!1),[S,C]=(0,Q.useState)(!1),w=u?.name??n(`agents.unnamed`),T=u?ve({mode:f,elevation:u.elevation},a):void 0,E=l({mutationFn:({id:e,next:t})=>G.agentKeys.setMode(e,t),onSuccess:async e=>{i.setQueryData([`agent-keys`],t=>t?.map(t=>t.id===e.id?e:t)),t(!1),o.success(n(`agents.changeMode.changed`),n(`agents.changeMode.changedDescription`,{name:e.name??n(`agents.unnamed`),mode:n(`agents.modes.names.${e.mode}`)})),await i.invalidateQueries({queryKey:[`agent-keys`]})}});(0,Q.useEffect)(()=>{e&&(_(Ee(e.mode)?e.mode:ke),b(!1),C(!1),E.reset())},[e?.id]);let D=g===`auto`&&f!==`auto`;return(0,$.jsx)(Y.Root,{open:e!==void 0,onOpenChange:t,dismissDisabled:E.isPending,children:(0,$.jsxs)(Y.Content,{size:`base`,closeLabel:n(`common.close`),children:[(0,$.jsx)(Y.Title,{children:n(`agents.changeMode.title`)}),(0,$.jsx)(Y.Description,{children:n(`agents.changeMode.description`,{name:w})}),(0,$.jsx)(Y.Body,{children:(0,$.jsxs)(`div`,{className:`grid gap-5`,"data-testid":`change-mode`,children:[T&&(0,$.jsx)(`div`,{"data-testid":`change-mode-elevation`,"data-elevation-outcome":ye(T.mode,g)?`keeps`:`ends`,children:(0,$.jsx)(P,{variant:`default`,size:`sm`,icon:(0,$.jsx)(h,{weight:`fill`}),title:n(`agents.changeMode.elevatedTitle`,{mode:n(`agents.modes.names.${T.mode}`),time:be(T.until,r,{now:a})}),description:ye(T.mode,g)?n(`agents.changeMode.elevationKeeps`,{time:be(T.until,r,{now:a}),mode:n(`agents.modes.names.${g}`)}):n(`agents.changeMode.elevationEnds`,{mode:n(`agents.modes.names.${g}`)})})}),(0,$.jsx)(te,{value:g,onValueChange:e=>{_(e),b(!1),C(!1),E.reset()},current:f,legend:n(`agents.modes.legend`)}),(0,$.jsx)(x,{}),D&&(0,$.jsx)(ee,{checked:v,onCheckedChange:b,showError:S}),E.error&&(0,$.jsx)(P,{variant:`error`,size:`sm`,icon:(0,$.jsx)(N,{weight:`fill`}),title:n(`agents.changeMode.failed`),description:ge(n,E.error)}),(0,$.jsxs)(ue,{children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-2`,"data-testid":`mode-transition`,children:[(0,$.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(m,{variant:`secondary`,size:`sm`,as:`span`,children:n(`agents.changeMode.from`)}),(0,$.jsx)(y,{mode:f})]}),(0,$.jsx)(d,{size:16}),(0,$.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(m,{variant:`secondary`,size:`sm`,as:`span`,children:n(`agents.changeMode.to`)}),(0,$.jsx)(y,{mode:g})]})]}),(0,$.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,$.jsx)(`span`,{className:`flex h-lh items-center text-kumo-subtle`,children:(0,$.jsx)(p,{size:16})}),(0,$.jsxs)(m,{variant:`secondary`,size:`sm`,children:[(0,$.jsxs)(m,{as:`span`,size:`sm`,bold:!0,children:[n(`agents.changeMode.nextCallTitle`),`.`]}),` `,n(`agents.changeMode.nextCall`)]})]})]})]})}),(0,$.jsx)(Y.Actions,{dismissLabel:n(`common.cancel`),children:(0,$.jsx)(Y.Actions.Primary,{onClick:()=>{C(!0),u&&g!==f&&!E.isPending&&(!D||v)&&E.mutate({id:u.id,next:g})},loading:E.isPending,disabled:g===f,children:n(`agents.changeMode.submit`)})})]})})}var dt=[`features`,`allow-comments-unsupported`];function ft(e,t){let n=X(`commentsSettings`),r=F(`comments.read`),i=R();if(!t)return r;let a=e.owner?.role,o=!a||Fe(i,a,`comments.read`);return{allowed:o,reason:o?void 0:n(`commentsSettings.keys.ownerCannot`,{name:e.owner?.name??n(`agents.all.unknownOwner`)})}}function pt({agentKey:e,others:t=!1}){let n=X(`commentsSettings`),r=z(),u=s(),d=ft(e,t),f=c({queryKey:[`instance`],queryFn:G.instance,retry:!1}),p=c({queryKey:dt,queryFn:()=>!1,initialData:!1,staleTime:1/0}).data,m=l({mutationFn:()=>G.agentKeys.allowComments(e.id),onSuccess:async t=>{await u.invalidateQueries({queryKey:[`agent-keys`]}),r.success(n(`commentsSettings.keys.allowed`),n(`commentsSettings.keys.allowedDescription`,{name:t.name??e.name??n(`agents.unnamed`)}))},onError:e=>{W(e)===`scope_not_addable`?(u.setQueryData(dt,!0),r.error(n(`commentsSettings.keys.failed`),n(`commentsSettings.keys.unsupported`))):r.error(n(`commentsSettings.keys.failed`),ge(n,e))}});return!e.enabled||f.data?.features.comments?.available!==!0?null:$e(e)?(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,"data-comment-access":`missing`,children:[(0,$.jsx)(`span`,{className:`inline-flex`,children:(0,$.jsx)(a,{content:(0,$.jsx)(`span`,{className:`block max-w-72`,children:n(p?`commentsSettings.keys.unsupported`:`commentsSettings.keys.missingHint`)}),children:(0,$.jsx)(i,{variant:`outline`,children:n(`commentsSettings.keys.missing`)})})}),!p&&(0,$.jsx)(o,{variant:`secondary`,size:`xs`,icon:(0,$.jsx)(Ue,{}),loading:m.isPending,onClick:()=>m.mutate(),disabled:!d.allowed,title:d.reason,children:n(`commentsSettings.keys.allow`)})]}):Pe(e.scopes,`content:write:own`)||Pe(e.scopes,`site:publish:own`)?(0,$.jsx)(`span`,{className:`inline-flex`,"data-comment-access":`writes`,children:(0,$.jsx)(a,{content:(0,$.jsx)(`span`,{className:`block max-w-72`,children:n(`commentsSettings.keys.writeHint`)}),children:(0,$.jsx)(i,{variant:`warning`,icon:(0,$.jsx)(M,{size:16}),children:n(`commentsSettings.keys.writeHintBadge`)})})}):null}function mt({endpoint:e,agentKey:t,local:n=!1,label:r}){let i=X(),[a,o]=(0,Q.useState)(`claude`),s=n?[...De,`stdio`]:[...De];return(0,$.jsxs)(`div`,{className:`grid min-w-0 gap-3`,"data-testid":`mcp-client-setup`,"data-client":a,children:[(0,$.jsx)(ae,{className:`w-full`,label:r??i(`agents.connect.client`),value:a,onValueChange:e=>o(e),items:Object.fromEntries(s.map(e=>[e,i(`agents.connect.clients.${e}`)]))}),(0,$.jsx)(`div`,{className:`min-w-0 overflow-x-auto`,children:(0,$.jsx)(Be,{code:Oe(a,e,t),lang:Te(a),showCopyButton:!0})}),(0,$.jsx)(m,{variant:`secondary`,size:`sm`,children:i(`agents.connect.hints.${a}`)})]})}function ht({open:e,onOpenChange:t,endpoint:n}){let r=X(),a=s(),c=S(),[d,f]=(0,Q.useState)(`mode`),[h,g]=(0,Q.useState)(c.defaultMode),[_,v]=(0,Q.useState)(!1),[b,w]=(0,Q.useState)(!1),[T,E]=(0,Q.useState)(!1),[D,O]=(0,Q.useState)(``),[k,A]=(0,Q.useState)(c.scopesFor(c.defaultMode)),[ne,j]=(0,Q.useState)(!1),[N,F]=(0,Q.useState)(!1),[I,L]=(0,Q.useState)(),R=c.scopesFor(h),z=!we(k,R),V=R.filter(e=>!k.includes(e)),H=l({mutationFn:()=>G.agentKeys.create({name:D.trim(),mode:h,...z?{scopes:k}:{}}),onSuccess:async e=>{L(e),await a.invalidateQueries({queryKey:[`agent-keys`]})}});(0,Q.useEffect)(()=>{e?(f(`mode`),g(c.defaultMode),v(!1),w(!1),E(!1),O(``),A(c.scopesFor(c.defaultMode)),j(!1),F(!1),H.reset()):L(void 0)},[e]),(0,Q.useEffect)(()=>{!_&&d===`mode`&&(g(c.defaultMode),A(c.scopesFor(c.defaultMode)))},[c]);let U=e=>{v(!0),g(e),A(c.scopesFor(e)),w(!1),E(!1)},K=()=>{E(!0),(h!==`auto`||b)&&f(`details`)},ae=N&&!D.trim()?r(`agents.create.nameRequired`):void 0,oe=N&&k.length===0?r(`agents.create.scopesRequired`):void 0,q=()=>{F(!0),k.length===0&&j(!0),!H.isPending&&D.trim()&&k.length!==0&&H.mutate()},se=(e,t)=>A(n=>t?[...new Set([...n,e])]:n.filter(t=>t!==e)),J=r(`agents.modes.names.${h}`);return(0,$.jsx)(Y.Root,{open:e,onOpenChange:t,dismissDisabled:H.isPending,children:(0,$.jsxs)(Y.Content,{size:`base`,closeLabel:r(`common.close`),children:[(0,$.jsx)(Y.Title,{children:r(I?`agents.reveal.title`:`agents.create.title`)}),(0,$.jsx)(Y.Description,{children:I?r(`agents.reveal.description`,{name:I.name??r(`agents.unnamed`)}):r(`agents.create.description`)}),(0,$.jsx)(Y.Body,{children:I?(0,$.jsxs)(`div`,{className:`grid gap-5`,"data-testid":`key-reveal`,children:[(0,$.jsx)(P,{variant:`alert`,icon:(0,$.jsx)(M,{weight:`fill`}),title:r(`agents.reveal.warningTitle`),description:r(`agents.reveal.warning`)}),(0,$.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,$.jsx)(m,{size:`sm`,bold:!0,as:`span`,children:r(`agents.reveal.key`)}),(0,$.jsx)(B,{size:`lg`,text:I.key,tooltip:{text:r(`common.copy`),copiedText:r(`common.copied`)}})]}),(0,$.jsx)(mt,{endpoint:n,agentKey:I.key,label:r(`agents.reveal.config`)})]}):d===`mode`?(0,$.jsxs)(`div`,{className:`grid gap-5`,"data-testid":`create-step-mode`,children:[(0,$.jsx)(m,{variant:`secondary`,size:`sm`,children:r(`agents.create.stepMode`)}),(0,$.jsx)(te,{value:h,onValueChange:U,legend:r(`agents.modes.legend`)}),h===`auto`&&(0,$.jsx)(ee,{checked:b,onCheckedChange:w,showError:T}),(0,$.jsx)(x,{})]}):(0,$.jsxs)(`div`,{className:`grid gap-6`,"data-testid":`create-step-details`,children:[(0,$.jsx)(m,{variant:`secondary`,size:`sm`,children:r(`agents.create.stepDetails`)}),H.error&&(0,$.jsx)(P,{variant:`error`,size:`sm`,title:r(`agents.create.failed`),description:W(H.error)===`scope_above_role`?r(`agents.create.errors.scopeAboveRole`):W(H.error)===`mode_above_role`?r(`agents.create.errors.modeAboveRole`):ge(r,H.error)}),(0,$.jsxs)(ue,{layout:`row`,label:r(`agents.create.mode`),children:[(0,$.jsxs)(`div`,{className:`grid min-w-0 flex-1 gap-1.5`,children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,$.jsx)(m,{size:`sm`,bold:!0,as:`span`,children:r(`agents.create.mode`)}),(0,$.jsx)(y,{mode:h})]}),(0,$.jsx)(m,{variant:`secondary`,size:`sm`,children:r(`agents.modes.waitsFor`,{mode:h})})]}),(0,$.jsx)(o,{variant:`secondary`,size:`sm`,onClick:()=>f(`mode`),children:r(`agents.create.changeMode`)})]}),(0,$.jsx)(re,{label:r(`agents.create.name`),placeholder:r(`agents.create.namePlaceholder`),description:r(`agents.create.nameHint`),value:D,onValueChange:O,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),q())},error:ae,autoFocus:!0,maxLength:64}),(0,$.jsxs)(ie.Root,{open:ne,onOpenChange:j,children:[(0,$.jsx)(ie.DefaultTrigger,{children:(0,$.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[(0,$.jsx)(`span`,{children:r(`agents.create.advanced`)}),z&&(0,$.jsx)(i,{variant:`info`,children:r(`agents.create.customised`)})]})}),(0,$.jsx)(ie.DefaultPanel,{children:(0,$.jsxs)(`fieldset`,{className:`grid min-w-0 gap-4 pt-1`,"aria-label":r(`agents.create.scopes`),"data-testid":`advanced-scopes`,children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,$.jsxs)(`div`,{className:`grid min-w-0 flex-1 gap-1.5`,children:[(0,$.jsx)(m,{variant:`secondary`,size:`sm`,children:r(`agents.create.advancedHint`,{mode:J})}),oe&&(0,$.jsx)(m,{variant:`error`,size:`sm`,children:oe})]}),z&&(0,$.jsx)(o,{variant:`ghost`,size:`sm`,icon:(0,$.jsx)(u,{}),onClick:()=>A(R),children:r(`agents.create.resetScopes`)})]}),Object.keys(Ae).map(e=>(0,$.jsxs)(ue,{label:r(`agents.create.groups.${e}`),className:`gap-3`,children:[(0,$.jsxs)(`div`,{className:`grid gap-0.5`,children:[(0,$.jsx)(m,{size:`sm`,bold:!0,as:`span`,children:r(`agents.create.groups.${e}`)}),(0,$.jsx)(m,{variant:`secondary`,size:`sm`,children:r(`agents.create.groupHints.${e}`)})]}),(0,$.jsx)(`div`,{className:`grid gap-2.5`,children:je(e,c.roleScopes).map(({scope:e,from:t,disabled:n})=>(0,$.jsxs)(`div`,{className:`grid gap-0.5`,children:[(0,$.jsx)(C,{checked:!n&&k.includes(e),disabled:n,onCheckedChange:t=>se(e,t===!0),label:(0,$.jsxs)(`span`,{className:`flex flex-wrap items-baseline gap-x-2`,children:[(0,$.jsx)(`span`,{children:r(`agents.scopes.${e}`)}),(0,$.jsx)(`span`,{className:`font-mono text-[0.9em] text-kumo-subtle`,children:e})]})}),(n||t)&&(0,$.jsx)(`span`,{className:`ps-6`,children:(0,$.jsx)(m,{variant:`secondary`,size:`sm`,children:n?r(`agents.create.scopeAboveRole`):r(`agents.create.scopeNarrowed`,{scope:t??``})})})]},t??e))})]},e)),V.length>0&&k.length>0&&(0,$.jsx)(P,{variant:`secondary`,size:`sm`,icon:(0,$.jsx)(p,{weight:`fill`}),title:r(`agents.create.missingScopesTitle`),description:r(`agents.create.missingScopes`,{scopes:me(V),mode:J})})]})})]})]})}),(0,$.jsx)(Y.Actions,{dismissLabel:r(I?`common.close`:`common.cancel`),children:I?(0,$.jsx)(Y.Actions.Primary,{onClick:()=>t(!1),children:r(`agents.reveal.done`)}):d===`mode`?(0,$.jsx)(Y.Actions.Primary,{onClick:K,children:r(`agents.create.continue`)}):(0,$.jsx)(Y.Actions.Primary,{onClick:q,loading:H.isPending,children:r(`agents.create.submit`)})})]})})}var gt=`60`;function _t({agentKey:e,onOpenChange:t}){let{t:n,locale:r}=he(),i=s(),a=z(),o=S(),c=We(),u=(0,Q.useId)(),f=(0,Q.useRef)(e);e&&(f.current=e);let g=e??f.current,_=Z(g),v=xe(_,o.keyModes),b=g?.name??n(`agents.unnamed`),x=g?ve({mode:_,elevation:g.elevation},c):void 0,{minMinutes:C,maxMinutes:w}=o.elevation,T=Se.filter(e=>e>=C&&e<=w),[E,D]=(0,Q.useState)(v[0]??`auto`),[O,k]=(0,Q.useState)(gt),[A,ne]=(0,Q.useState)(``),[j,M]=(0,Q.useState)(`minutes`),[F,I]=(0,Q.useState)(``),[L,R]=(0,Q.useState)(!1),[B,V]=(0,Q.useState)(!1),H=l({mutationFn:({id:e,input:t})=>G.agentKeys.elevate(e,t),onSuccess:async e=>{i.setQueryData([`agent-keys`],t=>t?.map(t=>t.id===e.id?e:t)),t(!1);let o=e.elevation;a.success(n(`agents.elevate.done`),o?n(`agents.elevate.doneDescription`,{name:e.name??n(`agents.unnamed`),mode:n(`agents.modes.names.${o.mode}`),time:be(o.until,r),from:n(`agents.modes.names.${e.mode}`)}):void 0),await i.invalidateQueries({queryKey:[`agent-keys`]})}});(0,Q.useEffect)(()=>{e&&(D(xe(Z(e),o.keyModes)[0]??`auto`),k(gt),ne(``),M(`minutes`),I(``),R(!1),V(!1),H.reset())},[e?.id]);let U=O===`custom`?_e(A,j,o.elevation):void 0,W=O===`custom`?U&&`minutes`in U?U.minutes:void 0:+O,K={min:Ce(C,r,`long`),max:Ce(w,r,`long`)},ie=U&&`error`in U&&(U.error!==`invalid`||B)?n(`agents.elevate.customErrors.${U.error}`,K):void 0,q=E===`auto`,se=e=>{D(e),R(!1),H.reset()},J=()=>{if(V(!0),!g||H.isPending||!v.includes(E)||W===void 0||q&&!L)return;let e=F.trim();H.mutate({id:g.id,input:{mode:E,minutes:W,...e?{reason:e}:{}}})};return(0,$.jsx)(Y.Root,{open:e!==void 0,onOpenChange:t,dismissDisabled:H.isPending,children:(0,$.jsxs)(Y.Content,{size:`base`,closeLabel:n(`common.close`),children:[(0,$.jsx)(Y.Title,{children:n(`agents.elevate.title`)}),(0,$.jsx)(Y.Description,{children:n(`agents.elevate.description`,{name:b})}),(0,$.jsx)(Y.Body,{children:(0,$.jsxs)(`div`,{className:`grid gap-5`,"data-testid":`elevate-key`,children:[x&&(0,$.jsx)(`div`,{"data-testid":`elevation-replaces`,children:(0,$.jsx)(P,{variant:`default`,size:`sm`,icon:(0,$.jsx)(h,{weight:`fill`}),title:n(`agents.elevate.replacesTitle`),description:n(`agents.elevate.replaces`,{name:b,mode:n(`agents.modes.names.${x.mode}`),time:be(x.until,r,{now:c})})})}),(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1.5`,"data-testid":`own-mode`,children:[(0,$.jsx)(m,{size:`sm`,bold:!0,as:`span`,children:n(`agents.elevate.ownMode`)}),(0,$.jsx)(y,{mode:_}),(0,$.jsx)(m,{variant:`secondary`,size:`sm`,as:`span`,children:n(`agents.elevate.ownModeHint`)})]}),(0,$.jsxs)(`div`,{className:`grid gap-2`,children:[(0,$.jsx)(m,{size:`sm`,bold:!0,as:`span`,children:n(`agents.elevate.legend`)}),(0,$.jsx)(te,{value:E,onValueChange:se,only:v,legend:n(`agents.elevate.legend`)})]}),q&&(0,$.jsx)(ee,{checked:L,onCheckedChange:R,showError:B}),(0,$.jsxs)(`fieldset`,{className:`grid min-w-0 gap-3`,"aria-labelledby":u,children:[(0,$.jsx)(m,{size:`sm`,bold:!0,as:`span`,id:u,children:n(`agents.elevate.duration`)}),(0,$.jsx)(`div`,{className:`min-w-0 overflow-x-auto`,"data-testid":`elevation-presets`,children:(0,$.jsx)(oe,{variant:`segmented`,value:O,onValueChange:e=>k(e),tabs:[...T.map(e=>({value:`${e}`,label:n(`agents.elevate.presets.${e}`)})),{value:`custom`,label:n(`agents.elevate.presets.custom`)}]})}),O===`custom`&&(0,$.jsxs)(`div`,{className:`flex flex-wrap items-start gap-3`,"data-testid":`elevation-custom`,children:[(0,$.jsx)(`div`,{className:`min-w-0 flex-[1_1_9rem]`,children:(0,$.jsx)(re,{className:`w-full`,type:`number`,inputMode:`decimal`,min:1,step:`any`,label:n(`agents.elevate.customValue`),description:n(`agents.elevate.customHint`,K),value:A,onValueChange:ne,error:ie,autoFocus:!0,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),J())}})}),(0,$.jsx)(`div`,{className:`w-36`,children:(0,$.jsx)(ae,{className:`w-full`,label:n(`agents.elevate.customUnit`),value:j,onValueChange:e=>M(e),items:{minutes:n(`agents.elevate.units.minutes`),hours:n(`agents.elevate.units.hours`)}})})]})]}),(0,$.jsx)(re,{className:`w-full`,label:n(`agents.elevate.reason`),placeholder:n(`agents.elevate.reasonPlaceholder`),description:n(`agents.elevate.reasonHint`),value:F,onValueChange:I,maxLength:200,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),J())}}),H.error&&(0,$.jsx)(P,{variant:`error`,size:`sm`,icon:(0,$.jsx)(N,{weight:`fill`}),title:n(`agents.elevate.failed`),description:ge(n,H.error)}),(0,$.jsxs)(ue,{children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-2`,"data-testid":`elevation-summary`,children:[(0,$.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(m,{variant:`secondary`,size:`sm`,as:`span`,children:n(`agents.elevate.now`)}),(0,$.jsx)(y,{mode:_})]}),(0,$.jsx)(d,{size:16}),(0,$.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(m,{variant:`secondary`,size:`sm`,as:`span`,children:n(`agents.elevate.elevated`)}),(0,$.jsx)(y,{mode:E})]})]}),W!==void 0&&(0,$.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,$.jsx)(`span`,{className:`flex h-lh items-center text-kumo-subtle`,children:(0,$.jsx)(h,{size:16})}),(0,$.jsx)(m,{bold:!0,"data-testid":`elevation-summary-text`,children:Me(n,r,{from:_,minutes:W,now:c})})]}),(0,$.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,$.jsx)(`span`,{className:`flex h-lh items-center text-kumo-subtle`,children:(0,$.jsx)(p,{size:16})}),(0,$.jsx)(m,{variant:`secondary`,size:`sm`,children:n(`agents.elevate.nextCall`)})]})]})]})}),(0,$.jsx)(Y.Actions,{dismissLabel:n(`common.cancel`),children:(0,$.jsx)(Y.Actions.Primary,{onClick:J,loading:H.isPending,disabled:v.length===0,children:n(`agents.elevate.submit`)})})]})})}var vt=(e,t,n)=>n(e.name??``).includes(t)||n(e.start??``).includes(t)||(e.mode??``).includes(t)||(e.elevation?.mode??``).includes(t)||e.scopes.some(e=>e.includes(t));function yt({agentKey:e}){let t=X(),n=S(),r=Ne(e.scopes),o=e.effectiveScopes?Ne(e.effectiveScopes):void 0;return o&&!we(o,r)?(0,$.jsxs)(`div`,{className:`flex min-w-60 flex-wrap items-center gap-1`,"data-scopes":`narrowed`,children:[o.map(e=>(0,$.jsx)(et,{scope:e},e)),(0,$.jsx)(`span`,{className:`inline-flex`,children:(0,$.jsx)(a,{content:(0,$.jsxs)(`span`,{className:`grid max-w-72 gap-1`,children:[(0,$.jsx)(`span`,{children:e.owner?.role?t(`agents.narrowed.hintRole`,{role:t(`roles.names.${e.owner.role}`)}):t(`agents.narrowed.hint`)}),(0,$.jsx)(`span`,{className:`font-mono text-[0.9em]`,children:t(`agents.narrowed.stored`,{scopes:me(r)})})]}),children:(0,$.jsx)(i,{variant:`warning`,icon:(0,$.jsx)(at,{}),children:t(`agents.narrowed.badge`)})})})]}):we(r,n.scopesFor(Z(e)))?(0,$.jsx)(`span`,{"data-scopes":`mode-default`,className:`inline-flex`,children:(0,$.jsx)(a,{content:(0,$.jsx)(`span`,{className:`grid gap-0.5`,children:r.map(e=>(0,$.jsx)(`span`,{className:`font-mono text-[0.9em]`,children:e},e))}),children:(0,$.jsx)(i,{variant:`outline`,children:t(`agents.scopesModeDefault`,{count:r.length})})})}):(0,$.jsx)(`div`,{className:`flex min-w-60 flex-wrap gap-1`,"data-scopes":`custom`,children:r.map(e=>(0,$.jsx)(et,{scope:e},e))})}function bt({endpoint:e}){let t=X();return(0,$.jsxs)(pe,{title:t(`agents.connect.title`),icon:(0,$.jsx)(st,{size:16}),description:t(`agents.connect.description`),children:[(0,$.jsxs)(`dl`,{className:`grid gap-4`,children:[(0,$.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,$.jsx)(`dt`,{children:(0,$.jsx)(m,{size:`sm`,bold:!0,as:`span`,children:t(`agents.connect.endpoint`)})}),(0,$.jsx)(`dd`,{className:`min-w-0`,children:(0,$.jsx)(B,{size:`base`,text:e,tooltip:{text:t(`common.copy`),copiedText:t(`common.copied`)}})})]}),(0,$.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,$.jsx)(`dt`,{children:(0,$.jsx)(m,{size:`sm`,bold:!0,as:`span`,children:t(`agents.connect.header`)})}),(0,$.jsx)(`dd`,{className:`min-w-0`,children:(0,$.jsx)(B,{size:`base`,text:`Authorization: Bearer`,tooltip:{text:t(`common.copy`),copiedText:t(`common.copied`)}})})]})]}),(0,$.jsx)(mt,{endpoint:e,local:!0})]})}function xt({agentKey:e,elevated:t,onChangeMode:n,onElevate:r,onEndElevation:i,onRevoke:s}){let c=X(),l=z(),{modes:u,keyModes:d,cap:f}=S(),p=Z(e),m=xe(p,d).length>0,v=f&&xe(p,u).length>0?c(`agents.roleCap`,{mode:c(`agents.modes.names.${f}`)}):c(`agents.elevate.menuDisabled`);return(0,$.jsxs)(K,{children:[(0,$.jsx)(K.Trigger,{render:(0,$.jsx)(o,{variant:`ghost`,size:`xs`,shape:`square`,icon:(0,$.jsx)(_,{weight:`bold`}),"aria-label":c(`site.rowMenu`)})}),(0,$.jsxs)(K.Content,{align:`end`,children:[(0,$.jsx)(K.Item,{icon:T,onClick:n,children:c(`agents.changeMode.menu`)}),m?(0,$.jsx)(K.Item,{icon:h,onClick:r,children:c(`agents.elevate.menu`)}):(0,$.jsx)(a,{content:v,side:`left`,render:(0,$.jsx)(`div`,{}),children:(0,$.jsx)(K.Item,{icon:h,disabled:!0,children:c(`agents.elevate.menu`)})}),t&&(0,$.jsx)(K.Item,{icon:E,onClick:i,children:c(`agents.elevation.endMenu`)}),(0,$.jsx)(K.Item,{icon:g,onClick:async()=>{await navigator.clipboard?.writeText(e.id),l.success(c(`common.copied`),e.id)},children:c(`agents.copyId`)}),(0,$.jsx)(K.Separator,{}),(0,$.jsx)(K.Item,{icon:j,variant:`danger`,onClick:s,children:c(`agents.revoke`)})]})]})}function St({agentKey:e,elevated:t,onEnd:n,onRevoke:r}){let i=X(),s=z();return(0,$.jsxs)(K,{children:[(0,$.jsx)(K.Trigger,{render:(0,$.jsx)(o,{variant:`ghost`,size:`xs`,shape:`square`,icon:(0,$.jsx)(_,{weight:`bold`}),"aria-label":i(`site.rowMenu`)})}),(0,$.jsxs)(K.Content,{align:`end`,children:[(0,$.jsx)(a,{content:i(`agents.all.elevateOnlyCreator`),side:`left`,render:(0,$.jsx)(`div`,{}),children:(0,$.jsx)(K.Item,{icon:h,disabled:!0,children:i(`agents.elevate.menu`)})}),t&&(0,$.jsx)(K.Item,{icon:E,onClick:n,children:i(`agents.elevation.endMenu`)}),(0,$.jsx)(K.Item,{icon:g,onClick:async()=>{await navigator.clipboard?.writeText(e.id),s.success(i(`common.copied`),e.id)},children:i(`agents.copyId`)}),(0,$.jsx)(K.Separator,{}),(0,$.jsx)(K.Item,{icon:j,variant:`danger`,onClick:r,children:i(`agents.revoke`)})]})]})}function Ct({onRevoke:e,now:t}){let n=X(),r=L().data,a=c({queryKey:[`agent-keys`,`all`],queryFn:G.agentKeys.listAll});A(a.data);let o=O(),s=(0,Q.useMemo)(()=>[...a.data??[]].sort((e,t)=>(e.owner?.name??``).localeCompare(t.owner?.name??``)||(e.name??``).localeCompare(t.name??``)),[a.data]),l=tt(s,(e,t,n)=>vt(e,t,n)||n(e.owner?.name??``).includes(t));return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ye,{error:a.error,onRetry:()=>a.refetch(),retrying:a.isFetching}),(0,$.jsx)(P,{variant:`secondary`,icon:(0,$.jsx)(ze,{weight:`fill`}),title:n(`agents.all.title`),description:n(`agents.all.description`)}),(0,$.jsx)(Ze,{search:l.search,onSearch:l.setSearch,placeholder:n(`agents.all.search`)}),a.isSuccess&&s.length===0?(0,$.jsx)(J,{icon:(0,$.jsx)(v,{size:48,className:`text-kumo-inactive`}),title:n(`agents.all.empty`),description:n(`agents.all.emptyDescription`)}):(0,$.jsx)(H,{className:`overflow-x-auto p-0`,children:(0,$.jsxs)(q,{children:[(0,$.jsx)(q.Header,{children:(0,$.jsxs)(q.Row,{children:[(0,$.jsx)(q.Head,{children:n(`agents.columns.name`)}),(0,$.jsx)(q.Head,{children:n(`agents.columns.owner`)}),(0,$.jsx)(q.Head,{children:n(`agents.columns.mode`)}),(0,$.jsx)(q.Head,{children:n(`agents.columns.scopes`)}),(0,$.jsx)(q.Head,{children:n(`agents.columns.status`)}),(0,$.jsx)(q.Head,{sticky:`right`,className:`w-12`,children:(0,$.jsx)(`span`,{className:`sr-only`,children:n(`site.rowMenu`)})})]})}),a.isPending?(0,$.jsx)(Xe,{columns:6,rows:3}):(0,$.jsx)(q.Body,{children:l.pageItems.map(a=>(0,$.jsxs)(q.Row,{"data-key-id":a.id,"data-owner":a.owner?.userId,children:[(0,$.jsx)(q.Cell,{className:`whitespace-nowrap`,children:(0,$.jsxs)(`div`,{className:`grid gap-0.5`,children:[(0,$.jsx)(m,{bold:!0,as:`span`,children:a.name??n(`agents.unnamed`)}),a.start&&(0,$.jsx)(m,{variant:`mono-secondary`,as:`span`,children:n(`agents.keyPrefix`,{start:a.start})})]})}),(0,$.jsx)(q.Cell,{className:`whitespace-nowrap`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Ve,{initials:Ge(a.owner?.name??`?`),size:`sm`}),(0,$.jsx)(m,{as:`span`,children:a.owner?.userId===r?.userId?n(`members.you`):a.owner?.name??n(`agents.all.unknownOwner`)}),a.owner?.role&&(0,$.jsx)(qe,{value:a.owner.role})]})}),(0,$.jsx)(q.Cell,{className:`whitespace-nowrap`,children:(0,$.jsx)(k,{agentKey:a,now:t})}),(0,$.jsx)(q.Cell,{children:(0,$.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,$.jsx)(yt,{agentKey:a}),(0,$.jsx)(lt,{agentKey:a,others:a.owner?.userId!==r?.userId}),(0,$.jsx)(pt,{agentKey:a,others:a.owner?.userId!==r?.userId})]})}),(0,$.jsx)(q.Cell,{className:`whitespace-nowrap`,children:a.enabled?(0,$.jsx)(i,{variant:`success`,appearance:`dot`,children:n(`agents.active`)}):(0,$.jsx)(i,{variant:`neutral`,appearance:`dot`,children:n(`agents.disabled`)})}),(0,$.jsx)(q.Cell,{sticky:`right`,className:`w-12 text-end`,children:(0,$.jsx)(St,{agentKey:a,elevated:ve({mode:Z(a),elevation:a.elevation},t)!==void 0,onEnd:()=>o.mutate([a]),onRevoke:()=>e(a)})})]},a.id))})]})}),l.total>l.perPage&&(0,$.jsx)(f,{page:l.page,perPage:l.perPage,totalCount:l.total,setPage:l.setPage,controls:`simple`})]})}function wt(){let{t:e,locale:t}=he(),n=s(),r=z(),a=c({queryKey:[`agent-keys`],queryFn:G.agentKeys.list,retry:(e,t)=>!V(t)&&e<1}),u=tt(a.data,vt),[d,h]=(0,Q.useState)(!1),[g,_]=(0,Q.useState)(),[y,ee]=(0,Q.useState)(),[te,x]=(0,Q.useState)(),C=U(window.location.origin),T=V(a.error),E=We();A(a.data);let j=O(),M=D(),N=S(),F=Ie(),R=L().data,re=I(R,`agents.manage`)&&R?.can!==void 0,[B,W]=(0,Q.useState)(`mine`),K=l({mutationFn:e=>G.agentKeys.remove(e.id),onSuccess:async(t,i)=>{_(void 0),await n.invalidateQueries({queryKey:[`agent-keys`]}),r.success(e(`agents.revoked`),e(`agents.revokedDescription`,{name:i.name??e(`agents.unnamed`)}))}}),ie=(0,$.jsx)(o,{variant:`primary`,icon:(0,$.jsx)(w,{}),onClick:()=>h(!0),disabled:T,children:e(`agents.createKey`)});return(0,$.jsxs)(Le,{crumbs:(0,$.jsx)(se,{trail:[{label:e(`pageHeaders.agents.title`),href:`/agents`},{label:e(`nav.agentKeys`)}]}),icon:(0,$.jsx)(He,{size:24}),title:e(`pageHeaders.agents.title`),description:e(`pageHeaders.agents.description`),actions:ie,...re?{tabs:[{value:`mine`,label:e(`agents.views.mine`)},{value:`all`,label:e(`agents.views.all`)}],tab:B,onTabChange:e=>W(e===`all`?`all`:`mine`)}:{},aside:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(bt,{endpoint:C}),(0,$.jsx)(b,{})]}),children:[B===`all`&&re?(0,$.jsx)(Ct,{onRevoke:_,now:E}):(0,$.jsxs)($.Fragment,{children:[T?(0,$.jsx)(P,{variant:`secondary`,icon:(0,$.jsx)(p,{weight:`fill`}),title:e(`agents.notEnabledTitle`),description:e(`agents.notEnabledDescription`)}):(0,$.jsx)(Ye,{error:a.error,onRetry:()=>a.refetch(),retrying:a.isFetching}),(0,$.jsx)(Ze,{search:u.search,onSearch:u.setSearch,placeholder:e(`agents.search`)}),(0,$.jsx)(ne,{keys:a.data,now:E,noticeMinutes:N.noticeMinutes,onEnd:e=>j.mutate(e),ending:j.isPending,onExtend:e=>M.mutate({targets:e}),extending:M.isPending}),T?null:a.data?.length===0?(0,$.jsx)(J,{icon:(0,$.jsx)(v,{size:48,className:`text-kumo-inactive`}),title:e(`agents.empty`),description:e(`agents.emptyDescription`),commandLine:`cloudhal mcp`,contents:(0,$.jsx)(o,{variant:`secondary`,icon:(0,$.jsx)(w,{}),onClick:()=>h(!0),children:e(`agents.createKey`)})}):(0,$.jsx)(H,{className:`overflow-x-auto p-0`,children:(0,$.jsxs)(q,{children:[(0,$.jsx)(q.Header,{children:(0,$.jsxs)(q.Row,{children:[(0,$.jsx)(q.Head,{children:e(`agents.columns.name`)}),(0,$.jsx)(q.Head,{children:e(`agents.columns.mode`)}),(0,$.jsx)(q.Head,{children:e(`agents.columns.scopes`)}),(0,$.jsx)(q.Head,{children:e(`agents.columns.created`)}),(0,$.jsx)(q.Head,{children:e(`agents.columns.status`)}),(0,$.jsx)(q.Head,{sticky:`right`,className:`w-12`,children:(0,$.jsx)(`span`,{className:`sr-only`,children:e(`site.rowMenu`)})})]})}),a.isPending?(0,$.jsx)(Xe,{columns:6,rows:3}):u.pageItems.length===0?(0,$.jsx)(q.Body,{children:(0,$.jsx)(q.Row,{children:(0,$.jsx)(q.Cell,{colSpan:6,children:(0,$.jsx)(Re,{icon:(0,$.jsx)(v,{size:32,className:`text-kumo-inactive`}),title:e(`agents.noMatches`,{query:u.search})})})})}):(0,$.jsx)(q.Body,{children:u.pageItems.map(n=>(0,$.jsxs)(q.Row,{"data-key-id":n.id,children:[(0,$.jsx)(q.Cell,{className:`whitespace-nowrap`,children:(0,$.jsxs)(`div`,{className:`grid gap-0.5`,children:[(0,$.jsx)(m,{bold:!0,as:`span`,children:n.name??e(`agents.unnamed`)}),n.start&&(0,$.jsx)(m,{variant:`mono-secondary`,as:`span`,children:e(`agents.keyPrefix`,{start:n.start})})]})}),(0,$.jsx)(q.Cell,{className:`whitespace-nowrap`,children:(0,$.jsx)(k,{agentKey:n,now:E,asks:F.get(n.id)})}),(0,$.jsx)(q.Cell,{children:(0,$.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,$.jsx)(yt,{agentKey:n}),(0,$.jsx)(lt,{agentKey:n}),(0,$.jsx)(pt,{agentKey:n})]})}),(0,$.jsx)(q.Cell,{className:`whitespace-nowrap`,children:(0,$.jsxs)(`div`,{className:`grid gap-0.5`,children:[(0,$.jsx)(Je,{iso:n.createdAt}),(0,$.jsx)(m,{variant:`secondary`,size:`sm`,as:`span`,children:n.expiresAt?e(`agents.expires`,{when:ce(t,n.expiresAt,le)}):e(`agents.never`)})]})}),(0,$.jsx)(q.Cell,{className:`whitespace-nowrap`,children:n.enabled?(0,$.jsx)(i,{variant:`success`,appearance:`dot`,children:e(`agents.active`)}):(0,$.jsx)(i,{variant:`neutral`,appearance:`dot`,children:e(`agents.disabled`)})}),(0,$.jsx)(q.Cell,{sticky:`right`,className:`w-12 text-end`,children:(0,$.jsx)(xt,{agentKey:n,elevated:ve({mode:Z(n),elevation:n.elevation},E)!==void 0,onChangeMode:()=>ee(n),onElevate:()=>x(n),onEndElevation:()=>j.mutate([n]),onRevoke:()=>_(n)})})]},n.id))})]})}),u.total>u.perPage&&(0,$.jsx)(f,{page:u.page,perPage:u.perPage,totalCount:u.total,setPage:u.setPage,controls:`simple`})]}),(0,$.jsx)(ht,{open:d,onOpenChange:h,endpoint:C}),(0,$.jsx)(ut,{agentKey:y,onOpenChange:e=>!e&&ee(void 0)}),(0,$.jsx)(_t,{agentKey:te,onOpenChange:e=>!e&&x(void 0)}),(0,$.jsx)(de,{open:g!==void 0,onOpenChange:e=>{e||(_(void 0),K.reset())},...fe(e,e(`agents.keyResource`),{action:e(`agents.revokeKey`),error:K.error}),resourceName:g?.name??g?.id??``,isDeleting:K.isPending,onDelete:async()=>{g&&await K.mutateAsync(g).catch(()=>void 0)}})]})}export{wt as AgentsPage,bt as ConnectMcpCard};
|
|
2
|
+
//# sourceMappingURL=AgentsPage-B-czVWlA.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/date-picker-BSgojKR2.js","assets/date-picker-cotkexrpqu5tjikv-C9Knj8LQ.js","assets/rolldown-runtime-hePW80VL.js","assets/IconBase.es-BZDpYMnj.js","assets/react-CDCuUAOg.js","assets/CaretLeft.es-BUnHcaxq.js","assets/CaretRight.es-D_coqYai.js","assets/rolldown-runtime-hi7ti5xiuxsegr96-DK3Fl9T5.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{n as t,t as n}from"./IconBase.es-BZDpYMnj.js";import{i as r,r as i}from"./react-CDCuUAOg.js";import{t as a}from"./badge-dq8bx752b9dp7dst--rpq8QXS.js";import{a as o,n as s,o as c,r as l,t as u}from"./button-pa1bq9b85hawg41a-CmOCuL-1.js";import{t as d}from"./link-cqyfjezntvr53rh7-3eczR57J.js";import{S as f,_ as p,d as m,g as h,l as g,u as _}from"./tanstack-BRxyYm4G.js";import{i as v,n as y,r as b}from"./charts-Dni4XxBl.js";import{t as x}from"./ArrowClockwise.es-BA0pzb0Y.js";import{c as S,o as C,s as w}from"./Taxonomy-CVwYZsH4.js";import{a as T,r as E,t as D}from"./DirectionalIcon-UZJFXGY_.js";import{t as O}from"./ArrowSquareOut.es-BWeH9CSw.js";import{r as k,t as A}from"./calendar-locale-D4aJYygH.js";import{t as ee}from"./pagination-oaenm9t7ou3lmcgw-CjvX77_7.js";import{m as te,n as j,t as M}from"./skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js";import{t as ne}from"./ClockCountdown.es-BR_zz6vi.js";import{t as re}from"./DownloadSimple.es-Cq4-UK-k.js";import{t as ie}from"./EnvelopeSimple.es-g-hlqV74.js";import{t as ae}from"./Funnel.es-L1Sdi8-A.js";import{t as oe}from"./Gauge.es-D0Pz39Z0.js";import{t as N}from"./GlobeHemisphereWest.es-C34XiLRk.js";import{t as se}from"./ShieldCheck.es-BOXTHH7h.js";import{t as P}from"./Sparkle.es-OfyfGCDe.js";import{a as F,i as I,n as L,r as ce,t as le}from"./StatTile-DJkAsABJ.js";import{t as ue}from"./Warning.es-LZXqwHRF.js";import{n as de,t as R}from"./banner-msnmqm7of2lck01x-D6cADEpP.js";import{a as fe,s as pe}from"./useMe-D5W0xdO9.js";import{a as me,c as he,o as ge,t as z}from"./api-Mdeo6gzg.js";import{t as _e}from"./collapsible-l8g94on4w7qfosmn-Bn4JrutR.js";import{t as B}from"./meter-majprsslwmpbmkzg-Bio9f57s.js";import{t as ve}from"./switch-cqsvolm7h69z7vgg-DkSvRVQF.js";import{t as V}from"./tabs-gf57qqf1wcclaejq-CirIVMnq.js";import{t as H}from"./table-yf8ul2e5nbemioi1-KGRDj7XO.js";import{n as ye}from"./Crumbs-CJ6UlbPv.js";import{t as U}from"./empty-hkvg3is3uc6dj1at-Cen9KfIy.js";import{i as be,t as xe}from"./useChartPalette-BnJNJ44v.js";import{t as W}from"./Settings-m8Ai9oIJ.js";import{t as G}from"./layer-dialog-j5ywmzs46ccg6oqy-DLBR2ljP.js";import{c as Se}from"./intl-C22KAx_l.js";import{a as Ce,c as we,i as Te,l as Ee,n as De,o as Oe,s as ke,t as Ae,u as je}from"./analytics-range-BqKm9TTo.js";import{t as Me}from"./preload-helper-DjzSQ1t3.js";import{t as Ne}from"./InsetPanel-CHSg953_.js";import{t as Pe}from"./Columns-DGrju-Ia.js";import{t as K}from"./SectionCard-BxLoZOcp.js";import{c as Fe,u as Ie}from"./i18n-CdW50___.js";import{t as Le}from"./api-errors-CXLBmdpk.js";import{$ as Re,C as ze,E as q,H as Be,J as Ve,N as J,W as He,X as Ue,b as We,ot as Ge,tt as Ke,u as qe,y as Je}from"./index-DYyDeKnk.js";import{n as Ye}from"./permalinks-CNYgOPCo.js";import{t as Xe}from"./TableSkeleton-DWrf88UN.js";import{r as Ze,t as Qe}from"./RedirectDialog-Bjj_Yc96.js";import{s as $e}from"./site-settings-Cmq0DkaT.js";import{n as et}from"./EntryPath-CkymIfuw.js";var Y=e(r(),1),tt=new Map([[`bold`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M132,136v64a12,12,0,0,1-24,0V165L48.49,224.49a12,12,0,0,1-17-17L91,148H56a12,12,0,0,1,0-24h64A12,12,0,0,1,132,136ZM208,28H80A20,20,0,0,0,60,48V92a12,12,0,0,0,24,0V52H204V172H164a12,12,0,0,0,0,24h44a20,20,0,0,0,20-20V48A20,20,0,0,0,208,28Z`}))],[`fill`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M128,136v64a8,8,0,0,1-13.66,5.66L88,179.31,45.66,221.66a8,8,0,0,1-11.32-11.32L76.69,168,50.34,141.66A8,8,0,0,1,56,128h64A8,8,0,0,1,128,136ZM208,32H80A16,16,0,0,0,64,48V96a8,8,0,0,0,16,0V48H208V176H160a8,8,0,0,0,0,16h48a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32Z`}))],[`regular`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M128,136v64a8,8,0,0,1-16,0V155.32L45.66,221.66a8,8,0,0,1-11.32-11.32L100.68,144H56a8,8,0,0,1,0-16h64A8,8,0,0,1,128,136ZM208,32H80A16,16,0,0,0,64,48V96a8,8,0,0,0,16,0V48H208V176H160a8,8,0,0,0,0,16h48a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32Z`}))]]),nt=new Map([[`bold`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M216.49,184.49l-32,32a12,12,0,0,1-17-17L179,188H48a12,12,0,0,1,0-24H179l-11.52-11.51a12,12,0,0,1,17-17l32,32A12,12,0,0,1,216.49,184.49Zm-145-64a12,12,0,0,0,17-17L77,92H208a12,12,0,0,0,0-24H77L88.49,56.49a12,12,0,0,0-17-17l-32,32a12,12,0,0,0,0,17Z`}))],[`fill`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M42.34,85.66a8,8,0,0,1,0-11.32l32-32A8,8,0,0,1,88,48V72H208a8,8,0,0,1,0,16H88v24a8,8,0,0,1-13.66,5.66Zm171.32,84.68-32-32A8,8,0,0,0,168,144v24H48a8,8,0,0,0,0,16H168v24a8,8,0,0,0,13.66,5.66l32-32A8,8,0,0,0,213.66,170.34Z`}))],[`regular`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M213.66,181.66l-32,32a8,8,0,0,1-11.32-11.32L188.69,184H48a8,8,0,0,1,0-16H188.69l-18.35-18.34a8,8,0,0,1,11.32-11.32l32,32A8,8,0,0,1,213.66,181.66Zm-139.32-64a8,8,0,0,0,11.32-11.32L67.31,88H208a8,8,0,0,0,0-16H67.31L85.66,53.66A8,8,0,0,0,74.34,42.34l-32,32a8,8,0,0,0,0,11.32Z`}))]]),rt=new Map([[`bold`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M156,88H100a12,12,0,0,0-12,12v56a12,12,0,0,0,12,12h56a12,12,0,0,0,12-12V100A12,12,0,0,0,156,88Zm-12,56H112V112h32Zm88-4H220V116h12a12,12,0,0,0,0-24H220V56a20,20,0,0,0-20-20H164V24a12,12,0,0,0-24,0V36H116V24a12,12,0,0,0-24,0V36H56A20,20,0,0,0,36,56V92H24a12,12,0,0,0,0,24H36v24H24a12,12,0,0,0,0,24H36v36a20,20,0,0,0,20,20H92v12a12,12,0,0,0,24,0V220h24v12a12,12,0,0,0,24,0V220h36a20,20,0,0,0,20-20V164h12a12,12,0,0,0,0-24Zm-36,56H60V60H196Z`}))],[`fill`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M104,104h48v48H104Zm136,48a8,8,0,0,1-8,8H216v40a16,16,0,0,1-16,16H160v16a8,8,0,0,1-16,0V216H112v16a8,8,0,0,1-16,0V216H56a16,16,0,0,1-16-16V160H24a8,8,0,0,1,0-16H40V112H24a8,8,0,0,1,0-16H40V56A16,16,0,0,1,56,40H96V24a8,8,0,0,1,16,0V40h32V24a8,8,0,0,1,16,0V40h40a16,16,0,0,1,16,16V96h16a8,8,0,0,1,0,16H216v32h16A8,8,0,0,1,240,152ZM168,96a8,8,0,0,0-8-8H96a8,8,0,0,0-8,8v64a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8Z`}))],[`regular`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M152,96H104a8,8,0,0,0-8,8v48a8,8,0,0,0,8,8h48a8,8,0,0,0,8-8V104A8,8,0,0,0,152,96Zm-8,48H112V112h32Zm88,0H216V112h16a8,8,0,0,0,0-16H216V56a16,16,0,0,0-16-16H160V24a8,8,0,0,0-16,0V40H112V24a8,8,0,0,0-16,0V40H56A16,16,0,0,0,40,56V96H24a8,8,0,0,0,0,16H40v32H24a8,8,0,0,0,0,16H40v40a16,16,0,0,0,16,16H96v16a8,8,0,0,0,16,0V216h32v16a8,8,0,0,0,16,0V216h40a16,16,0,0,0,16-16V160h16a8,8,0,0,0,0-16Zm-32,56H56V56H200v95.87s0,.09,0,.13,0,.09,0,.13V200Z`}))]]),it=new Map([[`bold`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M128,20A108,108,0,1,0,236,128,108.12,108.12,0,0,0,128,20Zm0,192a84,84,0,1,1,84-84A84.09,84.09,0,0,1,128,212Zm44-64a32,32,0,0,1-32,32v4a12,12,0,0,1-24,0v-4H104a12,12,0,0,1,0-24h36a8,8,0,0,0,0-16H116a32,32,0,0,1,0-64V72a12,12,0,0,1,24,0v4h12a12,12,0,0,1,0,24H116a8,8,0,0,0,0,16h24A32,32,0,0,1,172,148Z`}))],[`fill`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm12,152h-4v8a8,8,0,0,1-16,0v-8H104a8,8,0,0,1,0-16h36a12,12,0,0,0,0-24H116a28,28,0,0,1,0-56h4V72a8,8,0,0,1,16,0v8h16a8,8,0,0,1,0,16H116a12,12,0,0,0,0,24h24a28,28,0,0,1,0,56Z`}))],[`regular`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm40-68a28,28,0,0,1-28,28h-4v8a8,8,0,0,1-16,0v-8H104a8,8,0,0,1,0-16h36a12,12,0,0,0,0-24H116a28,28,0,0,1,0-56h4V72a8,8,0,0,1,16,0v8h16a8,8,0,0,1,0,16H116a12,12,0,0,0,0,24h24A28,28,0,0,1,168,148Z`}))]]),at=new Map([[`bold`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M168,76a12,12,0,0,1,12-12h24a12,12,0,0,1,0,24H180A12,12,0,0,1,168,76Zm12,48h24a12,12,0,0,0,0-24H180a12,12,0,0,0,0,24Zm72-76V208a20,20,0,0,1-20,20H152a20,20,0,0,1-20-20V192H100v12h8a12,12,0,0,1,0,24H68a12,12,0,0,1,0-24h8V192H32A28,28,0,0,1,4,164V96A28,28,0,0,1,32,68H132V48a20,20,0,0,1,20-20h80A20,20,0,0,1,252,48ZM132,168V92H32a4,4,0,0,0-4,4v68a4,4,0,0,0,4,4ZM228,52H156V204h72ZM192,160a16,16,0,1,0,16,16A16,16,0,0,0,192,160Z`}))],[`fill`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M120,76V188a4,4,0,0,1-4,4H96v16h15.73a8.18,8.18,0,0,1,8.25,7.47,8,8,0,0,1-8,8.53H64.27A8.18,8.18,0,0,1,56,216.53,8,8,0,0,1,64,208H80V192H32A24,24,0,0,1,8,168V96A24,24,0,0,1,32,72h84A4,4,0,0,1,120,76ZM248,48V208a16,16,0,0,1-16,16H152a16,16,0,0,1-16-16V48a16,16,0,0,1,16-16h80A16,16,0,0,1,248,48ZM203.9,181.57a12,12,0,1,0-10.34,10.33A12,12,0,0,0,203.9,181.57ZM224,103.47A8.18,8.18,0,0,0,215.73,96H168.27a8.18,8.18,0,0,0-8.25,7.47,8,8,0,0,0,8,8.53h48A8,8,0,0,0,224,103.47Zm0-32A8.18,8.18,0,0,0,215.73,64H168.27A8.18,8.18,0,0,0,160,71.47,8,8,0,0,0,168,80h48A8,8,0,0,0,224,71.47Z`}))],[`regular`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M216,72a8,8,0,0,1-8,8H176a8,8,0,0,1,0-16h32A8,8,0,0,1,216,72Zm-8,24H176a8,8,0,0,0,0,16h32a8,8,0,0,0,0-16Zm40-48V208a16,16,0,0,1-16,16H152a16,16,0,0,1-16-16V192H96v16h16a8,8,0,0,1,0,16H64a8,8,0,0,1,0-16H80V192H32A24,24,0,0,1,8,168V96A24,24,0,0,1,32,72H136V48a16,16,0,0,1,16-16h80A16,16,0,0,1,248,48ZM136,176V88H32a8,8,0,0,0-8,8v72a8,8,0,0,0,8,8Zm96,32V48H152V208h80Zm-40-40a12,12,0,1,0,12,12A12,12,0,0,0,192,168Z`}))]]),ot=new Map([[`bold`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z`}))],[`fill`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM115.7,192.49a43.31,43.31,0,0,1-55-66.43l25.37-25.37a43.35,43.35,0,0,1,61.25,0,42.9,42.9,0,0,1,9.95,15.43,8,8,0,1,1-15,5.6A27.33,27.33,0,0,0,97.37,112L72,137.37a27.32,27.32,0,0,0,34.68,41.91,8,8,0,1,1,9,13.21Zm79.61-62.55-25.37,25.37A43,43,0,0,1,139.32,168h0a43.35,43.35,0,0,1-40.53-28.12,8,8,0,1,1,15-5.6A27.35,27.35,0,0,0,139.28,152h0a27.14,27.14,0,0,0,19.32-8L184,118.63a27.32,27.32,0,0,0-34.68-41.91,8,8,0,1,1-9-13.21,43.32,43.32,0,0,1,55,66.43Z`}))],[`regular`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M240,88.23a54.43,54.43,0,0,1-16,37L189.25,160a54.27,54.27,0,0,1-38.63,16h-.05A54.63,54.63,0,0,1,96,119.84a8,8,0,0,1,16,.45A38.62,38.62,0,0,0,150.58,160h0a38.39,38.39,0,0,0,27.31-11.31l34.75-34.75a38.63,38.63,0,0,0-54.63-54.63l-11,11A8,8,0,0,1,135.7,59l11-11A54.65,54.65,0,0,1,224,48,54.86,54.86,0,0,1,240,88.23ZM109,185.66l-11,11A38.41,38.41,0,0,1,70.6,208h0a38.63,38.63,0,0,1-27.29-65.94L78,107.31A38.63,38.63,0,0,1,144,135.71a8,8,0,0,0,16,.45A54.86,54.86,0,0,0,144,96a54.65,54.65,0,0,0-77.27,0L32,130.75A54.62,54.62,0,0,0,70.56,224h0a54.28,54.28,0,0,0,38.64-16l11-11A8,8,0,0,0,109,185.66Z`}))]]),st=new Map([[`bold`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M116,128V48a12,12,0,0,1,24,0v80a12,12,0,0,1-24,0Zm66.55-82a12,12,0,0,0-13.1,20.1C191.41,80.37,204,103,204,128a76,76,0,0,1-152,0c0-25,12.59-47.63,34.55-61.95A12,12,0,0,0,73.45,46C44.56,64.78,28,94.69,28,128a100,100,0,0,0,200,0C228,94.69,211.44,64.78,182.55,46Z`}))],[`fill`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M128,24A104,104,0,1,0,232,128,104,104,0,0,0,128,24Zm-8,40a8,8,0,0,1,16,0v64a8,8,0,0,1-16,0Zm8,144A80,80,0,0,1,83.55,61.48a8,8,0,1,1,8.9,13.29,64,64,0,1,0,71.1,0,8,8,0,1,1,8.9-13.29A80,80,0,0,1,128,208Z`}))],[`regular`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M120,128V48a8,8,0,0,1,16,0v80a8,8,0,0,1-16,0Zm60.37-78.7a8,8,0,0,0-8.74,13.4C194.74,77.77,208,101.57,208,128a80,80,0,0,1-160,0c0-26.43,13.26-50.23,36.37-65.3a8,8,0,0,0-8.74-13.4C47.9,67.38,32,96.06,32,128a96,96,0,0,0,192,0C224,96.06,208.1,67.38,180.37,49.3Z`}))]]),ct=new Map([[`bold`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M176,156a43.78,43.78,0,0,0-29.09,11L106.1,140.8a44.07,44.07,0,0,0,0-25.6L146.91,89a43.83,43.83,0,1,0-13-20.17L93.09,95a44,44,0,1,0,0,65.94L133.9,187.2A44,44,0,1,0,176,156Zm0-120a20,20,0,1,1-20,20A20,20,0,0,1,176,36ZM64,148a20,20,0,1,1,20-20A20,20,0,0,1,64,148Zm112,72a20,20,0,1,1,20-20A20,20,0,0,1,176,220Z`}))],[`fill`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M212,200a36,36,0,1,1-69.85-12.25l-53-34.05a36,36,0,1,1,0-51.4l53-34a36.09,36.09,0,1,1,8.67,13.45l-53,34.05a36,36,0,0,1,0,24.5l53,34.05A36,36,0,0,1,212,200Z`}))],[`regular`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M176,160a39.89,39.89,0,0,0-28.62,12.09l-46.1-29.63a39.8,39.8,0,0,0,0-28.92l46.1-29.63a40,40,0,1,0-8.66-13.45l-46.1,29.63a40,40,0,1,0,0,55.82l46.1,29.63A40,40,0,1,0,176,160Zm0-128a24,24,0,1,1-24,24A24,24,0,0,1,176,32ZM64,152a24,24,0,1,1,24-24A24,24,0,0,1,64,152Zm112,72a24,24,0,1,1,24-24A24,24,0,0,1,176,224Z`}))]]),lt=Y.forwardRef((e,t)=>Y.createElement(n,{ref:t,...e,weights:tt}));lt.displayName=`ArrowSquareInIcon`;var ut=lt,dt=Y.forwardRef((e,t)=>Y.createElement(n,{ref:t,...e,weights:nt}));dt.displayName=`ArrowsLeftRightIcon`;var ft=dt,pt=Y.forwardRef((e,t)=>Y.createElement(n,{ref:t,...e,weights:rt}));pt.displayName=`CpuIcon`;var mt=pt,ht=Y.forwardRef((e,t)=>Y.createElement(n,{ref:t,...e,weights:it}));ht.displayName=`CurrencyCircleDollarIcon`;var gt=ht,_t=Y.forwardRef((e,t)=>Y.createElement(n,{ref:t,...e,weights:at}));_t.displayName=`DesktopTowerIcon`;var vt=_t,yt=Y.forwardRef((e,t)=>Y.createElement(n,{ref:t,...e,weights:ot}));yt.displayName=`LinkIcon`;var bt=yt,xt=Y.forwardRef((e,t)=>Y.createElement(n,{ref:t,...e,weights:st}));xt.displayName=`PowerIcon`;var St=xt,Ct=Y.forwardRef((e,t)=>Y.createElement(n,{ref:t,...e,weights:ct}));Ct.displayName=`ShareNetworkIcon`;var wt=Ct,X=i();function Tt({labels:e,reasons:n,actions:r,className:i}){let[a,o]=(0,Y.useState)(!1);return(0,X.jsx)(R,{variant:`alert`,icon:(0,X.jsx)(He,{weight:`fill`}),title:e.title,className:t(`[&>div]:flex-wrap`,i),"data-testid":`analytics-bot-banner`,description:(0,X.jsxs)(`span`,{className:`grid max-w-2xl gap-3`,children:[(0,X.jsxs)(`span`,{className:`grid gap-1.5`,children:[(0,X.jsx)(j,{as:`span`,children:e.description}),(0,X.jsx)(j,{as:`span`,children:e.advice})]}),(0,X.jsxs)(_e.Root,{open:a,onOpenChange:o,children:[(0,X.jsx)(_e.DefaultTrigger,{children:e.details}),(0,X.jsx)(_e.DefaultPanel,{children:(0,X.jsxs)(`span`,{className:`grid gap-3`,children:[(0,X.jsx)(`ul`,{className:`m-0 grid list-disc gap-1.5 ps-5`,children:n.map(e=>(0,X.jsx)(`li`,{children:(0,X.jsx)(j,{as:`span`,children:e.text})},e.id))}),(0,X.jsx)(j,{as:`span`,variant:`secondary`,children:e.note})]})})]})]}),action:r})}var Et=1e5,Dt=6e4;function Ot(e,t,n=Dt){return t!==`paid`&&e>n}function kt({requests:e,limit:n=Et,locale:r,labels:i,actions:a,className:o}){let s=(0,Y.useMemo)(()=>F(r),[r]),c=n>0?Math.min(100,e/n*100):100;return(0,X.jsx)(R,{variant:`alert`,icon:(0,X.jsx)(ue,{weight:`fill`}),title:i.title,className:t(`[&>div]:flex-wrap`,o),"data-testid":`analytics-quota-banner`,description:(0,X.jsxs)(`span`,{className:`grid max-w-xl gap-3`,children:[(0,X.jsx)(j,{as:`span`,children:i.description}),(0,X.jsx)(B,{label:i.meter,value:c,customValue:i.meterValue(s.number(e),s.number(n)),indicatorClassName:t(`from-kumo-warning via-kumo-warning to-kumo-warning motion-reduce:transition-none`)})]}),action:a})}var At=`custom`,jt=()=>Me(()=>import(`./date-picker-BSgojKR2.js`),__vite__mapDeps([0,1,2,3,4,5,6,7])),Mt=(0,Y.lazy)(()=>jt().then(e=>({default:e.DatePicker})));function Nt({value:e,onChange:n,labels:r,locale:i,presets:a=Ae,compare:o,onCompareChange:s,trailing:c,now:l,className:d}){let f=(0,Y.useMemo)(()=>F(i),[i]),p=(0,Y.useMemo)(()=>A(i,r.calendar,`UTC`),[i,r.calendar]),[m,h]=(0,Y.useState)(!1),[g,_]=(0,Y.useState)(void 0),[v,y]=(0,Y.useState)(()=>new Date),b=!(`preset`in e),x=je(Oe(l??Date.now())),S=(0,Y.useMemo)(()=>{if(!g?.from||!g.to)return;let[e,t]=[ke(g.from),ke(g.to)];return t<e&&([e,t]=[t,e]),{from:e,to:De(t,1)}},[g]),C=S!==void 0&&Ce(S.from,S.to);return(0,X.jsxs)(`fieldset`,{"aria-label":r.group,className:t(`m-0 flex min-w-0 flex-wrap items-center gap-2 border-0 p-0`,d),"data-range":b?`${e.from}/${e.to}`:e.preset,children:[(0,X.jsx)(V,{variant:`segmented`,size:`sm`,className:`max-w-full min-w-0`,value:b?At:e.preset,onValueChange:e=>{Te(e)&&n({preset:e})},tabs:a.map(e=>({value:e,label:r.presets[e]}))}),(0,X.jsxs)(J,{open:m,onOpenChange:t=>{if(t){let t=b?De(e.to,-1):Oe(x.getTime());_(b?{from:je(e.from),to:je(t)}:void 0);let n=je(t);n.setUTCDate(1),n.setUTCMonth(n.getUTCMonth()-1),y(n)}h(t)},children:[(0,X.jsx)(J.Trigger,{render:(0,X.jsx)(u,{variant:`secondary`,size:`sm`,icon:(0,X.jsx)(k,{size:16}),"aria-pressed":b}),onPointerEnter:()=>void jt(),onFocus:()=>void jt(),children:b?f.dayRange(e.from,e.to):r.custom}),(0,X.jsxs)(J.Content,{align:`end`,positionMethod:`fixed`,className:`grid max-w-[calc(100vw-1rem)] gap-3`,children:[(0,X.jsx)(J.Title,{children:r.customTitle}),(0,X.jsxs)(`div`,{className:`grid max-w-full gap-1 overflow-x-auto`,children:[(0,X.jsx)(Y.Suspense,{fallback:(0,X.jsx)(`div`,{className:`grid w-72 max-w-full gap-3 py-2`,"data-calendar-loading":!0,children:[0,1,2,3,4,5].map(e=>(0,X.jsx)(M,{},e))}),children:(0,X.jsx)(Mt,{mode:`range`,numberOfMonths:2,selected:g,onChange:(e,t)=>_(n=>n?.from&&n.to&&ke(n.from)!==ke(n.to)?{from:t,to:t}:e),month:v,onMonthChange:y,today:x,endMonth:x,disabled:{after:x},...p})}),(0,X.jsx)(j,{variant:`secondary`,size:`xs`,as:`span`,children:(0,X.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,X.jsx)(N,{size:14,"aria-hidden":`true`}),r.timezone]})})]}),(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-x-4 gap-y-2`,children:[(0,X.jsx)(`span`,{"aria-live":`polite`,className:`min-w-0`,children:S&&!C?(0,X.jsx)(j,{variant:`error`,size:`sm`,as:`span`,children:r.tooLong}):(0,X.jsx)(j,{variant:`secondary`,size:`sm`,as:`span`,children:S?f.dayRange(S.from,S.to):r.pickHint})}),(0,X.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(J.Close,{render:(0,X.jsx)(u,{variant:`ghost`,size:`sm`}),children:r.cancel}),(0,X.jsx)(u,{variant:`primary`,size:`sm`,disabled:!C,"data-max-days":731,onClick:()=>{S&&C&&(n({from:S.from,to:S.to}),h(!1))},children:r.apply})]})]})]})]}),s&&r.compare&&(0,X.jsx)(ve,{size:`sm`,label:r.compare,checked:o??!1,onCheckedChange:e=>s(e)}),c]})}var Pt={all:e=>[`analytics`,e],status:e=>[`analytics`,e,`status`],settings:e=>[`analytics`,e,`settings`]};function Ft(){let e=p({queryKey:[`instance`],queryFn:z.instance,staleTime:3e5,retry:!1});return{feature:e.data?.features.analytics,pending:e.isPending}}function It(){let e=pe(),t=fe(`analytics.read`);return{ready:!e.isPending,allowed:t.allowed,reason:t.reason}}function Lt(e,t=!0){let n=It();return p({queryKey:Pt.status(e),queryFn:()=>z.analytics.status(e),enabled:t&&n.ready&&n.allowed&&!!e,staleTime:6e4,retry:(e,t)=>!he(t)&&e<1})}function Rt(e){return e instanceof me&&(e.status===503||ge(e)===`analytics_unavailable`)}var zt={direct:E(ut),internal:E(ft),search:Ve,social:wt,ai:P,email:ie,paid:gt,referral:bt};function Bt({channel:e}){let t=zt[e]??bt;return(0,X.jsx)(t,{size:16})}var Vt={channels:[`direct`,`internal`,`search`,`social`,`ai`,`email`,`paid`,`referral`],devices:[`desktop`,`mobile`,`tablet`,`bot`,`unknown`],browsers:[`chrome`,`edge`,`firefox`,`safari`,`samsung`,`opera`,`other`],oses:[`windows`,`macos`,`ios`,`android`,`linux`,`chromeos`,`other`]};function Ht(){let{t:e,locale:t}=Fe(`analytics`);return(0,Y.useMemo)(()=>{let n=F(t),r=(t,n)=>r=>Vt[t].includes(r)?e(`${n}.${r}`):r,i={unknown:e(`analytics.countries.unknown`),tor:e(`analytics.countries.tor`)},a={group:e(`analytics.range.group`),presets:{today:e(`analytics.range.today`),"7d":e(`analytics.range.7d`),"30d":e(`analytics.range.30d`),"90d":e(`analytics.range.90d`),"12m":e(`analytics.range.12m`)},custom:e(`analytics.range.custom`),customTitle:e(`analytics.range.customTitle`),apply:e(`analytics.range.apply`),cancel:e(`common.cancel`),timezone:e(`analytics.range.timezone`),calendar:{previousMonth:e(`analytics.range.previousMonth`),nextMonth:e(`analytics.range.nextMonth`),navigation:e(`analytics.range.months`),day:(t,{today:n,selected:r})=>{let i=r?e(`analytics.range.daySelected`,{date:t}):t;return n?e(`analytics.range.dayToday`,{date:i}):i}},pickHint:e(`analytics.range.pickHint`),tooLong:e(`analytics.range.tooLong`),compare:e(`analytics.range.compare`)};return{t:e,locale:t,fmt:n,countryNames:i,rangePicker:a,chart:t=>({description:t,timezone:e(`analytics.chart.timezone`),showTable:e(`analytics.chart.showTable`),showChart:e(`analytics.chart.showChart`),time:e(`analytics.chart.time`),loading:e(`common.loading`)}),breakdown:(t,n,r={})=>({item:t,value:n,share:e(`analytics.columns.share`),other:e(`analytics.other`),...r}),describeDelta:(t,n)=>n.tone===`flat`?e(`analytics.delta.flat`):e(`analytics.delta.change`,{value:t}),filterLabel:(e,t)=>{switch(e.kind){case`node`:return t??e.value;case`channel`:return r(`channels`,`analytics.channels`)(e.value);case`country`:return n.country(e.value,i);case`device`:return r(`devices`,`analytics.devices`)(e.value)}},channel:r(`channels`,`analytics.channels`),device:r(`devices`,`analytics.devices`),browser:r(`browsers`,`analytics.browsers`),os:r(`oses`,`analytics.oses`)}},[e,t])}function Ut({error:e,onRetry:t,retrying:n}){let{t:r}=Fe(`analytics`);if(!e)return null;let i=Rt(e);return(0,X.jsx)(`div`,{role:`alert`,"data-testid":`analytics-error`,children:(0,X.jsx)(R,{variant:`error`,icon:(0,X.jsx)(de,{weight:`fill`}),title:r(i?`analytics.errors.busyTitle`:`analytics.errors.title`),description:i?r(`analytics.errors.busyDescription`):e instanceof Error?Le(r,e):String(e),action:(0,X.jsx)(R.Action,{variant:`secondary`,icon:(0,X.jsx)(x,{}),onClick:t,loading:n,children:r(`analytics.errors.retry`)})})})}function Wt(e){return e.from&&e.to?{from:e.from,to:e.to}:{preset:e.range??`30d`}}function Gt(e){return`preset`in e?e.preset===`30d`?{}:{range:e.preset}:{from:e.from,to:e.to}}function Z(e,t){let n=`preset`in e?{range:e.preset}:{from:e.from,to:e.to};return t?{...n,filter:Je(t)}:n}var Kt=e=>`preset`in e?e.preset:`${e.from}/${e.to}`;function qt(e,t){let n=t?.feature??e,r=!n||n.store===`none`||!n.enabled;return{deploymentOff:r,cantRead:!r&&n?.reader===`none`,siteOff:!r&&t?.settings.enabled===!1,budgetSpent:t?.budget?.spent===!0}}function Jt(e,t){if(!t.exists)return;let n=encodeURIComponent(t.nodeId);if(t.kind===`entry`)return`/sites/${e}/articles/${n}`;if(t.kind===`page`)return`/sites/${e}/pages/${n}`;if(t.kind===`archive`)return`/sites/${e}/taxonomy/${n}`}var Yt=[`lcp`,`inp`,`cls`],Xt={lcp:{good:2500,poor:4e3},inp:{good:200,poor:500},cls:{good:.1,poor:.25}};function Zt(e,t){if(t===null||!Number.isFinite(t))return;let n=Xt[e];return t<=n.good?`good`:t>n.poor?`poor`:`needsImprovement`}function Qt(e){if(e.good===null)return null;let t=(e.good??0)+(e.needsImprovement??0)+(e.poor??0);return t>0?e.good/t:null}function $t(e,t,n){return e===`cls`?Se(n,{minimumFractionDigits:2,maximumFractionDigits:2}).format(t):e===`lcp`?Se(n,{style:`unit`,unit:`second`,unitDisplay:`short`,maximumFractionDigits:1,minimumFractionDigits:1}).format(t/1e3):Se(n,{style:`unit`,unit:`millisecond`,unitDisplay:`short`,maximumFractionDigits:0}).format(t)}var en=`cloudhalLocalName`;function tn({rows:e,geoJson:n,nameProperty:r=`ISO_A2_EH`,locale:i,labels:a,tableLimit:o=8,total:s,loading:c=!1,empty:l,aspectRatio:u=1.6,className:d}){let f=(0,Y.useMemo)(()=>F(i),[i]),p=xe(),m=(0,Y.useMemo)(()=>({visualMap:{text:[a.high,a.low]}}),[a.high,a.low]),h=b(m),g=(0,Y.useMemo)(()=>({unknown:a.unknown,tor:a.tor}),[a.unknown,a.tor]),_=(0,Y.useMemo)(()=>{if(n)return{type:`FeatureCollection`,features:n.features.map(e=>{let t=e.properties?.[r],n=typeof t==`string`&&/^[A-Z]{2}$/.test(t)?f.country(t,g):void 0;return{...e,properties:{...e.properties,[en]:n??``}}})}},[n,r,f,g]),y=(0,Y.useMemo)(()=>e.filter(e=>/^[A-Z]{2}$/.test(e.country)&&e.country!==`XX`&&e.value>0).map(e=>({name:f.country(e.country,g),shade:Math.log1p(e.value)})),[e,f,g]),x=(0,Y.useMemo)(()=>[...e].sort((e,t)=>t.value-e.value).map(e=>({id:e.country,label:f.country(e.country,g),value:e.value})),[e,f,g]);if(!c&&e.length===0)return(0,X.jsx)(X.Fragment,{children:l});let S=c||!_;return(0,X.jsxs)(`div`,{className:t(`grid min-w-0 grid-cols-1 gap-3`,d),"data-testid":`country-map`,children:[(0,X.jsx)(`div`,{ref:h,role:`img`,"aria-label":a.map,"aria-busy":S||void 0,className:`min-w-0 px-5 pt-4`,children:S?(0,X.jsx)(`div`,{className:`w-full rounded-lg bg-kumo-recessed motion-safe:animate-pulse`,style:{aspectRatio:String(u)},"data-map-placeholder":!0}):(0,X.jsx)(be,{echarts:v,geoJson:_,nameProperty:en,data:y,name:`name`,value:`shade`,valueFormat:e=>f.number(Math.round(Math.expm1(e))),colorRange:p.ramp,noDataColor:p.noData,showLegend:!0,aspectRatio:u,isDarkMode:p.isDarkMode})}),(0,X.jsx)(I,{rows:x,locale:i,limit:o,...s===void 0?{}:{total:s},loading:c,density:`compact`,labels:{item:a.item,value:a.value,share:a.share,other:a.other,caption:a.map}})]})}var nn=`/assets/countries-110m-CmKPZPcB.json`;function rn(e,t){let n=p({queryKey:[`pages`,e],queryFn:()=>z.pages.list(e),enabled:t}),r=p({queryKey:[`entries`,e,`all`],queryFn:()=>z.entries.list(e),enabled:t}),i=et(e);return(0,Y.useMemo)(()=>{let t=new Map;for(let r of n.data??[])t.set(r.path,`/sites/${e}/pages/${r.id}`);for(let n of r.data??[])n.status===`published`&&t.set(Ye(i,n),`/sites/${e}/articles/${n.id}`);return t},[n.data,r.data,e,i])}var an=864e5;function Q(e,t,n,r=!0){let i=[...Pt.all(e.siteId),...t,Kt(e.range),e.filter?Je(e.filter):null];return p({queryKey:i,queryFn:n,enabled:r,staleTime:3e4,refetchInterval:e.poll,retry:(e,t)=>!he(t)&&e<(Rt(t)?2:1)})}function on(e,t=!0){return Q(e,[`summary`,e.compare],()=>z.analytics.summary(e.siteId,Z(e.range,e.filter),e.compare),t)}function $({onRetry:e,retrying:t}){let n=Ie(`analytics`);return(0,X.jsx)(q,{icon:(0,X.jsx)(de,{size:32,className:`text-kumo-inactive`}),title:n(`analytics.errors.card`),contents:(0,X.jsx)(u,{variant:`secondary`,size:`sm`,onClick:e,loading:t,children:n(`analytics.errors.retry`)})})}function sn({icon:e,children:t}){return(0,X.jsxs)(`div`,{className:`flex min-w-0 items-start gap-2`,children:[(0,X.jsx)(`span`,{className:`flex h-lh shrink-0 items-center text-kumo-subtle`,"aria-hidden":!0,children:e??(0,X.jsx)(te,{size:16})}),(0,X.jsx)(j,{variant:`secondary`,size:`sm`,children:t})]})}var cn=e=>[...e].sort((e,t)=>Number(!!e.other)-Number(!!t.other)||t.value-e.value);function ln({scope:e,summary:t,uniqueVisitors:n}){let{t:r,fmt:i,locale:a,chart:o,describeDelta:c}=e.text,l=Z(e.range,e.filter),u=Q(e,[`series`],()=>z.analytics.series(e.siteId,l)),d=we(e.resolved),f=Q(e,[`series`,`previous`,d.from],()=>z.analytics.series(e.siteId,{...d,...e.filter?{filter:Je(e.filter)}:{}}),e.compare),p=(0,Y.useMemo)(()=>Se(a,{minimumFractionDigits:1,maximumFractionDigits:2}),[a]),m=t.data?.data,h=u.data?.data.points??[],g=u.data?.data.interval??e.resolved.granularity,_=e.resolved.days*an,v=h.map(e=>[Date.parse(e.t),e.pageviews]),b=h.map(e=>[Date.parse(e.t),e.visits]),x=e.compare?(f.data?.data.points??[]).map(e=>[Date.parse(e.t)+_,e.pageviews]):[],S=h.map(e=>e.visits>0?e.pageviews/e.visits:0),C=n||(m?.visitors??null)!==null,w=e.compare?m?.previous:void 0,T=t.isPending,E=r(`analytics.metrics.pageviews`),D=m?r(`analytics.traffic.chartDescription`,{pageviews:i.number(m.pageviews),visits:i.number(m.visits),range:e.rangeLabel}):r(`analytics.traffic.title`),O=[t.data?.partial?r(`analytics.traffic.partial`):``,t.data?.estimated?r(`analytics.traffic.estimated`):``].filter(Boolean);return(0,X.jsxs)(K,{id:`traffic`,title:r(`analytics.traffic.title`),icon:(0,X.jsx)(Ge,{size:16}),actions:(0,X.jsx)(s,{href:z.analytics.exportUrl(e.siteId,Z(e.range)),external:!0,variant:`ghost`,size:`sm`,icon:re,children:r(`analytics.traffic.export`)}),children:[(0,X.jsxs)(L,{label:r(`analytics.traffic.figures`,{range:e.rangeLabel}),children:[(0,X.jsx)(le,{label:E,value:m?.pageviews,previous:w?.pageviews??null,locale:a,loading:T,describeDelta:c,sparkline:v.map(([,e])=>e),emptyLabel:r(`analytics.noData`)}),(0,X.jsx)(le,{label:r(`analytics.metrics.visits`),value:m?.visits,previous:w?.visits??null,locale:a,loading:T,describeDelta:c,hint:r(`analytics.metrics.visitsHint`),hintLabel:r(`analytics.metrics.aboutVisits`),sparkline:b.map(([,e])=>e),emptyLabel:r(`analytics.noData`)}),C&&(0,X.jsx)(le,{label:r(`analytics.metrics.visitors`),value:m?.visitors,previous:w?.visitors??null,locale:a,loading:T,describeDelta:c,hint:r(`analytics.metrics.visitorsHint`),hintLabel:r(`analytics.metrics.aboutVisitors`),emptyLabel:r(`analytics.noData`)}),(0,X.jsx)(le,{label:r(`analytics.metrics.viewsPerVisit`),value:m?.viewsPerVisit,previous:w&&w.visits>0?w.pageviews/w.visits:null,format:e=>p.format(e),locale:a,loading:T,describeDelta:c,sparkline:S,emptyLabel:r(`analytics.noData`)})]}),u.isError?(0,X.jsx)($,{onRetry:()=>void u.refetch(),retrying:u.isFetching}):(0,X.jsx)(y,{series:[{id:`pageviews`,name:E,points:v,...m?{total:m.pageviews}:{}},{id:`visits`,name:r(`analytics.metrics.visits`),points:b,...m?{total:m.visits}:{}},...x.length>0?[{id:`previous`,name:r(`analytics.metrics.previousPageviews`),points:x,...w?{total:w.pageviews}:{}}]:[]],granularity:g,locale:a,labels:o(D),loading:u.isPending,height:280}),O.length>0&&(0,X.jsx)(sn,{children:O.join(` `)})]})}function un(e,t){let{t:n}=e.text;return t.map(t=>{if(t.key===`(other)`)return{id:t.key,label:n(`analytics.other`),value:t.pageviews,other:!0};let r=t.node,i=r?Jt(e.siteId,r):void 0,o=r?!r.exists:!1;return{id:t.key,label:o?n(`analytics.content.gone`):r?.title??t.key,...r?.path?{detail:r.path}:o?{detail:t.key}:{},...i?{href:i}:{},badge:r?.kind?(0,X.jsx)(a,{variant:`outline`,children:n(`analytics.content.kinds.${r.kind}`)}):void 0,value:t.pageviews,secondary:t.visits,muted:o}})}function dn({scope:e,total:t}){let{t:n,locale:r,breakdown:i}=e.text,[a,o]=(0,Y.useState)(!1),[s,c]=(0,Y.useState)(1),l=Z(e.range,e.filter),d=Q(e,[`top`,`node`,10],()=>z.analytics.top(e.siteId,`node`,l,10)),f=Q(e,[`top`,`node`,100],()=>z.analytics.top(e.siteId,`node`,l,100),a),p=i(n(`analytics.columns.content`),n(`analytics.metrics.pageviews`),{secondary:n(`analytics.metrics.visits`),caption:n(`analytics.content.caption`,{range:e.rangeLabel})}),m=un(e,d.data?.data.rows??[]),h=un(e,(f.data?.data.rows??[]).filter(e=>e.key!==`(other)`)),g=(0,X.jsx)(q,{icon:(0,X.jsx)(Ke,{size:32,className:`text-kumo-inactive`}),title:n(`analytics.content.empty`)});return(0,X.jsxs)(K,{id:`top-content`,title:n(`analytics.content.title`),icon:(0,X.jsx)(Ke,{size:16}),actions:(0,X.jsx)(u,{variant:`ghost`,size:`sm`,onClick:()=>{c(1),o(!0)},disabled:m.length===0,children:n(`analytics.content.showAll`)}),flush:!0,children:[d.isError?(0,X.jsx)($,{onRetry:()=>void d.refetch(),retrying:d.isFetching}):(0,X.jsx)(I,{rows:m,labels:p,locale:r,limit:10,...t===void 0?{}:{total:t},loading:d.isPending,empty:g}),(0,X.jsx)(G.Root,{open:a,onOpenChange:o,children:(0,X.jsxs)(G.Content,{size:`lg`,closeLabel:n(`common.close`),children:[(0,X.jsx)(G.Title,{children:n(`analytics.content.title`)}),(0,X.jsx)(G.Description,{children:e.rangeLabel}),(0,X.jsx)(G.Body,{children:(0,X.jsxs)(`div`,{className:`grid min-w-0 gap-4`,"data-testid":`top-content-all`,children:[(0,X.jsx)(I,{rows:h.slice((s-1)*20,s*20),labels:p,locale:r,...t===void 0?{}:{total:t},showOther:!1,loading:f.isPending,loadingRows:8,empty:g}),h.length>20&&(0,X.jsx)(ee,{page:s,perPage:20,totalCount:h.length,setPage:c})]})})]})})]})}function fn({scope:e,totalVisits:t}){let{t:n,locale:r,breakdown:i,channel:a}=e.text,[o,s]=(0,Y.useState)(`channels`),[c,l]=(0,Y.useState)(`utmCampaign`),u=o===`channels`?`channel`:o===`referrers`?`refHost`:c,d=Z(e.range,e.filter),f=Q(e,[`top`,u,10],()=>z.analytics.top(e.siteId,u,d,10)),p=cn((f.data?.data.rows??[]).filter(e=>e.visits>0&&(o!==`referrers`||e.key!==`(other)`)).map(e=>e.key===`(other)`?{id:e.key,label:n(`analytics.other`),value:e.visits,other:!0}:o===`channels`?{id:e.key,label:a(e.key),icon:(0,X.jsx)(Bt,{channel:e.key}),value:e.visits}:{id:e.key,label:e.key,value:e.visits})),m=n(o===`channels`?`analytics.columns.channel`:o===`referrers`?`analytics.columns.referrer`:`analytics.sources.campaigns.${c}`);return(0,X.jsxs)(K,{id:`sources`,title:n(`analytics.sources.title`),icon:(0,X.jsx)(D,{icon:T,size:16}),actions:(0,X.jsx)(V,{variant:`segmented`,size:`sm`,value:o,onValueChange:e=>s(e),tabs:[`channels`,`referrers`,`campaigns`].map(e=>({value:e,label:n(`analytics.sources.tabs.${e}`)}))}),flush:!0,children:[o===`campaigns`&&(0,X.jsx)(`div`,{className:`flex flex-wrap items-center gap-3 border-kumo-hairline border-b px-5 py-3`,children:(0,X.jsx)(V,{variant:`segmented`,size:`sm`,value:c,onValueChange:e=>l(e),tabs:[`utmCampaign`,`utmSource`,`utmMedium`].map(e=>({value:e,label:n(`analytics.sources.campaigns.${e}`)}))})}),f.isError?(0,X.jsx)($,{onRetry:()=>void f.refetch(),retrying:f.isFetching}):(0,X.jsx)(I,{rows:p,labels:i(m,n(`analytics.metrics.visits`),{caption:n(`analytics.sources.caption`,{range:e.rangeLabel})}),locale:r,limit:10,...o===`channels`&&t!==void 0?{total:t}:{},loading:f.isPending,empty:(0,X.jsx)(q,{icon:(0,X.jsx)(D,{icon:T,size:32,className:`text-kumo-inactive`}),title:n(`analytics.sources.empty.${o}`),...o===`campaigns`?{description:n(`analytics.sources.campaignsHint`)}:{}})},u),o===`referrers`&&p.length>0&&(0,X.jsx)(`div`,{className:`border-kumo-hairline border-t px-5 py-3`,children:(0,X.jsx)(sn,{children:n(`analytics.sources.referrersNote`)})})]})}function pn(e){return e===404?`warning`:e===410||e===451?`secondary`:e>=500?`error`:`info`}function mn({siteId:e,from:t,onClose:n}){let r=t!==void 0,i=S(e,r),a=p({queryKey:w.redirects(e),queryFn:()=>z.redirects.list(e),enabled:r}),o=p({queryKey:[`pages`,e],queryFn:()=>z.pages.list(e),enabled:r}),s=p({queryKey:[`entries`,e,`all`],queryFn:()=>z.entries.list(e),enabled:r}),c=Ze(C(i,o.data,s.data));return(0,X.jsx)(Qe,{siteId:e,open:r,onOpenChange:e=>{e||n()},editing:void 0,initialFrom:t,redirects:a.data??[],served:c,host:$e(i.site.data?.domains??[])})}function hn({scope:e}){let{t,fmt:n}=e.text,[r,i]=(0,Y.useState)(`errors`),[o,s]=(0,Y.useState)(),c=fe(`structure.write`),l=Z(e.range),u=Q(e,[`renders`,`errors`],()=>z.analytics.renders(e.siteId,`errors`,l,50)),d=Q(e,[`renders`,`redirects`],()=>z.analytics.renders(e.siteId,`redirects`,l,50),r===`redirects`),f=u.data?.data.rows??[],p=d.data?.data.rows??[],m=rn(e.siteId,f.some(e=>e.refPath)),h=r===`errors`?u:d,g=r===`errors`?f.length:p.length;return(0,X.jsxs)(K,{id:`errors`,title:t(`analytics.errors.cardTitle`),icon:(0,X.jsx)(Be,{size:16}),actions:(0,X.jsx)(V,{variant:`segmented`,size:`sm`,value:r,onValueChange:e=>i(e),tabs:[{value:`errors`,label:t(`analytics.errors.tabs.errors`)},{value:`redirects`,label:t(`analytics.errors.tabs.redirects`)}]}),flush:!0,children:[h.isError?(0,X.jsx)($,{onRetry:()=>void h.refetch(),retrying:h.isFetching}):!h.isPending&&g===0?(0,X.jsx)(q,{icon:(0,X.jsx)(Be,{size:32,className:`text-kumo-inactive`}),title:t(`analytics.errors.empty.${r}`)}):r===`errors`?(0,X.jsxs)(H,{"data-testid":`analytics-errors`,children:[(0,X.jsx)(H.Header,{children:(0,X.jsxs)(H.Row,{children:[(0,X.jsx)(H.Head,{children:t(`analytics.columns.status`)}),(0,X.jsx)(H.Head,{children:t(`analytics.columns.requested`)}),(0,X.jsx)(H.Head,{className:`text-end`,children:t(`analytics.columns.hits`)}),(0,X.jsx)(H.Head,{children:t(`analytics.columns.linkedFrom`)}),(0,X.jsx)(H.Head,{children:t(`analytics.columns.lastSeen`)}),(0,X.jsx)(H.Head,{sticky:`right`})]})}),u.isPending?(0,X.jsx)(Xe,{columns:6,rows:4}):(0,X.jsx)(H.Body,{children:f.map(t=>(0,X.jsx)(gn,{row:t,scope:e,editor:t.refPath?m.get(t.refPath):void 0,canRedirect:c.allowed,redirectReason:c.reason,onRedirect:()=>s(t.path)},`${t.status} ${t.path} ${t.refPath??``}`))})]}):(0,X.jsxs)(H,{"data-testid":`analytics-redirects`,children:[(0,X.jsx)(H.Header,{children:(0,X.jsxs)(H.Row,{children:[(0,X.jsx)(H.Head,{children:t(`analytics.columns.status`)}),(0,X.jsx)(H.Head,{children:t(`analytics.columns.oldPath`)}),(0,X.jsx)(H.Head,{children:t(`analytics.columns.target`)}),(0,X.jsx)(H.Head,{className:`text-end`,children:t(`analytics.columns.hits`)})]})}),d.isPending?(0,X.jsx)(Xe,{columns:4,rows:4}):(0,X.jsx)(H.Body,{children:p.map(e=>(0,X.jsxs)(H.Row,{children:[(0,X.jsx)(H.Cell,{children:(0,X.jsx)(a,{variant:pn(e.status),children:e.status})}),(0,X.jsx)(H.Cell,{className:`max-w-64`,children:(0,X.jsx)(j,{variant:`mono`,as:`span`,truncate:!0,children:e.path})}),(0,X.jsx)(H.Cell,{className:`max-w-64`,children:(0,X.jsx)(j,{variant:`mono-secondary`,as:`span`,truncate:!0,children:e.redirectTo})}),(0,X.jsx)(H.Cell,{className:`text-end whitespace-nowrap tabular-nums`,children:n.number(e.hits)})]},`${e.status} ${e.path} ${e.redirectTo}`))})]}),(0,X.jsx)(`div`,{className:`border-kumo-hairline border-t px-5 py-3`,children:(0,X.jsx)(sn,{children:t(r===`errors`?`analytics.errors.note`:`analytics.errors.redirectsNote`)})}),(0,X.jsx)(mn,{siteId:e.siteId,from:o,onClose:()=>s(void 0)})]})}function gn({row:e,scope:t,editor:n,canRedirect:r,redirectReason:i,onRedirect:o}){let{t:s,fmt:l}=t.text,f;return f=e.refPath&&n?(0,X.jsx)(d,{href:n,children:(0,X.jsx)(`span`,{className:`font-mono text-[0.9em]`,children:e.refPath})}):e.refPath?(0,X.jsx)(j,{variant:`mono-secondary`,as:`span`,children:e.refPath}):(0,X.jsx)(j,{variant:`secondary`,as:`span`,children:s(`analytics.errors.noReferrer`)}),(0,X.jsxs)(H.Row,{"data-error-path":e.path,children:[(0,X.jsx)(H.Cell,{children:(0,X.jsx)(a,{variant:pn(e.status),children:e.status})}),(0,X.jsx)(H.Cell,{className:`max-w-64`,children:(0,X.jsx)(j,{variant:`mono`,as:`span`,truncate:!0,children:e.path})}),(0,X.jsx)(H.Cell,{className:`text-end whitespace-nowrap tabular-nums`,children:l.number(e.hits)}),(0,X.jsx)(H.Cell,{className:`whitespace-nowrap`,children:f}),(0,X.jsx)(H.Cell,{className:`whitespace-nowrap`,children:e.lastSeen?(0,X.jsx)(qe,{iso:e.lastSeen}):(0,X.jsx)(j,{variant:`secondary`,as:`span`,children:`—`})}),(0,X.jsx)(H.Cell,{sticky:`right`,className:`text-end`,children:e.status===404||e.status===410?r?(0,X.jsx)(c,{content:s(`analytics.errors.createRedirect`),render:(0,X.jsx)(u,{variant:`ghost`,size:`sm`,shape:`square`,icon:(0,X.jsx)(Be,{}),"aria-label":s(`analytics.errors.createRedirectFor`,{path:e.path}),onClick:o})}):(0,X.jsx)(u,{variant:`ghost`,size:`sm`,shape:`square`,icon:(0,X.jsx)(Be,{}),"aria-label":s(`analytics.errors.createRedirectFor`,{path:e.path}),disabled:!0,title:i}):null})]})}function _n(){return p({queryKey:[`geo`,`countries-110m`],queryFn:async()=>{let e=await fetch(nn);if(!e.ok)throw Error(`countries: ${e.status}`);return await e.json()},staleTime:1/0,gcTime:1/0,retry:1})}function vn({scope:e,total:t}){let{t:n,locale:r,countryNames:i}=e.text,a=_n(),o=Z(e.range,e.filter),s=Q(e,[`top`,`country`,100],()=>z.analytics.top(e.siteId,`country`,o,100)),c=(s.data?.data.rows??[]).filter(e=>e.key!==`(other)`&&e.pageviews>0).map(e=>({country:e.key,value:e.pageviews}));return(0,X.jsx)(K,{id:`countries`,title:n(`analytics.countries.title`),icon:(0,X.jsx)(N,{size:16}),flush:!0,children:s.isError?(0,X.jsx)($,{onRetry:()=>void s.refetch(),retrying:s.isFetching}):(0,X.jsx)(tn,{rows:c,geoJson:a.data,locale:r,loading:s.isPending,...t===void 0?{}:{total:t},labels:{...i,map:n(`analytics.countries.map`,{range:e.rangeLabel}),item:n(`analytics.columns.country`),value:n(`analytics.metrics.pageviews`),share:n(`analytics.columns.share`),other:n(`analytics.countries.other`),high:n(`analytics.countries.high`),low:n(`analytics.countries.low`)},empty:(0,X.jsx)(q,{icon:(0,X.jsx)(N,{size:32,className:`text-kumo-inactive`}),title:n(`analytics.countries.empty`)})})})}function yn({scope:e,total:t}){let{t:n,locale:r,device:i,browser:a,os:o}=e.text,[s,c]=(0,Y.useState)(`device`),l=Z(e.range,e.filter),u=Q(e,[`top`,s,10],()=>z.analytics.top(e.siteId,s,l,10)),d=s===`device`?i:s===`browser`?a:o,f=cn((u.data?.data.rows??[]).filter(e=>e.pageviews>0).map(e=>e.key===`(other)`?{id:e.key,label:n(`analytics.other`),value:e.pageviews,other:!0}:{id:e.key,label:d(e.key),value:e.pageviews}));return(0,X.jsx)(K,{id:`devices`,title:n(`analytics.devices.title`),icon:(0,X.jsx)(vt,{size:16}),actions:(0,X.jsx)(V,{variant:`segmented`,size:`sm`,value:s,onValueChange:e=>c(e),tabs:[`device`,`browser`,`os`].map(e=>({value:e,label:n(`analytics.devices.tabs.${e}`)}))}),children:u.isError?(0,X.jsx)($,{onRetry:()=>void u.refetch(),retrying:u.isFetching}):(0,X.jsx)(ce,{rows:f,locale:r,limit:5,...t===void 0?{}:{total:t},otherLabel:n(`analytics.other`),label:n(`analytics.devices.tabs.${s}`),loading:u.isPending,empty:(0,X.jsx)(q,{icon:(0,X.jsx)(mt,{size:32,className:`text-kumo-inactive`}),title:n(`analytics.devices.empty`)})},s)})}var bn={good:`success`,needsImprovement:`warning`,poor:`error`},xn={good:`from-kumo-success via-kumo-success to-kumo-success`,needsImprovement:`from-kumo-warning via-kumo-warning to-kumo-warning`,poor:`from-kumo-danger via-kumo-danger to-kumo-danger`};function Sn({scope:e,name:t,metric:n}){let{t:r,locale:i,fmt:o}=e.text,s=n?Zt(t,n.p75):void 0,c=n?Qt(n):null,l=n?.p75!==null&&n?.p75!==void 0?$t(t,n.p75,i):`—`;return(0,X.jsxs)(`div`,{className:`grid min-w-0 gap-2`,"data-vital":t,"data-rating":s,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 items-start justify-between gap-3`,children:[(0,X.jsxs)(`span`,{className:`grid min-w-0 gap-0.5`,children:[(0,X.jsx)(j,{bold:!0,as:`span`,children:r(`analytics.vitals.metrics.${t}.short`)}),(0,X.jsx)(j,{variant:`secondary`,size:`sm`,as:`span`,children:r(`analytics.vitals.metrics.${t}.name`)})]}),(0,X.jsx)(a,{variant:s?bn[s]:`secondary`,children:r(s?`analytics.vitals.ratings.${s}`:`analytics.vitals.noSamples`)})]}),(0,X.jsx)(B,{label:r(`analytics.vitals.good`),value:c===null?0:c*100,customValue:c===null?r(`analytics.vitals.p75Only`,{p75:l}):r(`analytics.vitals.value`,{p75:l,good:o.percent(c)}),indicatorClassName:`motion-reduce:transition-none ${s?xn[s]:``}`})]})}function Cn({scope:e,vitalsOneIn:t,settingsHref:n}){let{t:r}=e.text,[i,a]=(0,Y.useState)(`all`),o=e.filter||i===`all`?void 0:i,c=Q(e,[`vitals`,o??`all`],()=>z.analytics.vitals(e.siteId,{...Z(e.range,e.filter),...o?{filter:`device:${o}`}:{}}),t!==0),l=new Map((c.data?.data.metrics??[]).map(e=>[e.metric,e])),u=Yt.some(e=>(l.get(e)?.samples??0)>0),d;return d=t===0?(0,X.jsx)(q,{icon:(0,X.jsx)(oe,{size:32,className:`text-kumo-inactive`}),title:r(`analytics.vitals.off`),description:r(`analytics.vitals.offDescription`),contents:n?(0,X.jsx)(s,{href:n,variant:`secondary`,size:`sm`,children:r(`analytics.vitals.turnOn`)}):void 0}):c.isError?(0,X.jsx)($,{onRetry:()=>void c.refetch(),retrying:c.isFetching}):c.isPending?(0,X.jsx)(`div`,{className:`grid gap-5`,"aria-busy":!0,children:Yt.map(e=>(0,X.jsxs)(`div`,{className:`grid gap-2`,children:[(0,X.jsx)(M,{minWidth:30,maxWidth:60}),(0,X.jsx)(M,{minWidth:100,maxWidth:100,blockHeight:8})]},e))}):u?(0,X.jsx)(`div`,{className:`grid gap-5`,"data-testid":`analytics-vitals`,children:Yt.map(t=>(0,X.jsx)(Sn,{scope:e,name:t,metric:l.get(t)},t))}):(0,X.jsx)(q,{icon:(0,X.jsx)(oe,{size:32,className:`text-kumo-inactive`}),title:r(`analytics.vitals.empty`)}),(0,X.jsxs)(K,{id:`vitals`,title:r(`analytics.vitals.title`),icon:(0,X.jsx)(oe,{size:16}),actions:t===0?void 0:(0,X.jsx)(V,{variant:`segmented`,size:`sm`,value:e.filter?`all`:i,onValueChange:e=>a(e),tabs:[`all`,`mobile`,`desktop`].map(t=>({value:t,label:r(`analytics.vitals.tabs.${t}`),...e.filter&&t!==`all`?{disabled:!0}:{}}))}),children:[d,t!==0&&t!==void 0&&(0,X.jsx)(sn,{children:t===1?r(`analytics.vitals.sampleEvery`):r(`analytics.vitals.sample`,{n:t})})]})}function wn(e){return e===`ai`?`info`:e===`search`?`secondary`:`outline`}function Tn({scope:e}){let{t,fmt:n}=e.text,r=Q(e,[`renders`,`crawlers`],()=>z.analytics.renders(e.siteId,`crawlers`,Z(e.range),20)),i=r.data?.data.rows??[];return(0,X.jsx)(K,{id:`crawlers`,title:t(`analytics.crawlers.title`),icon:(0,X.jsx)(He,{size:16}),actions:(0,X.jsx)(a,{variant:`outline`,children:t(`analytics.crawlers.cacheMisses`)}),description:t(`analytics.crawlers.description`),flush:!0,children:r.isError?(0,X.jsx)($,{onRetry:()=>void r.refetch(),retrying:r.isFetching}):!r.isPending&&i.length===0?(0,X.jsx)(q,{icon:(0,X.jsx)(He,{size:32,className:`text-kumo-inactive`}),title:t(`analytics.crawlers.empty`)}):(0,X.jsxs)(H,{"data-testid":`analytics-crawlers`,children:[(0,X.jsx)(H.Header,{children:(0,X.jsxs)(H.Row,{children:[(0,X.jsx)(H.Head,{children:t(`analytics.columns.crawler`)}),(0,X.jsx)(H.Head,{children:t(`analytics.columns.kind`)}),(0,X.jsx)(H.Head,{className:`text-end`,children:t(`analytics.columns.rendered`)})]})}),r.isPending?(0,X.jsx)(Xe,{columns:3,rows:3}):(0,X.jsx)(H.Body,{children:i.map(e=>(0,X.jsxs)(H.Row,{children:[(0,X.jsx)(H.Cell,{children:(0,X.jsx)(j,{as:`span`,children:e.crawler})}),(0,X.jsx)(H.Cell,{children:(0,X.jsx)(a,{variant:wn(e.class),children:t(`analytics.crawlers.classes.${e.class}`)})}),(0,X.jsx)(H.Cell,{className:`text-end whitespace-nowrap tabular-nums`,children:n.number(e.hits)})]},e.crawler))})]})})}function En({scope:e,status:t,summary:n,settingsHref:r}){let{t:i,fmt:c}=e.text,l=t?.settings.uniqueVisitors,u=t?.quota,d=t?.budget,f=n?.source,p=t?.lastRollup?.finishedAt??n?.generatedAt;return(0,X.jsxs)(K,{id:`about`,title:i(`analytics.about.title`),icon:(0,X.jsx)(se,{size:16}),children:[(0,X.jsxs)(`dl`,{className:`-my-3 grid divide-y divide-kumo-hairline`,"data-testid":`analytics-about`,children:[(0,X.jsx)(W,{label:i(`analytics.about.privacy`),hint:i(`analytics.about.privacyHint`),children:(0,X.jsx)(a,{variant:`success`,appearance:`dot`,children:i(`analytics.about.cookieless`)})}),(0,X.jsxs)(W,{label:i(`analytics.about.uniqueVisitors`),hint:i(`analytics.about.uniqueVisitorsHint`),children:[t?(0,X.jsx)(a,{variant:l?`success`:`neutral`,appearance:`dot`,children:i(l?`analytics.about.on`:`analytics.about.off`)}):(0,X.jsx)(M,{minWidth:20,maxWidth:30}),r&&(0,X.jsx)(s,{href:r,variant:`ghost`,size:`sm`,children:i(`analytics.about.change`)})]}),l&&typeof n?.data.privacySignalShare==`number`&&(0,X.jsx)(W,{label:i(`analytics.about.signals`),hint:i(`analytics.about.signalsHint`),children:(0,X.jsx)(j,{children:i(`analytics.about.signalsValue`,{share:c.percent(n.data.privacySignalShare)})})}),f&&(0,X.jsx)(W,{label:i(`analytics.about.source`),hint:n?.estimated?i(`analytics.about.estimated`):void 0,children:(0,X.jsx)(a,{variant:`outline`,children:i(`analytics.about.sources.${f}`)})}),typeof n?.data.cacheHitRatio==`number`&&(0,X.jsxs)(`div`,{className:`grid gap-2 py-3`,children:[(0,X.jsx)(B,{label:i(`analytics.about.cacheHits`),value:n.data.cacheHitRatio*100,customValue:i(`analytics.about.cacheHitsValue`,{share:c.percent(n.data.cacheHitRatio)}),indicatorClassName:`motion-reduce:transition-none`}),(0,X.jsx)(j,{variant:`secondary`,size:`sm`,children:i(`analytics.about.cacheHitsHint`)})]}),u&&(0,X.jsxs)(`div`,{className:`grid gap-2 py-3`,children:[(0,X.jsx)(B,{label:i(`analytics.about.requests`),value:Math.min(100,u.requests/1e5*100),customValue:i(`analytics.about.requestsValue`,{used:c.number(u.requests),limit:c.number(1e5)}),indicatorClassName:`motion-reduce:transition-none`}),(0,X.jsx)(j,{variant:`secondary`,size:`sm`,children:i(`analytics.about.requestsHint`)})]}),d&&(0,X.jsx)(`div`,{className:`grid gap-2 py-3`,children:(0,X.jsx)(B,{label:i(`analytics.about.budget`),value:Math.min(100,d.used/Math.max(1,d.limit)*100),customValue:i(`analytics.about.budgetValue`,{used:c.number(d.used),limit:c.number(d.limit)}),indicatorClassName:`motion-reduce:transition-none`})}),(0,X.jsx)(W,{label:i(`analytics.about.updated`),children:p?(0,X.jsx)(qe,{iso:p,size:`base`}):(0,X.jsx)(M,{minWidth:20,maxWidth:30})})]}),(0,X.jsx)(Ne,{className:`gap-1.5`,children:(0,X.jsx)(sn,{icon:(0,X.jsx)(o,{size:16}),children:t?.feature.rollups===`on-read`?i(`analytics.about.rollupsOnRead`):i(`analytics.about.rollupsScheduled`)})})]})}function Dn(e,t=!0){return Q({...e,filter:void 0},[`bots`],()=>z.analytics.bots(e.siteId,Z(e.range)),t)}function On(e){if(!e.hour)return null;let t=e.hour.slice(0,10);return{from:t,to:De(t,1)}}function kn({scope:e,signal:t,onShowDay:n}){let{t:r,fmt:i}=e.text;if(!t||t.level===`none`||!t.hour)return null;let a=i.bucket(Date.parse(t.hour),`hour`),o=t.reasons.find(e=>e.code===`hourly_spike`),s=i.number(o?.value??0),c=On(t),l=c&&`from`in e.range&&e.range.from===c.from&&e.range.to===c.to,u=n=>{switch(n.code){case`hourly_spike`:return r(`analytics.bots.reasons.hourlySpike`,{pageviews:i.number(t.pageviews),hour:a,multiple:i.number(n.value),baseline:i.number(t.baseline),threshold:i.number(n.threshold)});case`direct_entrances`:return r(`analytics.bots.reasons.directEntrances`,{share:i.percent(n.value),threshold:i.percent(n.threshold)});case`single_browser`:return r(`analytics.bots.reasons.singleBrowser`,{share:i.percent(n.value),browser:e.text.browser(n.key??`other`),threshold:i.percent(n.threshold)});case`single_page`:return r(`analytics.bots.reasons.singlePage`,{share:i.percent(n.value),page:n.node?.title??n.node?.path??n.key??``})}};return(0,X.jsx)(Tt,{labels:{title:t.level===`likely`?r(`analytics.bots.titleLikely`):r(`analytics.bots.titleWatch`),description:r(`analytics.bots.description`,{pageviews:i.number(t.pageviews),hour:a,multiple:s}),advice:r(`analytics.bots.advice`),details:r(`analytics.bots.details`),note:r(`analytics.bots.note`)},reasons:t.reasons.map(e=>({id:e.code,text:u(e)})),actions:c&&!l&&n?(0,X.jsx)(R.Action,{variant:`secondary`,icon:(0,X.jsx)(k,{}),onClick:()=>n(c),children:r(`analytics.bots.showDay`)}):void 0})}var An=E(O);function jn(e,t){let n=p({queryKey:[`pages`,e],queryFn:()=>z.pages.list(e),enabled:!!t}),r=p({queryKey:[`entries`,e,`all`],queryFn:()=>z.entries.list(e),enabled:!!t});if(t)return n.data?.find(e=>e.id===t)?.title??r.data?.find(e=>e.id===t)?.title}function Mn(){let e=Ht(),{t,fmt:n}=e,{siteId:r}=m({from:`/sites/$siteId`}),i=_({from:`/sites/$siteId/analytics`}),a=g(),o=f(),c=It(),d=fe(`analytics.settings`),{feature:v}=Ft(),y=Lt(r,c.allowed),b=p({queryKey:[`site`,r],queryFn:()=>z.sites.get(r)}),x=Wt(i),S=We(i.filter),C=i.compare!==`0`,w=Kt(x),T=Ee(x),E={siteId:r,range:x,resolved:T,filter:S,compare:C,poll:`preset`in x&&x.preset===`today`&&6e4,rangeLabel:n.dayRange(T.from,T.to),text:e},D=he(y.error),O=qt(D?void 0:v,y.data),k=c.ready&&c.allowed&&!D,A=on(E,k),ee=A.data?.data.pageviews,j=k&&!S&&ee===0,M=p({queryKey:[...Pt.all(r),`ever`],queryFn:()=>z.analytics.summary(r,{range:`12m`}),enabled:j&&w!==`12m`,staleTime:3e5}),re=Dn(E,k&&ee!==void 0&&ee>0&&!O.cantRead&&!O.budgetSpent&&!O.deploymentOff),ie=h({queryKey:Pt.all(r)})>0,oe=jn(r,S?.kind===`node`?S.value:void 0),N=d.allowed?`/sites/${r}/settings#analytics`:void 0,se=$e(b.data?.domains??[]),P=e=>a({to:`/sites/$siteId/analytics`,params:{siteId:r},search:t=>({...t,...e}),replace:!0}),F=()=>a({to:`/sites/$siteId/settings`,params:{siteId:r},hash:`analytics`}),I=(0,X.jsx)(u,{variant:`primary`,icon:(0,X.jsx)(St,{}),onClick:F,disabled:!d.allowed,title:d.reason,children:t(`analytics.off.turnOn`)}),L=[];O.deploymentOff&&y.isSuccess&&L.push((0,X.jsx)(R,{variant:`secondary`,icon:(0,X.jsx)(te,{weight:`fill`}),title:t(`analytics.banners.notRunning.title`),description:t(`analytics.banners.notRunning.description`)},`not-running`)),O.cantRead&&L.push((0,X.jsx)(R,{variant:`secondary`,icon:(0,X.jsx)(te,{weight:`fill`}),title:t(`analytics.banners.cantRead.title`),description:t(`analytics.banners.cantRead.description`)},`cant-read`));let ce=y.data?.quota;ce&&Ot(ce.requests,y.data?.settings.planHint??`unknown`)&&L.push((0,X.jsx)(kt,{requests:ce.requests,locale:e.locale,labels:{title:t(`analytics.banners.quota.title`),description:t(`analytics.banners.quota.description`),meter:t(`analytics.banners.quota.meter`),meterValue:(e,n)=>t(`analytics.banners.quota.meterValue`,{used:e,limit:n})},actions:N?(0,X.jsx)(R.Action,{variant:`secondary`,icon:(0,X.jsx)(Re,{}),onClick:F,children:t(`analytics.banners.quota.settings`)}):void 0},`quota`)),O.budgetSpent&&L.push((0,X.jsx)(R,{variant:`secondary`,icon:(0,X.jsx)(ne,{weight:`fill`}),title:t(`analytics.banners.budget.title`),description:t(`analytics.banners.budget.description`)},`budget`)),O.siteOff&&!j&&L.push((0,X.jsx)(R,{variant:`secondary`,icon:(0,X.jsx)(te,{weight:`fill`}),title:t(`analytics.banners.siteOff.title`),description:t(`analytics.banners.siteOff.description`),action:N?(0,X.jsx)(R.Action,{variant:`secondary`,icon:(0,X.jsx)(Re,{}),onClick:F,children:t(`analytics.off.turnOn`)}):void 0},`site-off`)),re.data&&re.data.data.level!==`none`&&L.push((0,X.jsx)(kn,{scope:E,signal:re.data.data,onShowDay:e=>P({range:void 0,...Gt(e)})},`bots`)),S&&L.push((0,X.jsx)(R,{variant:`secondary`,icon:(0,X.jsx)(ae,{weight:`fill`}),title:t(`analytics.filter.title`,{label:e.filterLabel(S,oe)}),description:t(`analytics.filter.kinds.${S.kind}`),action:(0,X.jsx)(R.Action,{variant:`secondary`,onClick:()=>P({filter:void 0}),children:t(`analytics.filter.clear`)})},`filter`));let le=(0,X.jsx)(U,{icon:(0,X.jsx)(Ge,{size:48,className:`text-kumo-inactive`}),title:t(`analytics.empty.notRunning.title`),description:t(`analytics.empty.notRunning.description`),commandLine:`cloudhal deploy`}),ue;return ue=!c.ready||!c.allowed?null:D||j&&O.deploymentOff?le:j&&O.siteOff?(0,X.jsx)(U,{icon:(0,X.jsx)(St,{size:48,className:`text-kumo-inactive`}),title:t(`analytics.empty.off.title`),description:t(`analytics.empty.off.description`),contents:I}):j&&O.cantRead?(0,X.jsx)(U,{icon:(0,X.jsx)(ne,{size:48,className:`text-kumo-inactive`}),title:t(`analytics.empty.cantRead.title`),description:t(`analytics.banners.cantRead.description`)}):j&&(w===`12m`||M.data?.data.pageviews===0)?(0,X.jsx)(U,{icon:(0,X.jsx)(Ge,{size:48,className:`text-kumo-inactive`}),title:t(`analytics.empty.noVisits.title`),description:t(`analytics.empty.noVisits.description`),contents:se?(0,X.jsx)(s,{href:`https://${se}`,external:!0,variant:`secondary`,icon:An,children:t(`analytics.empty.noVisits.openSite`)}):void 0}):j&&M.data?(0,X.jsx)(U,{icon:(0,X.jsx)(Ge,{size:48,className:`text-kumo-inactive`}),title:t(`analytics.empty.noVisitsInRange.title`),description:t(`analytics.empty.noVisitsInRange.description`),contents:(0,X.jsx)(u,{variant:`secondary`,onClick:()=>P({...Gt({preset:`12m`}),from:void 0,to:void 0}),children:t(`analytics.empty.noVisitsInRange.action`)})}):(0,X.jsxs)(Pe,{variant:`2-1`,children:[(0,X.jsxs)(`div`,{className:`grid min-w-0 content-start gap-6`,children:[(0,X.jsx)(ln,{scope:E,summary:A,uniqueVisitors:y.data?.settings.uniqueVisitors??!1}),S?.kind!==`node`&&(0,X.jsx)(dn,{scope:E,total:A.data?.data.pageviews}),(0,X.jsx)(fn,{scope:E,totalVisits:A.data?.data.visits}),!S&&(0,X.jsx)(hn,{scope:E})]}),(0,X.jsxs)(`div`,{className:`grid min-w-0 content-start gap-6`,children:[(0,X.jsx)(vn,{scope:E,total:A.data?.data.pageviews}),(0,X.jsx)(yn,{scope:E,total:A.data?.data.pageviews}),(0,X.jsx)(Cn,{scope:E,vitalsOneIn:y.data?.settings.vitalsOneIn,settingsHref:N}),!S&&(0,X.jsx)(Tn,{scope:E}),(0,X.jsx)(En,{scope:E,status:y.data,summary:A.data,settingsHref:N})]})]}),(0,X.jsxs)(ze,{crumbs:(0,X.jsx)(ye,{siteId:r,trail:[{label:t(`analytics.page.title`)}]}),icon:(0,X.jsx)(Ge,{size:24}),title:t(`analytics.page.title`),description:t(`analytics.page.description`),actions:c.allowed?(0,X.jsx)(Nt,{value:x,onChange:e=>P({range:void 0,from:void 0,to:void 0,...Gt(e)}),labels:e.rangePicker,locale:e.locale,compare:C,onCompareChange:e=>P({compare:e?void 0:`0`}),trailing:(0,X.jsx)(l,{size:`sm`,variant:`secondary`,"aria-label":t(`analytics.refresh`),loading:ie,onClick:()=>void o.invalidateQueries({queryKey:Pt.all(r)})})}):void 0,children:[!c.allowed&&(0,X.jsx)(`div`,{"data-testid":`analytics-gated`,children:(0,X.jsx)(R,{variant:`secondary`,icon:(0,X.jsx)(Ue,{weight:`fill`}),title:t(`analytics.gate.title`),description:c.reason})}),L,k&&!D&&(0,X.jsx)(Ut,{error:A.error,onRetry:()=>void A.refetch(),retrying:A.isFetching}),ue]})}export{Mn as AnalyticsPage};
|
|
3
|
+
//# sourceMappingURL=AnalyticsPage-CjGEPEPx.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./rolldown-runtime-hePW80VL.js";import{r as e}from"./react-CDCuUAOg.js";import{t}from"./button-pa1bq9b85hawg41a-CmOCuL-1.js";import{n}from"./skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js";import{t as r}from"./dialog-glpnivujociqs9lh-
|
|
2
|
-
//# sourceMappingURL=ApprovalDialog-
|
|
1
|
+
import"./rolldown-runtime-hePW80VL.js";import{r as e}from"./react-CDCuUAOg.js";import{t}from"./button-pa1bq9b85hawg41a-CmOCuL-1.js";import{n}from"./skeleton-line-m9dyh126t9k07jvg-BFlcthbF.js";import{t as r}from"./dialog-glpnivujociqs9lh-BqMU4UxI.js";var i=e();function a({open:e,onOpenChange:a,title:o,description:s,confirmLabel:c,cancelLabel:l,destructive:u,busy:d,onConfirm:f,children:p}){return(0,i.jsx)(r.Root,{open:e,onOpenChange:a,children:(0,i.jsxs)(r,{size:`sm`,className:`p-6`,children:[(0,i.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,i.jsx)(r.Title,{className:`font-semibold text-kumo-default text-lg`,children:o}),s&&(0,i.jsx)(r.Description,{children:(0,i.jsx)(n,{variant:`secondary`,as:`span`,children:s})})]}),p&&(0,i.jsx)(`div`,{className:`mt-4`,children:p}),(0,i.jsxs)(`div`,{className:`mt-6 flex justify-end gap-2`,children:[(0,i.jsx)(t,{variant:`secondary`,onClick:()=>a(!1),disabled:d,children:l}),(0,i.jsx)(t,{variant:u?`destructive`:`primary`,onClick:()=>void f(),loading:d,"data-testid":`approve`,children:c})]})]})})}export{a as t};
|
|
2
|
+
//# sourceMappingURL=ApprovalDialog-DHKo0y6u.js.map
|