catherd-cli 1.4.0 → 2.0.0-beta.20261022113309
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/README.md +188 -169
- package/THIRD_PARTY_NOTICES.md +217 -35
- package/catalog/jev.json +27 -1
- package/catalog/models.json +56 -239
- package/package.json +6 -8
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/.codex-plugin/plugin.json +1 -1
- package/plugin/bin/catherd-mcp +1 -1
- package/plugin/commands/catherd.md +2 -2
- package/plugin/skills/catherd/SKILL.md +97 -356
- package/plugin/skills/catherd-setup/SKILL.md +21 -20
- package/src/adapters/all.ts +0 -4
- package/src/adapters/backend.ts +19 -4
- package/src/adapters/claude-code/index.ts +126 -14
- package/src/adapters/codex/events.ts +10 -0
- package/src/adapters/codex/index.ts +17 -5
- package/src/adapters/cursor/home.ts +1 -1
- package/src/adapters/cursor/index.ts +10 -4
- package/src/adapters/opencode/index.ts +38 -1
- package/src/cli.ts +27 -27
- package/src/domain/agents.ts +3 -1
- package/src/domain/bars.ts +33 -107
- package/src/domain/blocked.ts +72 -0
- package/src/domain/branch.ts +51 -0
- package/src/domain/brief.ts +106 -0
- package/src/domain/catalog.ts +69 -313
- package/src/domain/changes.ts +23 -1
- package/src/domain/cost.ts +19 -29
- package/src/domain/errors.ts +6 -2
- package/src/domain/fail-lines.ts +26 -0
- package/src/domain/failover.ts +37 -75
- package/src/domain/findings.ts +47 -0
- package/src/domain/gate-brief.ts +53 -0
- package/src/domain/hints.ts +13 -2
- package/src/domain/ids.ts +13 -2
- package/src/domain/jev.ts +47 -2
- package/src/domain/judge.ts +124 -0
- package/src/domain/lane.ts +118 -3
- package/src/domain/milestone-memory.ts +53 -0
- package/src/domain/notice.ts +32 -8
- package/src/domain/notify.ts +32 -0
- package/src/domain/plan-doc.ts +198 -0
- package/src/domain/plan-lint.ts +141 -0
- package/src/domain/profile-rules.ts +175 -138
- package/src/domain/profile.ts +140 -63
- package/src/domain/record.ts +68 -3
- package/src/domain/reply.ts +29 -0
- package/src/domain/role-prompts.ts +182 -56
- package/src/domain/role-scope.ts +76 -0
- package/src/domain/role-tools.ts +34 -0
- package/src/domain/roles.ts +2 -0
- package/src/domain/route.ts +90 -0
- package/src/domain/rules.ts +33 -0
- package/src/domain/run-events.ts +298 -0
- package/src/domain/run-machine.ts +668 -0
- package/src/domain/run-state.ts +1310 -0
- package/src/domain/scorecard.ts +197 -0
- package/src/domain/select.ts +229 -72
- package/src/domain/slopalytics.ts +72 -0
- package/src/domain/state.ts +5 -0
- package/src/domain/util.ts +22 -0
- package/src/domain/workspace.ts +130 -0
- package/src/entry/answer-command.ts +39 -0
- package/src/entry/catalog-command.ts +24 -165
- package/src/entry/check-bin.ts +17 -0
- package/src/entry/cli-kit.ts +18 -2
- package/src/entry/daemon-bin.ts +22 -0
- package/src/entry/deps.ts +2 -0
- package/src/entry/doctor-command.ts +20 -2
- package/src/entry/glyphs.ts +15 -2
- package/src/entry/host-arg.ts +28 -0
- package/src/entry/init-command.ts +20 -69
- package/src/entry/knowledge-command.ts +121 -5
- package/src/entry/lock-command.ts +103 -8
- package/src/entry/mcp/handshake.ts +6 -2
- package/src/entry/mcp/role-bin.ts +20 -0
- package/src/entry/mcp/role-server.ts +134 -0
- package/src/entry/mcp/server.ts +85 -21
- package/src/entry/mcp/session-tools.ts +149 -0
- package/src/entry/panel/openapi.ts +189 -0
- package/src/entry/panel/server.ts +410 -0
- package/src/entry/panel-command.ts +68 -0
- package/src/entry/pause-command.ts +67 -0
- package/src/entry/profile-command.ts +33 -18
- package/src/entry/role-cli-command.ts +159 -0
- package/src/entry/runs-command.ts +81 -27
- package/src/entry/scorecard-command.ts +187 -0
- package/src/entry/supervise-bin.ts +1 -1
- package/src/entry/supervise-command.ts +30 -3
- package/src/entry/workspace-command.ts +44 -0
- package/src/infra/boot-lock.ts +25 -0
- package/src/infra/delivery.ts +3 -0
- package/src/infra/dispatch-dir.ts +2 -0
- package/src/infra/env.ts +11 -3
- package/src/infra/git.ts +70 -0
- package/src/infra/heavy-lock.ts +133 -6
- package/src/infra/host-probe.ts +16 -0
- package/src/infra/launch.ts +63 -7
- package/src/infra/lock-activity.ts +88 -0
- package/src/infra/login-env.ts +48 -0
- package/src/infra/memory.ts +45 -0
- package/src/infra/ntfy.ts +40 -0
- package/src/infra/open-url.ts +42 -0
- package/src/infra/paths.ts +37 -2
- package/src/infra/role-mcp.ts +69 -0
- package/src/infra/slopalytics.ts +30 -0
- package/src/infra/store.ts +6 -1
- package/src/infra/supervisor.ts +107 -16
- package/src/services/admission.ts +133 -31
- package/src/services/backends.ts +4 -6
- package/src/services/budget.ts +26 -6
- package/src/services/capture.ts +1 -22
- package/src/services/catalog-service.ts +155 -254
- package/src/services/credentials.ts +15 -26
- package/src/services/daemon.ts +181 -0
- package/src/services/dispatch-service.ts +209 -17
- package/src/services/dispatches.ts +30 -2
- package/src/services/doctor-access.ts +8 -3
- package/src/services/doctor-backends.ts +1 -1
- package/src/services/doctor-checks.ts +47 -0
- package/src/services/doctor-docker.ts +221 -0
- package/src/services/doctor-role-mcp.ts +65 -0
- package/src/services/doctor.ts +72 -15
- package/src/services/end-push.ts +157 -0
- package/src/services/failover-rungs.ts +109 -0
- package/src/services/finalize.ts +24 -2
- package/src/services/gate-env.ts +217 -0
- package/src/services/gate-service.ts +231 -45
- package/src/services/global-install.ts +46 -13
- package/src/services/jev-service.ts +2 -4
- package/src/services/lane-edit.ts +154 -0
- package/src/services/lane-service.ts +291 -55
- package/src/services/milestone-check.ts +433 -0
- package/src/services/milestone-tree.ts +170 -0
- package/src/services/milestones.ts +167 -29
- package/src/services/notifier.ts +124 -4
- package/src/services/notify-service.ts +26 -0
- package/src/services/orchestrator-wait.ts +82 -0
- package/src/services/panel-setup.ts +116 -0
- package/src/services/pause.ts +161 -0
- package/src/services/peek.ts +79 -17
- package/src/services/plan-input.ts +151 -0
- package/src/services/ports.ts +60 -5
- package/src/services/preflight.ts +232 -24
- package/src/services/profile-service.ts +31 -3
- package/src/services/profile-store.ts +18 -6
- package/src/services/protocol.ts +123 -25
- package/src/services/provenance.ts +34 -89
- package/src/services/questions.ts +24 -0
- package/src/services/reconcile.ts +33 -1
- package/src/services/reentry.ts +7 -6
- package/src/services/role-access.ts +27 -0
- package/src/services/routing-service.ts +161 -42
- package/src/services/run-briefs.ts +477 -0
- package/src/services/run-client.ts +217 -0
- package/src/services/run-effects.ts +837 -0
- package/src/services/run-events-store.ts +174 -0
- package/src/services/run-evidence.ts +1 -1
- package/src/services/run-pin.ts +125 -0
- package/src/services/run-read.ts +221 -0
- package/src/services/run-report.ts +176 -0
- package/src/services/run-service.ts +204 -23
- package/src/services/run-store.ts +159 -18
- package/src/services/scorecard-metrics.ts +86 -0
- package/src/services/scorecard.ts +382 -0
- package/src/services/scratch.ts +60 -0
- package/src/services/sessions.ts +3 -1
- package/src/services/state.ts +21 -0
- package/src/services/summary.ts +76 -12
- package/src/services/tree-path.ts +27 -0
- package/src/services/verifier-brief.ts +23 -0
- package/src/services/verifier-step.ts +48 -0
- package/src/services/workspace-admission.ts +259 -0
- package/src/services/workspace-service.ts +259 -0
- package/src/services/workspace-store.ts +95 -0
- package/web/dist/assets/Brand-PKlUX5TE.js +1 -0
- package/web/dist/assets/Brand-PKlUX5TE.js.br +0 -0
- package/web/dist/assets/Brand-PKlUX5TE.js.gz +0 -0
- package/web/dist/assets/Modal-Dxc5so53.js +1 -0
- package/web/dist/assets/Modal-Dxc5so53.js.br +0 -0
- package/web/dist/assets/Modal-Dxc5so53.js.gz +0 -0
- package/web/dist/assets/Pressable-C8-T6Ed_.js +1 -0
- package/web/dist/assets/StatusChip-B5xfI_Mn.js +153 -0
- package/web/dist/assets/StatusChip-B5xfI_Mn.js.br +0 -0
- package/web/dist/assets/StatusChip-B5xfI_Mn.js.gz +0 -0
- package/web/dist/assets/_app-Ea5cpyKe.js +1 -0
- package/web/dist/assets/_app-Ea5cpyKe.js.br +0 -0
- package/web/dist/assets/_app-Ea5cpyKe.js.gz +0 -0
- package/web/dist/assets/_runId-pTG0fXVo.js +1 -0
- package/web/dist/assets/_runId-pTG0fXVo.js.br +0 -0
- package/web/dist/assets/_runId-pTG0fXVo.js.gz +0 -0
- package/web/dist/assets/drawer-Du3cdlok.js +1 -0
- package/web/dist/assets/drawer-Du3cdlok.js.br +0 -0
- package/web/dist/assets/drawer-Du3cdlok.js.gz +0 -0
- package/web/dist/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
- package/web/dist/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
- package/web/dist/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
- package/web/dist/assets/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
- package/web/dist/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2 +0 -0
- package/web/dist/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2 +0 -0
- package/web/dist/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2 +0 -0
- package/web/dist/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2 +0 -0
- package/web/dist/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2 +0 -0
- package/web/dist/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2 +0 -0
- package/web/dist/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
- package/web/dist/assets/index-B6GiwDkh.js +11 -0
- package/web/dist/assets/index-B6GiwDkh.js.br +0 -0
- package/web/dist/assets/index-B6GiwDkh.js.gz +0 -0
- package/web/dist/assets/index-C5IbylvM.css +2 -0
- package/web/dist/assets/index-C5IbylvM.css.br +0 -0
- package/web/dist/assets/index-C5IbylvM.css.gz +0 -0
- package/web/dist/assets/label-DFSYBc62.js +1 -0
- package/web/dist/assets/label-DFSYBc62.js.br +0 -0
- package/web/dist/assets/label-DFSYBc62.js.gz +0 -0
- package/web/dist/assets/link-D8EcKZUt.js +1 -0
- package/web/dist/assets/link-D8EcKZUt.js.br +0 -0
- package/web/dist/assets/link-D8EcKZUt.js.gz +0 -0
- package/web/dist/assets/login-DaN5HPPW.js +1 -0
- package/web/dist/assets/login-DaN5HPPW.js.br +0 -0
- package/web/dist/assets/login-DaN5HPPW.js.gz +0 -0
- package/web/dist/assets/query-Cu--ccT3.js +1 -0
- package/web/dist/assets/questions-shoO9OVj.js +1 -0
- package/web/dist/assets/questions-shoO9OVj.js.br +0 -0
- package/web/dist/assets/questions-shoO9OVj.js.gz +0 -0
- package/web/dist/assets/react-query.gen-Bu2yV-qJ.js +12 -0
- package/web/dist/assets/react-query.gen-Bu2yV-qJ.js.br +0 -0
- package/web/dist/assets/react-query.gen-Bu2yV-qJ.js.gz +0 -0
- package/web/dist/assets/rolldown-runtime-XKyaHtl9.js +1 -0
- package/web/dist/assets/run-status-C0DRuV7U.js +1 -0
- package/web/dist/assets/runs-C3rg2zZc.js +1 -0
- package/web/dist/assets/runs-C3rg2zZc.js.br +0 -0
- package/web/dist/assets/runs-C3rg2zZc.js.gz +0 -0
- package/web/dist/assets/setup-5I4Vl9fR.js +1 -0
- package/web/dist/assets/setup-5I4Vl9fR.js.br +0 -0
- package/web/dist/assets/setup-5I4Vl9fR.js.gz +0 -0
- package/web/dist/assets/table-BOxXhqS4.js +1 -0
- package/web/dist/assets/table-BOxXhqS4.js.br +0 -0
- package/web/dist/assets/table-BOxXhqS4.js.gz +0 -0
- package/web/dist/assets/textfield-BzRFkxBF.js +1 -0
- package/web/dist/assets/textfield-BzRFkxBF.js.br +0 -0
- package/web/dist/assets/textfield-BzRFkxBF.js.gz +0 -0
- package/web/dist/assets/time--9kSQbbp.js +1 -0
- package/web/dist/assets/use-css-variable-CpnN9WtA.js +5 -0
- package/web/dist/assets/use-css-variable-CpnN9WtA.js.br +0 -0
- package/web/dist/assets/use-css-variable-CpnN9WtA.js.gz +0 -0
- package/web/dist/assets/useMutation-CVPKlR34.js +1 -0
- package/web/dist/assets/useMutation-CVPKlR34.js.br +0 -0
- package/web/dist/assets/useMutation-CVPKlR34.js.gz +0 -0
- package/web/dist/index.html +15 -0
- package/catalog/ATTRIBUTION.md +0 -36
- package/catalog/scores.json +0 -3202
- package/catalog/sources.json +0 -97
- package/src/adapters/antigravity/events.ts +0 -131
- package/src/adapters/antigravity/home.ts +0 -46
- package/src/adapters/antigravity/index.ts +0 -320
- package/src/adapters/antigravity/models.ts +0 -37
- package/src/adapters/grok/events.ts +0 -112
- package/src/adapters/grok/home.ts +0 -132
- package/src/adapters/grok/index.ts +0 -339
- package/src/adapters/grok/models.ts +0 -48
- package/src/domain/calibration.ts +0 -125
- package/src/domain/sources.ts +0 -144
- package/src/entry/mcp/dispatch-tools.ts +0 -52
- package/src/entry/mcp/lane-tools.ts +0 -84
- package/src/entry/mcp/protocol-tools.ts +0 -57
- package/src/entry/mcp/run-tools.ts +0 -148
- package/src/entry/mcp/setup-tools.ts +0 -108
- package/src/entry/tui/commands.ts +0 -563
- package/src/entry/tui/effects.ts +0 -381
- package/src/entry/tui/fixtures.ts +0 -637
- package/src/entry/tui/profile-edits.ts +0 -146
- package/src/entry/tui/profile-tree.ts +0 -429
- package/src/entry/tui/providers/app.tsx +0 -162
- package/src/entry/tui/providers/boundary.tsx +0 -57
- package/src/entry/tui/providers/data.tsx +0 -160
- package/src/entry/tui/providers/keymap.tsx +0 -166
- package/src/entry/tui/providers/root.tsx +0 -45
- package/src/entry/tui/providers/theme.tsx +0 -17
- package/src/entry/tui/providers/toast.tsx +0 -77
- package/src/entry/tui/run.tsx +0 -114
- package/src/entry/tui/state.ts +0 -373
- package/src/entry/tui/stories.ts +0 -114
- package/src/entry/tui/text.ts +0 -130
- package/src/entry/tui/theme.ts +0 -140
- package/src/entry/tui/views/app.tsx +0 -208
- package/src/entry/tui/views/dialogs.tsx +0 -41
- package/src/entry/tui/views/profile-actions.ts +0 -331
- package/src/entry/tui/views/profiles.tsx +0 -520
- package/src/entry/tui/views/runs.tsx +0 -573
- package/src/entry/tui/views/save-dialog.tsx +0 -340
- package/src/entry/tui/views/status.tsx +0 -209
- package/src/entry/tui/widgets/chrome.tsx +0 -114
- package/src/entry/tui/widgets/dialog-confirm.tsx +0 -58
- package/src/entry/tui/widgets/dialog-prompt.tsx +0 -52
- package/src/entry/tui/widgets/dialog-select.tsx +0 -212
- package/src/entry/tui/widgets/dialog.tsx +0 -68
- package/src/entry/tui/widgets/line.tsx +0 -92
- package/src/entry/tui/widgets/list.tsx +0 -197
- package/src/entry/tui/widgets/spinner.tsx +0 -49
- package/src/entry/tui/widgets/toast.tsx +0 -62
- package/src/infra/sources/arena.ts +0 -87
- package/src/infra/sources/artificial-analysis.ts +0 -112
- package/src/infra/sources/cache.ts +0 -124
- package/src/infra/sources/csv.ts +0 -38
- package/src/infra/sources/epoch.ts +0 -82
- package/src/infra/sources/http.ts +0 -75
- package/src/infra/sources/litellm.ts +0 -58
- package/src/infra/sources/models-dev.ts +0 -59
- package/src/infra/sources/openrouter-endpoints.ts +0 -52
- package/src/infra/sources/openrouter-models.ts +0 -60
- package/src/infra/sources/rows.ts +0 -38
- package/src/infra/sources/vectara.ts +0 -69
- package/src/infra/sources/zip.ts +0 -48
- package/src/services/catalog-refresh.ts +0 -201
- package/src/services/doctor-sources.ts +0 -76
- package/src/services/runs-page.ts +0 -255
- package/src/services/source-derive.ts +0 -374
- package/src/services/source-sync.ts +0 -305
- package/src/services/standins.ts +0 -204
- package/src/services/treat-likes.ts +0 -97
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-XKyaHtl9.js";import{$ as t,D as n,Dt as r,Et as i,G as a,K as o,L as s,N as c,O as l,Sn as u,Ut as d,W as f,X as p,_ as m,b as h,d as ee,dt as g,g as _,l as v,s as te,tt as y,ut as b,xn as ne,y as re}from"./react-query.gen-Bu2yV-qJ.js";import{I as ie,J as ae,O as oe,St as x,X as se,_ as ce,at as le,ct as ue,d as de,dt as fe,f as pe,ft as me,g as he,h as ge,lt as _e,n as S,pt as ve,r as C,t as w,ut as ye,v as be,y as xe}from"./use-css-variable-CpnN9WtA.js";import{t as Se}from"./useMutation-CVPKlR34.js";import{m as Ce,t as we}from"./label-DFSYBc62.js";import{n as Te,t as Ee}from"./Modal-Dxc5so53.js";import{t as T}from"./drawer-Du3cdlok.js";import{t as De}from"./link-D8EcKZUt.js";import{t as Oe}from"./Pressable-C8-T6Ed_.js";import{n as ke,t as E}from"./Brand-PKlUX5TE.js";import{D,F as Ae,M as je,N as Me,P as Ne,b as Pe,c as Fe,f as O,j as Ie,m as Le,p as Re}from"./index-B6GiwDkh.js";function ze(e){let t=Ae({warn:e?.router===void 0}),n=e?.router||t;return Ne(n.stores.__store,Me(e,n))}var Be=y({slots:{menu:`dropdown__menu`,popover:`dropdown__popover`,root:`dropdown`,trigger:`dropdown__trigger`}}),Ve=y({base:`header`}),He=y({defaultVariants:{},slots:{abbr:`kbd__abbr`,base:`kbd`,content:`kbd__content`},variants:{variant:{default:`kbd--default`,light:`kbd--light`}}}),Ue=y({defaultVariants:{variant:`default`},slots:{indicator:`menu-item__indicator`,item:`menu-item`,submenuIndicator:`menu-item__indicator menu-item__indicator--submenu`},variants:{variant:{danger:{item:`menu-item--danger`},default:{item:`menu-item--default`}}}}),We=y({base:`menu-section`}),k=y({defaultVariants:{scroll:`inside`,size:`md`,variant:`opaque`},slots:{backdrop:`modal__backdrop`,body:`modal__body`,closeTrigger:`modal__close-trigger`,container:`modal__container`,dialog:`modal__dialog`,footer:`modal__footer`,header:`modal__header`,heading:`modal__heading`,icon:`modal__icon`,trigger:`modal__trigger`},variants:{scroll:{inside:{body:`modal__body--scroll-inside`,dialog:`modal__dialog--scroll-inside`},outside:{body:`modal__body--scroll-outside`,container:`modal__container--scroll-outside`,dialog:`modal__dialog--scroll-outside`}},size:{cover:{dialog:`modal__dialog--cover`},full:{container:`modal__container--full`,dialog:`modal__dialog--full`},lg:{dialog:`modal__dialog--lg`},md:{dialog:`modal__dialog--md`},sm:{dialog:`modal__dialog--sm`},xs:{dialog:`modal__dialog--xs`}},variant:{blur:{backdrop:`modal__backdrop--blur`},opaque:{backdrop:`modal__backdrop--opaque`},transparent:{backdrop:`modal__backdrop--transparent`}}}}),Ge=y({slots:{base:`tooltip`,trigger:`tooltip__trigger`}}),A=e(u(),1);function Ke(e){let t=oe({usage:`search`,...e}),n=(0,A.useCallback)((e,n)=>n.length===0||(e=e.normalize(`NFC`),n=n.normalize(`NFC`),t.compare(e.slice(0,n.length),n)===0),[t]),r=(0,A.useCallback)((e,n)=>n.length===0||(e=e.normalize(`NFC`),n=n.normalize(`NFC`),t.compare(e.slice(-n.length),n)===0),[t]),i=(0,A.useCallback)((e,n)=>{if(n.length===0)return!0;e=e.normalize(`NFC`),n=n.normalize(`NFC`);let r=0,i=n.length;for(;r+i<=e.length;r++){let a=e.slice(r,r+i);if(t.compare(n,a)===0)return!0}return!1},[t]);return(0,A.useMemo)(()=>({startsWith:n,endsWith:r,contains:i}),[n,r,i])}var qe=1500,j=500,M={},Je=0,N=!1,P=null,F=null;function I(e={}){let{delay:t=qe,closeDelay:n=j}=e,{isOpen:r,open:i,close:a}=se(e),[o,s]=(0,A.useState)(!1),c=(0,A.useMemo)(()=>`${++Je}`,[]),l=(0,A.useRef)(null),u=(0,A.useRef)(a),d=()=>{M[c]=m},f=()=>{for(let e in M)e!==c&&(M[e](!0,!0),delete M[e])},p=e=>{l.current&&clearTimeout(l.current),l.current=null,f(),d(),s(!!e),N=!0,i(),P&&=(clearTimeout(P),null),F&&=(clearTimeout(F),null)},m=(e,t)=>{s(!!t),e||n<=0?(l.current&&clearTimeout(l.current),l.current=null,u.current()):l.current||=setTimeout(()=>{l.current=null,u.current()},n),P&&=(clearTimeout(P),null),N&&(F&&clearTimeout(F),F=setTimeout(()=>{delete M[c],F=null,N=!1},Math.max(j,n)))},h=()=>{f(),d(),!r&&!N?(P&&clearTimeout(P),P=setTimeout(()=>{P=null,N=!0,p(!1)},t)):r||p(!0)};return(0,A.useEffect)(()=>{u.current=a},[a]),(0,A.useEffect)(()=>()=>{l.current&&clearTimeout(l.current),M[c]&&delete M[c]},[c]),{isOpen:r,shouldSkipAnimation:o,open:e=>{!e&&t>0&&!l.current?h():p(N)},close:m}}var Ye=e(d(),1),L=A.createContext(null);function Xe(e){let{children:t}=e,n=(0,A.useContext)(L),[r,i]=(0,A.useState)(0),a=(0,A.useMemo)(()=>({parent:n,modalCount:r,addModal(){i(e=>e+1),n&&n.addModal()},removeModal(){i(e=>e-1),n&&n.removeModal()}}),[n,r]);return A.createElement(L.Provider,{value:a},t)}function Ze(){let e=(0,A.useContext)(L);return{modalProviderProps:{"aria-hidden":e&&e.modalCount>0?!0:void 0}}}function Qe(e){let{modalProviderProps:t}=Ze();return A.createElement(`div`,{"data-overlay-container":!0,...e,...t})}function $e(e){return A.createElement(Xe,null,A.createElement(Qe,e))}function et(e){let t=r(),{portalContainer:n=t?null:document.body,...i}=e,{getContainer:a}=Le();if(!e.portalContainer&&a&&(n=a()),A.useEffect(()=>{if(n?.closest(`[data-overlay-container]`))throw Error(`An OverlayContainer must not be inside another container. Please change the portalContainer prop.`)},[n]),!n)return null;let o=A.createElement($e,i);return Ye.createPortal(o,n)}function tt(e,t){let n=b(e,{labelable:!0}),{hoverProps:r}=h({onHoverStart:()=>t?.open(!0),onHoverEnd:()=>t?.close()});return{tooltipProps:g(n,r,{role:`tooltip`})}}function nt(e,t,n){let{isDisabled:r,trigger:a,shouldCloseOnPress:o=!0}=e,u=i(),d=(0,A.useRef)(!1),f=(0,A.useRef)(!1),p=()=>{(d.current||f.current)&&t.open(f.current)},m=e=>{!d.current&&!f.current&&t.close(e)};(0,A.useEffect)(()=>{let e=e=>{n&&n.current&&e.key===`Escape`&&(e.stopPropagation(),t.close(!0))};if(t.isOpen)return document.addEventListener(`keydown`,e,!0),()=>{document.removeEventListener(`keydown`,e,!0)}},[n,t]);let ee=()=>{a!==`focus`&&(c()===`pointer`?d.current=!0:d.current=!1,p())},_=()=>{a!==`focus`&&(f.current=!1,d.current=!1,m())},v=()=>{o&&(f.current=!1,d.current=!1,m(!0))},te=()=>{s()&&(f.current=!0,p())},y=()=>{f.current=!1,d.current=!1,m(!0)},{hoverProps:b}=h({isDisabled:r,onHoverStart:ee,onHoverEnd:_}),{focusableProps:ne}=l({isDisabled:r,onFocus:te,onBlur:y},n);return{triggerProps:{"aria-describedby":t.isOpen?u:void 0,...g(ne,b,{onPointerDown:v,onKeyDown:v}),tabIndex:void 0},tooltipProps:{id:u}}}var R=(0,A.createContext)(null),z=(0,A.createContext)(null);function rt(e){let t=I(e),r=(0,A.useRef)(null),{triggerProps:i,tooltipProps:a}=nt(e,t,r);return A.createElement(f,{values:[[R,t],[z,{...a,triggerRef:r}]]},A.createElement(n,{...i,ref:r},e.children))}var it=(0,A.forwardRef)(function({UNSTABLE_portalContainer:e,...t},n){[t,n]=a(t,n,z);let r=(0,A.useContext)(R),i=I(t),o=t.isOpen!=null||t.defaultOpen!=null||!r?i:r,s=me(n,o.isOpen),c=t.isExiting||!o.shouldSkipAnimation&&s||!1;return!o.isOpen&&!c?null:A.createElement(et,{portalContainer:e},A.createElement(at,{...t,tooltipRef:n,isExiting:c}))});function at(e){let t=(0,A.useContext)(R),n=(0,A.useRef)(null),{overlayProps:r,arrowProps:i,placement:a,triggerAnchorPoint:s}=le({placement:e.placement||`top`,targetRef:e.triggerRef,overlayRef:e.tooltipRef,arrowRef:n,offset:e.offset,crossOffset:e.crossOffset,isOpen:t.isOpen,arrowBoundaryOffset:e.arrowBoundaryOffset,shouldFlip:e.shouldFlip,containerPadding:e.containerPadding,onClose:()=>t.close(!0)}),c=ve(e.tooltipRef,!!a),l=e.isEntering||!t.shouldSkipAnimation&&c||!1,u=o({...e,defaultClassName:`react-aria-Tooltip`,values:{placement:a,isEntering:l,isExiting:e.isExiting,state:t}});e=g(e,r);let{tooltipProps:d}=tt(e,t),f=b(e,{global:!0});return A.createElement(p.div,{...g(f,u,d),ref:e.tooltipRef,style:{...r.style,"--trigger-anchor-point":s?`${s.x}px ${s.y}px`:void 0,...u.style},"data-placement":a??void 0,"data-entering":l||void 0,"data-exiting":e.isExiting||void 0},A.createElement(ue.Provider,{value:{...i,placement:a,ref:n}},u.children))}var B=ne(),V=(0,A.createContext)({}),ot=({children:e,className:t,variant:n,...r})=>{let i=A.useMemo(()=>Ue({variant:n}),[n]);return(0,B.jsx)(he,{className:m(t,i.item()),"data-slot":`menu-item`,...r,children:t=>(0,B.jsx)(V,{value:{slots:i,state:t},children:typeof e==`function`?e(t):e})})},st=({children:e,className:t,type:n=`checkmark`,...r})=>{let{slots:i,state:a}=(0,A.use)(V),o=a?.isSelected,s=typeof e==`function`?e(a??{}):e||(n===`dot`?(0,B.jsx)(`svg`,{"aria-hidden":`true`,"data-slot":`menu-item-indicator--dot`,fill:`currentColor`,fillRule:`evenodd`,role:`presentation`,viewBox:`0 0 16 16`,xmlns:`http://www.w3.org/2000/svg`,children:(0,B.jsx)(`path`,{clipRule:`evenodd`,d:`M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14`,fillRule:`evenodd`})}):(0,B.jsx)(`svg`,{"aria-hidden":`true`,"data-slot":`menu-item-indicator--checkmark`,fill:`none`,role:`presentation`,stroke:`currentColor`,strokeDasharray:22,strokeDashoffset:o?44:66,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,viewBox:`0 0 17 18`,children:(0,B.jsx)(`polyline`,{points:`1 9 7 14 15 4`})}));return(0,B.jsx)(D.span,{"aria-hidden":`true`,className:_(i?.indicator,t),"data-slot":`menu-item-indicator`,"data-type":n,"data-visible":o||void 0,...r,children:s})},ct=({children:e,className:t,...n})=>{let{slots:r,state:i}=(0,A.use)(V);if(!i?.hasSubmenu)return null;let a=e??(0,B.jsx)(Pe,{});return(0,B.jsx)(D.span,{"aria-hidden":`true`,className:_(r?.submenuIndicator,t),"data-slot":`submenu-indicator`,...n,children:a})},lt=({children:e,className:t,...n})=>{let r=A.useMemo(()=>We({class:typeof t==`string`?t:void 0}),[t]);return(0,B.jsx)(ce,{className:r,...n,children:e})},H=(0,A.createContext)({}),ut=({children:e,...t})=>{let n=A.useMemo(()=>Be(),[]),r=A.useMemo(()=>({slots:n}),[n]);return(0,B.jsx)(H,{value:r,children:(0,B.jsx)(ge,{...t,children:e})})},dt=({children:e,className:t,...n})=>{let{slots:r}=(0,A.use)(H);return(0,B.jsx)(re,{className:m(t,r?.trigger()),"data-slot":`dropdown-trigger`,...n,children:t=>(0,B.jsx)(B.Fragment,{children:typeof e==`function`?e(t):e})})},ft=({children:e,className:t,placement:n,...r})=>{let{slots:i}=(0,A.use)(H);return(0,B.jsx)(ye,{value:{variant:`default`},children:(0,B.jsx)(ae,{...r,className:m(t,i?.popover()),"data-slot":`dropdown-popover`,placement:n,children:e})})};function pt({className:e,...t}){let{slots:n}=(0,A.use)(H);return(0,B.jsx)(be,{className:m(e,n?.menu()),"data-selection-mode":t.selectionMode,"data-slot":`dropdown-menu`,...t})}var U=Object.assign(ut,{Root:ut,Trigger:dt,Popover:ft,Menu:pt,Section:e=>(0,B.jsx)(lt,{...e}),Item:e=>(0,B.jsx)(ot,{...e}),ItemIndicator:e=>(0,B.jsx)(st,{...e}),SubmenuIndicator:e=>(0,B.jsx)(ct,{...e}),SubmenuTrigger:({children:e,...t})=>(0,B.jsx)(xe,{"data-slot":`dropdown-submenu-trigger`,...t,children:e})}),mt=({children:e,className:t,...n})=>(0,B.jsx)(ie,{className:Ve({className:t}),"data-slot":`header`,...n,children:e}),ht={command:`⌘`,shift:`⇧`,ctrl:`⌃`,option:`⌥`,enter:`↵`,delete:`⌫`,escape:`⎋`,tab:`⇥`,capslock:`⇪`,up:`↑`,right:`→`,down:`↓`,left:`←`,pageup:`⇞`,pagedown:`⇟`,home:`↖`,end:`↘`,help:`?`,space:`␣`,fn:`Fn`,win:`⌘`,alt:`⌥`},gt={command:`Command`,shift:`Shift`,ctrl:`Control`,option:`Option`,enter:`Enter`,delete:`Delete`,escape:`Escape`,tab:`Tab`,capslock:`Caps Lock`,up:`Up`,right:`Right`,down:`Down`,left:`Left`,pageup:`Page Up`,pagedown:`Page Down`,home:`Home`,end:`End`,help:`Help`,space:`Space`,fn:`Fn`,win:`Win`,alt:`Alt`},W=(0,A.createContext)({}),G=({children:e,className:t,variant:n,...r})=>{let i=A.useMemo(()=>He({variant:n}),[n]),a=A.useMemo(()=>({slots:i}),[i]);return(0,B.jsx)(W,{value:a,children:(0,B.jsx)(D.kbd,{...r,className:i.base({className:t}),children:e})})},_t=Object.assign(G,{Root:G,Abbr:({className:e,keyValue:t,...n})=>{let{slots:r}=(0,A.use)(W);return(0,B.jsx)(D.abbr,{className:_(r?.abbr,e),title:gt[t],...n,children:ht[t]})},Content:({children:e,className:t,...n})=>{let{slots:r}=(0,A.use)(W);return(0,B.jsx)(D.span,{className:_(r?.content,t),...n,children:e})}}),vt={variant:`default`},K=(0,A.createContext)({}),q=({children:e,state:t,...n})=>{let r=(0,A.useMemo)(()=>({slots:k(),placement:void 0}),[]),i=(0,A.useMemo)(()=>t?{isOpen:t.isOpen,onOpenChange:t.setOpen}:{},[t]);return(0,B.jsx)(K,{value:r,children:(0,B.jsx)(de,{"data-slot":`modal-root`,...g(n,i),children:e})})},J=Object.assign(q,{Root:q,Trigger:({children:e,className:t,...n})=>{let{slots:r}=(0,A.use)(K);return(0,B.jsx)(Oe,{children:(0,B.jsx)(D.div,{className:_(r?.trigger,t),"data-slot":`modal-trigger`,role:`button`,...n,children:e})})},Backdrop:({children:e,className:t,isDismissable:n=!0,onClick:r,variant:i,...a})=>{let{slots:o}=(0,A.use)(K),s=(0,A.useMemo)(()=>k({variant:i}),[i]),c=(0,A.useMemo)(()=>({slots:{...o,...s}}),[o,s]);return(0,B.jsx)(Te,{className:m(t,s?.backdrop()),"data-slot":`modal-backdrop`,isDismissable:n,onClick:e=>{e.stopPropagation(),r?.(e)},...a,children:t=>(0,B.jsxs)(K,{value:c,children:[typeof e==`function`?e(t):e,` `]})})},Container:({children:e,className:t,placement:n=`auto`,scroll:r,size:i,...a})=>{let{slots:o}=(0,A.use)(K),s=(0,A.useMemo)(()=>k({scroll:r,size:i}),[r,i]),c=(0,A.useMemo)(()=>({placement:n,slots:{...o,...s}}),[o,n,s]);return(0,B.jsx)(Ee,{className:m(t,s?.container()),"data-placement":n,"data-slot":`modal-container`,...a,children:t=>(0,B.jsx)(K,{value:c,children:typeof e==`function`?e(t):e})})},Dialog:({children:e,className:t,...n})=>{let{placement:r,slots:i}=(0,A.use)(K);return(0,B.jsx)(ye,{value:vt,children:(0,B.jsx)(pe,{className:_(i?.dialog,t),"data-placement":r,"data-slot":`modal-dialog`,...n,children:e})})},Header:({children:e,className:t,...n})=>{let{slots:r}=(0,A.use)(K);return(0,B.jsx)(D.div,{className:_(r?.header,t),"data-slot":`modal-header`,...n,children:e})},Icon:({children:e,className:t,...n})=>{let{slots:r}=(0,A.use)(K);return(0,B.jsx)(D.div,{className:_(r?.icon,t),"data-slot":`modal-icon`,...n,children:e})},Heading:({children:e,className:t,...n})=>{let{slots:r}=(0,A.use)(K);return(0,B.jsx)(fe,{className:_(r?.heading,t),"data-slot":`modal-heading`,slot:`title`,...n,children:e})},Body:({children:e,className:t,...n})=>{let{slots:r}=(0,A.use)(K);return(0,B.jsx)(D.div,{className:_(r?.body,t),"data-slot":`modal-body`,...n,children:e})},Footer:({children:e,className:t,...n})=>{let{slots:r}=(0,A.use)(K);return(0,B.jsx)(D.div,{className:_(r?.footer,t),"data-slot":`modal-footer`,...n,children:e})},CloseTrigger:({className:e,...t})=>{let{slots:n}=(0,A.use)(K);return(0,B.jsx)(Re,{className:m(e,n?.closeTrigger()),"data-slot":`modal-close-trigger`,slot:`close`,...t})}}),yt=e=>{if(!e)return;let t=e.trim(),n=parseFloat(t);if(!Number.isNaN(n))return t.endsWith(`ms`)?n:t.endsWith(`s`)?n*1e3:n},Y=(0,A.createContext)({}),bt=({children:e,shouldSkipAnimation:t})=>{let n=(0,A.use)(R);return!n||t?e:(0,B.jsx)(R,{value:{...n,shouldSkipAnimation:!1},children:e})},xt=({children:e,closeDelay:t,delay:n,shouldSkipAnimation:r=!1,...i})=>{let a=A.useMemo(()=>Ge(),[]),o=w(`--tooltip-delay`),s=w(`--tooltip-close-delay`),c=n??yt(o),l=t??yt(s),u=A.useMemo(()=>({slots:a}),[a]);return(0,B.jsx)(Y,{value:u,children:(0,B.jsx)(rt,{closeDelay:l,"data-slot":`tooltip-root`,delay:c,...i,children:(0,B.jsx)(bt,{shouldSkipAnimation:r,children:e})})})},St=Object.assign(xt,{Root:xt,Trigger:({children:e,className:t,...n})=>{let{slots:r}=(0,A.use)(Y),i=(0,A.useRef)(null),{focusableProps:a}=l({},i);return(0,B.jsx)(D.div,{ref:i,className:_(r?.trigger,t),"data-slot":`tooltip-trigger`,role:`button`,...g(a,n),children:e})},Content:({children:e,className:t,offset:n,showArrow:r=!1,...i})=>{let{slots:a}=(0,A.use)(Y),o=n||(r?7:3);return(0,B.jsx)(it,{...i,className:m(t,a?.base()),offset:o,children:e})},Arrow:({children:e,className:t,...n})=>{let r=(0,B.jsx)(`svg`,{"data-slot":`overlay-arrow`,fill:`none`,height:`12`,viewBox:`0 0 12 12`,width:`12`,xmlns:`http://www.w3.org/2000/svg`,children:(0,B.jsx)(`path`,{d:`M0 0C5.48483 8 6.5 8 12 0Z`})}),i=A.isValidElement(e)?A.cloneElement(e,{"data-slot":`overlay-arrow`}):r;return(0,B.jsx)(_e,{"data-slot":`tooltip-arrow`,...n,className:t,children:i})}}),Ct=e=>A.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,width:16,height:16,fill:`none`,viewBox:`0 0 16 16`},e),A.createElement(`path`,{fill:`currentColor`,fillRule:`evenodd`,d:`M14.78 7.47a.75.75 0 0 1 0 1.06l-2.5 2.5a.75.75 0 1 1-1.06-1.06l1.22-1.22H4.75a.75.75 0 0 1 0-1.5h7.69l-1.22-1.22a.75.75 0 0 1 1.06-1.06zM9.5 4.25a.75.75 0 0 1-1.5 0V4a1.5 1.5 0 0 0-1.5-1.5H4A1.5 1.5 0 0 0 2.5 4v8A1.5 1.5 0 0 0 4 13.5h2.5A1.5 1.5 0 0 0 8 12v-.25a.75.75 0 0 1 1.5 0V12a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3V4a3 3 0 0 1 3-3h2.5a3 3 0 0 1 3 3z`,clipRule:`evenodd`})),wt=e=>A.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,width:16,height:16,fill:`none`,viewBox:`0 0 16 16`},e),A.createElement(`path`,{fill:`currentColor`,fillRule:`evenodd`,d:`M1.25 3.25A.75.75 0 0 1 2 2.5h12A.75.75 0 0 1 14 4H2a.75.75 0 0 1-.75-.75m0 4.75A.75.75 0 0 1 2 7.25h12a.75.75 0 0 1 0 1.5H2A.75.75 0 0 1 1.25 8M2 12a.75.75 0 0 0 0 1.5h12a.75.75 0 0 0 0-1.5z`,clipRule:`evenodd`})),Tt=e=>A.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,width:16,height:16,fill:`none`,viewBox:`0 0 16 16`},e),A.createElement(`path`,{fill:`currentColor`,fillRule:`evenodd`,d:`M8 13.5a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14M6.44 4.54c.43-.354.994-.565 1.56-.565 1.217 0 2.34.82 2.34 2.14 0 .377-.078.745-.298 1.1-.208.339-.513.614-.875.867-.217.153-.325.257-.379.328-.038.052-.038.07-.038.089a.75.75 0 0 1-1.5 0c0-.794.544-1.286 1.057-1.645.28-.196.4-.332.458-.426a.54.54 0 0 0 .075-.312c0-.3-.244-.641-.84-.641a1 1 0 0 0-.608.223c-.167.138-.231.287-.231.418a.75.75 0 0 1-1.5 0c0-.674.345-1.22.78-1.577M8 12a1 1 0 1 0 0-2 1 1 0 0 0 0 2`,clipRule:`evenodd`})),Et=e=>A.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,width:16,height:16,fill:`none`,viewBox:`0 0 16 16`},e),A.createElement(`path`,{fill:`currentColor`,fillRule:`evenodd`,d:`M12 3H4a1.5 1.5 0 0 0-1.5 1.5v4A1.5 1.5 0 0 0 4 10h8a1.5 1.5 0 0 0 1.5-1.5v-4A1.5 1.5 0 0 0 12 3M4 1.5a3 3 0 0 0-3 3v4a3 3 0 0 0 3 3h3.25V13h-2.5a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5h-2.5v-1.5H12a3 3 0 0 0 3-3v-4a3 3 0 0 0-3-3z`,clipRule:`evenodd`})),Dt=e=>A.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,width:16,height:16,fill:`none`,viewBox:`0 0 16 16`},e),A.createElement(`path`,{fill:`currentColor`,fillRule:`evenodd`,d:`M7.199 2H8.8a.2.2 0 0 1 .2.2c0 1.808 1.958 2.939 3.524 2.034a.2.2 0 0 1 .271.073l.802 1.388a.2.2 0 0 1-.073.272c-1.566.904-1.566 3.164 0 4.069a.2.2 0 0 1 .073.271l-.802 1.388a.2.2 0 0 1-.271.073C10.958 10.863 9 11.993 9 13.8a.2.2 0 0 1-.199.2H7.2a.2.2 0 0 1-.2-.2c0-1.808-1.958-2.938-3.524-2.034a.2.2 0 0 1-.272-.073l-.8-1.388a.2.2 0 0 1 .072-.271c1.566-.905 1.566-3.165 0-4.07a.2.2 0 0 1-.073-.27l.801-1.389a.2.2 0 0 1 .272-.072C5.042 5.138 7 4.007 7 2.199c0-.11.089-.199.199-.199M5.5 2.2c0-.94.76-1.7 1.699-1.7H8.8c.94 0 1.7.76 1.7 1.7a.85.85 0 0 0 1.274.735 1.7 1.7 0 0 1 2.32.622l.802 1.388c.469.813.19 1.851-.622 2.32a.85.85 0 0 0 0 1.472 1.7 1.7 0 0 1 .622 2.32l-.802 1.388a1.7 1.7 0 0 1-2.32.622.85.85 0 0 0-1.274.735c0 .939-.76 1.7-1.699 1.7H7.2a1.7 1.7 0 0 1-1.699-1.7.85.85 0 0 0-1.274-.735 1.7 1.7 0 0 1-2.32-.622l-.802-1.388a1.7 1.7 0 0 1 .622-2.32.85.85 0 0 0 0-1.471 1.7 1.7 0 0 1-.622-2.32l.801-1.389a1.7 1.7 0 0 1 2.32-.622A.85.85 0 0 0 5.5 2.2m4 5.8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0M11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0`,clipRule:`evenodd`})),Ot=e=>A.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,width:16,height:16,fill:`none`,viewBox:`0 0 16 16`},e),A.createElement(`path`,{fill:`currentColor`,fillRule:`evenodd`,d:`M2.5 5a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5m3.25-2a.75.75 0 0 0 0 1.5h8.5a.75.75 0 0 0 0-1.5zm0 8.5a.75.75 0 0 0 0 1.5h8.5a.75.75 0 0 0 0-1.5zM5 8a.75.75 0 0 1 .75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5A.75.75 0 0 1 5 8M3.75 8a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0M2.5 13.5a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5`,clipRule:`evenodd`})),kt=e=>A.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,width:16,height:16,fill:`none`,viewBox:`0 0 16 16`},e),A.createElement(`path`,{fill:`currentColor`,fillRule:`evenodd`,d:`M11.5 7a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0m-.82 4.74a6 6 0 1 1 1.06-1.06l2.79 2.79a.75.75 0 1 1-1.06 1.06z`,clipRule:`evenodd`})),At=e=>A.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,width:16,height:16,fill:`none`,viewBox:`0 0 16 16`},e),A.createElement(`path`,{fill:`currentColor`,fillRule:`evenodd`,d:`M8 13.5a5.5 5.5 0 0 0 2.263-10.514 5.5 5.5 0 0 1-7.278 7.278A5.5 5.5 0 0 0 8 13.5M1.045 8.795a7.001 7.001 0 1 0 7.75-7.75l-.028-.003A7 7 0 0 0 8 1c-.527 0-.59.842-.185 1.18a4 4 0 0 1 .342.322A4 4 0 1 1 2.18 7.814C1.842 7.41 1 7.474 1 8a7 7 0 0 0 .045.794`,clipRule:`evenodd`})),jt=e=>A.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,width:16,height:16,fill:`none`,viewBox:`0 0 16 16`},e),A.createElement(`path`,{fill:`currentColor`,fillRule:`evenodd`,d:`M8 3a.75.75 0 0 1-.75-.75V.75a.75.75 0 0 1 1.5 0v1.5A.75.75 0 0 1 8 3m0 7.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5M8 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8m-.75 3.25a.75.75 0 0 0 1.5 0v-1.5a.75.75 0 0 0-1.5 0zM13 8a.75.75 0 0 1 .75-.75h1.5a.75.75 0 0 1 0 1.5h-1.5A.75.75 0 0 1 13 8M.75 7.25a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5zm10.786-2.786a.75.75 0 0 1 0-1.06l1.06-1.06a.75.75 0 0 1 1.06 1.06l-1.06 1.06a.75.75 0 0 1-1.06 0m-9.193 8.132a.75.75 0 0 0 1.06 1.06l1.062-1.06a.75.75 0 0 0-1.061-1.06zm9.193-1.06a.75.75 0 0 1 1.06 0l1.06 1.06a.75.75 0 0 1-1.06 1.06l-1.06-1.06a.75.75 0 0 1 0-1.06M3.404 2.343a.75.75 0 0 0-1.06 1.06l1.06 1.061a.75.75 0 1 0 1.06-1.06z`,clipRule:`evenodd`})),Mt=[{id:`page:/runs`,label:`Runs`,href:`/runs`},{id:`page:/questions`,label:`Questions`,href:`/questions`},{id:`page:/setup`,label:`Setup`,href:`/setup`}],Nt=[{id:`do:answer`,label:`Answer a question`,href:`/questions`}],Pt=200,Ft=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.platform);function X({title:e,items:t}){return t.length===0?null:(0,B.jsxs)(C.Section,{children:[(0,B.jsx)(mt,{className:`label-caps text-muted px-2 pt-3 pb-1`,children:e}),t.map(e=>(0,B.jsx)(C.Item,{id:e.id,href:e.href,textValue:`${e.label} ${e.hint??``}`,children:(0,B.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center justify-between gap-3`,children:[(0,B.jsx)(`span`,{className:`truncate`,children:e.label}),e.hint?(0,B.jsx)(`span`,{className:`text-muted truncate font-mono text-xs`,children:e.hint}):null]})},e.id))]})}var It=(0,A.createContext)(()=>{});function Lt(){let e=(0,A.use)(It);return(0,B.jsxs)(`button`,{type:`button`,onClick:e,className:`border-border bg-surface text-muted hover:text-foreground hover:bg-surface-secondary flex h-8 w-full items-center gap-2 rounded-sm border px-2.5 text-[13px] transition-colors duration-150 max-sm:w-8 max-sm:justify-center max-sm:px-0`,children:[(0,B.jsx)(kt,{"aria-hidden":`true`,className:`size-3.5 shrink-0`}),(0,B.jsx)(`span`,{className:`hidden flex-1 text-left sm:inline`,children:`Search`}),(0,B.jsx)(_t,{className:`hidden h-5 px-1.5 font-mono text-[11px] sm:inline-flex`,children:Ft?`⌘K`:`Ctrl K`}),(0,B.jsx)(`span`,{className:`sr-only sm:hidden`,children:`Search`})]})}function Rt({children:e}){let[t,n]=(0,A.useState)(!1),{contains:r}=Ke({sensitivity:`base`});(0,A.useEffect)(()=>{let e=e=>{e.key.toLowerCase()===`k`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),n(e=>!e))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]);let i=(x({...v({query:{limit:Pt}}),enabled:t}).data?.items??[]).map(e=>({id:`run:${e.id}`,label:e.title,hint:e.phase??`1.5`,href:`/runs/${encodeURIComponent(e.id)}`}));return(0,B.jsxs)(It,{value:()=>n(!0),children:[e,(0,B.jsx)(J.Backdrop,{isOpen:t,onOpenChange:n,isDismissable:!0,className:`no-motion`,children:(0,B.jsx)(J.Container,{placement:`top`,size:`lg`,className:`pt-[12vh]`,children:(0,B.jsx)(J.Dialog,{"aria-label":`Search`,className:`overflow-hidden p-0`,children:(0,B.jsxs)(Ce,{filter:r,children:[(0,B.jsx)(`div`,{className:`border-border border-b p-2`,children:(0,B.jsx)(S,{"aria-label":`Search`,autoFocus:!0,className:`w-full`,children:(0,B.jsxs)(S.Group,{className:`border-0 bg-transparent`,children:[(0,B.jsx)(S.SearchIcon,{}),(0,B.jsx)(S.Input,{placeholder:`Jump to a page or a run`}),(0,B.jsx)(S.ClearButton,{})]})})}),(0,B.jsxs)(C,{"aria-label":`Results`,className:`scrollbar max-h-[min(60vh,440px)] overflow-y-auto p-1.5`,onAction:()=>n(!1),renderEmptyState:()=>(0,B.jsx)(`p`,{className:`text-muted px-3 py-8 text-center text-sm`,children:`Nothing matches.`}),children:[(0,B.jsx)(X,{title:`Go to`,items:Mt}),(0,B.jsx)(X,{title:`Actions`,items:Nt}),(0,B.jsx)(X,{title:`Runs`,items:i})]})]})})})})]})}var Z=Object.assign(Rt,{Root:Rt,Trigger:Lt}),zt=[{label:`Watch`,items:[{href:`/runs`,label:`Runs`,icon:Ot},{href:`/questions`,label:`Questions`,icon:Tt}]},{label:`Configure`,items:[{href:`/setup`,label:`Setup`,icon:Dt}]}];function Bt(e,t){return e===`/`?t===`/`:t===e||t.startsWith(`${e}/`)}var Vt=({href:e,className:t,children:n,...r})=>(0,B.jsx)(De,{href:e,className:t,...r,children:n});function Ht({children:e}){return(0,B.jsx)(`div`,{className:`bg-background flex min-h-dvh`,children:e})}function Ut({item:e,current:n,renderLink:r}){let i=Bt(e.href,n),a=e.icon;return r({href:e.href,"aria-current":i?`page`:void 0,className:t(`group relative flex h-8 w-full items-center gap-2.5 rounded-sm px-2.5 text-[13px] no-underline transition-colors duration-150`,i?`bg-default text-foreground font-medium`:`text-muted hover:bg-surface-secondary hover:text-foreground`),children:(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`span`,{"aria-hidden":`true`,className:t(`bg-accent absolute top-1.5 bottom-1.5 -left-3 w-0.5 transition-opacity duration-150`,i?`opacity-100`:`opacity-0`)}),(0,B.jsx)(a,{"aria-hidden":`true`,className:t(`size-4 shrink-0`,i?`text-ink-strong`:`text-muted group-hover:text-foreground`)}),e.label]})})}function Wt({current:e,renderLink:t=Vt,footer:n}){return(0,B.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,B.jsx)(`nav`,{"aria-label":`Main`,className:`flex flex-1 flex-col gap-5 px-3 py-4`,children:zt.map(n=>(0,B.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,B.jsx)(`span`,{className:`label-caps text-muted px-2.5 pb-1`,children:n.label}),(0,B.jsx)(`ul`,{className:`flex flex-col gap-0.5`,children:n.items.map(n=>(0,B.jsx)(`li`,{children:(0,B.jsx)(Ut,{item:n,current:e,renderLink:t})},n.href))})]},n.label))}),n?(0,B.jsx)(`div`,{className:`border-border border-t px-3 py-3`,children:n}):null]})}function Gt({search:e,children:t}){return(0,B.jsxs)(`aside`,{className:`border-border bg-surface sticky top-0 hidden h-dvh w-60 shrink-0 flex-col border-r md:flex`,children:[(0,B.jsx)(`div`,{className:`border-border flex h-14 items-center border-b px-5`,children:(0,B.jsx)(E,{})}),e?(0,B.jsx)(`div`,{className:`px-3 pt-3`,children:e}):null,(0,B.jsx)(`div`,{className:`min-h-0 flex-1`,children:t})]})}function Kt({children:e}){return(0,B.jsxs)(`header`,{className:`border-border bg-surface sticky top-0 z-30 flex h-14 items-center justify-between border-b px-4 md:hidden`,children:[(0,B.jsx)(E,{}),(0,B.jsx)(`div`,{className:`flex items-center gap-1`,children:e})]})}function qt({children:e}){return(0,B.jsx)(`main`,{className:`mx-auto flex w-full max-w-[1320px] min-w-0 flex-1 flex-col gap-6 px-4 py-6 md:px-8 md:py-8`,children:e})}var Q=Object.assign(Ht,{Root:Ht,Nav:Wt,Sidebar:Gt,MobileBar:Kt,Content:qt}),$=[{id:`light`,label:`Light`,icon:jt},{id:`dark`,label:`Dark`,icon:At},{id:`system`,label:`System`,icon:Et}];function Jt(){let{theme:e,setTheme:t}=ke(`system`),n=$.find(t=>t.id===e)?.icon??Et;return(0,B.jsxs)(U,{children:[(0,B.jsx)(O,{isIconOnly:!0,size:`sm`,variant:`ghost`,"aria-label":`Theme`,children:(0,B.jsx)(n,{"aria-hidden":`true`})}),(0,B.jsx)(U.Popover,{placement:`top end`,children:(0,B.jsx)(U.Menu,{"aria-label":`Theme`,selectionMode:`single`,selectedKeys:[e],onAction:e=>t(String(e)),children:$.map(({id:e,label:t,icon:n})=>(0,B.jsxs)(U.Item,{id:e,textValue:t,children:[(0,B.jsx)(n,{"aria-hidden":`true`,className:`size-4`}),(0,B.jsx)(we,{children:t}),(0,B.jsx)(U.ItemIndicator,{})]},e))})})]})}function Yt(){let e=ze({select:e=>e.location.pathname}),t=je(),n=Fe.useRouteContext({select:e=>e.queryClient}),r=x(te()),[i,a]=(0,A.useState)(),o=Se({...ee(),onSettled:async()=>{n.clear(),await t({to:`/login`,search:{redirect:void 0}})}}),s=(0,B.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,B.jsx)(`span`,{className:`text-muted truncate pl-2.5 font-mono text-[11px]`,children:r.data?.catherd?r.data.catherd.replace(/^(\d)/,`v$1`):``}),(0,B.jsxs)(`span`,{className:`flex items-center gap-0.5`,children:[(0,B.jsx)(Jt,{}),(0,B.jsxs)(St,{children:[(0,B.jsx)(O,{isIconOnly:!0,size:`sm`,variant:`ghost`,"aria-label":`Sign out`,isPending:o.isPending,onPress:()=>o.mutate({}),children:(0,B.jsx)(Ct,{"aria-hidden":`true`})}),(0,B.jsx)(St.Content,{children:`Sign out`})]})]})]});return(0,B.jsx)(Z,{children:(0,B.jsxs)(Q.Root,{children:[(0,B.jsx)(Q.Sidebar,{search:(0,B.jsx)(Z.Trigger,{}),children:(0,B.jsx)(Q.Nav,{current:e,footer:s})}),(0,B.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,B.jsxs)(Q.MobileBar,{children:[(0,B.jsx)(Z.Trigger,{}),(0,B.jsx)(O,{isIconOnly:!0,variant:`ghost`,"aria-label":`Menu`,onPress:()=>a(e),children:(0,B.jsx)(wt,{"aria-hidden":`true`})})]}),(0,B.jsx)(Q.Content,{children:(0,B.jsx)(`div`,{className:`page-enter flex flex-col gap-6`,children:(0,B.jsx)(Ie,{})},e)})]}),(0,B.jsx)(T.Backdrop,{isOpen:i===e,onOpenChange:t=>a(t?e:void 0),children:(0,B.jsx)(T.Content,{placement:`left`,className:`w-72 max-w-[85vw]`,children:(0,B.jsxs)(T.Dialog,{"aria-label":`Menu`,className:`bg-surface p-0`,children:[(0,B.jsx)(`div`,{className:`border-border flex h-14 items-center border-b px-5`,children:(0,B.jsx)(E,{})}),(0,B.jsx)(Q.Nav,{current:e,footer:s})]})})})]})})}export{Yt as component};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-XKyaHtl9.js";import{Sn as t,_ as n,g as r,i,n as a,r as o,tt as s,xn as c}from"./react-query.gen-Bu2yV-qJ.js";import{St as l,d as u,dt as d,f}from"./use-css-variable-CpnN9WtA.js";import{t as ee}from"./useMutation-CVPKlR34.js";import{n as p,t as m}from"./Modal-Dxc5so53.js";import{a as te,i as h,l as g,n as ne,o as _,r as v,t as y}from"./StatusChip-B5xfI_Mn.js";import{t as re}from"./link-D8EcKZUt.js";import{t as ie}from"./Pressable-C8-T6Ed_.js";import{C as b,D as x,O as S,T as C,d as ae,f as w,g as T,k as E,l as D,p as O,t as k,w as A}from"./index-B6GiwDkh.js";import{t as j}from"./query-Cu--ccT3.js";import{t as M}from"./time--9kSQbbp.js";import{n as oe}from"./run-status-C0DRuV7U.js";var N=s({defaultVariants:{size:`md`,status:`danger`,variant:`opaque`},slots:{backdrop:`alert-dialog__backdrop`,body:`alert-dialog__body`,closeTrigger:`alert-dialog__close-trigger`,container:`alert-dialog__container`,dialog:`alert-dialog__dialog`,footer:`alert-dialog__footer`,header:`alert-dialog__header`,heading:`alert-dialog__heading`,icon:`alert-dialog__icon`,trigger:`alert-dialog__trigger`},variants:{size:{cover:{dialog:`alert-dialog__dialog--cover`},lg:{dialog:`alert-dialog__dialog--lg`},md:{dialog:`alert-dialog__dialog--md`},sm:{dialog:`alert-dialog__dialog--sm`},xs:{dialog:`alert-dialog__dialog--xs`}},status:{accent:{icon:`alert-dialog__icon--accent`},danger:{icon:`alert-dialog__icon--danger`},default:{icon:`alert-dialog__icon--default`},success:{icon:`alert-dialog__icon--success`},warning:{icon:`alert-dialog__icon--warning`}},variant:{blur:{backdrop:`alert-dialog__backdrop--blur`},opaque:{backdrop:`alert-dialog__backdrop--opaque`},transparent:{backdrop:`alert-dialog__backdrop--transparent`}}}}),P=e(t(),1),F=c(),I=(0,P.createContext)({}),L=({children:e,...t})=>{let n=(0,P.useMemo)(()=>({slots:N(),placement:void 0}),[]);return(0,F.jsx)(I,{value:n,children:(0,F.jsx)(u,{"data-slot":`alert-dialog-root`,...t,children:e})})},R=Object.assign(L,{Root:L,Trigger:({children:e,className:t,...n})=>{let{slots:i}=(0,P.use)(I);return(0,F.jsx)(ie,{children:(0,F.jsx)(`div`,{className:r(i?.trigger,t),"data-slot":`alert-dialog-trigger`,role:`button`,...n,children:e})})},Backdrop:({children:e,className:t,isDismissable:r=!1,isKeyboardDismissDisabled:i=!0,onClick:a,variant:o,...s})=>{let{slots:c}=(0,P.use)(I),l=(0,P.useMemo)(()=>N({variant:o}),[o]),u=(0,P.useMemo)(()=>({slots:{...c,...l}}),[c,l]);return(0,F.jsx)(p,{className:n(t,l?.backdrop()),"data-slot":`alert-dialog-backdrop`,isDismissable:r,isKeyboardDismissDisabled:i,onClick:e=>{e.stopPropagation(),a?.(e)},...s,children:t=>(0,F.jsxs)(I,{value:u,children:[typeof e==`function`?e(t):e,` `]})})},Container:({children:e,className:t,placement:r=`auto`,size:i,...a})=>{let{slots:o}=(0,P.use)(I),s=(0,P.useMemo)(()=>N({size:i}),[i]),c=(0,P.useMemo)(()=>({placement:r,slots:{...o,...s}}),[r,o,s]);return(0,F.jsx)(m,{className:n(t,s?.container()),"data-placement":r,"data-slot":`alert-dialog-container`,...a,children:t=>(0,F.jsx)(I,{value:c,children:typeof e==`function`?e(t):e})})},Dialog:({children:e,className:t,...n})=>{let{placement:i,slots:a}=(0,P.use)(I);return(0,F.jsx)(f,{className:r(a?.dialog,t),"data-placement":i,"data-slot":`alert-dialog-dialog`,role:`alertdialog`,...n,children:e})},Header:({children:e,className:t,...n})=>{let{slots:i}=(0,P.use)(I);return(0,F.jsx)(`div`,{className:r(i?.header,t),"data-slot":`alert-dialog-header`,...n,children:e})},Heading:({children:e,className:t,...n})=>{let{slots:i}=(0,P.use)(I);return(0,F.jsx)(d,{className:r(i?.heading,t),"data-slot":`alert-dialog-heading`,slot:`title`,...n,children:e})},Body:({children:e,className:t,...n})=>{let{slots:i}=(0,P.use)(I);return(0,F.jsx)(`div`,{className:r(i?.body,t),"data-slot":`alert-dialog-body`,...n,children:e})},Footer:({children:e,className:t,...n})=>{let{slots:i}=(0,P.use)(I);return(0,F.jsx)(`div`,{className:r(i?.footer,t),"data-slot":`alert-dialog-footer`,...n,children:e})},Icon:({children:e,className:t,status:n=`danger`,...r})=>{let i=(0,P.useMemo)(()=>N({status:n}),[n]),a=()=>{switch(n){case`default`:return(0,F.jsx)(b,{"data-slot":`alert-dialog-default-icon`});case`accent`:return(0,F.jsx)(b,{"data-slot":`alert-dialog-default-icon`});case`success`:return(0,F.jsx)(A,{"data-slot":`alert-dialog-default-icon`});case`warning`:return(0,F.jsx)(C,{"data-slot":`alert-dialog-default-icon`});case`danger`:return(0,F.jsx)(T,{"data-slot":`alert-dialog-default-icon`});default:return(0,F.jsx)(T,{"data-slot":`alert-dialog-default-icon`})}};return(0,F.jsx)(x.div,{className:i?.icon({className:t}),"data-slot":`alert-dialog-icon`,...r,children:e??a()})},CloseTrigger:({className:e,...t})=>{let{slots:r}=(0,P.use)(I);return(0,F.jsx)(O,{className:n(e,r?.closeTrigger()),"data-slot":`alert-dialog-close-trigger`,slot:`close`,...t})}}),se=e=>P.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,width:16,height:16,fill:`none`,viewBox:`0 0 16 16`},e),P.createElement(`path`,{fill:`currentColor`,fillRule:`evenodd`,d:`M14.75 8a.75.75 0 0 1-.75.75H3.81l2.72 2.72a.75.75 0 1 1-1.06 1.06l-4-4a.75.75 0 0 1 0-1.06l4-4a.75.75 0 0 1 1.06 1.06L3.81 7.25H14a.75.75 0 0 1 .75.75`,clipRule:`evenodd`}));function ce({title:e,body:t,isOpen:n,isPending:r,onConfirm:i,onCancel:a,confirmLabel:o=`Delete`,cancelLabel:s=`Cancel`}){return(0,F.jsx)(R.Backdrop,{isOpen:n,onOpenChange:e=>{!e&&!r&&a()},children:(0,F.jsx)(R.Container,{size:`sm`,children:(0,F.jsxs)(R.Dialog,{children:[(0,F.jsxs)(R.Header,{children:[(0,F.jsx)(R.Icon,{status:`danger`}),(0,F.jsx)(R.Heading,{children:e})]}),(0,F.jsx)(R.Body,{className:`text-muted text-sm`,children:t}),(0,F.jsxs)(R.Footer,{children:[(0,F.jsx)(w,{size:`sm`,variant:`secondary`,isDisabled:r,onPress:a,children:s}),(0,F.jsx)(w,{size:`sm`,variant:`danger`,isPending:r,onPress:i,children:o})]})]})})})}function le({entries:e,now:t}){return(0,F.jsx)(`ol`,{"aria-label":`Timeline`,className:`border-border bg-surface divide-border divide-y rounded-sm border`,children:e.map(e=>(0,F.jsxs)(`li`,{className:`grid grid-cols-[3rem_5rem_9rem_1fr] items-baseline gap-3 px-3 py-2 text-[13px]`,children:[(0,F.jsx)(`span`,{className:`text-muted font-mono text-xs tabular-nums`,children:e.seq}),(0,F.jsx)(`span`,{className:`text-muted whitespace-nowrap`,children:M(e.at,t)}),(0,F.jsx)(_,{size:`sm`,variant:`soft`,className:`w-fit`,children:(0,F.jsx)(_.Label,{className:`font-mono text-[11px]`,children:e.type})}),(0,F.jsx)(`span`,{className:`min-w-0 break-words`,children:e.text})]},e.seq))})}var ue=25e3,z=null,B=null,V=null,H=0,U=!0,W=null;function G(){return z}function K(e){z=e}function de(){return U}function fe(e){U=e}function q(e){W=e}function pe(){H=0}function J(){V&&=(clearTimeout(V),null)}function me(){if(!U||!W||V)return;H=Math.min(H+1,6);let e=2**H*500;V=setTimeout(()=>{V=null,W?.()},e)}function Y(){B&&=(clearInterval(B),null)}function he(e){Y(),B=setInterval(()=>{if(e.readyState===1)try{e.send(`ping`)}catch(e){console.error(`Error sending ping:`,e)}},ue)}function ge(e,t){let n=()=>t.onOpen(),r=()=>t.onClose();return e.addEventListener(`open`,n),e.addEventListener(`close`,r),e.readyState===1&&!B&&he(e),()=>{e.removeEventListener(`open`,n),e.removeEventListener(`close`,r)}}function _e(){U=!1,J(),Y();let e=z;if(z=null,e){e.onclose=null,e.onerror=null;try{e.close()}catch{}}}function ve(e,t){return`${location.protocol===`https:`?`wss`:`ws`}://${location.host}/api/runs/${encodeURIComponent(e)}/live?from=${t}`}var X=new Set;function ye(e,t,n,r){let[i,a]=(0,P.useState)(!1),o=(0,P.useEffectEvent)(e=>n(e)),s=(0,P.useEffectEvent)(()=>r);return(0,P.useEffect)(()=>{if(!t)return;let n=!0,r=null,i=0,c=e=>{i=Math.max(i,e.seq),o(e)};X.add(c);let l=()=>{if(!n||!de())return;let t=G();if(t&&(t.readyState===1||t.readyState===0)){r?.(),r=ge(t,{onOpen:()=>{n&&a(!0)},onClose:()=>{n&&a(!1)}}),t.readyState===1&&a(!0);return}let o=new WebSocket(ve(e,Math.max(i,s())+1));K(o),o.onopen=()=>{G()===o&&(n&&a(!0),pe(),J(),he(o))},o.onmessage=e=>{let t;try{t=JSON.parse(String(e.data))}catch{return}typeof t==`object`&&t&&typeof t.seq==`number`&&typeof t.type==`string`&&X.forEach(e=>e(t))},o.onclose=()=>{n&&a(!1),G()===o&&(Y(),K(null)),me()},o.onerror=()=>{n&&a(!1),o.close()}};return fe(!0),q(l),l(),()=>{n=!1,X.delete(c),q(null),J(),r?.(),r=null,_e(),a(!1)}},[t,e]),{isConnected:i}}function be(){let{runId:e}=k.useParams();return(0,F.jsx)(Ce,{runId:e},e)}var xe=e=>e===`landed`||e===`merged`?`done`:e===`parked`?`parked`:`running`;function Z({title:e,aside:t,children:n}){return(0,F.jsxs)(`section`,{className:`flex flex-col gap-2`,children:[(0,F.jsx)(v,{aside:t,children:e}),n]})}var Q=({children:e,label:t})=>(0,F.jsx)(`ul`,{"aria-label":t,className:`border-border bg-surface divide-border divide-y rounded-sm border`,children:e}),$=`flex flex-wrap items-center gap-x-4 gap-y-1 px-3 py-2 text-[13px]`;function Se({run:e,now:t}){return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(Z,{title:`Milestones`,children:e.milestones.length===0?(0,F.jsx)(`p`,{className:`text-muted text-sm`,children:`No plan yet.`}):(0,F.jsx)(Q,{label:`Milestones`,children:e.milestones.map(e=>(0,F.jsxs)(`li`,{className:$,children:[(0,F.jsx)(`span`,{className:`w-10 font-mono text-xs`,children:e.id}),(0,F.jsx)(`span`,{className:`min-w-0 flex-1`,children:e.title}),(0,F.jsx)(y,{status:xe(e.status)}),(0,F.jsxs)(`span`,{className:`text-muted font-mono text-xs`,children:[`round `,e.round]}),(0,F.jsx)(`span`,{className:`text-muted w-16 font-mono text-xs`,children:e.commit?.slice(0,7)??``})]},e.id))})}),(0,F.jsx)(Z,{title:`Live roles`,children:e.live.length===0?(0,F.jsx)(`p`,{className:`text-muted text-sm`,children:`No role is running.`}):(0,F.jsx)(Q,{label:`Live roles`,children:e.live.map(e=>(0,F.jsxs)(`li`,{className:$,children:[(0,F.jsx)(`span`,{className:`font-mono text-xs`,children:e.name}),(0,F.jsx)(`span`,{className:`text-muted`,children:e.role}),(0,F.jsx)(`span`,{className:`font-mono text-xs`,children:e.rung}),(0,F.jsxs)(`span`,{className:`text-muted ml-auto`,children:[`since `,M(e.since,t)]})]},e.name))})}),(0,F.jsx)(Z,{title:`Questions`,children:e.parked.length===0?(0,F.jsx)(`p`,{className:`text-muted text-sm`,children:`Nothing is waiting for you.`}):(0,F.jsx)(Q,{label:`Questions`,children:e.parked.map(t=>(0,F.jsxs)(`li`,{className:$,children:[(0,F.jsx)(`span`,{className:`font-mono text-xs`,children:t.unit}),(0,F.jsx)(`span`,{className:`min-w-0 flex-1 break-words`,children:t.question}),(0,F.jsx)(re,{href:`/questions?run=${encodeURIComponent(e.id)}`,className:`text-sm`,children:`Answer`})]},t.unit))})}),e.holds.length>0?(0,F.jsx)(Z,{title:`Quota holds`,children:(0,F.jsx)(Q,{label:`Quota holds`,children:e.holds.map(e=>(0,F.jsxs)(`li`,{className:$,children:[(0,F.jsx)(`span`,{className:`font-mono text-xs`,children:e.quota}),(0,F.jsx)(y,{status:`held`,until:e.until})]},e.quota))})}):null]})}function Ce({runId:e}){let{page:t,pageSize:n}=k.useSearch(),r=k.useNavigate(),s=k.useRouteContext({select:e=>e.queryClient}),c=l({...o({path:{id:e}}),refetchInterval:1e4}),u=c.data?.engine===`2.0`,d=u&&c.data?.phase!==`ended`,f=l({...i({path:{id:e},query:{limit:n,offset:(t-1)*n}}),enabled:u}),[p,m]=(0,P.useState)([]),{isConnected:_}=ye(e,d&&t===1&&f.isSuccess,e=>{m(t=>t.some(t=>t.seq===e.seq)?t:[e,...t].sort((e,t)=>t.seq-e.seq)),j(s,`getRun`)},f.data?.items[0]?.seq??0),v=f.data?.items??[],ie=new Set(v.map(e=>e.seq)),b=t===1?[...p.filter(e=>!ie.has(e.seq)),...v]:v,x=new Date(Math.max(c.dataUpdatedAt,f.dataUpdatedAt)),[C,T]=(0,P.useState)(!1),O=ee({...a(),onSuccess:async()=>{T(!1),D.success(`Cancelling. Live roles are being stopped.`),await j(s,`getRun`,`listRuns`)},onError:e=>D.danger(E(e))});if(c.isPending)return(0,F.jsx)(`div`,{className:`flex justify-center py-12`,children:(0,F.jsx)(ae,{})});if(c.isError)return(0,F.jsxs)(g,{status:`danger`,role:`alert`,children:[(0,F.jsx)(g.Indicator,{}),(0,F.jsxs)(g.Content,{children:[(0,F.jsx)(g.Title,{children:`Could not load this run`}),(0,F.jsx)(g.Description,{children:E(c.error)}),S(c.error)?(0,F.jsx)(te,{lang:`text`,code:S(c.error),className:`mt-2`}):null]})]});let A=c.data;return(0,F.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,F.jsx)(ne,{before:(0,F.jsxs)(re,{href:`/runs`,className:`text-muted hover:text-foreground w-fit gap-1.5 text-sm no-underline`,children:[(0,F.jsx)(se,{"aria-hidden":`true`,className:`size-4`}),`Runs`]}),title:A.title,description:`${A.id} · ${A.repo}`,actions:(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(y,{status:oe(A)}),d?(0,F.jsx)(w,{size:`sm`,variant:`secondary`,onPress:()=>T(!0),children:`Cancel run`}):null]})}),u?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(Se,{run:A,now:x}),(0,F.jsxs)(Z,{title:`Timeline`,aside:d?(0,F.jsxs)(`output`,{"data-connected":_,className:`text-muted flex items-center gap-1.5 font-mono text-xs`,children:[(0,F.jsx)(`span`,{"aria-hidden":`true`,className:_?`bg-accent size-1.5 rounded-full motion-safe:animate-pulse`:`bg-muted size-1.5 rounded-full`}),`Live`]}):null,children:[(0,F.jsx)(h.State,{isLoading:f.isPending,error:f.error??void 0,isEmpty:b.length===0,emptyText:`No events yet.`,children:(0,F.jsx)(le,{entries:b,now:x})}),(0,F.jsx)(h.Pagination,{page:t,pageSize:n,total:f.data?.total??0,onPageChange:e=>void r({search:t=>({...t,page:e})}),onPageSizeChange:e=>void r({search:t=>({...t,page:1,pageSize:e}),replace:!0})})]})]}):(0,F.jsxs)(g,{status:`warning`,children:[(0,F.jsx)(g.Indicator,{}),(0,F.jsx)(g.Content,{children:(0,F.jsx)(g.Description,{children:`This run started on catherd 1.5. Its timeline is not recorded; catherd status ${A.id} shows it.`})})]}),(0,F.jsx)(ce,{title:`Cancel ${A.title}?`,body:`Every live role is stopped and the run ends. It cannot be resumed.`,confirmLabel:`Cancel run`,cancelLabel:`Keep running`,isOpen:C,isPending:O.isPending,onConfirm:()=>O.mutate({path:{id:e}}),onCancel:()=>T(!1)})]})}export{be as component};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-XKyaHtl9.js";import{Sn as t,_ as n,dt as r,g as i,tt as a,xn as o,y as s}from"./react-query.gen-Bu2yV-qJ.js";import{d as c,dt as l,f as u,m as d,ut as f}from"./use-css-variable-CpnN9WtA.js";import{n as p,t as m}from"./Modal-Dxc5so53.js";import{D as h,p as g}from"./index-B6GiwDkh.js";var _=a({defaultVariants:{placement:`bottom`,variant:`opaque`},slots:{backdrop:`drawer__backdrop`,body:`drawer__body`,closeTrigger:`drawer__close-trigger`,content:`drawer__content`,dialog:`drawer__dialog`,footer:`drawer__footer`,handle:`drawer__handle`,header:`drawer__header`,heading:`drawer__heading`,trigger:`drawer__trigger`},variants:{placement:{bottom:{content:`drawer__content--bottom`,dialog:`drawer__dialog--bottom`},left:{content:`drawer__content--left`,dialog:`drawer__dialog--left`},right:{content:`drawer__content--right`,dialog:`drawer__dialog--right`},top:{content:`drawer__content--top`,dialog:`drawer__dialog--top`}},variant:{blur:{backdrop:`drawer__backdrop--blur`},opaque:{backdrop:`drawer__backdrop--opaque`},transparent:{backdrop:`drawer__backdrop--transparent`}}}}),v=e(t(),1),y=(e,t)=>e.closest(`[data-slot="drawer-dialog"]`)===t,b=o(),x={variant:`default`},S=8,C=.3,w=.5;function T(e,t){let n=(0,v.use)(d),r=(0,v.useRef)(null),i=(0,v.useRef)(!1),a=(0,v.useRef)(!1),o=(0,v.useRef)(0),s=(0,v.useRef)(0),c=(0,v.useRef)(0),l=(0,v.useRef)(0),u=(0,v.useRef)(0),f=e===`top`||e===`bottom`,p=(0,v.useCallback)(e=>f?e.clientY:e.clientX,[f]),m=(0,v.useCallback)(t=>{switch(e){case`bottom`:return Math.max(0,t);case`top`:return Math.min(0,t);case`right`:return Math.max(0,t);case`left`:return Math.min(0,t);default:return t}},[e]),h=(0,v.useCallback)(e=>{if(!t||e.button!==0)return;let n=e.target,r=e.currentTarget;y(n,r)&&(n.closest(`input, textarea, button, [role='button'], select, a, [data-slot='drawer-body']`)||(i.current=!0,a.current=!1,o.current=p(e),u.current=o.current,l.current=Date.now(),s.current=0,c.current=0))},[p,t]),g=(0,v.useCallback)(e=>{if(!i.current||!r.current)return;let t=p(e),n=t-o.current,d=m(n);if(!a.current){if(Math.abs(n)<S)return;a.current=!0,r.current.style.transition=`none`,r.current.setPointerCapture(e.pointerId)}s.current=d;let h=Date.now(),g=h-l.current;g>0&&(c.current=(t-u.current)/g,l.current=h,u.current=t);let _=f?`Y`:`X`;r.current.style.transform=`translate${_}(${d}px)`},[p,m,f]),_=(0,v.useCallback)(e=>{if(!i.current)return;i.current=!1;let t=r.current;if(!t||!a.current){a.current=!1;return}a.current=!1;try{t.releasePointerCapture(e.pointerId)}catch{}let o=f?t.offsetHeight:t.offsetWidth,l=Math.abs(s.current),u=Math.abs(c.current);(l>o*C||u>w)&&n?n.close():(t.style.transition=`transform 300ms cubic-bezier(0.32, 0.72, 0, 1)`,t.style.transform=``,t.addEventListener(`transitionend`,()=>{t.style.transition=``},{once:!0})),s.current=0,c.current=0},[f,n]);return{dialogRef:r,dragHandlers:t?{onPointerDown:h,onPointerMove:g,onPointerUp:_}:{}}}var E=(0,v.createContext)({}),D=({children:e,state:t,...n})=>{let i=(0,v.useMemo)(()=>({slots:_(),placement:void 0,isDismissable:!0}),[]),a=(0,v.useMemo)(()=>t?{isOpen:t.isOpen,onOpenChange:t.setOpen}:{},[t]);return(0,b.jsx)(E,{value:i,children:(0,b.jsx)(c,{"data-slot":`drawer-root`,...r(n,a),children:e})})};D.displayName=`HeroUI.Drawer`;var O=({children:e,className:t,...r})=>{let{slots:i}=(0,v.use)(E);return(0,b.jsx)(s,{className:n(t,i?.trigger()),"data-slot":`drawer-trigger`,...r,children:e})};O.displayName=`HeroUI.Drawer.Trigger`;var k=({children:e,className:t,isDismissable:r=!0,variant:i,...a})=>{let{slots:o}=(0,v.use)(E),s=(0,v.useMemo)(()=>_({variant:i}),[i]),c=(0,v.useMemo)(()=>({slots:{...o,...s},isDismissable:r}),[o,s,r]);return(0,b.jsx)(p,{className:n(t,s?.backdrop()),"data-slot":`drawer-backdrop`,isDismissable:r,...a,children:t=>(0,b.jsx)(E,{value:c,children:typeof e==`function`?e(t):e})})};k.displayName=`HeroUI.Drawer.Backdrop`;var A=({children:e,className:t,placement:r=`bottom`,...i})=>{let{isDismissable:a,slots:o}=(0,v.use)(E),s=(0,v.useMemo)(()=>_({placement:r}),[r]),c=(0,v.useMemo)(()=>({placement:r,isDismissable:a,slots:{...o,...s}}),[o,r,a,s]);return(0,b.jsx)(m,{className:n(t,s?.content()),"data-placement":r,"data-slot":`drawer-content`,...i,children:t=>(0,b.jsx)(E,{value:c,children:typeof e==`function`?e(t):e})})};A.displayName=`HeroUI.Drawer.Content`;var j=({children:e,className:t,...n})=>{let{isDismissable:r=!0,placement:a,slots:o}=(0,v.use)(E),{dialogRef:s,dragHandlers:c}=T(a,r);return(0,b.jsx)(f,{value:x,children:(0,b.jsx)(u,{ref:s,className:i(o?.dialog,t),"data-placement":a,"data-slot":`drawer-dialog`,style:r?{touchAction:`none`}:void 0,...c,...n,children:e})})};j.displayName=`HeroUI.Drawer.Dialog`;var M=({children:e,className:t,...n})=>{let{slots:r}=(0,v.use)(E);return(0,b.jsx)(h.div,{className:i(r?.header,t),"data-slot":`drawer-header`,...n,children:e})};M.displayName=`HeroUI.Drawer.Header`;var N=({children:e,className:t,...n})=>{let{slots:r}=(0,v.use)(E);return(0,b.jsx)(h.div,{className:i(r?.body,t),"data-slot":`drawer-body`,style:{touchAction:`pan-y`},...n,children:e})};N.displayName=`HeroUI.Drawer.Body`;var P=({children:e,className:t,...n})=>{let{slots:r}=(0,v.use)(E);return(0,b.jsx)(h.div,{className:i(r?.footer,t),"data-slot":`drawer-footer`,...n,children:e})};P.displayName=`HeroUI.Drawer.Footer`;var F=({children:e,className:t,...n})=>{let{slots:r}=(0,v.use)(E);return(0,b.jsx)(l,{className:i(r?.heading,t),"data-slot":`drawer-heading`,slot:`title`,...n,children:e})};F.displayName=`HeroUI.Drawer.Heading`;var I=({className:e,...t})=>{let{slots:n}=(0,v.use)(E);return(0,b.jsx)(h.div,{"aria-hidden":`true`,className:i(n?.handle,e),"data-slot":`drawer-handle`,...t,children:(0,b.jsx)(`div`,{"data-slot":`drawer-handle-bar`})})};I.displayName=`HeroUI.Drawer.Handle`;var L=({className:e,...t})=>{let{slots:r}=(0,v.use)(E);return(0,b.jsx)(g,{className:n(e,r?.closeTrigger()),"data-slot":`drawer-close-trigger`,slot:`close`,...t})};L.displayName=`HeroUI.Drawer.CloseTrigger`;var R=Object.assign(D,{Root:D,Trigger:O,Backdrop:k,Content:A,Dialog:j,Header:M,Heading:F,Body:N,Footer:P,Handle:I,CloseTrigger:L});export{R as t};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|