github-issue-tower-defence-management 1.111.3 → 1.112.1

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.
Files changed (38) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +9 -6
  3. package/bin/adapter/entry-points/console/ui-dist/assets/{index-BPH6W1yn.css → index-BaVsPpWs.css} +1 -1
  4. package/bin/adapter/entry-points/console/ui-dist/assets/{index-Bu5bQZyP.js → index-ITb3VBcs.js} +1 -1
  5. package/bin/adapter/entry-points/console/ui-dist/index.html +2 -2
  6. package/bin/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.js +19 -3
  7. package/bin/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.js.map +1 -1
  8. package/bin/adapter/repositories/ConfigurableSilentSessionMessageComposer.js +6 -0
  9. package/bin/adapter/repositories/ConfigurableSilentSessionMessageComposer.js.map +1 -1
  10. package/bin/domain/usecases/DefaultSilentSessionMessageComposer.js +9 -0
  11. package/bin/domain/usecases/DefaultSilentSessionMessageComposer.js.map +1 -1
  12. package/bin/domain/usecases/NotifySilentLiveSessionsUseCase.js +13 -3
  13. package/bin/domain/usecases/NotifySilentLiveSessionsUseCase.js.map +1 -1
  14. package/package.json +1 -1
  15. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleItemDetail.stories.tsx +72 -0
  16. package/src/adapter/entry-points/console/ui/src/features/console/pages/ConsolePage.test.tsx +140 -0
  17. package/src/adapter/entry-points/console/ui/src/features/console/pages/ConsolePage.tsx +8 -0
  18. package/src/adapter/entry-points/console/ui/src/index.css +88 -4
  19. package/src/adapter/entry-points/console/ui-dist/assets/{index-BPH6W1yn.css → index-BaVsPpWs.css} +1 -1
  20. package/src/adapter/entry-points/console/ui-dist/assets/{index-Bu5bQZyP.js → index-ITb3VBcs.js} +1 -1
  21. package/src/adapter/entry-points/console/ui-dist/index.html +2 -2
  22. package/src/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.ts +20 -1
  23. package/src/adapter/entry-points/handlers/notifySilentTmuxSessions.test.ts +105 -2
  24. package/src/adapter/repositories/ConfigurableSilentSessionMessageComposer.test.ts +44 -0
  25. package/src/adapter/repositories/ConfigurableSilentSessionMessageComposer.ts +8 -0
  26. package/src/domain/usecases/DefaultSilentSessionMessageComposer.test.ts +17 -1
  27. package/src/domain/usecases/DefaultSilentSessionMessageComposer.ts +11 -0
  28. package/src/domain/usecases/NotifySilentLiveSessionsUseCase.test.ts +86 -1
  29. package/src/domain/usecases/NotifySilentLiveSessionsUseCase.ts +20 -7
  30. package/src/domain/usecases/adapter-interfaces/SilentSessionMessageComposer.ts +1 -0
  31. package/types/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.d.ts.map +1 -1
  32. package/types/adapter/repositories/ConfigurableSilentSessionMessageComposer.d.ts +2 -0
  33. package/types/adapter/repositories/ConfigurableSilentSessionMessageComposer.d.ts.map +1 -1
  34. package/types/domain/usecases/DefaultSilentSessionMessageComposer.d.ts +1 -0
  35. package/types/domain/usecases/DefaultSilentSessionMessageComposer.d.ts.map +1 -1
  36. package/types/domain/usecases/NotifySilentLiveSessionsUseCase.d.ts.map +1 -1
  37. package/types/domain/usecases/adapter-interfaces/SilentSessionMessageComposer.d.ts +1 -0
  38. package/types/domain/usecases/adapter-interfaces/SilentSessionMessageComposer.d.ts.map +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ ## [1.112.1](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.112.0...v1.112.1) (2026-06-28)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **console:** action-bar overlap, comment state leak, markdown styling, scroll reset ([#1041](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/1041)) ([c91a050](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/commit/c91a050082e561983d0a4d6f77f0324f72dd85da))
7
+
8
+ # [1.112.0](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.111.3...v1.112.0) (2026-06-28)
9
+
10
+
11
+ ### Features
12
+
13
+ * **schedule:** re-notify owner instead of staying silent on unanswered owner call ([#1044](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/1044)) ([05d83fe](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/commit/05d83fee818548acfaa3fbcc878c8e14528b7e23)), closes [#1042](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/1042)
14
+
1
15
  ## [1.111.3](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.111.2...v1.111.3) (2026-06-28)
2
16
 
3
17
 
package/README.md CHANGED
@@ -287,14 +287,15 @@ inTmuxLauncherCommand?: string # Optional: Launcher command that starts an inter
287
287
  silentNotificationEnabled?: boolean # Optional: Master switch for the silent live session self-check notification. The step is a no-op unless this is `true` (or the `TDPM_SILENT_NOTIFICATION_ENABLED` environment variable equals the string `true`). This gate prevents the step from acting automatically when the daemon is run with a default configuration; it must be explicitly turned on. Default false
288
288
  subAgentOutputRootDirectory?: string # Optional: Root directory holding one output file per sub-process (file name derived from the sub-process label). The modification time of each file is read to compute how long the sub-process output has been idle. When unset, sub-process idle time is reported as 0 and only the running-time threshold can trigger a sub-process notification
289
289
  subAgentProcessMatchPattern?: string # Optional: Regular expression matched against each process command line to discover the sub-processes that belong to a monitored session. The expression must define a named capture group `session` whose value equals the monitored session name, and may define a named capture group `label` used as the display name. When unset, the sub-process check is skipped
290
- ownerCallMarker?: string # Optional: Marker substring that identifies an assistant message asking the owner for a decision or confirmation. When set, the main-session stalled section is suppressed while a session's latest marker-bearing assistant message is newer (by full timestamp) than its latest genuine owner reply. When unset, no session is treated as waiting on the owner
290
+ ownerCallMarker?: string # Optional: Marker substring that identifies an assistant message asking the owner for a decision or confirmation. When set, a session whose latest marker-bearing assistant message is newer (by full timestamp) than its latest genuine owner reply is treated as waiting on the owner: the main-session stalled section is suppressed, and instead — once the wait exceeds `mainSilentThresholdSeconds` — an owner-re-notification section is sent that tells the agent to re-raise its pending call-to-user so the owner is notified again. When unset, no session is treated as waiting on the owner
291
291
  subAgentTranscriptRootDirectory?: string # Optional: Root directory under which each session has a `<sessionName>/subagents/` directory holding one `agent-<id>.jsonl` transcript per sub-agent. A sub-agent whose latest transcript entry reports a `stop_reason` of `end_turn` or `stop_sequence` is treated as finished and skipped; for any other sub-agent the idle time is computed from the transcript file modification time (following symlinks) and the running time from its first entry timestamp. When set, this transcript-based discovery is used instead of `subAgentProcessMatchPattern`. When unset, the process-match discovery is used
292
- mainSilentThresholdSeconds?: number # Optional: Seconds of main-session output silence after which the main-session self-check section is sent. Default 600
292
+ mainSilentThresholdSeconds?: number # Optional: Seconds of main-session output silence after which the main-session self-check section is sent. The same threshold also gates the owner-re-notification section: a session waiting on the owner is re-reminded only once its silence reaches this value. Default 600
293
293
  subAgentSilentThresholdSeconds?: number # Optional: Seconds of sub-process output silence after which the sub-process section is sent. Default 300
294
294
  subAgentRunningThresholdSeconds?: number # Optional: Seconds a sub-process may run before the sub-process section is sent regardless of its output silence. Default 900
295
295
  silentNotificationCooldownSeconds?: number # Optional: Minimum seconds between notifications to the same session. Default 1800
296
296
  silentNotificationStaggerSeconds?: number # Optional: Seconds to wait between consecutive session notifications within one cycle, so the targets are notified sequentially rather than all at once. Default 25
297
297
  silentMainStalledMessage?: string # Optional: Overrides the body of the main-session stalled section. When unset, a generic built-in message is used
298
+ silentOwnerReNotificationMessage?: string # Optional: Overrides the body of the owner-re-notification section sent to a session that has been waiting on the owner past `mainSilentThresholdSeconds`. When unset, a generic built-in message is used that instructs the agent to re-raise its pending call-to-user and states the injected message is not the owner replying
298
299
  silentSubAgentMessageHeader?: string # Optional: Overrides the line shown above the sub-process list in the sub-process section. When unset, a generic built-in line is used
299
300
  silentSubAgentMessageFooter?: string # Optional: Overrides the line shown below the sub-process list in the sub-process section. When unset, a generic built-in line is used
300
301
  changeTargetPathAliases?: # Optional: Map of short alias keys to full repository-root-relative directory paths. Allows `change-target:<alias>` labels to reference deeply nested paths that exceed GitHub's 50-character label limit. When a `change-target:` label's value matches a key in this map, it is expanded to the corresponding full path before confinement checking. Values with leading or trailing slashes are normalized automatically. Example below
@@ -554,17 +555,19 @@ For each `In Tmux by human` issue with no live session, the reconciler launches
554
555
 
555
556
  ## Silent Live Session Notification
556
557
 
557
- Each schedule cycle, when `silentNotificationEnabled` is true, also inspects every live interactive Claude Code session and sends a short self-check reminder into a session via `tmux send-keys` when either of two independent conditions holds. The reminder is composed of only the sections whose condition is met, so a session receives one combined message containing one or both sections. When `silentNotificationEnabled` is not set, the entire step is a no-op even if the daemon picks up its configuration automatically.
558
+ Each schedule cycle, when `silentNotificationEnabled` is true, also inspects every live interactive Claude Code session and sends a short reminder into a session via `tmux send-keys`. There are three independent reminder paths: (1) the main-session stalled self-check, sent to a session that is silent but not waiting on the owner; (2) the owner-re-notification, sent to a session that IS waiting on the owner and has waited long enough; and (3) the sub-process stall reminder. The reminder is composed of only the sections whose condition is met, so a session receives one combined message containing one or more sections. The main-session stalled section and the owner-re-notification section are mutually exclusive for a given cycle, because a session is either waiting on the owner or not. When `silentNotificationEnabled` is not set, the entire step is a no-op even if the daemon picks up its configuration automatically.
558
559
 
559
560
  Sessions are selected purely from the live process tree, independently of session naming or any GitHub issue linkage: every live tmux session is taken, the descendants of each session's pane processes are walked, and the first descendant that is an interactive Claude Code process (its command line contains `claude` and does not contain the owner-handover marker `Take ownership of`, and its environment exposes both `CLAUDE_CODE_SESSION_ID` and `CLAUDE_CONFIG_DIR`) is taken as that session's process. Both issue-url-named sessions and plain-named sessions (for example `workbench`) are selected equally. Because the walk is anchored on tmux panes, background owner-handover spawns, the preparation daemon, and monitor processes — none of which run inside an interactive tmux pane — are excluded; the owner-handover marker check is an additional guard. Each selected session's transcript is then resolved from its process environment as `<CLAUDE_CONFIG_DIR>/projects/<cwd-slug>/<CLAUDE_CODE_SESSION_ID>.jsonl` (the most recently modified match is used when several exist), so a session that has no issue URL resolves just as reliably as one that does.
560
561
 
561
- The main-session stalled section is sent when the session's main output has been idle for at least `mainSilentThresholdSeconds`, unless the session is currently waiting on the owner (in that case the silence is expected and the section is suppressed). Idle time is computed from the timestamp of the latest `assistant` entry in the session's resolved transcript rather than from the transcript file modification time, so a transcript that is only updated by tool results or owner replies still counts as silent. Whether a session is waiting on the owner is determined through an injectable port; the built-in default reports no session as waiting, so the suppression is only applied when a host provides an implementation. When `ownerCallMarker` is configured, a transcript-based implementation is used: it reads each session's resolved transcript and treats the session as waiting on the owner when the latest entry containing `ownerCallMarker` is newer (by full timestamp) than the latest genuine owner reply. A self-check reminder that the monitor injects into a session via `tmux send-keys` itself lands in that session's transcript as a `user` text entry; every injected reminder carries a fixed sentinel tag (`[TDPM_SILENT_SESSION_SELF_CHECK_REMINDER]`), and a `user` entry whose text contains that sentinel is not counted as a genuine owner reply. This prevents the monitor's own reminder from being mistaken for the owner answering, which would otherwise make a genuinely waiting session stop being suppressed and get re-notified.
562
+ The main-session stalled section is sent when the session's main output has been idle for at least `mainSilentThresholdSeconds` and the session is not waiting on the owner. Idle time is computed from the timestamp of the latest `assistant` entry in the session's resolved transcript rather than from the transcript file modification time, so a transcript that is only updated by tool results or owner replies still counts as silent. Whether a session is waiting on the owner is determined through an injectable port; the built-in default reports no session as waiting, so the owner-aware behavior is only applied when a host provides an implementation. When `ownerCallMarker` is configured, a transcript-based implementation is used: it reads each session's resolved transcript and treats the session as waiting on the owner when the latest entry containing `ownerCallMarker` is newer (by full timestamp) than the latest genuine owner reply. A reminder that the monitor injects into a session via `tmux send-keys` itself lands in that session's transcript as a `user` text entry; every injected reminder carries a fixed sentinel tag (`[TDPM_SILENT_SESSION_SELF_CHECK_REMINDER]`), and a `user` entry whose text contains that sentinel is not counted as a genuine owner reply. This prevents the monitor's own reminder from being mistaken for the owner answering.
563
+
564
+ The owner-re-notification section replaces the old "suppress and stay silent" behavior for a session that is waiting on the owner. A session waiting on the owner must not be left silent indefinitely, because the owner is only notified when a fresh call-to-user is raised; a single past call-to-user that has gone quiet never reaches them. So when a session is waiting on the owner (an unanswered `ownerCallMarker` call) AND its silence has reached `mainSilentThresholdSeconds`, the monitor sends the owner-re-notification section instead of suppressing. That section instructs the agent to re-raise / re-emit its pending call-to-user now so the owner's call-to-user marker re-fires, and it explicitly states that the injected message is not the owner replying and must not be treated as an owner answer; it does not tell the agent it is stalled or idle, because the session is correctly waiting. Like the other sections it carries the `[TDPM_SILENT_SESSION_SELF_CHECK_REMINDER]` sentinel, so the re-notification itself is never miscounted as an owner reply. The per-session cooldown (`silentNotificationCooldownSeconds`, default 1800 seconds) limits the owner to being re-reminded at most about once every 30 minutes, and the re-notification stops automatically once the owner actually replies, because a genuine owner reply clears the unanswered-owner-call condition. Both this section and the main-session stalled section default to a generic built-in message and can be overridden with `silentOwnerReNotificationMessage` and `silentMainStalledMessage` respectively.
562
565
 
563
566
  The sub-process section is sent, regardless of main output, when at least one sub-process of the session has been output-idle for `subAgentSilentThresholdSeconds` or has been running for `subAgentRunningThresholdSeconds`; the message lists each matched sub-process with its idle and running minutes. Sub-processes are discovered in one of two ways: when `subAgentTranscriptRootDirectory` is configured, each session's `subagents/agent-<id>.jsonl` transcripts are scanned, finished sub-agents (latest transcript entry `stop_reason` equal to `end_turn` or `stop_sequence`) are skipped, and idle time is taken from the transcript file modification time (following symlinks) while running time is taken from its first entry timestamp; otherwise sub-processes are discovered by matching `subAgentProcessMatchPattern` against process command lines.
564
567
 
565
- A per-session cooldown (`silentNotificationCooldownSeconds`) prevents repeated notifications, persisted via the existing cache. When more than one session is notified in the same cycle, the sends are spaced out sequentially with `silentNotificationStaggerSeconds` between consecutive sends (no wait before the first or after the last) so the targets are not all triggered at once. Process-snapshot collection, transcript resolution, owner-call detection, the wait between sends, and the message wording are all performed through injectable ports, so the logic is unit-testable without touching the host, and the host-specific process and environment access, sub-process pattern, and message wording are supplied through adapters or configuration. When `silentNotificationEnabled` is not true the step is a no-op, and any error during the step is logged and swallowed so the schedule cycle is never affected.
568
+ A per-session cooldown (`silentNotificationCooldownSeconds`) prevents repeated notifications, persisted via the cache. Because the scheduled handler runs once per project but the silent-session monitor inspects the single global set of live tmux sessions, this cooldown is stored in a single project-independent cache scope (a fixed shared path rather than the per-project cache directory). This way the 30-minute cooldown is shared across every per-project pass and a session is notified at most once per cooldown window even when several projects are enabled; all other per-project caches are unaffected. When more than one session is notified in the same cycle, the sends are spaced out sequentially with `silentNotificationStaggerSeconds` between consecutive sends (no wait before the first or after the last) so the targets are not all triggered at once. Process-snapshot collection, transcript resolution, owner-call detection, the wait between sends, and the message wording are all performed through injectable ports, so the logic is unit-testable without touching the host, and the host-specific process and environment access, sub-process pattern, and message wording are supplied through adapters or configuration. When `silentNotificationEnabled` is not true the step is a no-op, and any error during the step is logged and swallowed so the schedule cycle is never affected.
566
569
 
567
- Each config key above has a matching environment variable read when the config key is unset: `TDPM_SILENT_NOTIFICATION_ENABLED` (the string `true` enables the step), `TDPM_SILENT_OWNER_CALL_MARKER`, `TDPM_SUBAGENT_OUTPUT_ROOT_DIRECTORY`, `TDPM_SUBAGENT_PROCESS_MATCH_PATTERN`, `TDPM_SUBAGENT_TRANSCRIPT_ROOT_DIRECTORY`, `TDPM_MAIN_SILENT_THRESHOLD_SECONDS`, `TDPM_SUBAGENT_SILENT_THRESHOLD_SECONDS`, `TDPM_SUBAGENT_RUNNING_THRESHOLD_SECONDS`, `TDPM_SILENT_NOTIFICATION_COOLDOWN_SECONDS`, `TDPM_SILENT_NOTIFICATION_STAGGER_SECONDS`, `TDPM_SILENT_MAIN_STALLED_MESSAGE`, `TDPM_SILENT_SUBAGENT_MESSAGE_HEADER`, and `TDPM_SILENT_SUBAGENT_MESSAGE_FOOTER`.
570
+ Each config key above has a matching environment variable read when the config key is unset: `TDPM_SILENT_NOTIFICATION_ENABLED` (the string `true` enables the step), `TDPM_SILENT_OWNER_CALL_MARKER`, `TDPM_SUBAGENT_OUTPUT_ROOT_DIRECTORY`, `TDPM_SUBAGENT_PROCESS_MATCH_PATTERN`, `TDPM_SUBAGENT_TRANSCRIPT_ROOT_DIRECTORY`, `TDPM_MAIN_SILENT_THRESHOLD_SECONDS`, `TDPM_SUBAGENT_SILENT_THRESHOLD_SECONDS`, `TDPM_SUBAGENT_RUNNING_THRESHOLD_SECONDS`, `TDPM_SILENT_NOTIFICATION_COOLDOWN_SECONDS`, `TDPM_SILENT_NOTIFICATION_STAGGER_SECONDS`, `TDPM_SILENT_MAIN_STALLED_MESSAGE`, `TDPM_SILENT_OWNER_RE_NOTIFICATION_MESSAGE`, `TDPM_SILENT_SUBAGENT_MESSAGE_HEADER`, and `TDPM_SILENT_SUBAGENT_MESSAGE_FOOTER`.
568
571
 
569
572
  ## Token Rotation Order File
570
573
 
@@ -1 +1 @@
1
- /*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight:initial;--tw-outline-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--font-weight-semibold:600;--radius-md:.375rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-input:#e5e5e5;--color-ring:#0a0a0a;--color-background:#fff;--color-foreground:#0a0a0a;--color-primary:#171717;--color-primary-foreground:#fafafa;--color-secondary:#f5f5f5;--color-secondary-foreground:#171717;--color-accent:#f5f5f5;--color-accent-foreground:#171717}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.static{position:static}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-input{border-color:var(--color-input)}.border-transparent{border-color:#0000}.bg-background{background-color:var(--color-background)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-2{padding-block:calc(var(--spacing) * 2)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-foreground{color:var(--color-foreground)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-secondary-foreground{color:var(--color-secondary-foreground)}.lowercase{text-transform:lowercase}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-primary\/90:hover{background-color:#171717e6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--color-primary) 90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:#f5f5f5cc}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--color-secondary) 80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--color-accent-foreground)}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--color-ring)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}}body{color:#e6edf3;background-color:#0d1117;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.console-app{flex-direction:column;max-width:920px;margin:0 auto;display:flex}.console-tabbar{-webkit-overflow-scrolling:touch;background:#161b22;border-bottom:2px solid #30363d;flex-wrap:nowrap;align-items:stretch;gap:0;min-height:42px;padding:0 8px;display:flex;overflow-x:auto}.console-tab{color:#8b949e;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-2px;padding:10px 14px;font-size:13px;font-weight:500;line-height:1.2;text-decoration:none;display:inline-flex}.console-tab:hover{color:#e6edf3}.console-tab[data-active=true]{color:#e6edf3;border-bottom-color:#2f81f7;font-weight:700}.console-tab-badge{text-align:center;color:#e6edf3;background:#484f58;border-radius:20px;min-width:20px;padding:1px 7px;font-size:11px;font-weight:700;line-height:1.5}.console-tab-badge[data-zero=true]{color:#8b949e;background:#30363d}.console-tab-pjname{color:#8b949e;align-self:center;margin-left:auto;padding:0 8px;font-size:11.5px}.console-tab-geninfo{color:#8b949e;align-self:center;padding:0 4px;font-size:11px}.console-list{margin:0;padding:12px 18px 18px;list-style:none}.console-list-group{list-style:none}.console-item-row .console-item-icon{flex:none;margin-top:3px}.console-group-header{background:#0b0f14;border-bottom:1px solid #21262d;justify-content:space-between;align-items:center;padding:6px 12px;display:flex}.console-storytag{align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.console-story-dot{border-radius:999px;width:10px;height:10px;display:inline-block}.console-group-count{color:#8b949e;font-size:12px}.console-item-row{color:#e6edf3;text-align:left;cursor:pointer;background:#161b22;border:1px solid #30363d;border-radius:8px;align-items:flex-start;gap:14px;width:100%;margin-bottom:10px;padding:12px 16px;display:flex}.console-item-row:hover{background:#1a2029;border-color:#484f58}.console-item-row[data-active=true]{background:#1a2029;border-color:#4493f8}.console-item-meta{flex:1;min-width:0}.console-item-title{font-size:14.5px;font-weight:600;display:block}.console-item-sub{color:#8b949e;margin-top:3px;font-size:12.5px;display:block}.console-item-pill{color:#8b949e;border:1px solid #30363d;border-radius:20px;margin-right:6px;padding:1px 8px;font-size:11px;display:inline-block}.console-item-createdat{color:#8b949e;cursor:help}.console-item-fields{color:#adbac7;flex-wrap:wrap;gap:4px 10px;margin-top:4px;font-size:11.5px;display:flex}.console-item-field{word-break:break-all;align-items:baseline;gap:4px;min-width:0;display:inline-flex}.console-item-field-label{color:#6e7681;text-transform:uppercase;letter-spacing:.03em;font-size:10px}.console-list-message{color:#8b949e;padding:16px;font-size:14px}.console-list-empty{text-align:center;color:#8b949e;padding:40px;font-size:14px}.console-list-error,.console-comment-error,.console-files-error,.console-commits-error,.console-detail-body-error{color:#f85149}.console-detail{flex-direction:column;gap:12px;padding:16px;display:flex}.console-detail-title{align-items:center;gap:8px;margin:0;font-size:20px;display:flex}.console-detail-title-text{flex:1}.console-detail-number{color:#8b949e;font-weight:400}.console-detail-closed-label{color:#a371f7;font-size:13px}.console-detail-subbar{align-items:center;gap:12px;font-size:13px;display:flex}.console-detail-link{color:#4493f8}.console-detail-repo{color:#8b949e;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.console-copy-url-button{color:#c9d1d9;border:1px solid #30363d;border-radius:6px;height:24px;padding:0 8px;font-size:12px}.console-copy-url-button:hover{color:#e6edf3;background-color:#21262d}.console-detail-pill,.console-label-chip,.console-detail-status-chip{border:1px solid #30363d;border-radius:999px;padding:2px 8px;font-size:12px;display:inline-block}.console-detail-labels{flex-wrap:wrap;gap:6px;display:flex}.console-detail-createdat{color:#8b949e;font-size:12px}.console-panel{border:1px solid #30363d;border-radius:8px;overflow:hidden}.console-panel-header{background:#161b22;justify-content:space-between;align-items:center;padding:6px 12px;display:flex}.console-panel-toggle{color:#e6edf3;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;font-size:14px;font-weight:600;display:inline-flex}.console-panel-body{padding:12px}.console-markdown{word-break:break-word;font-size:14px;line-height:1.5}.console-markdown ul{margin:.5em 0;padding-left:1.5em;list-style:outside}.console-markdown ol{margin:.5em 0;padding-left:1.5em;list-style:decimal}.console-markdown li{margin:.25em 0}.console-markdown table{border-collapse:collapse;margin:.5em 0}.console-markdown th,.console-markdown td{border:1px solid #30363d;padding:4px 8px}.console-markdown th{background:#161b22}.console-mermaid-error{color:#f85149;font-size:13px}.console-comment{border-top:1px solid #21262d;padding-top:8px}.console-comment-header{color:#8b949e;gap:8px;font-size:12px;display:flex}.console-comment-author{color:#e6edf3;font-weight:600}.console-files,.console-commits{margin:0;padding:0;list-style:none}.console-commit{align-items:center;gap:8px;padding:4px 0;font-size:13px;display:flex}.console-file{flex-direction:column;font-size:13px;display:flex}.console-file-badge{text-align:center;border:1px solid;border-radius:4px;width:18px;font-size:11px}.console-file-path,.console-commit-message{flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.console-file-add,.console-pr-add{color:#3fb950}.console-file-del,.console-pr-del{color:#f85149}.console-commit-sha{color:#8b949e;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.console-actionbar{z-index:100;background:#161b22;border-top:2px solid #30363d;padding:10px 16px;position:fixed;bottom:0;left:0;right:0}.console-operation-bar{flex-direction:column;gap:8px;max-width:920px;margin:0 auto;display:flex}.console-op-group{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.console-op-group-review{gap:10px}.console-op-group-stories{max-height:50vh;overflow-y:auto}.console-op-button{color:#e6edf3;white-space:nowrap;cursor:pointer;background:#21262d;border:1px solid #30363d;border-radius:6px;padding:7px 16px;font-size:13px;font-weight:600}.console-op-button:hover{border-color:#484f58}.console-op-button-approve{color:#fff;background:#238636;border-color:#2ea043}.console-op-button-reject{color:#ffd166;background:#7d5000;border-color:#a06800}.console-op-button-wrong{color:#f85149;background:#3a1518;border-color:#f85149}.console-op-button-unneeded{color:#aab0b8;background:#2a2d31;border-color:#6e7681}.console-op-button-snooze{color:#79c0ff;background:#1c2b4a;border-color:#4493f8}.console-pr-section{border:1px solid #30363d;border-radius:8px;flex-direction:column;gap:10px;padding:12px;display:flex}.console-pr-statbar{color:#8b949e;gap:12px;font-size:12px;display:flex}.console-detail-screen{padding-bottom:140px}.console-panel-open-link{color:#4493f8;font-size:13px;font-weight:400}.console-composer{margin-top:4px}.console-composer-toggle{color:#8b949e;cursor:pointer;background:0 0;border:none;padding:2px 0;font-size:12.5px}.console-composer-toggle:hover{color:#e6edf3}.console-composer-posted{flex-direction:column;gap:8px;margin-top:8px;display:flex}.console-composer-form{margin-top:8px}.console-composer-input{box-sizing:border-box;color:#e6edf3;width:100%;font:inherit;resize:vertical;background:#21262d;border:1px solid #30363d;border-radius:6px;padding:8px;font-size:14px}.console-composer-row{align-items:center;gap:8px;margin-top:6px;display:flex}.console-composer-submit{color:#fff;cursor:pointer;background:#238636;border:1px solid #2ea043;border-radius:6px;padding:7px 16px;font-size:13px;font-weight:600}.console-composer-submit:disabled{opacity:.6;cursor:default}.console-composer-status{color:#8b949e;font-size:12px}.console-composer-error{color:#f85149}.console-undo-toast{z-index:9998;white-space:nowrap;border-radius:10px;align-items:center;gap:12px;max-width:92vw;padding:12px 18px;font-size:13.5px;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #0009}.console-undo-toast-green{color:#3fb950;background:#0d3320;border:1px solid #2ea043}.console-undo-toast-amber{color:#ffd166;background:#3a2800;border:1px solid #a06800}.console-undo-toast-red{color:#f85149;background:#3a1518;border:1px solid #da3633}.console-undo-toast-gray{color:#aab0b8;background:#2a2d31;border:1px solid #6e7681}.console-undo-toast-blue{color:#79c0ff;background:#0d1f40;border:1px solid #4493f8}.console-undo-toast-error{color:#f85149;background:#3a1518;border:1px solid #f85149}.console-undo-toast-message{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.console-undo-toast-undo{cursor:pointer;color:inherit;background:#ffffff1f;border:none;border-radius:6px;flex:none;padding:4px 12px;font-size:13px;font-weight:700}.console-undo-toast-undo:hover{background:#ffffff38}.console-undo-toast-countdown{opacity:.7;flex:none;font-size:11px}.console-undo-toast-bar{opacity:.5;background:currentColor;border-radius:0 0 10px 10px;height:3px;transition:width .1s linear;position:absolute;bottom:0;left:0}.console-file-row{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:4px 0;font-size:13px;display:flex}.console-file-row:hover{background:#1a2029}.console-file-caret{color:#8b949e;flex:none;width:1em}.console-file-diff{border-collapse:collapse;width:100%;margin:4px 0 8px;font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace}.console-file-diff td{white-space:pre-wrap;word-break:break-word;vertical-align:top;padding:0 10px}.console-diff-ln{text-align:right;color:#6e7681;-webkit-user-select:none;user-select:none;white-space:nowrap;border-right:1px solid #30363d;width:1%;padding:0 8px}.console-file-diff td.console-diff-ln{white-space:nowrap;word-break:normal;overflow-wrap:normal}.console-diff-add td{background:#2ea04326}.console-diff-add .console-diff-code{color:#aff5b4}.console-diff-del td{background:#f8514926}.console-diff-del .console-diff-code{color:#ffdcd7}.console-diff-hunk td{color:#79c0ff;background:#161b22}.console-diff-ctx .console-diff-code{color:#c9d1d9}.console-file-diff-empty{color:#8b949e;padding:8px 14px;font-size:12px}.console-diff-comment-cell{text-align:center;-webkit-user-select:none;user-select:none;width:1%;padding:0 2px}.console-diff-comment-button{color:#6e7681;cursor:pointer;opacity:0;background:0 0;border:1px solid #0000;border-radius:4px;width:18px;height:18px;padding:0;font-size:14px;line-height:16px}.console-diff-row:hover .console-diff-comment-button,.console-diff-comment-button[aria-expanded=true]{opacity:1;color:#fff;background:#1f6feb;border-color:#2f81f7}.console-diff-composer-row td{background:#0d1117;padding:6px 10px}.console-diff-composer{background:#161b22;border:1px solid #30363d;border-radius:6px;flex-direction:column;gap:6px;padding:8px;display:flex}.console-diff-composer-anchor{color:#8b949e;font-size:11px}.console-diff-composer-input{resize:vertical;color:#c9d1d9;width:100%;font:inherit;background:#0d1117;border:1px solid #30363d;border-radius:6px;padding:6px 8px}.console-diff-composer-controls{align-items:center;gap:8px;display:flex}.console-diff-composer-submit{color:#fff;cursor:pointer;background:#238636;border:1px solid #238636;border-radius:6px;padding:4px 12px}.console-diff-composer-submit:disabled{opacity:.6;cursor:default}.console-diff-composer-cancel{color:#c9d1d9;cursor:pointer;background:0 0;border:1px solid #30363d;border-radius:6px;padding:4px 12px}.console-diff-composer-status{color:#8b949e;font-size:12px}.console-diff-composer-error{color:#ff7b72}.console-diff-composer-posted{color:#3fb950;margin:0;font-size:12px}.console-pr-header{flex-wrap:wrap;align-items:center;gap:10px;padding-top:4px;display:flex}.console-pr-section-title{color:#e6edf3;font-size:15px;font-weight:600}.console-pr-section-state{color:#8b949e;border:1px solid #6e7681;border-radius:999px;padding:1px 8px;font-size:11px}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
1
+ /*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight:initial;--tw-outline-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--font-weight-semibold:600;--radius-md:.375rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-input:#e5e5e5;--color-ring:#0a0a0a;--color-background:#fff;--color-foreground:#0a0a0a;--color-primary:#171717;--color-primary-foreground:#fafafa;--color-secondary:#f5f5f5;--color-secondary-foreground:#171717;--color-accent:#f5f5f5;--color-accent-foreground:#171717}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.static{position:static}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-input{border-color:var(--color-input)}.border-transparent{border-color:#0000}.bg-background{background-color:var(--color-background)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-2{padding-block:calc(var(--spacing) * 2)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-foreground{color:var(--color-foreground)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-secondary-foreground{color:var(--color-secondary-foreground)}.lowercase{text-transform:lowercase}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-primary\/90:hover{background-color:#171717e6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--color-primary) 90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:#f5f5f5cc}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--color-secondary) 80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--color-accent-foreground)}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--color-ring)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}}body{color:#e6edf3;background-color:#0d1117;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.console-app{flex-direction:column;max-width:920px;margin:0 auto;display:flex}.console-tabbar{-webkit-overflow-scrolling:touch;background:#161b22;border-bottom:2px solid #30363d;flex-wrap:nowrap;align-items:stretch;gap:0;min-height:42px;padding:0 8px;display:flex;overflow-x:auto}.console-tab{color:#8b949e;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-2px;padding:10px 14px;font-size:13px;font-weight:500;line-height:1.2;text-decoration:none;display:inline-flex}.console-tab:hover{color:#e6edf3}.console-tab[data-active=true]{color:#e6edf3;border-bottom-color:#2f81f7;font-weight:700}.console-tab-badge{text-align:center;color:#e6edf3;background:#484f58;border-radius:20px;min-width:20px;padding:1px 7px;font-size:11px;font-weight:700;line-height:1.5}.console-tab-badge[data-zero=true]{color:#8b949e;background:#30363d}.console-tab-pjname{color:#8b949e;align-self:center;margin-left:auto;padding:0 8px;font-size:11.5px}.console-tab-geninfo{color:#8b949e;align-self:center;padding:0 4px;font-size:11px}.console-list{margin:0;padding:12px 18px 18px;list-style:none}.console-list-group{list-style:none}.console-item-row .console-item-icon{flex:none;margin-top:3px}.console-group-header{background:#0b0f14;border-bottom:1px solid #21262d;justify-content:space-between;align-items:center;padding:6px 12px;display:flex}.console-storytag{align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.console-story-dot{border-radius:999px;width:10px;height:10px;display:inline-block}.console-group-count{color:#8b949e;font-size:12px}.console-item-row{color:#e6edf3;text-align:left;cursor:pointer;background:#161b22;border:1px solid #30363d;border-radius:8px;align-items:flex-start;gap:14px;width:100%;margin-bottom:10px;padding:12px 16px;display:flex}.console-item-row:hover{background:#1a2029;border-color:#484f58}.console-item-row[data-active=true]{background:#1a2029;border-color:#4493f8}.console-item-meta{flex:1;min-width:0}.console-item-title{font-size:14.5px;font-weight:600;display:block}.console-item-sub{color:#8b949e;margin-top:3px;font-size:12.5px;display:block}.console-item-pill{color:#8b949e;border:1px solid #30363d;border-radius:20px;margin-right:6px;padding:1px 8px;font-size:11px;display:inline-block}.console-item-createdat{color:#8b949e;cursor:help}.console-item-fields{color:#adbac7;flex-wrap:wrap;gap:4px 10px;margin-top:4px;font-size:11.5px;display:flex}.console-item-field{word-break:break-all;align-items:baseline;gap:4px;min-width:0;display:inline-flex}.console-item-field-label{color:#6e7681;text-transform:uppercase;letter-spacing:.03em;font-size:10px}.console-list-message{color:#8b949e;padding:16px;font-size:14px}.console-list-empty{text-align:center;color:#8b949e;padding:40px;font-size:14px}.console-list-error,.console-comment-error,.console-files-error,.console-commits-error,.console-detail-body-error{color:#f85149}.console-detail{flex-direction:column;gap:12px;padding:16px;display:flex}.console-detail-title{align-items:center;gap:8px;margin:0;font-size:20px;display:flex}.console-detail-title-text{flex:1}.console-detail-number{color:#8b949e;font-weight:400}.console-detail-closed-label{color:#a371f7;font-size:13px}.console-detail-subbar{align-items:center;gap:12px;font-size:13px;display:flex}.console-detail-link{color:#4493f8}.console-detail-repo{color:#8b949e;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.console-copy-url-button{color:#c9d1d9;border:1px solid #30363d;border-radius:6px;height:24px;padding:0 8px;font-size:12px}.console-copy-url-button:hover{color:#e6edf3;background-color:#21262d}.console-detail-pill,.console-label-chip,.console-detail-status-chip{border:1px solid #30363d;border-radius:999px;padding:2px 8px;font-size:12px;display:inline-block}.console-detail-labels{flex-wrap:wrap;gap:6px;display:flex}.console-detail-createdat{color:#8b949e;font-size:12px}.console-panel{border:1px solid #30363d;border-radius:8px;overflow:hidden}.console-panel-header{background:#161b22;justify-content:space-between;align-items:center;padding:6px 12px;display:flex}.console-panel-toggle{color:#e6edf3;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;font-size:14px;font-weight:600;display:inline-flex}.console-panel-body{padding:12px}.console-markdown{word-break:break-word;font-size:14px;line-height:1.5}.console-markdown ul{margin:.5em 0;padding-left:1.5em;list-style:outside}.console-markdown ol{margin:.5em 0;padding-left:1.5em;list-style:decimal}.console-markdown li{margin:.25em 0}.console-markdown table{border-collapse:collapse;margin:.5em 0}.console-markdown th,.console-markdown td{border:1px solid #30363d;padding:4px 8px}.console-markdown th{background:#161b22}.console-markdown h1,.console-markdown h2,.console-markdown h3,.console-markdown h4,.console-markdown h5,.console-markdown h6{margin:1em 0 .5em;font-weight:700;line-height:1.25}.console-markdown h1{font-size:1.6em}.console-markdown h2{font-size:1.4em}.console-markdown h3{font-size:1.2em}.console-markdown h4{font-size:1.05em}.console-markdown h5{font-size:.95em}.console-markdown h6{color:#8b949e;font-size:.9em}.console-markdown pre{background:#161b22;border:1px solid #30363d;border-radius:6px;margin:.5em 0;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.45;overflow-x:auto}.console-markdown code{background:#6e768166;border-radius:4px;padding:.15em .4em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.console-markdown pre code{font-size:inherit;background:0 0;border-radius:0;padding:0}.console-markdown blockquote{color:#8b949e;border-left:3px solid #30363d;margin:.5em 0;padding:0 1em}.console-markdown a{color:#4493f8;text-decoration:none}.console-markdown a:hover{text-decoration:underline}.console-markdown hr{border:none;border-top:1px solid #30363d;margin:1em 0}.console-mermaid-error{color:#f85149;font-size:13px}.console-comment{border-top:1px solid #21262d;padding-top:8px}.console-comment-header{color:#8b949e;gap:8px;font-size:12px;display:flex}.console-comment-author{color:#e6edf3;font-weight:600}.console-files,.console-commits{margin:0;padding:0;list-style:none}.console-commit{align-items:center;gap:8px;padding:4px 0;font-size:13px;display:flex}.console-file{flex-direction:column;font-size:13px;display:flex}.console-file-badge{text-align:center;border:1px solid;border-radius:4px;width:18px;font-size:11px}.console-file-path,.console-commit-message{flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.console-file-add,.console-pr-add{color:#3fb950}.console-file-del,.console-pr-del{color:#f85149}.console-commit-sha{color:#8b949e;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.console-actionbar{z-index:100;padding:10px 16px;padding-bottom:calc(10px + env(safe-area-inset-bottom));background:#161b22;border-top:2px solid #30363d;position:sticky;bottom:0}.console-operation-bar{flex-direction:column;gap:8px;max-width:920px;margin:0 auto;display:flex}.console-op-group{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.console-op-group-review{gap:10px}.console-op-group-stories{max-height:50vh;overflow-y:auto}.console-op-button{color:#e6edf3;white-space:nowrap;cursor:pointer;background:#21262d;border:1px solid #30363d;border-radius:6px;padding:7px 16px;font-size:13px;font-weight:600}.console-op-button:hover{border-color:#484f58}.console-op-button-approve{color:#fff;background:#238636;border-color:#2ea043}.console-op-button-reject{color:#ffd166;background:#7d5000;border-color:#a06800}.console-op-button-wrong{color:#f85149;background:#3a1518;border-color:#f85149}.console-op-button-unneeded{color:#aab0b8;background:#2a2d31;border-color:#6e7681}.console-op-button-snooze{color:#79c0ff;background:#1c2b4a;border-color:#4493f8}.console-pr-section{border:1px solid #30363d;border-radius:8px;flex-direction:column;gap:10px;padding:12px;display:flex}.console-pr-statbar{color:#8b949e;gap:12px;font-size:12px;display:flex}.console-detail-screen{padding-bottom:8px}.console-panel-open-link{color:#4493f8;font-size:13px;font-weight:400}.console-composer{margin-top:4px}.console-composer-toggle{color:#8b949e;cursor:pointer;background:0 0;border:none;padding:2px 0;font-size:12.5px}.console-composer-toggle:hover{color:#e6edf3}.console-composer-posted{flex-direction:column;gap:8px;margin-top:8px;display:flex}.console-composer-form{margin-top:8px}.console-composer-input{box-sizing:border-box;color:#e6edf3;width:100%;font:inherit;resize:vertical;background:#21262d;border:1px solid #30363d;border-radius:6px;padding:8px;font-size:14px}.console-composer-row{align-items:center;gap:8px;margin-top:6px;display:flex}.console-composer-submit{color:#fff;cursor:pointer;background:#238636;border:1px solid #2ea043;border-radius:6px;padding:7px 16px;font-size:13px;font-weight:600}.console-composer-submit:disabled{opacity:.6;cursor:default}.console-composer-status{color:#8b949e;font-size:12px}.console-composer-error{color:#f85149}.console-undo-toast{z-index:9998;white-space:nowrap;border-radius:10px;align-items:center;gap:12px;max-width:92vw;padding:12px 18px;font-size:13.5px;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #0009}.console-undo-toast-green{color:#3fb950;background:#0d3320;border:1px solid #2ea043}.console-undo-toast-amber{color:#ffd166;background:#3a2800;border:1px solid #a06800}.console-undo-toast-red{color:#f85149;background:#3a1518;border:1px solid #da3633}.console-undo-toast-gray{color:#aab0b8;background:#2a2d31;border:1px solid #6e7681}.console-undo-toast-blue{color:#79c0ff;background:#0d1f40;border:1px solid #4493f8}.console-undo-toast-error{color:#f85149;background:#3a1518;border:1px solid #f85149}.console-undo-toast-message{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.console-undo-toast-undo{cursor:pointer;color:inherit;background:#ffffff1f;border:none;border-radius:6px;flex:none;padding:4px 12px;font-size:13px;font-weight:700}.console-undo-toast-undo:hover{background:#ffffff38}.console-undo-toast-countdown{opacity:.7;flex:none;font-size:11px}.console-undo-toast-bar{opacity:.5;background:currentColor;border-radius:0 0 10px 10px;height:3px;transition:width .1s linear;position:absolute;bottom:0;left:0}.console-file-row{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:4px 0;font-size:13px;display:flex}.console-file-row:hover{background:#1a2029}.console-file-caret{color:#8b949e;flex:none;width:1em}.console-file-diff{border-collapse:collapse;width:100%;margin:4px 0 8px;font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace}.console-file-diff td{white-space:pre-wrap;word-break:break-word;vertical-align:top;padding:0 10px}.console-diff-ln{text-align:right;color:#6e7681;-webkit-user-select:none;user-select:none;white-space:nowrap;border-right:1px solid #30363d;width:1%;padding:0 8px}.console-file-diff td.console-diff-ln{white-space:nowrap;word-break:normal;overflow-wrap:normal}.console-diff-add td{background:#2ea04326}.console-diff-add .console-diff-code{color:#aff5b4}.console-diff-del td{background:#f8514926}.console-diff-del .console-diff-code{color:#ffdcd7}.console-diff-hunk td{color:#79c0ff;background:#161b22}.console-diff-ctx .console-diff-code{color:#c9d1d9}.console-file-diff-empty{color:#8b949e;padding:8px 14px;font-size:12px}.console-diff-comment-cell{text-align:center;-webkit-user-select:none;user-select:none;width:1%;padding:0 2px}.console-diff-comment-button{color:#6e7681;cursor:pointer;opacity:0;background:0 0;border:1px solid #0000;border-radius:4px;width:18px;height:18px;padding:0;font-size:14px;line-height:16px}.console-diff-row:hover .console-diff-comment-button,.console-diff-comment-button[aria-expanded=true]{opacity:1;color:#fff;background:#1f6feb;border-color:#2f81f7}.console-diff-composer-row td{background:#0d1117;padding:6px 10px}.console-diff-composer{background:#161b22;border:1px solid #30363d;border-radius:6px;flex-direction:column;gap:6px;padding:8px;display:flex}.console-diff-composer-anchor{color:#8b949e;font-size:11px}.console-diff-composer-input{resize:vertical;color:#c9d1d9;width:100%;font:inherit;background:#0d1117;border:1px solid #30363d;border-radius:6px;padding:6px 8px}.console-diff-composer-controls{align-items:center;gap:8px;display:flex}.console-diff-composer-submit{color:#fff;cursor:pointer;background:#238636;border:1px solid #238636;border-radius:6px;padding:4px 12px}.console-diff-composer-submit:disabled{opacity:.6;cursor:default}.console-diff-composer-cancel{color:#c9d1d9;cursor:pointer;background:0 0;border:1px solid #30363d;border-radius:6px;padding:4px 12px}.console-diff-composer-status{color:#8b949e;font-size:12px}.console-diff-composer-error{color:#ff7b72}.console-diff-composer-posted{color:#3fb950;margin:0;font-size:12px}.console-pr-header{flex-wrap:wrap;align-items:center;gap:10px;padding-top:4px;display:flex}.console-pr-section-title{color:#e6edf3;font-size:15px;font-weight:600}.console-pr-section-state{color:#8b949e;border:1px solid #6e7681;border-radius:999px;padding:1px 8px;font-size:11px}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
@@ -98,4 +98,4 @@ Please report this to https://github.com/markedjs/marked.`,o){const c="<p>An err
98
98
  `)}),d+=1,r=[])};for(const b of o){if(c===null&&/^```mermaid\s*$/.test(b.trim())){m(),c=[];continue}if(c!==null){if(b.trim()==="```"){u.push({kind:"mermaid",key:`mermaid:${d}`,code:c.join(`
99
99
  `)}),d+=1,c=null;continue}c.push(b);continue}r.push(b)}return c!==null&&r.push("```mermaid",...c),m(),u},yv="https://cdn.jsdelivr.net/npm/mermaid@10.9.6/dist/mermaid.min.js";let yi=null,fp=0;const dp=i=>(i.initialize({startOnLoad:!1,securityLevel:"strict",theme:"dark",themeVariables:{background:"#0d1117",primaryColor:"#161b22",primaryTextColor:"#e6edf3",primaryBorderColor:"#30363d",lineColor:"#8b949e",fontSize:"14px"}}),i),vv=()=>yi!==null?yi:window.mermaid!==void 0?(yi=Promise.resolve(dp(window.mermaid)),yi):(yi=new Promise((i,o)=>{const u=document.createElement("script");u.src=yv,u.async=!0,u.onload=()=>{if(window.mermaid===void 0){o(new Error("mermaid failed to load"));return}i(dp(window.mermaid))},u.onerror=()=>o(new Error("mermaid script failed to load")),document.head.appendChild(u)}),yi),Sv=async i=>{const o=await vv();fp+=1;const u=`console-mermaid-${fp}`,{svg:r}=await o.render(u,i);return Hp.sanitize(r,{USE_PROFILES:{svg:!0,svgFilters:!0},ADD_TAGS:["foreignObject"]})},Tv=({code:i})=>{const[o,u]=q.useState({status:"loading"}),r=q.useRef(null);return q.useEffect(()=>{let c=!1;return u({status:"loading"}),Sv(i).then(d=>{c||u({status:"ready",svg:d})}).catch(d=>{c||u({status:"error",message:d instanceof Error?d.message:String(d)})}),()=>{c=!0}},[i]),q.useEffect(()=>{const c=r.current;c!==null&&(c.innerHTML=o.status==="ready"?o.svg:"")},[o]),o.status==="loading"?v.jsx("div",{className:"console-mermaid-loading",children:"Rendering diagram..."}):o.status==="error"?v.jsxs("div",{className:"console-mermaid",children:[v.jsxs("div",{className:"console-mermaid-error",children:["Mermaid render error: ",o.message]}),v.jsx("pre",{className:"console-mermaid-source",children:v.jsx("code",{children:i})})]}):v.jsx("div",{ref:r,className:"console-mermaid-rendered"})},wv=({source:i,buildImageProxyUrl:o})=>{const u=q.useMemo(()=>{const c=_v(i);return o===void 0?c:Py(c,o)},[i,o]),r=q.useRef(null);return q.useEffect(()=>{const c=r.current;c!==null&&(c.innerHTML=u)},[u]),v.jsx("div",{ref:r,className:"console-markdown"})},dr=({body:i,buildImageProxyUrl:o})=>{const u=q.useMemo(()=>bv(i),[i]);return i.trim()===""?v.jsx("p",{className:"console-markdown-empty",children:"No description provided."}):v.jsx("div",{className:"console-markdown-view",children:u.map(r=>r.kind==="mermaid"?v.jsx(Tv,{code:r.code},r.key):v.jsx(wv,{source:r.source,buildImageProxyUrl:o},r.key))})},xv=({isPr:i,now:o,onSubmit:u})=>{const[r,c]=q.useState(!i),[d,m]=q.useState(""),[b,g]=q.useState({kind:"idle"}),[p,E]=q.useState([]),x=async()=>{const O=d.trim();if(!(O.length===0||b.kind==="posting")){g({kind:"posting"});try{const B=await u(O);E(H=>[...H,B]),m(""),g({kind:"idle"})}catch(B){g({kind:"error",message:B instanceof Error?B.message:"failed to post"})}}};return v.jsxs("div",{className:"console-composer",children:[v.jsx("button",{type:"button",className:"console-composer-toggle","aria-expanded":r,onClick:()=>c(O=>!O),children:r?"✕ Cancel":"💬 Add a comment"}),p.length>0&&v.jsx("div",{className:"console-composer-posted",children:p.map(O=>v.jsxs("article",{className:"console-comment",children:[v.jsxs("header",{className:"console-comment-header",title:Lc(O.createdAt),children:[v.jsx("span",{className:"console-comment-author",children:O.author===""?"you":O.author}),v.jsx("span",{className:"console-comment-time",children:Oo(O.createdAt,o)})]}),v.jsx(dr,{body:O.body})]},`${O.author}:${O.createdAt}:${O.body}`))}),r&&v.jsxs("div",{className:"console-composer-form",children:[v.jsx("textarea",{className:"console-composer-input",rows:3,placeholder:"Leave a comment…",value:d,onChange:O=>m(O.target.value)}),v.jsxs("div",{className:"console-composer-row",children:[v.jsx("button",{type:"button",className:"console-composer-submit",disabled:b.kind==="posting",onClick:()=>{x()},children:"Comment"}),b.kind==="posting"&&v.jsx("span",{className:"console-composer-status",children:"Posting…"}),b.kind==="error"&&v.jsxs("span",{role:"alert",className:"console-composer-status console-composer-error",children:["Failed: ",b.message]})]})]})]})},va=({title:i,count:o=null,defaultCollapsed:u=!1,headerAction:r,children:c})=>{const[d,m]=q.useState(u),b=o===null?i:`${i} (${o})`;return v.jsxs("section",{className:"console-panel",children:[v.jsxs("header",{className:"console-panel-header",children:[v.jsxs("button",{type:"button",className:"console-panel-toggle","aria-expanded":!d,onClick:()=>m(g=>!g),children:[v.jsx("span",{className:"console-panel-caret",children:d?"▸":"▾"}),v.jsx("span",{className:"console-panel-title",children:b})]}),r!==void 0&&v.jsx("div",{className:"console-panel-action",children:r})]}),!d&&v.jsx("div",{className:"console-panel-body",children:c})]})},Ev=i=>{switch(i){case"added":return{label:"A",color:"#3fb950"};case"modified":return{label:"M",color:"#d29922"};case"removed":return{label:"D",color:"#f85149"};case"renamed":return{label:"R",color:"#a371f7"};case"changed":return{label:"M",color:"#d29922"};default:return{label:"?",color:"#8b949e"}}},Av=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/,kv=i=>{const o=[];let u=0,r=0;for(const c of i.split(`
100
100
  `)){if(c.startsWith("@@")){const d=c.match(Av);d!==null&&(u=Number(d[1]),r=Number(d[2])),o.push({kind:"hunk",oldLineNumber:null,newLineNumber:null,content:c});continue}if(c.startsWith("+")){o.push({kind:"add",oldLineNumber:null,newLineNumber:r,content:c}),r+=1;continue}if(c.startsWith("-")){o.push({kind:"del",oldLineNumber:u,newLineNumber:null,content:c}),u+=1;continue}o.push({kind:"ctx",oldLineNumber:u,newLineNumber:r,content:c}),u+=1,r+=1}return o},zv=i=>i.kind==="add"||i.kind==="ctx"?i.newLineNumber===null?null:{line:i.newLineNumber,side:"RIGHT"}:i.kind==="del"?i.oldLineNumber===null?null:{line:i.oldLineNumber,side:"LEFT"}:null,Nv=i=>`${i.kind}:${i.oldLineNumber??"x"}:${i.newLineNumber??"x"}:${i.content}`,Ov=({target:i,onSubmit:o,onClose:u})=>{const[r,c]=q.useState(""),[d,m]=q.useState({kind:"idle"}),b=async()=>{const g=r.trim();if(!(g.length===0||d.kind==="posting")){m({kind:"posting"});try{await o(i.path,i.line,i.side,g),c(""),m({kind:"posted"})}catch(p){m({kind:"error",message:p instanceof Error?p.message:"failed to post"})}}};return v.jsxs("div",{className:"console-diff-composer",children:[v.jsxs("div",{className:"console-diff-composer-anchor",children:["commenting on line ",i.line," (",i.side,")"]}),d.kind==="posted"?v.jsx("p",{className:"console-diff-composer-posted",children:"Comment posted."}):v.jsxs(v.Fragment,{children:[v.jsx("textarea",{className:"console-diff-composer-input",rows:3,placeholder:"Leave a review comment on this line…",value:r,onChange:g=>c(g.target.value)}),v.jsxs("div",{className:"console-diff-composer-controls",children:[v.jsx("button",{type:"button",className:"console-diff-composer-submit",disabled:d.kind==="posting",onClick:()=>{b()},children:"Comment"}),v.jsx("button",{type:"button",className:"console-diff-composer-cancel",onClick:u,children:"Cancel"}),d.kind==="posting"&&v.jsx("span",{className:"console-diff-composer-status",children:"Posting…"}),d.kind==="error"&&v.jsxs("span",{role:"alert",className:"console-diff-composer-status console-diff-composer-error",children:["Failed: ",d.message]})]})]})]})},Cv=({patch:i,path:o,onAddInlineComment:u})=>{const[r,c]=q.useState(null);if(i===null||i==="")return v.jsx("p",{className:"console-file-diff-empty",children:"(no diff / binary or too large)"});const d=kv(i),m=u!==void 0&&o!==void 0&&o.length>0,b=m?4:3;return v.jsx("table",{className:"console-file-diff",children:v.jsx("tbody",{children:d.map(g=>{const p=Nv(g),E=m?zv(g):null,x=r!==null&&E!==null&&r.line===E.line&&r.side===E.side;return v.jsxs(q.Fragment,{children:[v.jsxs("tr",{className:`console-diff-row console-diff-${g.kind}`,children:[m&&v.jsx("td",{className:"console-diff-comment-cell",children:E!==null&&o!==void 0&&v.jsx("button",{type:"button",className:"console-diff-comment-button","aria-label":`Comment on line ${E.line} (${E.side})`,"aria-expanded":x,onClick:()=>c(x?null:{path:o,line:E.line,side:E.side}),children:"+"})}),v.jsx("td",{className:"console-diff-ln",children:g.oldLineNumber??""}),v.jsx("td",{className:"console-diff-ln",children:g.newLineNumber??""}),v.jsx("td",{className:"console-diff-code",children:g.content})]}),x&&u!==void 0&&r!==null&&v.jsx("tr",{className:"console-diff-composer-row",children:v.jsx("td",{colSpan:b,children:v.jsx(Ov,{target:r,onSubmit:u,onClose:()=>c(null)})})})]},p)})})})},Rv=({file:i,onAddInlineComment:o})=>{const[u,r]=q.useState(!1),c=Ev(i.status);return v.jsxs("li",{className:"console-file",children:[v.jsxs("button",{type:"button",className:"console-file-row","aria-expanded":u,onClick:()=>r(d=>!d),children:[v.jsx("span",{className:"console-file-caret",children:u?"▾":"▸"}),v.jsx("span",{className:"console-file-badge",style:{color:c.color,borderColor:c.color},children:c.label}),v.jsx("span",{className:"console-file-path",children:i.path}),v.jsxs("span",{className:"console-file-stat console-file-add",children:["+",i.additions]}),v.jsxs("span",{className:"console-file-stat console-file-del",children:["-",i.deletions]})]}),u&&v.jsx(Cv,{patch:i.patch,path:i.path,onAddInlineComment:o})]})},Ip=({files:i,isLoading:o,error:u,onAddInlineComment:r})=>u!==null?v.jsxs("p",{role:"alert",className:"console-files-error",children:["Failed to load changed files: ",u]}):o?v.jsx("p",{className:"console-files-loading",children:"Loading changed files..."}):i.length===0?v.jsx("p",{className:"console-files-empty",children:"No changed files."}):v.jsx("ul",{className:"console-files",children:i.map(c=>v.jsx(Rv,{file:c,onAddInlineComment:r},c.path))}),Mv=({comments:i,isLoading:o,error:u,now:r,buildImageProxyUrl:c})=>{const[d,m]=q.useState(!1);if(u!==null)return v.jsxs("p",{role:"alert",className:"console-comment-error",children:["Failed to load comments: ",u]});if(o)return v.jsx("p",{className:"console-comment-loading",children:"Loading comments..."});if(i.length===0)return v.jsx("p",{className:"console-comment-empty",children:"No comments."});const b=d?i:i.slice(-1);return v.jsxs("div",{className:"console-comment-list",children:[!d&&i.length>1&&v.jsxs("button",{type:"button",className:"console-comment-show-all",onClick:()=>m(!0),children:["Show all ",i.length]}),b.map(g=>v.jsxs("article",{className:"console-comment",children:[v.jsxs("header",{className:"console-comment-header",children:[v.jsx("span",{className:"console-comment-author",children:g.author}),v.jsx("span",{className:"console-comment-time",children:Oo(g.createdAt,r)})]}),v.jsx(dr,{body:g.body,buildImageProxyUrl:c})]},`${g.author}:${g.createdAt}:${g.body}`))]})},Dv=i=>i.slice(0,7),jv=i=>i.split(`
101
- `)[0],Fp=({commits:i,isLoading:o,error:u,now:r})=>u!==null?v.jsxs("p",{role:"alert",className:"console-commits-error",children:["Failed to load commits: ",u]}):o?v.jsx("p",{className:"console-commits-loading",children:"Loading commits..."}):i.length===0?v.jsx("p",{className:"console-commits-empty",children:"No commits."}):v.jsx("ul",{className:"console-commits",children:i.map(c=>v.jsxs("li",{className:"console-commit",children:[v.jsx("span",{className:"console-commit-message",children:jv(c.message)}),v.jsx("span",{className:"console-commit-sha",children:Dv(c.sha)}),v.jsx("span",{className:"console-commit-author",children:c.author}),v.jsx("span",{className:"console-commit-time",children:Oo(c.authoredAt,r)})]},c.sha))});function mp(i,o){if(typeof i=="function")return i(o);i!=null&&(i.current=o)}function Uv(...i){return o=>{let u=!1;const r=i.map(c=>{const d=mp(c,o);return!u&&typeof d=="function"&&(u=!0),d});if(u)return()=>{for(let c=0;c<r.length;c++){const d=r[c];typeof d=="function"?d():mp(i[c],null)}}}}function Lv(...i){return q.useCallback(Uv(...i),i)}function Hv(i){const o=q.forwardRef((u,r)=>{let{children:c,...d}=u,m=null,b=!1;const g=[];hp(c)&&typeof lr=="function"&&(c=lr(c._payload)),q.Children.forEach(c,O=>{var B;if(Xv(O)){b=!0;const H=O;let G="child"in H.props?H.props.child:H.props.children;hp(G)&&typeof lr=="function"&&(G=lr(G._payload)),m=Gv(H,G),g.push((B=m==null?void 0:m.props)==null?void 0:B.children)}else g.push(O)}),m?m=q.cloneElement(m,void 0,g):!b&&q.Children.count(c)===1&&q.isValidElement(c)&&(m=c);const p=m?Zv(m):void 0,E=Lv(r,p);if(!m){if(c||c===0)throw new Error(b?Jv(i):Kv(i));return c}const x=Yv(d,m.props??{});return m.type!==q.Fragment&&(x.ref=r?E:p),q.cloneElement(m,x)});return o.displayName=`${i}.Slot`,o}var qv=Hv("Slot"),Bv=Symbol.for("radix.slottable"),Gv=(i,o)=>{if("child"in i.props){const u=i.props.child;return q.isValidElement(u)?q.cloneElement(u,void 0,i.props.children(u.props.children)):null}return q.isValidElement(o)?o:null};function Yv(i,o){const u={...o};for(const r in o){const c=i[r],d=o[r];/^on[A-Z]/.test(r)?c&&d?u[r]=(...b)=>{const g=d(...b);return c(...b),g}:c&&(u[r]=c):r==="style"?u[r]={...c,...d}:r==="className"&&(u[r]=[c,d].filter(Boolean).join(" "))}return{...i,...u}}function Zv(i){var r,c;let o=(r=Object.getOwnPropertyDescriptor(i.props,"ref"))==null?void 0:r.get,u=o&&"isReactWarning"in o&&o.isReactWarning;return u?i.ref:(o=(c=Object.getOwnPropertyDescriptor(i,"ref"))==null?void 0:c.get,u=o&&"isReactWarning"in o&&o.isReactWarning,u?i.props.ref:i.props.ref||i.ref)}function Xv(i){return q.isValidElement(i)&&typeof i.type=="function"&&"__radixId"in i.type&&i.type.__radixId===Bv}var Qv=Symbol.for("react.lazy");function hp(i){return i!=null&&typeof i=="object"&&"$$typeof"in i&&i.$$typeof===Qv&&"_payload"in i&&Vv(i._payload)}function Vv(i){return typeof i=="object"&&i!==null&&"then"in i}var Kv=i=>`${i} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,Jv=i=>`${i} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,lr=zb[" use ".trim().toString()];function Wp(i){var o,u,r="";if(typeof i=="string"||typeof i=="number")r+=i;else if(typeof i=="object")if(Array.isArray(i)){var c=i.length;for(o=0;o<c;o++)i[o]&&(u=Wp(i[o]))&&(r&&(r+=" "),r+=u)}else for(u in i)i[u]&&(r&&(r+=" "),r+=u);return r}function Pp(){for(var i,o,u=0,r="",c=arguments.length;u<c;u++)(i=arguments[u])&&(o=Wp(i))&&(r&&(r+=" "),r+=o);return r}const pp=i=>typeof i=="boolean"?`${i}`:i===0?"0":i,gp=Pp,$v=(i,o)=>u=>{var r;if((o==null?void 0:o.variants)==null)return gp(i,u==null?void 0:u.class,u==null?void 0:u.className);const{variants:c,defaultVariants:d}=o,m=Object.keys(c).map(p=>{const E=u==null?void 0:u[p],x=d==null?void 0:d[p];if(E===null)return null;const O=pp(E)||pp(x);return c[p][O]}),b=u&&Object.entries(u).reduce((p,E)=>{let[x,O]=E;return O===void 0||(p[x]=O),p},{}),g=o==null||(r=o.compoundVariants)===null||r===void 0?void 0:r.reduce((p,E)=>{let{class:x,className:O,...B}=E;return Object.entries(B).every(H=>{let[G,Y]=H;return Array.isArray(Y)?Y.includes({...d,...b}[G]):{...d,...b}[G]===Y})?[...p,x,O]:p},[]);return gp(i,m,g,u==null?void 0:u.class,u==null?void 0:u.className)},Iv=(i,o)=>{const u=new Array(i.length+o.length);for(let r=0;r<i.length;r++)u[r]=i[r];for(let r=0;r<o.length;r++)u[i.length+r]=o[r];return u},Fv=(i,o)=>({classGroupId:i,validator:o}),eg=(i=new Map,o=null,u)=>({nextPart:i,validators:o,classGroupId:u}),ur="-",_p=[],Wv="arbitrary..",Pv=i=>{const o=t1(i),{conflictingClassGroups:u,conflictingClassGroupModifiers:r}=i;return{getClassGroupId:m=>{if(m.startsWith("[")&&m.endsWith("]"))return e1(m);const b=m.split(ur),g=b[0]===""&&b.length>1?1:0;return tg(b,g,o)},getConflictingClassGroupIds:(m,b)=>{if(b){const g=r[m],p=u[m];return g?p?Iv(p,g):g:p||_p}return u[m]||_p}}},tg=(i,o,u)=>{if(i.length-o===0)return u.classGroupId;const c=i[o],d=u.nextPart.get(c);if(d){const p=tg(i,o+1,d);if(p)return p}const m=u.validators;if(m===null)return;const b=o===0?i.join(ur):i.slice(o).join(ur),g=m.length;for(let p=0;p<g;p++){const E=m[p];if(E.validator(b))return E.classGroupId}},e1=i=>i.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const o=i.slice(1,-1),u=o.indexOf(":"),r=o.slice(0,u);return r?Wv+r:void 0})(),t1=i=>{const{theme:o,classGroups:u}=i;return n1(u,o)},n1=(i,o)=>{const u=eg();for(const r in i){const c=i[r];Vc(c,u,r,o)}return u},Vc=(i,o,u,r)=>{const c=i.length;for(let d=0;d<c;d++){const m=i[d];l1(m,o,u,r)}},l1=(i,o,u,r)=>{if(typeof i=="string"){a1(i,o,u);return}if(typeof i=="function"){i1(i,o,u,r);return}o1(i,o,u,r)},a1=(i,o,u)=>{const r=i===""?o:ng(o,i);r.classGroupId=u},i1=(i,o,u,r)=>{if(s1(i)){Vc(i(r),o,u,r);return}o.validators===null&&(o.validators=[]),o.validators.push(Fv(u,i))},o1=(i,o,u,r)=>{const c=Object.entries(i),d=c.length;for(let m=0;m<d;m++){const[b,g]=c[m];Vc(g,ng(o,b),u,r)}},ng=(i,o)=>{let u=i;const r=o.split(ur),c=r.length;for(let d=0;d<c;d++){const m=r[d];let b=u.nextPart.get(m);b||(b=eg(),u.nextPart.set(m,b)),u=b}return u},s1=i=>"isThemeGetter"in i&&i.isThemeGetter===!0,r1=i=>{if(i<1)return{get:()=>{},set:()=>{}};let o=0,u=Object.create(null),r=Object.create(null);const c=(d,m)=>{u[d]=m,o++,o>i&&(o=0,r=u,u=Object.create(null))};return{get(d){let m=u[d];if(m!==void 0)return m;if((m=r[d])!==void 0)return c(d,m),m},set(d,m){d in u?u[d]=m:c(d,m)}}},jc="!",bp=":",u1=[],yp=(i,o,u,r,c)=>({modifiers:i,hasImportantModifier:o,baseClassName:u,maybePostfixModifierPosition:r,isExternal:c}),c1=i=>{const{prefix:o,experimentalParseClassName:u}=i;let r=c=>{const d=[];let m=0,b=0,g=0,p;const E=c.length;for(let G=0;G<E;G++){const Y=c[G];if(m===0&&b===0){if(Y===bp){d.push(c.slice(g,G)),g=G+1;continue}if(Y==="/"){p=G;continue}}Y==="["?m++:Y==="]"?m--:Y==="("?b++:Y===")"&&b--}const x=d.length===0?c:c.slice(g);let O=x,B=!1;x.endsWith(jc)?(O=x.slice(0,-1),B=!0):x.startsWith(jc)&&(O=x.slice(1),B=!0);const H=p&&p>g?p-g:void 0;return yp(d,B,O,H)};if(o){const c=o+bp,d=r;r=m=>m.startsWith(c)?d(m.slice(c.length)):yp(u1,!1,m,void 0,!0)}if(u){const c=r;r=d=>u({className:d,parseClassName:c})}return r},f1=i=>{const o=new Map;return i.orderSensitiveModifiers.forEach((u,r)=>{o.set(u,1e6+r)}),u=>{const r=[];let c=[];for(let d=0;d<u.length;d++){const m=u[d],b=m[0]==="[",g=o.has(m);b||g?(c.length>0&&(c.sort(),r.push(...c),c=[]),r.push(m)):c.push(m)}return c.length>0&&(c.sort(),r.push(...c)),r}},d1=i=>({cache:r1(i.cacheSize),parseClassName:c1(i),sortModifiers:f1(i),postfixLookupClassGroupIds:m1(i),...Pv(i)}),m1=i=>{const o=Object.create(null),u=i.postfixLookupClassGroups;if(u)for(let r=0;r<u.length;r++)o[u[r]]=!0;return o},h1=/\s+/,p1=(i,o)=>{const{parseClassName:u,getClassGroupId:r,getConflictingClassGroupIds:c,sortModifiers:d,postfixLookupClassGroupIds:m}=o,b=[],g=i.trim().split(h1);let p="";for(let E=g.length-1;E>=0;E-=1){const x=g[E],{isExternal:O,modifiers:B,hasImportantModifier:H,baseClassName:G,maybePostfixModifierPosition:Y}=u(x);if(O){p=x+(p.length>0?" "+p:p);continue}let re=!!Y,ae;if(re){const le=G.substring(0,Y);ae=r(le);const Q=ae&&m[ae]?r(G):void 0;Q&&Q!==ae&&(ae=Q,re=!1)}else ae=r(G);if(!ae){if(!re){p=x+(p.length>0?" "+p:p);continue}if(ae=r(G),!ae){p=x+(p.length>0?" "+p:p);continue}re=!1}const ee=B.length===0?"":B.length===1?B[0]:d(B).join(":"),ue=H?ee+jc:ee,pe=ue+ae;if(b.indexOf(pe)>-1)continue;b.push(pe);const fe=c(ae,re);for(let le=0;le<fe.length;++le){const Q=fe[le];b.push(ue+Q)}p=x+(p.length>0?" "+p:p)}return p},g1=(...i)=>{let o=0,u,r,c="";for(;o<i.length;)(u=i[o++])&&(r=lg(u))&&(c&&(c+=" "),c+=r);return c},lg=i=>{if(typeof i=="string")return i;let o,u="";for(let r=0;r<i.length;r++)i[r]&&(o=lg(i[r]))&&(u&&(u+=" "),u+=o);return u},_1=(i,...o)=>{let u,r,c,d;const m=g=>{const p=o.reduce((E,x)=>x(E),i());return u=d1(p),r=u.cache.get,c=u.cache.set,d=b,b(g)},b=g=>{const p=r(g);if(p)return p;const E=p1(g,u);return c(g,E),E};return d=m,(...g)=>d(g1(...g))},b1=[],gt=i=>{const o=u=>u[i]||b1;return o.isThemeGetter=!0,o},ag=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,ig=/^\((?:(\w[\w-]*):)?(.+)\)$/i,y1=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,v1=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,S1=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,T1=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,w1=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,x1=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Gl=i=>y1.test(i),_e=i=>!!i&&!Number.isNaN(Number(i)),Dn=i=>!!i&&Number.isInteger(Number(i)),zc=i=>i.endsWith("%")&&_e(i.slice(0,-1)),ol=i=>v1.test(i),og=()=>!0,E1=i=>S1.test(i)&&!T1.test(i),Kc=()=>!1,A1=i=>w1.test(i),k1=i=>x1.test(i),z1=i=>!I(i)&&!F(i),N1=i=>i.startsWith("@container")&&(i[10]==="/"&&i[11]!==void 0||i[11]==="s"&&i[16]!==void 0&&i.startsWith("-size/",10)||i[11]==="n"&&i[18]!==void 0&&i.startsWith("-normal/",10)),O1=i=>Ql(i,ug,Kc),I=i=>ag.test(i),ya=i=>Ql(i,cg,E1),vp=i=>Ql(i,H1,_e),C1=i=>Ql(i,dg,og),R1=i=>Ql(i,fg,Kc),Sp=i=>Ql(i,sg,Kc),M1=i=>Ql(i,rg,k1),ar=i=>Ql(i,mg,A1),F=i=>ig.test(i),xo=i=>xa(i,cg),D1=i=>xa(i,fg),Tp=i=>xa(i,sg),j1=i=>xa(i,ug),U1=i=>xa(i,rg),ir=i=>xa(i,mg,!0),L1=i=>xa(i,dg,!0),Ql=(i,o,u)=>{const r=ag.exec(i);return r?r[1]?o(r[1]):u(r[2]):!1},xa=(i,o,u=!1)=>{const r=ig.exec(i);return r?r[1]?o(r[1]):u:!1},sg=i=>i==="position"||i==="percentage",rg=i=>i==="image"||i==="url",ug=i=>i==="length"||i==="size"||i==="bg-size",cg=i=>i==="length",H1=i=>i==="number",fg=i=>i==="family-name",dg=i=>i==="number"||i==="weight",mg=i=>i==="shadow",q1=()=>{const i=gt("color"),o=gt("font"),u=gt("text"),r=gt("font-weight"),c=gt("tracking"),d=gt("leading"),m=gt("breakpoint"),b=gt("container"),g=gt("spacing"),p=gt("radius"),E=gt("shadow"),x=gt("inset-shadow"),O=gt("text-shadow"),B=gt("drop-shadow"),H=gt("blur"),G=gt("perspective"),Y=gt("aspect"),re=gt("ease"),ae=gt("animate"),ee=()=>["auto","avoid","all","avoid-page","page","left","right","column"],ue=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],pe=()=>[...ue(),F,I],fe=()=>["auto","hidden","clip","visible","scroll"],le=()=>["auto","contain","none"],Q=()=>[F,I,g],ke=()=>[Gl,"full","auto",...Q()],at=()=>[Dn,"none","subgrid",F,I],$e=()=>["auto",{span:["full",Dn,F,I]},Dn,F,I],je=()=>[Dn,"auto",F,I],vt=()=>["auto","min","max","fr",F,I],ct=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],be=()=>["start","end","center","stretch","center-safe","end-safe"],C=()=>["auto",...Q()],L=()=>[Gl,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...Q()],J=()=>[Gl,"screen","full","dvw","lvw","svw","min","max","fit",...Q()],ye=()=>[Gl,"screen","full","lh","dvh","lvh","svh","min","max","fit",...Q()],V=()=>[i,F,I],S=()=>[...ue(),Tp,Sp,{position:[F,I]}],j=()=>["no-repeat",{repeat:["","x","y","space","round"]}],K=()=>["auto","cover","contain",j1,O1,{size:[F,I]}],$=()=>[zc,xo,ya],ne=()=>["","none","full",p,F,I],ie=()=>["",_e,xo,ya],ve=()=>["solid","dashed","dotted","double"],et=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],de=()=>[_e,zc,Tp,Sp],mn=()=>["","none",H,F,I],Oe=()=>["none",_e,F,I],hn=()=>["none",_e,F,I],Le=()=>[_e,F,I],Rt=()=>[Gl,"full",...Q()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[ol],breakpoint:[ol],color:[og],container:[ol],"drop-shadow":[ol],ease:["in","out","in-out"],font:[z1],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[ol],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[ol],shadow:[ol],spacing:["px",_e],text:[ol],"text-shadow":[ol],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Gl,I,F,Y]}],container:["container"],"container-type":[{"@container":["","normal","size",F,I]}],"container-named":[N1],columns:[{columns:[_e,I,F,b]}],"break-after":[{"break-after":ee()}],"break-before":[{"break-before":ee()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:pe()}],overflow:[{overflow:fe()}],"overflow-x":[{"overflow-x":fe()}],"overflow-y":[{"overflow-y":fe()}],overscroll:[{overscroll:le()}],"overscroll-x":[{"overscroll-x":le()}],"overscroll-y":[{"overscroll-y":le()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:ke()}],"inset-x":[{"inset-x":ke()}],"inset-y":[{"inset-y":ke()}],start:[{"inset-s":ke(),start:ke()}],end:[{"inset-e":ke(),end:ke()}],"inset-bs":[{"inset-bs":ke()}],"inset-be":[{"inset-be":ke()}],top:[{top:ke()}],right:[{right:ke()}],bottom:[{bottom:ke()}],left:[{left:ke()}],visibility:["visible","invisible","collapse"],z:[{z:[Dn,"auto",F,I]}],basis:[{basis:[Gl,"full","auto",b,...Q()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[_e,Gl,"auto","initial","none",I]}],grow:[{grow:["",_e,F,I]}],shrink:[{shrink:["",_e,F,I]}],order:[{order:[Dn,"first","last","none",F,I]}],"grid-cols":[{"grid-cols":at()}],"col-start-end":[{col:$e()}],"col-start":[{"col-start":je()}],"col-end":[{"col-end":je()}],"grid-rows":[{"grid-rows":at()}],"row-start-end":[{row:$e()}],"row-start":[{"row-start":je()}],"row-end":[{"row-end":je()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":vt()}],"auto-rows":[{"auto-rows":vt()}],gap:[{gap:Q()}],"gap-x":[{"gap-x":Q()}],"gap-y":[{"gap-y":Q()}],"justify-content":[{justify:[...ct(),"normal"]}],"justify-items":[{"justify-items":[...be(),"normal"]}],"justify-self":[{"justify-self":["auto",...be()]}],"align-content":[{content:["normal",...ct()]}],"align-items":[{items:[...be(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...be(),{baseline:["","last"]}]}],"place-content":[{"place-content":ct()}],"place-items":[{"place-items":[...be(),"baseline"]}],"place-self":[{"place-self":["auto",...be()]}],p:[{p:Q()}],px:[{px:Q()}],py:[{py:Q()}],ps:[{ps:Q()}],pe:[{pe:Q()}],pbs:[{pbs:Q()}],pbe:[{pbe:Q()}],pt:[{pt:Q()}],pr:[{pr:Q()}],pb:[{pb:Q()}],pl:[{pl:Q()}],m:[{m:C()}],mx:[{mx:C()}],my:[{my:C()}],ms:[{ms:C()}],me:[{me:C()}],mbs:[{mbs:C()}],mbe:[{mbe:C()}],mt:[{mt:C()}],mr:[{mr:C()}],mb:[{mb:C()}],ml:[{ml:C()}],"space-x":[{"space-x":Q()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":Q()}],"space-y-reverse":["space-y-reverse"],size:[{size:L()}],"inline-size":[{inline:["auto",...J()]}],"min-inline-size":[{"min-inline":["auto",...J()]}],"max-inline-size":[{"max-inline":["none",...J()]}],"block-size":[{block:["auto",...ye()]}],"min-block-size":[{"min-block":["auto",...ye()]}],"max-block-size":[{"max-block":["none",...ye()]}],w:[{w:[b,"screen",...L()]}],"min-w":[{"min-w":[b,"screen","none",...L()]}],"max-w":[{"max-w":[b,"screen","none","prose",{screen:[m]},...L()]}],h:[{h:["screen","lh",...L()]}],"min-h":[{"min-h":["screen","lh","none",...L()]}],"max-h":[{"max-h":["screen","lh",...L()]}],"font-size":[{text:["base",u,xo,ya]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,L1,C1]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",zc,I]}],"font-family":[{font:[D1,R1,o]}],"font-features":[{"font-features":[I]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[c,F,I]}],"line-clamp":[{"line-clamp":[_e,"none",F,vp]}],leading:[{leading:[d,...Q()]}],"list-image":[{"list-image":["none",F,I]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",F,I]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:V()}],"text-color":[{text:V()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ve(),"wavy"]}],"text-decoration-thickness":[{decoration:[_e,"from-font","auto",F,ya]}],"text-decoration-color":[{decoration:V()}],"underline-offset":[{"underline-offset":[_e,"auto",F,I]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:Q()}],"tab-size":[{tab:[Dn,F,I]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",F,I]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",F,I]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:S()}],"bg-repeat":[{bg:j()}],"bg-size":[{bg:K()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Dn,F,I],radial:["",F,I],conic:[Dn,F,I]},U1,M1]}],"bg-color":[{bg:V()}],"gradient-from-pos":[{from:$()}],"gradient-via-pos":[{via:$()}],"gradient-to-pos":[{to:$()}],"gradient-from":[{from:V()}],"gradient-via":[{via:V()}],"gradient-to":[{to:V()}],rounded:[{rounded:ne()}],"rounded-s":[{"rounded-s":ne()}],"rounded-e":[{"rounded-e":ne()}],"rounded-t":[{"rounded-t":ne()}],"rounded-r":[{"rounded-r":ne()}],"rounded-b":[{"rounded-b":ne()}],"rounded-l":[{"rounded-l":ne()}],"rounded-ss":[{"rounded-ss":ne()}],"rounded-se":[{"rounded-se":ne()}],"rounded-ee":[{"rounded-ee":ne()}],"rounded-es":[{"rounded-es":ne()}],"rounded-tl":[{"rounded-tl":ne()}],"rounded-tr":[{"rounded-tr":ne()}],"rounded-br":[{"rounded-br":ne()}],"rounded-bl":[{"rounded-bl":ne()}],"border-w":[{border:ie()}],"border-w-x":[{"border-x":ie()}],"border-w-y":[{"border-y":ie()}],"border-w-s":[{"border-s":ie()}],"border-w-e":[{"border-e":ie()}],"border-w-bs":[{"border-bs":ie()}],"border-w-be":[{"border-be":ie()}],"border-w-t":[{"border-t":ie()}],"border-w-r":[{"border-r":ie()}],"border-w-b":[{"border-b":ie()}],"border-w-l":[{"border-l":ie()}],"divide-x":[{"divide-x":ie()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ie()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ve(),"hidden","none"]}],"divide-style":[{divide:[...ve(),"hidden","none"]}],"border-color":[{border:V()}],"border-color-x":[{"border-x":V()}],"border-color-y":[{"border-y":V()}],"border-color-s":[{"border-s":V()}],"border-color-e":[{"border-e":V()}],"border-color-bs":[{"border-bs":V()}],"border-color-be":[{"border-be":V()}],"border-color-t":[{"border-t":V()}],"border-color-r":[{"border-r":V()}],"border-color-b":[{"border-b":V()}],"border-color-l":[{"border-l":V()}],"divide-color":[{divide:V()}],"outline-style":[{outline:[...ve(),"none","hidden"]}],"outline-offset":[{"outline-offset":[_e,F,I]}],"outline-w":[{outline:["",_e,xo,ya]}],"outline-color":[{outline:V()}],shadow:[{shadow:["","none",E,ir,ar]}],"shadow-color":[{shadow:V()}],"inset-shadow":[{"inset-shadow":["none",x,ir,ar]}],"inset-shadow-color":[{"inset-shadow":V()}],"ring-w":[{ring:ie()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:V()}],"ring-offset-w":[{"ring-offset":[_e,ya]}],"ring-offset-color":[{"ring-offset":V()}],"inset-ring-w":[{"inset-ring":ie()}],"inset-ring-color":[{"inset-ring":V()}],"text-shadow":[{"text-shadow":["none",O,ir,ar]}],"text-shadow-color":[{"text-shadow":V()}],opacity:[{opacity:[_e,F,I]}],"mix-blend":[{"mix-blend":[...et(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":et()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[_e]}],"mask-image-linear-from-pos":[{"mask-linear-from":de()}],"mask-image-linear-to-pos":[{"mask-linear-to":de()}],"mask-image-linear-from-color":[{"mask-linear-from":V()}],"mask-image-linear-to-color":[{"mask-linear-to":V()}],"mask-image-t-from-pos":[{"mask-t-from":de()}],"mask-image-t-to-pos":[{"mask-t-to":de()}],"mask-image-t-from-color":[{"mask-t-from":V()}],"mask-image-t-to-color":[{"mask-t-to":V()}],"mask-image-r-from-pos":[{"mask-r-from":de()}],"mask-image-r-to-pos":[{"mask-r-to":de()}],"mask-image-r-from-color":[{"mask-r-from":V()}],"mask-image-r-to-color":[{"mask-r-to":V()}],"mask-image-b-from-pos":[{"mask-b-from":de()}],"mask-image-b-to-pos":[{"mask-b-to":de()}],"mask-image-b-from-color":[{"mask-b-from":V()}],"mask-image-b-to-color":[{"mask-b-to":V()}],"mask-image-l-from-pos":[{"mask-l-from":de()}],"mask-image-l-to-pos":[{"mask-l-to":de()}],"mask-image-l-from-color":[{"mask-l-from":V()}],"mask-image-l-to-color":[{"mask-l-to":V()}],"mask-image-x-from-pos":[{"mask-x-from":de()}],"mask-image-x-to-pos":[{"mask-x-to":de()}],"mask-image-x-from-color":[{"mask-x-from":V()}],"mask-image-x-to-color":[{"mask-x-to":V()}],"mask-image-y-from-pos":[{"mask-y-from":de()}],"mask-image-y-to-pos":[{"mask-y-to":de()}],"mask-image-y-from-color":[{"mask-y-from":V()}],"mask-image-y-to-color":[{"mask-y-to":V()}],"mask-image-radial":[{"mask-radial":[F,I]}],"mask-image-radial-from-pos":[{"mask-radial-from":de()}],"mask-image-radial-to-pos":[{"mask-radial-to":de()}],"mask-image-radial-from-color":[{"mask-radial-from":V()}],"mask-image-radial-to-color":[{"mask-radial-to":V()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":ue()}],"mask-image-conic-pos":[{"mask-conic":[_e]}],"mask-image-conic-from-pos":[{"mask-conic-from":de()}],"mask-image-conic-to-pos":[{"mask-conic-to":de()}],"mask-image-conic-from-color":[{"mask-conic-from":V()}],"mask-image-conic-to-color":[{"mask-conic-to":V()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:S()}],"mask-repeat":[{mask:j()}],"mask-size":[{mask:K()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",F,I]}],filter:[{filter:["","none",F,I]}],blur:[{blur:mn()}],brightness:[{brightness:[_e,F,I]}],contrast:[{contrast:[_e,F,I]}],"drop-shadow":[{"drop-shadow":["","none",B,ir,ar]}],"drop-shadow-color":[{"drop-shadow":V()}],grayscale:[{grayscale:["",_e,F,I]}],"hue-rotate":[{"hue-rotate":[_e,F,I]}],invert:[{invert:["",_e,F,I]}],saturate:[{saturate:[_e,F,I]}],sepia:[{sepia:["",_e,F,I]}],"backdrop-filter":[{"backdrop-filter":["","none",F,I]}],"backdrop-blur":[{"backdrop-blur":mn()}],"backdrop-brightness":[{"backdrop-brightness":[_e,F,I]}],"backdrop-contrast":[{"backdrop-contrast":[_e,F,I]}],"backdrop-grayscale":[{"backdrop-grayscale":["",_e,F,I]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[_e,F,I]}],"backdrop-invert":[{"backdrop-invert":["",_e,F,I]}],"backdrop-opacity":[{"backdrop-opacity":[_e,F,I]}],"backdrop-saturate":[{"backdrop-saturate":[_e,F,I]}],"backdrop-sepia":[{"backdrop-sepia":["",_e,F,I]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":Q()}],"border-spacing-x":[{"border-spacing-x":Q()}],"border-spacing-y":[{"border-spacing-y":Q()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",F,I]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[_e,"initial",F,I]}],ease:[{ease:["linear","initial",re,F,I]}],delay:[{delay:[_e,F,I]}],animate:[{animate:["none",ae,F,I]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[G,F,I]}],"perspective-origin":[{"perspective-origin":pe()}],rotate:[{rotate:Oe()}],"rotate-x":[{"rotate-x":Oe()}],"rotate-y":[{"rotate-y":Oe()}],"rotate-z":[{"rotate-z":Oe()}],scale:[{scale:hn()}],"scale-x":[{"scale-x":hn()}],"scale-y":[{"scale-y":hn()}],"scale-z":[{"scale-z":hn()}],"scale-3d":["scale-3d"],skew:[{skew:Le()}],"skew-x":[{"skew-x":Le()}],"skew-y":[{"skew-y":Le()}],transform:[{transform:[F,I,"","none","gpu","cpu"]}],"transform-origin":[{origin:pe()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Rt()}],"translate-x":[{"translate-x":Rt()}],"translate-y":[{"translate-y":Rt()}],"translate-z":[{"translate-z":Rt()}],"translate-none":["translate-none"],zoom:[{zoom:[Dn,F,I]}],accent:[{accent:V()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:V()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",F,I]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":V()}],"scrollbar-track-color":[{"scrollbar-track":V()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":Q()}],"scroll-mx":[{"scroll-mx":Q()}],"scroll-my":[{"scroll-my":Q()}],"scroll-ms":[{"scroll-ms":Q()}],"scroll-me":[{"scroll-me":Q()}],"scroll-mbs":[{"scroll-mbs":Q()}],"scroll-mbe":[{"scroll-mbe":Q()}],"scroll-mt":[{"scroll-mt":Q()}],"scroll-mr":[{"scroll-mr":Q()}],"scroll-mb":[{"scroll-mb":Q()}],"scroll-ml":[{"scroll-ml":Q()}],"scroll-p":[{"scroll-p":Q()}],"scroll-px":[{"scroll-px":Q()}],"scroll-py":[{"scroll-py":Q()}],"scroll-ps":[{"scroll-ps":Q()}],"scroll-pe":[{"scroll-pe":Q()}],"scroll-pbs":[{"scroll-pbs":Q()}],"scroll-pbe":[{"scroll-pbe":Q()}],"scroll-pt":[{"scroll-pt":Q()}],"scroll-pr":[{"scroll-pr":Q()}],"scroll-pb":[{"scroll-pb":Q()}],"scroll-pl":[{"scroll-pl":Q()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",F,I]}],fill:[{fill:["none",...V()]}],"stroke-w":[{stroke:[_e,xo,ya,vp]}],stroke:[{stroke:["none",...V()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},B1=_1(q1),G1=(...i)=>B1(Pp(i)),Y1=$v("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8"}},defaultVariants:{variant:"default",size:"default"}}),hg=q.forwardRef(({className:i,variant:o,size:u,asChild:r=!1,...c},d)=>{const m=r?qv:"button";return v.jsx(m,{className:G1(Y1({variant:o,size:u,className:i})),ref:d,...c})});hg.displayName="Button";const Z1=1500,pg=({url:i,label:o="Copy URL"})=>{const[u,r]=q.useState(!1),c=q.useRef(null);q.useEffect(()=>()=>{c.current!==null&&clearTimeout(c.current)},[]);const d=async()=>{await navigator.clipboard.writeText(i),r(!0),c.current!==null&&clearTimeout(c.current),c.current=setTimeout(()=>{r(!1),c.current=null},Z1)};return v.jsx(hg,{type:"button",variant:"ghost",size:"sm",className:"console-copy-url-button","aria-label":u?"URL copied to clipboard":o,onClick:d,children:u?"Copied":"Copy URL"})},X1=({pullRequest:i,body:o,bodyIsLoading:u,files:r,filesAreLoading:c,filesError:d,commits:m,commitsAreLoading:b,commitsError:g,now:p,buildImageProxyUrl:E})=>{const x=i.summary,O=c||d!==null?null:r.length,B=b||g!==null?null:m.length;return v.jsxs(v.Fragment,{children:[v.jsxs("div",{className:"console-pr-header",children:[v.jsx("a",{href:i.url,className:"console-pr-section-title",target:"_blank",rel:"noopener noreferrer",children:(x==null?void 0:x.title)??i.url}),i.isDraft&&v.jsx("span",{className:"console-pr-section-state",children:"draft"}),v.jsx(pg,{url:i.url,label:"Copy PR URL"}),v.jsxs("div",{className:"console-pr-statbar",children:[i.branchName!==null&&v.jsx("span",{className:"console-pr-branch",children:i.branchName}),x!==null&&v.jsxs(v.Fragment,{children:[v.jsxs("span",{className:"console-pr-add",children:["+",x.additions]}),v.jsxs("span",{className:"console-pr-del",children:["-",x.deletions]}),v.jsxs("span",{className:"console-pr-files-count",children:[x.changedFiles," files"]})]})]})]}),v.jsx(va,{title:"Description",defaultCollapsed:!0,children:u?v.jsx("p",{className:"console-pr-body-loading",children:"Loading description..."}):v.jsx(dr,{body:(x==null?void 0:x.body)??o,buildImageProxyUrl:E})}),v.jsx(va,{title:"Changed files",count:O,children:v.jsx(Ip,{files:r,isLoading:c,error:d})}),v.jsx(va,{title:"Commits",count:B,defaultCollapsed:!0,children:v.jsx(Fp,{commits:m,isLoading:b,error:g,now:p})})]})},Q1=({item:i,storyName:o,storyColorEnum:u,overlayStatus:r,state:c,body:d,bodyIsLoading:m,bodyError:b,comments:g,commentsAreLoading:p,commentsError:E,files:x,filesAreLoading:O,filesError:B,commits:H,commitsAreLoading:G,commitsError:Y,relatedPullRequests:re,now:ae,commentComposer:ee,operationBar:ue,buildImageProxyUrl:pe,onAddInlineComment:fe})=>{const le=(c==null?void 0:c.state)??"open",Q=(c==null?void 0:c.merged)??!1,ke=!i.isPr&&le==="closed"?"Closed":null,at=No(u),$e=r?No(r.color):null,je=O||B!==null?null:x.length,vt=p||E!==null?null:g.length,ct=G||Y!==null?null:H.length;return v.jsxs("article",{className:"console-detail",children:[o!==null&&v.jsx("div",{className:"console-detail-story",children:v.jsxs("span",{className:"console-storytag",children:[v.jsx("span",{className:"console-story-dot",style:{backgroundColor:at.dot}}),o]})}),r!==null&&$e!==null&&v.jsx("span",{className:"console-detail-status-chip",style:{color:$e.fg,borderColor:$e.border,backgroundColor:$e.bg},children:r.name}),v.jsxs("h2",{className:"console-detail-title",children:[v.jsx(zp,{isPr:i.isPr,state:le,merged:Q,isDraft:!1,stateReason:""}),v.jsx("span",{className:"console-detail-title-text",children:i.title}),v.jsx("span",{className:"console-detail-number",children:i.isPr?`PR #${i.number}`:`#${i.number}`}),ke!==null&&v.jsx("span",{className:"console-detail-closed-label",children:ke})]}),v.jsxs("div",{className:"console-detail-subbar",children:[v.jsx("a",{href:i.url,className:"console-detail-link",target:"_blank",rel:"noopener noreferrer",children:i.isPr?`PR #${i.number}`:`Issue #${i.number}`}),v.jsx("span",{className:"console-detail-repo",children:i.repo}),v.jsx("span",{className:"console-detail-pill",children:i.isPr?"PR":"Issue"}),v.jsx(pg,{url:i.url})]}),i.labels.length>0&&v.jsx("div",{className:"console-detail-labels",children:i.labels.map(be=>v.jsx("span",{className:"console-label-chip",children:be},be))}),v.jsxs("div",{className:"console-detail-createdat",title:Lc(i.createdAt),children:["opened ",Oo(i.createdAt,ae)]}),v.jsx(va,{title:"Description",headerAction:v.jsx("a",{href:i.url,className:"console-panel-open-link",target:"_blank",rel:"noopener noreferrer",children:"open"}),children:b!==null?v.jsxs("p",{role:"alert",className:"console-detail-body-error",children:["Failed to load description: ",b]}):m?v.jsx("p",{className:"console-detail-body-loading",children:"Loading description..."}):v.jsx(dr,{body:d,buildImageProxyUrl:pe})}),i.isPr&&v.jsx(va,{title:"Changed files",count:je,children:v.jsx(Ip,{files:x,isLoading:O,error:B,onAddInlineComment:fe})}),v.jsx(va,{title:"Comments",count:vt,defaultCollapsed:i.isPr,children:v.jsx(Mv,{comments:g,isLoading:p,error:E,now:ae,buildImageProxyUrl:pe})}),i.isPr&&v.jsx(va,{title:"Commits",count:ct,defaultCollapsed:!0,children:v.jsx(Fp,{commits:H,isLoading:G,error:Y,now:ae})}),!i.isPr&&re.map(be=>{var C;return v.jsx(X1,{pullRequest:be.pullRequest,body:((C=be.pullRequest.summary)==null?void 0:C.body)??"",bodyIsLoading:!1,files:be.files,filesAreLoading:be.filesAreLoading,filesError:be.filesError,commits:be.commits,commitsAreLoading:be.commitsAreLoading,commitsError:be.commitsError,now:ae,buildImageProxyUrl:pe},be.pullRequest.url)}),ee,v.jsx("div",{className:"console-actionbar",children:ue})]})},V1=({onClose:i})=>v.jsxs("div",{className:"console-op-group",children:[v.jsx("button",{type:"button",className:"console-op-button",onClick:()=>i("close_not_planned"),children:"Close as not planned"}),v.jsx("button",{type:"button",className:"console-op-button",onClick:()=>i("close"),children:"Close"})]}),K1=({isTodoByHuman:i,onSetNextActionDate:o})=>v.jsxs("div",{className:"console-op-group",children:[v.jsx("button",{type:"button",className:"console-op-button console-op-button-snooze",onClick:()=>o("snooze_1day"),children:"+1 day"}),v.jsx("button",{type:"button",className:"console-op-button console-op-button-snooze",onClick:()=>o("snooze_1week"),children:i?"+1 week and skip":"+1 week"})]}),J1=[{action:"unnecessary",label:"Unnecessary",variant:"unneeded"},{action:"totally_wrong",label:"Totally wrong",variant:"wrong"},{action:"request_changes",label:"Reject",variant:"reject"},{action:"approve",label:"Approve",variant:"approve"}],$1=({onReview:i})=>v.jsx("div",{className:"console-op-group console-op-group-review",children:J1.map(o=>v.jsx("button",{type:"button",className:`console-op-button console-op-button-${o.variant}`,onClick:()=>i(o.action),children:o.label},o.action))}),I1=(i,o)=>{const u=o.toLowerCase();return i.find(r=>r.name.toLowerCase()===u)??null},F1=({statusOptions:i,onSetStatus:o,onSetInTmuxByHuman:u})=>{const r=vy.map(c=>({name:c,option:I1(i,c)})).filter(c=>c.option!==null);return r.length===0?null:v.jsx("div",{className:"console-op-group",children:r.map(({name:c,option:d})=>{const m=No(d.color),b=c===Sy;return v.jsx("button",{type:"button",className:"console-op-button",style:{color:m.fg,borderColor:m.border,backgroundColor:m.bg},onClick:()=>b?u(d):o(d),children:d.name},d.id)})})},W1=i=>i.name.toLowerCase().includes("no story"),P1=({storyOptions:i,onSetStory:o})=>{const u=i.filter(r=>!W1(r));return u.length===0?null:v.jsx("div",{className:"console-op-group console-op-group-stories",children:u.map(r=>{const c=No(r.color);return v.jsx("button",{type:"button",className:"console-op-button",style:{color:c.fg,borderColor:c.border,backgroundColor:c.bg},onClick:()=>o(r),children:r.name},r.id)})})},eS=({tab:i,item:o,hasPullRequest:u,statusOptions:r,storyOptions:c,handlers:d})=>{const m=i==="triage",b=i==="workflow-blocker"||!o.isPr;return v.jsxs("div",{className:"console-operation-bar",children:[u&&v.jsx($1,{onReview:d.onReview}),v.jsx(K1,{isTodoByHuman:Ty(i),onSetNextActionDate:d.onSetNextActionDate}),m&&v.jsx(P1,{storyOptions:c,onSetStory:d.onSetStory}),v.jsx(F1,{statusOptions:r,onSetStatus:d.onSetStatus,onSetInTmuxByHuman:d.onSetInTmuxByHuman}),b&&v.jsx(V1,{onClose:d.onClose})]})},vi=(i,o,u,r)=>{const c=o!==null?i.peek(o):void 0,[d,m]=q.useState(c??r),[b,g]=q.useState(o!==null&&c===void 0),[p,E]=q.useState(null);return q.useEffect(()=>{if(o===null||u===null)return;const x=i.peek(o);if(x!==void 0){m(x),g(!1),E(null);return}let O=!1;return g(!0),E(null),i.load(o,u).then(B=>{O||(m(B),g(!1))}).catch(B=>{O||(E(B instanceof Error?B.message:String(B)),g(!1))}),()=>{O=!0}},[i,o,u]),{data:d,isLoading:b,error:p}},tS=[],wp=[],xp=[],nS=[],lS={state:"open",merged:!1,isPullRequest:!1},aS=(i,o)=>{const u=o!==null?`${o.repo}#${o.number}`:null,r=o!==null?o.url:null,c=(o==null?void 0:o.isPr)??!1,d=vi(i.body,u,r,""),m=vi(i.state,u,r,lS),b=vi(i.comments,u,r,tS),g=vi(i.files,c?u:null,c?r:null,wp),p=vi(i.commits,c?u:null,c?r:null,xp),E=vi(i.relatedPrs,c?null:u,c?null:r,nS),[x,O]=q.useState([]);return q.useEffect(()=>{if(c||E.data.length===0){O([]);return}let B=!1;const H=E.data.map(Y=>({pullRequest:Y,files:wp,filesAreLoading:!0,filesError:null,commits:xp,commitsAreLoading:!0,commitsError:null}));O(H);const G=(Y,re)=>{B||O(ae=>ae.map(ee=>ee.pullRequest.url===Y?{...ee,...re}:ee))};for(const Y of E.data){const re=Y.url;i.files.load(re,Y.url).then(ae=>G(Y.url,{files:ae,filesAreLoading:!1})).catch(ae=>G(Y.url,{filesAreLoading:!1,filesError:ae instanceof Error?ae.message:String(ae)})),i.commits.load(re,Y.url).then(ae=>G(Y.url,{commits:ae,commitsAreLoading:!1})).catch(ae=>G(Y.url,{commitsAreLoading:!1,commitsError:ae instanceof Error?ae.message:String(ae)}))}return()=>{B=!0}},[i,c,E.data]),{state:m.data,body:d.data,bodyIsLoading:d.isLoading,bodyError:d.error,comments:b.data,commentsAreLoading:b.isLoading,commentsError:b.error,files:g.data,filesAreLoading:g.isLoading,filesError:g.error,commits:p.data,commitsAreLoading:p.isLoading,commitsError:p.error,relatedPullRequests:x}},iS=({tab:i,item:o,caches:u,operations:r,statusOptions:c,storyOptions:d,storyColors:m,storyName:b,overlayStatus:g,now:p,onQueueAction:E})=>{const x=aS(u,o),{token:O}=cr(),B=q.useCallback(ee=>Wy(ee,O),[O]),H=o.isPr||x.relatedPullRequests.length>0,G=q.useCallback((ee,ue,pe,fe)=>r.addInlineReviewComment(o.url,ee,ue,pe,fe),[r,o.url]),Y={onReview:ee=>{var pe;const ue=o.isPr?o.url:((pe=x.relatedPullRequests[0])==null?void 0:pe.pullRequest.url)??o.url;E({kind:{type:"review",action:ee},item:o,commit:()=>r.reviewPullRequest(o,ue,ee)})},onSetNextActionDate:ee=>{E({kind:{type:"next_action_date",action:ee},item:o,commit:()=>r.setNextActionDate(o,ee)})},onSetStory:ee=>{E({kind:{type:"set_story",optionName:ee.name},item:o,commit:()=>r.setStory(o,ee)})},onSetStatus:ee=>{E({kind:{type:"set_status",optionName:ee.name},item:o,commit:()=>r.setStatus(o,ee)})},onSetInTmuxByHuman:ee=>{E({kind:{type:"set_in_tmux_by_human",optionName:ee.name},item:o,commit:()=>r.setInTmuxByHuman(o,ee)})},onClose:ee=>{E({kind:{type:"close",action:ee},item:o,commit:()=>r.closeIssue(o,ee)})}},re=b??(o.story.trim()!==""?o.story:null),ae=re!==null?Ep(m,re):null;return v.jsx(Q1,{item:o,storyName:re,storyColorEnum:ae,overlayStatus:g,state:x.state,body:x.body,bodyIsLoading:x.bodyIsLoading,bodyError:x.bodyError,comments:x.comments,commentsAreLoading:x.commentsAreLoading,commentsError:x.commentsError,files:x.files,filesAreLoading:x.filesAreLoading,filesError:x.filesError,commits:x.commits,commitsAreLoading:x.commitsAreLoading,commitsError:x.commitsError,relatedPullRequests:x.relatedPullRequests,now:p,buildImageProxyUrl:B,onAddInlineComment:o.isPr?G:void 0,commentComposer:v.jsx(xv,{isPr:o.isPr,now:p,onSubmit:ee=>r.addComment(o,ee)}),operationBar:v.jsx(eS,{tab:i,item:o,hasPullRequest:H,statusOptions:c,storyOptions:d,handlers:Y})})},oS=()=>{const i={};for(const o of Tn)i[o.name]=0;return i},sS="console",rS=()=>{const i=Ly(),{snapshots:o,isLoading:u,error:r}=Vy(i),c=jy(i??sS),d=q.useMemo(()=>{const L=oS();for(const J of Tn){const ye=o[J.name];ye!==null&&(L[J.name]=Ey(ye.items,c.overlay,J.name))}return L},[o,c.overlay]),m=_y(i,d),{activeTab:b,selectedItemKey:g,openItem:p,closeItem:E,selectTab:x}=m,O=my(),B=Cy(i,b,c),H=Pb(),G=Date.now(),Y=o[b],re=q.useMemo(()=>Y===null?[]:Ay(Y.items,c.overlay,b),[Y,c.overlay,b]),ae=q.useMemo(()=>re.map(L=>sl(L)),[re]),ee=q.useMemo(()=>Hb(re,c.overlay),[re,c.overlay]),ue=(Y==null?void 0:Y.storyColors)??{},pe=(Y==null?void 0:Y.statusOptions)??[],fe=(Y==null?void 0:Y.storyOptions)??[],le=(Y==null?void 0:Y.generatedAt)??null,Q=q.useMemo(()=>g===null||Y===null?null:Y.items.find(L=>L.projectItemId===g)??null,[g,Y]),ke=d[b],at=q.useRef({tab:b,count:ke});q.useEffect(()=>{const L=at.current;if(at.current={tab:b,count:ke},L.tab===b&&L.count>0&&ke===0){const J=hy(b,d);J!==null&&(x(J),E())}},[b,ke,d,x,E]);const $e=(()=>{if(Q===null)return null;const L=c.overlay[sl(Q)];return(L==null?void 0:L.status)??null})(),je=Q!==null?Nc(Q,c.overlay):null,vt=q.useCallback(L=>{const J=Ky(ae,L);J!==null?p(J):E()},[ae,p,E]),ct=q.useCallback(L=>{const J=sl(L.item);H.enqueue({message:Ib(L.kind,L.item,b),color:Jb(L.kind),commit:L.commit,advance:()=>{$b(L.kind,b)&&vt(J)}})},[H,b,vt]),be=q.useCallback(L=>{if(g===null||L===null)return;const J=L==="next"?Jy(ae,g):$y(ae,g);J!==null&&p(J)},[g,ae,p]),C=Yy(be);return v.jsxs("main",{className:"console-app",children:[H.pending!==null&&v.jsx(Xb,{message:H.pending.message,color:H.pending.color,remainingSeconds:H.pending.remainingSeconds,progress:H.pending.progress,onUndo:H.undo}),H.error!==null&&v.jsx(Qb,{message:`Operation failed: ${H.error.reason}`,onDismiss:H.dismissError}),v.jsx(Ub,{activeTab:b,counts:d,pjcode:i,generatedAt:le,tabHref:m.tabHref,onSelectTab:m.selectTab}),Q===null?v.jsx(Zb,{rows:ee,storyColors:ue,activeItemId:null,now:G,isLoading:u,error:r,onSelectItem:L=>m.openItem(L.projectItemId)}):v.jsx("div",{className:"console-detail-screen",ref:C,children:v.jsx(iS,{tab:b,item:Q,caches:O,operations:B,statusOptions:pe,storyOptions:fe,storyColors:ue,storyName:je,overlayStatus:$e,now:G,onQueueAction:ct})})]})},gg=document.getElementById("root");if(gg===null)throw new Error("Root container #root not found");jb.createRoot(gg).render(v.jsx(q.StrictMode,{children:v.jsx(rS,{})}));
101
+ `)[0],Fp=({commits:i,isLoading:o,error:u,now:r})=>u!==null?v.jsxs("p",{role:"alert",className:"console-commits-error",children:["Failed to load commits: ",u]}):o?v.jsx("p",{className:"console-commits-loading",children:"Loading commits..."}):i.length===0?v.jsx("p",{className:"console-commits-empty",children:"No commits."}):v.jsx("ul",{className:"console-commits",children:i.map(c=>v.jsxs("li",{className:"console-commit",children:[v.jsx("span",{className:"console-commit-message",children:jv(c.message)}),v.jsx("span",{className:"console-commit-sha",children:Dv(c.sha)}),v.jsx("span",{className:"console-commit-author",children:c.author}),v.jsx("span",{className:"console-commit-time",children:Oo(c.authoredAt,r)})]},c.sha))});function mp(i,o){if(typeof i=="function")return i(o);i!=null&&(i.current=o)}function Uv(...i){return o=>{let u=!1;const r=i.map(c=>{const d=mp(c,o);return!u&&typeof d=="function"&&(u=!0),d});if(u)return()=>{for(let c=0;c<r.length;c++){const d=r[c];typeof d=="function"?d():mp(i[c],null)}}}}function Lv(...i){return q.useCallback(Uv(...i),i)}function Hv(i){const o=q.forwardRef((u,r)=>{let{children:c,...d}=u,m=null,b=!1;const g=[];hp(c)&&typeof lr=="function"&&(c=lr(c._payload)),q.Children.forEach(c,O=>{var B;if(Xv(O)){b=!0;const H=O;let G="child"in H.props?H.props.child:H.props.children;hp(G)&&typeof lr=="function"&&(G=lr(G._payload)),m=Gv(H,G),g.push((B=m==null?void 0:m.props)==null?void 0:B.children)}else g.push(O)}),m?m=q.cloneElement(m,void 0,g):!b&&q.Children.count(c)===1&&q.isValidElement(c)&&(m=c);const p=m?Zv(m):void 0,E=Lv(r,p);if(!m){if(c||c===0)throw new Error(b?Jv(i):Kv(i));return c}const x=Yv(d,m.props??{});return m.type!==q.Fragment&&(x.ref=r?E:p),q.cloneElement(m,x)});return o.displayName=`${i}.Slot`,o}var qv=Hv("Slot"),Bv=Symbol.for("radix.slottable"),Gv=(i,o)=>{if("child"in i.props){const u=i.props.child;return q.isValidElement(u)?q.cloneElement(u,void 0,i.props.children(u.props.children)):null}return q.isValidElement(o)?o:null};function Yv(i,o){const u={...o};for(const r in o){const c=i[r],d=o[r];/^on[A-Z]/.test(r)?c&&d?u[r]=(...b)=>{const g=d(...b);return c(...b),g}:c&&(u[r]=c):r==="style"?u[r]={...c,...d}:r==="className"&&(u[r]=[c,d].filter(Boolean).join(" "))}return{...i,...u}}function Zv(i){var r,c;let o=(r=Object.getOwnPropertyDescriptor(i.props,"ref"))==null?void 0:r.get,u=o&&"isReactWarning"in o&&o.isReactWarning;return u?i.ref:(o=(c=Object.getOwnPropertyDescriptor(i,"ref"))==null?void 0:c.get,u=o&&"isReactWarning"in o&&o.isReactWarning,u?i.props.ref:i.props.ref||i.ref)}function Xv(i){return q.isValidElement(i)&&typeof i.type=="function"&&"__radixId"in i.type&&i.type.__radixId===Bv}var Qv=Symbol.for("react.lazy");function hp(i){return i!=null&&typeof i=="object"&&"$$typeof"in i&&i.$$typeof===Qv&&"_payload"in i&&Vv(i._payload)}function Vv(i){return typeof i=="object"&&i!==null&&"then"in i}var Kv=i=>`${i} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,Jv=i=>`${i} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,lr=zb[" use ".trim().toString()];function Wp(i){var o,u,r="";if(typeof i=="string"||typeof i=="number")r+=i;else if(typeof i=="object")if(Array.isArray(i)){var c=i.length;for(o=0;o<c;o++)i[o]&&(u=Wp(i[o]))&&(r&&(r+=" "),r+=u)}else for(u in i)i[u]&&(r&&(r+=" "),r+=u);return r}function Pp(){for(var i,o,u=0,r="",c=arguments.length;u<c;u++)(i=arguments[u])&&(o=Wp(i))&&(r&&(r+=" "),r+=o);return r}const pp=i=>typeof i=="boolean"?`${i}`:i===0?"0":i,gp=Pp,$v=(i,o)=>u=>{var r;if((o==null?void 0:o.variants)==null)return gp(i,u==null?void 0:u.class,u==null?void 0:u.className);const{variants:c,defaultVariants:d}=o,m=Object.keys(c).map(p=>{const E=u==null?void 0:u[p],x=d==null?void 0:d[p];if(E===null)return null;const O=pp(E)||pp(x);return c[p][O]}),b=u&&Object.entries(u).reduce((p,E)=>{let[x,O]=E;return O===void 0||(p[x]=O),p},{}),g=o==null||(r=o.compoundVariants)===null||r===void 0?void 0:r.reduce((p,E)=>{let{class:x,className:O,...B}=E;return Object.entries(B).every(H=>{let[G,Y]=H;return Array.isArray(Y)?Y.includes({...d,...b}[G]):{...d,...b}[G]===Y})?[...p,x,O]:p},[]);return gp(i,m,g,u==null?void 0:u.class,u==null?void 0:u.className)},Iv=(i,o)=>{const u=new Array(i.length+o.length);for(let r=0;r<i.length;r++)u[r]=i[r];for(let r=0;r<o.length;r++)u[i.length+r]=o[r];return u},Fv=(i,o)=>({classGroupId:i,validator:o}),eg=(i=new Map,o=null,u)=>({nextPart:i,validators:o,classGroupId:u}),ur="-",_p=[],Wv="arbitrary..",Pv=i=>{const o=t1(i),{conflictingClassGroups:u,conflictingClassGroupModifiers:r}=i;return{getClassGroupId:m=>{if(m.startsWith("[")&&m.endsWith("]"))return e1(m);const b=m.split(ur),g=b[0]===""&&b.length>1?1:0;return tg(b,g,o)},getConflictingClassGroupIds:(m,b)=>{if(b){const g=r[m],p=u[m];return g?p?Iv(p,g):g:p||_p}return u[m]||_p}}},tg=(i,o,u)=>{if(i.length-o===0)return u.classGroupId;const c=i[o],d=u.nextPart.get(c);if(d){const p=tg(i,o+1,d);if(p)return p}const m=u.validators;if(m===null)return;const b=o===0?i.join(ur):i.slice(o).join(ur),g=m.length;for(let p=0;p<g;p++){const E=m[p];if(E.validator(b))return E.classGroupId}},e1=i=>i.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const o=i.slice(1,-1),u=o.indexOf(":"),r=o.slice(0,u);return r?Wv+r:void 0})(),t1=i=>{const{theme:o,classGroups:u}=i;return n1(u,o)},n1=(i,o)=>{const u=eg();for(const r in i){const c=i[r];Vc(c,u,r,o)}return u},Vc=(i,o,u,r)=>{const c=i.length;for(let d=0;d<c;d++){const m=i[d];l1(m,o,u,r)}},l1=(i,o,u,r)=>{if(typeof i=="string"){a1(i,o,u);return}if(typeof i=="function"){i1(i,o,u,r);return}o1(i,o,u,r)},a1=(i,o,u)=>{const r=i===""?o:ng(o,i);r.classGroupId=u},i1=(i,o,u,r)=>{if(s1(i)){Vc(i(r),o,u,r);return}o.validators===null&&(o.validators=[]),o.validators.push(Fv(u,i))},o1=(i,o,u,r)=>{const c=Object.entries(i),d=c.length;for(let m=0;m<d;m++){const[b,g]=c[m];Vc(g,ng(o,b),u,r)}},ng=(i,o)=>{let u=i;const r=o.split(ur),c=r.length;for(let d=0;d<c;d++){const m=r[d];let b=u.nextPart.get(m);b||(b=eg(),u.nextPart.set(m,b)),u=b}return u},s1=i=>"isThemeGetter"in i&&i.isThemeGetter===!0,r1=i=>{if(i<1)return{get:()=>{},set:()=>{}};let o=0,u=Object.create(null),r=Object.create(null);const c=(d,m)=>{u[d]=m,o++,o>i&&(o=0,r=u,u=Object.create(null))};return{get(d){let m=u[d];if(m!==void 0)return m;if((m=r[d])!==void 0)return c(d,m),m},set(d,m){d in u?u[d]=m:c(d,m)}}},jc="!",bp=":",u1=[],yp=(i,o,u,r,c)=>({modifiers:i,hasImportantModifier:o,baseClassName:u,maybePostfixModifierPosition:r,isExternal:c}),c1=i=>{const{prefix:o,experimentalParseClassName:u}=i;let r=c=>{const d=[];let m=0,b=0,g=0,p;const E=c.length;for(let G=0;G<E;G++){const Y=c[G];if(m===0&&b===0){if(Y===bp){d.push(c.slice(g,G)),g=G+1;continue}if(Y==="/"){p=G;continue}}Y==="["?m++:Y==="]"?m--:Y==="("?b++:Y===")"&&b--}const x=d.length===0?c:c.slice(g);let O=x,B=!1;x.endsWith(jc)?(O=x.slice(0,-1),B=!0):x.startsWith(jc)&&(O=x.slice(1),B=!0);const H=p&&p>g?p-g:void 0;return yp(d,B,O,H)};if(o){const c=o+bp,d=r;r=m=>m.startsWith(c)?d(m.slice(c.length)):yp(u1,!1,m,void 0,!0)}if(u){const c=r;r=d=>u({className:d,parseClassName:c})}return r},f1=i=>{const o=new Map;return i.orderSensitiveModifiers.forEach((u,r)=>{o.set(u,1e6+r)}),u=>{const r=[];let c=[];for(let d=0;d<u.length;d++){const m=u[d],b=m[0]==="[",g=o.has(m);b||g?(c.length>0&&(c.sort(),r.push(...c),c=[]),r.push(m)):c.push(m)}return c.length>0&&(c.sort(),r.push(...c)),r}},d1=i=>({cache:r1(i.cacheSize),parseClassName:c1(i),sortModifiers:f1(i),postfixLookupClassGroupIds:m1(i),...Pv(i)}),m1=i=>{const o=Object.create(null),u=i.postfixLookupClassGroups;if(u)for(let r=0;r<u.length;r++)o[u[r]]=!0;return o},h1=/\s+/,p1=(i,o)=>{const{parseClassName:u,getClassGroupId:r,getConflictingClassGroupIds:c,sortModifiers:d,postfixLookupClassGroupIds:m}=o,b=[],g=i.trim().split(h1);let p="";for(let E=g.length-1;E>=0;E-=1){const x=g[E],{isExternal:O,modifiers:B,hasImportantModifier:H,baseClassName:G,maybePostfixModifierPosition:Y}=u(x);if(O){p=x+(p.length>0?" "+p:p);continue}let re=!!Y,ae;if(re){const le=G.substring(0,Y);ae=r(le);const Q=ae&&m[ae]?r(G):void 0;Q&&Q!==ae&&(ae=Q,re=!1)}else ae=r(G);if(!ae){if(!re){p=x+(p.length>0?" "+p:p);continue}if(ae=r(G),!ae){p=x+(p.length>0?" "+p:p);continue}re=!1}const ee=B.length===0?"":B.length===1?B[0]:d(B).join(":"),ue=H?ee+jc:ee,pe=ue+ae;if(b.indexOf(pe)>-1)continue;b.push(pe);const fe=c(ae,re);for(let le=0;le<fe.length;++le){const Q=fe[le];b.push(ue+Q)}p=x+(p.length>0?" "+p:p)}return p},g1=(...i)=>{let o=0,u,r,c="";for(;o<i.length;)(u=i[o++])&&(r=lg(u))&&(c&&(c+=" "),c+=r);return c},lg=i=>{if(typeof i=="string")return i;let o,u="";for(let r=0;r<i.length;r++)i[r]&&(o=lg(i[r]))&&(u&&(u+=" "),u+=o);return u},_1=(i,...o)=>{let u,r,c,d;const m=g=>{const p=o.reduce((E,x)=>x(E),i());return u=d1(p),r=u.cache.get,c=u.cache.set,d=b,b(g)},b=g=>{const p=r(g);if(p)return p;const E=p1(g,u);return c(g,E),E};return d=m,(...g)=>d(g1(...g))},b1=[],gt=i=>{const o=u=>u[i]||b1;return o.isThemeGetter=!0,o},ag=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,ig=/^\((?:(\w[\w-]*):)?(.+)\)$/i,y1=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,v1=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,S1=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,T1=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,w1=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,x1=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Gl=i=>y1.test(i),_e=i=>!!i&&!Number.isNaN(Number(i)),Dn=i=>!!i&&Number.isInteger(Number(i)),zc=i=>i.endsWith("%")&&_e(i.slice(0,-1)),ol=i=>v1.test(i),og=()=>!0,E1=i=>S1.test(i)&&!T1.test(i),Kc=()=>!1,A1=i=>w1.test(i),k1=i=>x1.test(i),z1=i=>!I(i)&&!F(i),N1=i=>i.startsWith("@container")&&(i[10]==="/"&&i[11]!==void 0||i[11]==="s"&&i[16]!==void 0&&i.startsWith("-size/",10)||i[11]==="n"&&i[18]!==void 0&&i.startsWith("-normal/",10)),O1=i=>Ql(i,ug,Kc),I=i=>ag.test(i),ya=i=>Ql(i,cg,E1),vp=i=>Ql(i,H1,_e),C1=i=>Ql(i,dg,og),R1=i=>Ql(i,fg,Kc),Sp=i=>Ql(i,sg,Kc),M1=i=>Ql(i,rg,k1),ar=i=>Ql(i,mg,A1),F=i=>ig.test(i),xo=i=>xa(i,cg),D1=i=>xa(i,fg),Tp=i=>xa(i,sg),j1=i=>xa(i,ug),U1=i=>xa(i,rg),ir=i=>xa(i,mg,!0),L1=i=>xa(i,dg,!0),Ql=(i,o,u)=>{const r=ag.exec(i);return r?r[1]?o(r[1]):u(r[2]):!1},xa=(i,o,u=!1)=>{const r=ig.exec(i);return r?r[1]?o(r[1]):u:!1},sg=i=>i==="position"||i==="percentage",rg=i=>i==="image"||i==="url",ug=i=>i==="length"||i==="size"||i==="bg-size",cg=i=>i==="length",H1=i=>i==="number",fg=i=>i==="family-name",dg=i=>i==="number"||i==="weight",mg=i=>i==="shadow",q1=()=>{const i=gt("color"),o=gt("font"),u=gt("text"),r=gt("font-weight"),c=gt("tracking"),d=gt("leading"),m=gt("breakpoint"),b=gt("container"),g=gt("spacing"),p=gt("radius"),E=gt("shadow"),x=gt("inset-shadow"),O=gt("text-shadow"),B=gt("drop-shadow"),H=gt("blur"),G=gt("perspective"),Y=gt("aspect"),re=gt("ease"),ae=gt("animate"),ee=()=>["auto","avoid","all","avoid-page","page","left","right","column"],ue=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],pe=()=>[...ue(),F,I],fe=()=>["auto","hidden","clip","visible","scroll"],le=()=>["auto","contain","none"],Q=()=>[F,I,g],ke=()=>[Gl,"full","auto",...Q()],at=()=>[Dn,"none","subgrid",F,I],$e=()=>["auto",{span:["full",Dn,F,I]},Dn,F,I],je=()=>[Dn,"auto",F,I],vt=()=>["auto","min","max","fr",F,I],ct=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],be=()=>["start","end","center","stretch","center-safe","end-safe"],C=()=>["auto",...Q()],L=()=>[Gl,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...Q()],J=()=>[Gl,"screen","full","dvw","lvw","svw","min","max","fit",...Q()],ye=()=>[Gl,"screen","full","lh","dvh","lvh","svh","min","max","fit",...Q()],V=()=>[i,F,I],S=()=>[...ue(),Tp,Sp,{position:[F,I]}],j=()=>["no-repeat",{repeat:["","x","y","space","round"]}],K=()=>["auto","cover","contain",j1,O1,{size:[F,I]}],$=()=>[zc,xo,ya],ne=()=>["","none","full",p,F,I],ie=()=>["",_e,xo,ya],ve=()=>["solid","dashed","dotted","double"],et=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],de=()=>[_e,zc,Tp,Sp],mn=()=>["","none",H,F,I],Oe=()=>["none",_e,F,I],hn=()=>["none",_e,F,I],Le=()=>[_e,F,I],Rt=()=>[Gl,"full",...Q()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[ol],breakpoint:[ol],color:[og],container:[ol],"drop-shadow":[ol],ease:["in","out","in-out"],font:[z1],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[ol],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[ol],shadow:[ol],spacing:["px",_e],text:[ol],"text-shadow":[ol],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Gl,I,F,Y]}],container:["container"],"container-type":[{"@container":["","normal","size",F,I]}],"container-named":[N1],columns:[{columns:[_e,I,F,b]}],"break-after":[{"break-after":ee()}],"break-before":[{"break-before":ee()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:pe()}],overflow:[{overflow:fe()}],"overflow-x":[{"overflow-x":fe()}],"overflow-y":[{"overflow-y":fe()}],overscroll:[{overscroll:le()}],"overscroll-x":[{"overscroll-x":le()}],"overscroll-y":[{"overscroll-y":le()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:ke()}],"inset-x":[{"inset-x":ke()}],"inset-y":[{"inset-y":ke()}],start:[{"inset-s":ke(),start:ke()}],end:[{"inset-e":ke(),end:ke()}],"inset-bs":[{"inset-bs":ke()}],"inset-be":[{"inset-be":ke()}],top:[{top:ke()}],right:[{right:ke()}],bottom:[{bottom:ke()}],left:[{left:ke()}],visibility:["visible","invisible","collapse"],z:[{z:[Dn,"auto",F,I]}],basis:[{basis:[Gl,"full","auto",b,...Q()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[_e,Gl,"auto","initial","none",I]}],grow:[{grow:["",_e,F,I]}],shrink:[{shrink:["",_e,F,I]}],order:[{order:[Dn,"first","last","none",F,I]}],"grid-cols":[{"grid-cols":at()}],"col-start-end":[{col:$e()}],"col-start":[{"col-start":je()}],"col-end":[{"col-end":je()}],"grid-rows":[{"grid-rows":at()}],"row-start-end":[{row:$e()}],"row-start":[{"row-start":je()}],"row-end":[{"row-end":je()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":vt()}],"auto-rows":[{"auto-rows":vt()}],gap:[{gap:Q()}],"gap-x":[{"gap-x":Q()}],"gap-y":[{"gap-y":Q()}],"justify-content":[{justify:[...ct(),"normal"]}],"justify-items":[{"justify-items":[...be(),"normal"]}],"justify-self":[{"justify-self":["auto",...be()]}],"align-content":[{content:["normal",...ct()]}],"align-items":[{items:[...be(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...be(),{baseline:["","last"]}]}],"place-content":[{"place-content":ct()}],"place-items":[{"place-items":[...be(),"baseline"]}],"place-self":[{"place-self":["auto",...be()]}],p:[{p:Q()}],px:[{px:Q()}],py:[{py:Q()}],ps:[{ps:Q()}],pe:[{pe:Q()}],pbs:[{pbs:Q()}],pbe:[{pbe:Q()}],pt:[{pt:Q()}],pr:[{pr:Q()}],pb:[{pb:Q()}],pl:[{pl:Q()}],m:[{m:C()}],mx:[{mx:C()}],my:[{my:C()}],ms:[{ms:C()}],me:[{me:C()}],mbs:[{mbs:C()}],mbe:[{mbe:C()}],mt:[{mt:C()}],mr:[{mr:C()}],mb:[{mb:C()}],ml:[{ml:C()}],"space-x":[{"space-x":Q()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":Q()}],"space-y-reverse":["space-y-reverse"],size:[{size:L()}],"inline-size":[{inline:["auto",...J()]}],"min-inline-size":[{"min-inline":["auto",...J()]}],"max-inline-size":[{"max-inline":["none",...J()]}],"block-size":[{block:["auto",...ye()]}],"min-block-size":[{"min-block":["auto",...ye()]}],"max-block-size":[{"max-block":["none",...ye()]}],w:[{w:[b,"screen",...L()]}],"min-w":[{"min-w":[b,"screen","none",...L()]}],"max-w":[{"max-w":[b,"screen","none","prose",{screen:[m]},...L()]}],h:[{h:["screen","lh",...L()]}],"min-h":[{"min-h":["screen","lh","none",...L()]}],"max-h":[{"max-h":["screen","lh",...L()]}],"font-size":[{text:["base",u,xo,ya]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,L1,C1]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",zc,I]}],"font-family":[{font:[D1,R1,o]}],"font-features":[{"font-features":[I]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[c,F,I]}],"line-clamp":[{"line-clamp":[_e,"none",F,vp]}],leading:[{leading:[d,...Q()]}],"list-image":[{"list-image":["none",F,I]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",F,I]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:V()}],"text-color":[{text:V()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ve(),"wavy"]}],"text-decoration-thickness":[{decoration:[_e,"from-font","auto",F,ya]}],"text-decoration-color":[{decoration:V()}],"underline-offset":[{"underline-offset":[_e,"auto",F,I]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:Q()}],"tab-size":[{tab:[Dn,F,I]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",F,I]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",F,I]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:S()}],"bg-repeat":[{bg:j()}],"bg-size":[{bg:K()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Dn,F,I],radial:["",F,I],conic:[Dn,F,I]},U1,M1]}],"bg-color":[{bg:V()}],"gradient-from-pos":[{from:$()}],"gradient-via-pos":[{via:$()}],"gradient-to-pos":[{to:$()}],"gradient-from":[{from:V()}],"gradient-via":[{via:V()}],"gradient-to":[{to:V()}],rounded:[{rounded:ne()}],"rounded-s":[{"rounded-s":ne()}],"rounded-e":[{"rounded-e":ne()}],"rounded-t":[{"rounded-t":ne()}],"rounded-r":[{"rounded-r":ne()}],"rounded-b":[{"rounded-b":ne()}],"rounded-l":[{"rounded-l":ne()}],"rounded-ss":[{"rounded-ss":ne()}],"rounded-se":[{"rounded-se":ne()}],"rounded-ee":[{"rounded-ee":ne()}],"rounded-es":[{"rounded-es":ne()}],"rounded-tl":[{"rounded-tl":ne()}],"rounded-tr":[{"rounded-tr":ne()}],"rounded-br":[{"rounded-br":ne()}],"rounded-bl":[{"rounded-bl":ne()}],"border-w":[{border:ie()}],"border-w-x":[{"border-x":ie()}],"border-w-y":[{"border-y":ie()}],"border-w-s":[{"border-s":ie()}],"border-w-e":[{"border-e":ie()}],"border-w-bs":[{"border-bs":ie()}],"border-w-be":[{"border-be":ie()}],"border-w-t":[{"border-t":ie()}],"border-w-r":[{"border-r":ie()}],"border-w-b":[{"border-b":ie()}],"border-w-l":[{"border-l":ie()}],"divide-x":[{"divide-x":ie()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ie()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ve(),"hidden","none"]}],"divide-style":[{divide:[...ve(),"hidden","none"]}],"border-color":[{border:V()}],"border-color-x":[{"border-x":V()}],"border-color-y":[{"border-y":V()}],"border-color-s":[{"border-s":V()}],"border-color-e":[{"border-e":V()}],"border-color-bs":[{"border-bs":V()}],"border-color-be":[{"border-be":V()}],"border-color-t":[{"border-t":V()}],"border-color-r":[{"border-r":V()}],"border-color-b":[{"border-b":V()}],"border-color-l":[{"border-l":V()}],"divide-color":[{divide:V()}],"outline-style":[{outline:[...ve(),"none","hidden"]}],"outline-offset":[{"outline-offset":[_e,F,I]}],"outline-w":[{outline:["",_e,xo,ya]}],"outline-color":[{outline:V()}],shadow:[{shadow:["","none",E,ir,ar]}],"shadow-color":[{shadow:V()}],"inset-shadow":[{"inset-shadow":["none",x,ir,ar]}],"inset-shadow-color":[{"inset-shadow":V()}],"ring-w":[{ring:ie()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:V()}],"ring-offset-w":[{"ring-offset":[_e,ya]}],"ring-offset-color":[{"ring-offset":V()}],"inset-ring-w":[{"inset-ring":ie()}],"inset-ring-color":[{"inset-ring":V()}],"text-shadow":[{"text-shadow":["none",O,ir,ar]}],"text-shadow-color":[{"text-shadow":V()}],opacity:[{opacity:[_e,F,I]}],"mix-blend":[{"mix-blend":[...et(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":et()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[_e]}],"mask-image-linear-from-pos":[{"mask-linear-from":de()}],"mask-image-linear-to-pos":[{"mask-linear-to":de()}],"mask-image-linear-from-color":[{"mask-linear-from":V()}],"mask-image-linear-to-color":[{"mask-linear-to":V()}],"mask-image-t-from-pos":[{"mask-t-from":de()}],"mask-image-t-to-pos":[{"mask-t-to":de()}],"mask-image-t-from-color":[{"mask-t-from":V()}],"mask-image-t-to-color":[{"mask-t-to":V()}],"mask-image-r-from-pos":[{"mask-r-from":de()}],"mask-image-r-to-pos":[{"mask-r-to":de()}],"mask-image-r-from-color":[{"mask-r-from":V()}],"mask-image-r-to-color":[{"mask-r-to":V()}],"mask-image-b-from-pos":[{"mask-b-from":de()}],"mask-image-b-to-pos":[{"mask-b-to":de()}],"mask-image-b-from-color":[{"mask-b-from":V()}],"mask-image-b-to-color":[{"mask-b-to":V()}],"mask-image-l-from-pos":[{"mask-l-from":de()}],"mask-image-l-to-pos":[{"mask-l-to":de()}],"mask-image-l-from-color":[{"mask-l-from":V()}],"mask-image-l-to-color":[{"mask-l-to":V()}],"mask-image-x-from-pos":[{"mask-x-from":de()}],"mask-image-x-to-pos":[{"mask-x-to":de()}],"mask-image-x-from-color":[{"mask-x-from":V()}],"mask-image-x-to-color":[{"mask-x-to":V()}],"mask-image-y-from-pos":[{"mask-y-from":de()}],"mask-image-y-to-pos":[{"mask-y-to":de()}],"mask-image-y-from-color":[{"mask-y-from":V()}],"mask-image-y-to-color":[{"mask-y-to":V()}],"mask-image-radial":[{"mask-radial":[F,I]}],"mask-image-radial-from-pos":[{"mask-radial-from":de()}],"mask-image-radial-to-pos":[{"mask-radial-to":de()}],"mask-image-radial-from-color":[{"mask-radial-from":V()}],"mask-image-radial-to-color":[{"mask-radial-to":V()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":ue()}],"mask-image-conic-pos":[{"mask-conic":[_e]}],"mask-image-conic-from-pos":[{"mask-conic-from":de()}],"mask-image-conic-to-pos":[{"mask-conic-to":de()}],"mask-image-conic-from-color":[{"mask-conic-from":V()}],"mask-image-conic-to-color":[{"mask-conic-to":V()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:S()}],"mask-repeat":[{mask:j()}],"mask-size":[{mask:K()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",F,I]}],filter:[{filter:["","none",F,I]}],blur:[{blur:mn()}],brightness:[{brightness:[_e,F,I]}],contrast:[{contrast:[_e,F,I]}],"drop-shadow":[{"drop-shadow":["","none",B,ir,ar]}],"drop-shadow-color":[{"drop-shadow":V()}],grayscale:[{grayscale:["",_e,F,I]}],"hue-rotate":[{"hue-rotate":[_e,F,I]}],invert:[{invert:["",_e,F,I]}],saturate:[{saturate:[_e,F,I]}],sepia:[{sepia:["",_e,F,I]}],"backdrop-filter":[{"backdrop-filter":["","none",F,I]}],"backdrop-blur":[{"backdrop-blur":mn()}],"backdrop-brightness":[{"backdrop-brightness":[_e,F,I]}],"backdrop-contrast":[{"backdrop-contrast":[_e,F,I]}],"backdrop-grayscale":[{"backdrop-grayscale":["",_e,F,I]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[_e,F,I]}],"backdrop-invert":[{"backdrop-invert":["",_e,F,I]}],"backdrop-opacity":[{"backdrop-opacity":[_e,F,I]}],"backdrop-saturate":[{"backdrop-saturate":[_e,F,I]}],"backdrop-sepia":[{"backdrop-sepia":["",_e,F,I]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":Q()}],"border-spacing-x":[{"border-spacing-x":Q()}],"border-spacing-y":[{"border-spacing-y":Q()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",F,I]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[_e,"initial",F,I]}],ease:[{ease:["linear","initial",re,F,I]}],delay:[{delay:[_e,F,I]}],animate:[{animate:["none",ae,F,I]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[G,F,I]}],"perspective-origin":[{"perspective-origin":pe()}],rotate:[{rotate:Oe()}],"rotate-x":[{"rotate-x":Oe()}],"rotate-y":[{"rotate-y":Oe()}],"rotate-z":[{"rotate-z":Oe()}],scale:[{scale:hn()}],"scale-x":[{"scale-x":hn()}],"scale-y":[{"scale-y":hn()}],"scale-z":[{"scale-z":hn()}],"scale-3d":["scale-3d"],skew:[{skew:Le()}],"skew-x":[{"skew-x":Le()}],"skew-y":[{"skew-y":Le()}],transform:[{transform:[F,I,"","none","gpu","cpu"]}],"transform-origin":[{origin:pe()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Rt()}],"translate-x":[{"translate-x":Rt()}],"translate-y":[{"translate-y":Rt()}],"translate-z":[{"translate-z":Rt()}],"translate-none":["translate-none"],zoom:[{zoom:[Dn,F,I]}],accent:[{accent:V()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:V()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",F,I]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":V()}],"scrollbar-track-color":[{"scrollbar-track":V()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":Q()}],"scroll-mx":[{"scroll-mx":Q()}],"scroll-my":[{"scroll-my":Q()}],"scroll-ms":[{"scroll-ms":Q()}],"scroll-me":[{"scroll-me":Q()}],"scroll-mbs":[{"scroll-mbs":Q()}],"scroll-mbe":[{"scroll-mbe":Q()}],"scroll-mt":[{"scroll-mt":Q()}],"scroll-mr":[{"scroll-mr":Q()}],"scroll-mb":[{"scroll-mb":Q()}],"scroll-ml":[{"scroll-ml":Q()}],"scroll-p":[{"scroll-p":Q()}],"scroll-px":[{"scroll-px":Q()}],"scroll-py":[{"scroll-py":Q()}],"scroll-ps":[{"scroll-ps":Q()}],"scroll-pe":[{"scroll-pe":Q()}],"scroll-pbs":[{"scroll-pbs":Q()}],"scroll-pbe":[{"scroll-pbe":Q()}],"scroll-pt":[{"scroll-pt":Q()}],"scroll-pr":[{"scroll-pr":Q()}],"scroll-pb":[{"scroll-pb":Q()}],"scroll-pl":[{"scroll-pl":Q()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",F,I]}],fill:[{fill:["none",...V()]}],"stroke-w":[{stroke:[_e,xo,ya,vp]}],stroke:[{stroke:["none",...V()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},B1=_1(q1),G1=(...i)=>B1(Pp(i)),Y1=$v("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8"}},defaultVariants:{variant:"default",size:"default"}}),hg=q.forwardRef(({className:i,variant:o,size:u,asChild:r=!1,...c},d)=>{const m=r?qv:"button";return v.jsx(m,{className:G1(Y1({variant:o,size:u,className:i})),ref:d,...c})});hg.displayName="Button";const Z1=1500,pg=({url:i,label:o="Copy URL"})=>{const[u,r]=q.useState(!1),c=q.useRef(null);q.useEffect(()=>()=>{c.current!==null&&clearTimeout(c.current)},[]);const d=async()=>{await navigator.clipboard.writeText(i),r(!0),c.current!==null&&clearTimeout(c.current),c.current=setTimeout(()=>{r(!1),c.current=null},Z1)};return v.jsx(hg,{type:"button",variant:"ghost",size:"sm",className:"console-copy-url-button","aria-label":u?"URL copied to clipboard":o,onClick:d,children:u?"Copied":"Copy URL"})},X1=({pullRequest:i,body:o,bodyIsLoading:u,files:r,filesAreLoading:c,filesError:d,commits:m,commitsAreLoading:b,commitsError:g,now:p,buildImageProxyUrl:E})=>{const x=i.summary,O=c||d!==null?null:r.length,B=b||g!==null?null:m.length;return v.jsxs(v.Fragment,{children:[v.jsxs("div",{className:"console-pr-header",children:[v.jsx("a",{href:i.url,className:"console-pr-section-title",target:"_blank",rel:"noopener noreferrer",children:(x==null?void 0:x.title)??i.url}),i.isDraft&&v.jsx("span",{className:"console-pr-section-state",children:"draft"}),v.jsx(pg,{url:i.url,label:"Copy PR URL"}),v.jsxs("div",{className:"console-pr-statbar",children:[i.branchName!==null&&v.jsx("span",{className:"console-pr-branch",children:i.branchName}),x!==null&&v.jsxs(v.Fragment,{children:[v.jsxs("span",{className:"console-pr-add",children:["+",x.additions]}),v.jsxs("span",{className:"console-pr-del",children:["-",x.deletions]}),v.jsxs("span",{className:"console-pr-files-count",children:[x.changedFiles," files"]})]})]})]}),v.jsx(va,{title:"Description",defaultCollapsed:!0,children:u?v.jsx("p",{className:"console-pr-body-loading",children:"Loading description..."}):v.jsx(dr,{body:(x==null?void 0:x.body)??o,buildImageProxyUrl:E})}),v.jsx(va,{title:"Changed files",count:O,children:v.jsx(Ip,{files:r,isLoading:c,error:d})}),v.jsx(va,{title:"Commits",count:B,defaultCollapsed:!0,children:v.jsx(Fp,{commits:m,isLoading:b,error:g,now:p})})]})},Q1=({item:i,storyName:o,storyColorEnum:u,overlayStatus:r,state:c,body:d,bodyIsLoading:m,bodyError:b,comments:g,commentsAreLoading:p,commentsError:E,files:x,filesAreLoading:O,filesError:B,commits:H,commitsAreLoading:G,commitsError:Y,relatedPullRequests:re,now:ae,commentComposer:ee,operationBar:ue,buildImageProxyUrl:pe,onAddInlineComment:fe})=>{const le=(c==null?void 0:c.state)??"open",Q=(c==null?void 0:c.merged)??!1,ke=!i.isPr&&le==="closed"?"Closed":null,at=No(u),$e=r?No(r.color):null,je=O||B!==null?null:x.length,vt=p||E!==null?null:g.length,ct=G||Y!==null?null:H.length;return v.jsxs("article",{className:"console-detail",children:[o!==null&&v.jsx("div",{className:"console-detail-story",children:v.jsxs("span",{className:"console-storytag",children:[v.jsx("span",{className:"console-story-dot",style:{backgroundColor:at.dot}}),o]})}),r!==null&&$e!==null&&v.jsx("span",{className:"console-detail-status-chip",style:{color:$e.fg,borderColor:$e.border,backgroundColor:$e.bg},children:r.name}),v.jsxs("h2",{className:"console-detail-title",children:[v.jsx(zp,{isPr:i.isPr,state:le,merged:Q,isDraft:!1,stateReason:""}),v.jsx("span",{className:"console-detail-title-text",children:i.title}),v.jsx("span",{className:"console-detail-number",children:i.isPr?`PR #${i.number}`:`#${i.number}`}),ke!==null&&v.jsx("span",{className:"console-detail-closed-label",children:ke})]}),v.jsxs("div",{className:"console-detail-subbar",children:[v.jsx("a",{href:i.url,className:"console-detail-link",target:"_blank",rel:"noopener noreferrer",children:i.isPr?`PR #${i.number}`:`Issue #${i.number}`}),v.jsx("span",{className:"console-detail-repo",children:i.repo}),v.jsx("span",{className:"console-detail-pill",children:i.isPr?"PR":"Issue"}),v.jsx(pg,{url:i.url})]}),i.labels.length>0&&v.jsx("div",{className:"console-detail-labels",children:i.labels.map(be=>v.jsx("span",{className:"console-label-chip",children:be},be))}),v.jsxs("div",{className:"console-detail-createdat",title:Lc(i.createdAt),children:["opened ",Oo(i.createdAt,ae)]}),v.jsx(va,{title:"Description",headerAction:v.jsx("a",{href:i.url,className:"console-panel-open-link",target:"_blank",rel:"noopener noreferrer",children:"open"}),children:b!==null?v.jsxs("p",{role:"alert",className:"console-detail-body-error",children:["Failed to load description: ",b]}):m?v.jsx("p",{className:"console-detail-body-loading",children:"Loading description..."}):v.jsx(dr,{body:d,buildImageProxyUrl:pe})}),i.isPr&&v.jsx(va,{title:"Changed files",count:je,children:v.jsx(Ip,{files:x,isLoading:O,error:B,onAddInlineComment:fe})}),v.jsx(va,{title:"Comments",count:vt,defaultCollapsed:i.isPr,children:v.jsx(Mv,{comments:g,isLoading:p,error:E,now:ae,buildImageProxyUrl:pe})}),i.isPr&&v.jsx(va,{title:"Commits",count:ct,defaultCollapsed:!0,children:v.jsx(Fp,{commits:H,isLoading:G,error:Y,now:ae})}),!i.isPr&&re.map(be=>{var C;return v.jsx(X1,{pullRequest:be.pullRequest,body:((C=be.pullRequest.summary)==null?void 0:C.body)??"",bodyIsLoading:!1,files:be.files,filesAreLoading:be.filesAreLoading,filesError:be.filesError,commits:be.commits,commitsAreLoading:be.commitsAreLoading,commitsError:be.commitsError,now:ae,buildImageProxyUrl:pe},be.pullRequest.url)}),ee,v.jsx("div",{className:"console-actionbar",children:ue})]})},V1=({onClose:i})=>v.jsxs("div",{className:"console-op-group",children:[v.jsx("button",{type:"button",className:"console-op-button",onClick:()=>i("close_not_planned"),children:"Close as not planned"}),v.jsx("button",{type:"button",className:"console-op-button",onClick:()=>i("close"),children:"Close"})]}),K1=({isTodoByHuman:i,onSetNextActionDate:o})=>v.jsxs("div",{className:"console-op-group",children:[v.jsx("button",{type:"button",className:"console-op-button console-op-button-snooze",onClick:()=>o("snooze_1day"),children:"+1 day"}),v.jsx("button",{type:"button",className:"console-op-button console-op-button-snooze",onClick:()=>o("snooze_1week"),children:i?"+1 week and skip":"+1 week"})]}),J1=[{action:"unnecessary",label:"Unnecessary",variant:"unneeded"},{action:"totally_wrong",label:"Totally wrong",variant:"wrong"},{action:"request_changes",label:"Reject",variant:"reject"},{action:"approve",label:"Approve",variant:"approve"}],$1=({onReview:i})=>v.jsx("div",{className:"console-op-group console-op-group-review",children:J1.map(o=>v.jsx("button",{type:"button",className:`console-op-button console-op-button-${o.variant}`,onClick:()=>i(o.action),children:o.label},o.action))}),I1=(i,o)=>{const u=o.toLowerCase();return i.find(r=>r.name.toLowerCase()===u)??null},F1=({statusOptions:i,onSetStatus:o,onSetInTmuxByHuman:u})=>{const r=vy.map(c=>({name:c,option:I1(i,c)})).filter(c=>c.option!==null);return r.length===0?null:v.jsx("div",{className:"console-op-group",children:r.map(({name:c,option:d})=>{const m=No(d.color),b=c===Sy;return v.jsx("button",{type:"button",className:"console-op-button",style:{color:m.fg,borderColor:m.border,backgroundColor:m.bg},onClick:()=>b?u(d):o(d),children:d.name},d.id)})})},W1=i=>i.name.toLowerCase().includes("no story"),P1=({storyOptions:i,onSetStory:o})=>{const u=i.filter(r=>!W1(r));return u.length===0?null:v.jsx("div",{className:"console-op-group console-op-group-stories",children:u.map(r=>{const c=No(r.color);return v.jsx("button",{type:"button",className:"console-op-button",style:{color:c.fg,borderColor:c.border,backgroundColor:c.bg},onClick:()=>o(r),children:r.name},r.id)})})},eS=({tab:i,item:o,hasPullRequest:u,statusOptions:r,storyOptions:c,handlers:d})=>{const m=i==="triage",b=i==="workflow-blocker"||!o.isPr;return v.jsxs("div",{className:"console-operation-bar",children:[u&&v.jsx($1,{onReview:d.onReview}),v.jsx(K1,{isTodoByHuman:Ty(i),onSetNextActionDate:d.onSetNextActionDate}),m&&v.jsx(P1,{storyOptions:c,onSetStory:d.onSetStory}),v.jsx(F1,{statusOptions:r,onSetStatus:d.onSetStatus,onSetInTmuxByHuman:d.onSetInTmuxByHuman}),b&&v.jsx(V1,{onClose:d.onClose})]})},vi=(i,o,u,r)=>{const c=o!==null?i.peek(o):void 0,[d,m]=q.useState(c??r),[b,g]=q.useState(o!==null&&c===void 0),[p,E]=q.useState(null);return q.useEffect(()=>{if(o===null||u===null)return;const x=i.peek(o);if(x!==void 0){m(x),g(!1),E(null);return}let O=!1;return g(!0),E(null),i.load(o,u).then(B=>{O||(m(B),g(!1))}).catch(B=>{O||(E(B instanceof Error?B.message:String(B)),g(!1))}),()=>{O=!0}},[i,o,u]),{data:d,isLoading:b,error:p}},tS=[],wp=[],xp=[],nS=[],lS={state:"open",merged:!1,isPullRequest:!1},aS=(i,o)=>{const u=o!==null?`${o.repo}#${o.number}`:null,r=o!==null?o.url:null,c=(o==null?void 0:o.isPr)??!1,d=vi(i.body,u,r,""),m=vi(i.state,u,r,lS),b=vi(i.comments,u,r,tS),g=vi(i.files,c?u:null,c?r:null,wp),p=vi(i.commits,c?u:null,c?r:null,xp),E=vi(i.relatedPrs,c?null:u,c?null:r,nS),[x,O]=q.useState([]);return q.useEffect(()=>{if(c||E.data.length===0){O([]);return}let B=!1;const H=E.data.map(Y=>({pullRequest:Y,files:wp,filesAreLoading:!0,filesError:null,commits:xp,commitsAreLoading:!0,commitsError:null}));O(H);const G=(Y,re)=>{B||O(ae=>ae.map(ee=>ee.pullRequest.url===Y?{...ee,...re}:ee))};for(const Y of E.data){const re=Y.url;i.files.load(re,Y.url).then(ae=>G(Y.url,{files:ae,filesAreLoading:!1})).catch(ae=>G(Y.url,{filesAreLoading:!1,filesError:ae instanceof Error?ae.message:String(ae)})),i.commits.load(re,Y.url).then(ae=>G(Y.url,{commits:ae,commitsAreLoading:!1})).catch(ae=>G(Y.url,{commitsAreLoading:!1,commitsError:ae instanceof Error?ae.message:String(ae)}))}return()=>{B=!0}},[i,c,E.data]),{state:m.data,body:d.data,bodyIsLoading:d.isLoading,bodyError:d.error,comments:b.data,commentsAreLoading:b.isLoading,commentsError:b.error,files:g.data,filesAreLoading:g.isLoading,filesError:g.error,commits:p.data,commitsAreLoading:p.isLoading,commitsError:p.error,relatedPullRequests:x}},iS=({tab:i,item:o,caches:u,operations:r,statusOptions:c,storyOptions:d,storyColors:m,storyName:b,overlayStatus:g,now:p,onQueueAction:E})=>{const x=aS(u,o),{token:O}=cr(),B=q.useCallback(ee=>Wy(ee,O),[O]),H=o.isPr||x.relatedPullRequests.length>0,G=q.useCallback((ee,ue,pe,fe)=>r.addInlineReviewComment(o.url,ee,ue,pe,fe),[r,o.url]),Y={onReview:ee=>{var pe;const ue=o.isPr?o.url:((pe=x.relatedPullRequests[0])==null?void 0:pe.pullRequest.url)??o.url;E({kind:{type:"review",action:ee},item:o,commit:()=>r.reviewPullRequest(o,ue,ee)})},onSetNextActionDate:ee=>{E({kind:{type:"next_action_date",action:ee},item:o,commit:()=>r.setNextActionDate(o,ee)})},onSetStory:ee=>{E({kind:{type:"set_story",optionName:ee.name},item:o,commit:()=>r.setStory(o,ee)})},onSetStatus:ee=>{E({kind:{type:"set_status",optionName:ee.name},item:o,commit:()=>r.setStatus(o,ee)})},onSetInTmuxByHuman:ee=>{E({kind:{type:"set_in_tmux_by_human",optionName:ee.name},item:o,commit:()=>r.setInTmuxByHuman(o,ee)})},onClose:ee=>{E({kind:{type:"close",action:ee},item:o,commit:()=>r.closeIssue(o,ee)})}},re=b??(o.story.trim()!==""?o.story:null),ae=re!==null?Ep(m,re):null;return v.jsx(Q1,{item:o,storyName:re,storyColorEnum:ae,overlayStatus:g,state:x.state,body:x.body,bodyIsLoading:x.bodyIsLoading,bodyError:x.bodyError,comments:x.comments,commentsAreLoading:x.commentsAreLoading,commentsError:x.commentsError,files:x.files,filesAreLoading:x.filesAreLoading,filesError:x.filesError,commits:x.commits,commitsAreLoading:x.commitsAreLoading,commitsError:x.commitsError,relatedPullRequests:x.relatedPullRequests,now:p,buildImageProxyUrl:B,onAddInlineComment:o.isPr?G:void 0,commentComposer:v.jsx(xv,{isPr:o.isPr,now:p,onSubmit:ee=>r.addComment(o,ee)}),operationBar:v.jsx(eS,{tab:i,item:o,hasPullRequest:H,statusOptions:c,storyOptions:d,handlers:Y})})},oS=()=>{const i={};for(const o of Tn)i[o.name]=0;return i},sS="console",rS=()=>{const i=Ly(),{snapshots:o,isLoading:u,error:r}=Vy(i),c=jy(i??sS),d=q.useMemo(()=>{const L=oS();for(const J of Tn){const ye=o[J.name];ye!==null&&(L[J.name]=Ey(ye.items,c.overlay,J.name))}return L},[o,c.overlay]),m=_y(i,d),{activeTab:b,selectedItemKey:g,openItem:p,closeItem:E,selectTab:x}=m,O=my(),B=Cy(i,b,c),H=Pb(),G=Date.now(),Y=o[b],re=q.useMemo(()=>Y===null?[]:Ay(Y.items,c.overlay,b),[Y,c.overlay,b]),ae=q.useMemo(()=>re.map(L=>sl(L)),[re]),ee=q.useMemo(()=>Hb(re,c.overlay),[re,c.overlay]),ue=(Y==null?void 0:Y.storyColors)??{},pe=(Y==null?void 0:Y.statusOptions)??[],fe=(Y==null?void 0:Y.storyOptions)??[],le=(Y==null?void 0:Y.generatedAt)??null,Q=q.useMemo(()=>g===null||Y===null?null:Y.items.find(L=>L.projectItemId===g)??null,[g,Y]);q.useEffect(()=>{g!==null&&window.scrollTo({top:0})},[g]);const ke=d[b],at=q.useRef({tab:b,count:ke});q.useEffect(()=>{const L=at.current;if(at.current={tab:b,count:ke},L.tab===b&&L.count>0&&ke===0){const J=hy(b,d);J!==null&&(x(J),E())}},[b,ke,d,x,E]);const $e=(()=>{if(Q===null)return null;const L=c.overlay[sl(Q)];return(L==null?void 0:L.status)??null})(),je=Q!==null?Nc(Q,c.overlay):null,vt=q.useCallback(L=>{const J=Ky(ae,L);J!==null?p(J):E()},[ae,p,E]),ct=q.useCallback(L=>{const J=sl(L.item);H.enqueue({message:Ib(L.kind,L.item,b),color:Jb(L.kind),commit:L.commit,advance:()=>{$b(L.kind,b)&&vt(J)}})},[H,b,vt]),be=q.useCallback(L=>{if(g===null||L===null)return;const J=L==="next"?Jy(ae,g):$y(ae,g);J!==null&&p(J)},[g,ae,p]),C=Yy(be);return v.jsxs("main",{className:"console-app",children:[H.pending!==null&&v.jsx(Xb,{message:H.pending.message,color:H.pending.color,remainingSeconds:H.pending.remainingSeconds,progress:H.pending.progress,onUndo:H.undo}),H.error!==null&&v.jsx(Qb,{message:`Operation failed: ${H.error.reason}`,onDismiss:H.dismissError}),v.jsx(Ub,{activeTab:b,counts:d,pjcode:i,generatedAt:le,tabHref:m.tabHref,onSelectTab:m.selectTab}),Q===null?v.jsx(Zb,{rows:ee,storyColors:ue,activeItemId:null,now:G,isLoading:u,error:r,onSelectItem:L=>m.openItem(L.projectItemId)}):v.jsx("div",{className:"console-detail-screen",ref:C,children:v.jsx(iS,{tab:b,item:Q,caches:O,operations:B,statusOptions:pe,storyOptions:fe,storyColors:ue,storyName:je,overlayStatus:$e,now:G,onQueueAction:ct},Q.projectItemId)})]})},gg=document.getElementById("root");if(gg===null)throw new Error("Root container #root not found");jb.createRoot(gg).render(v.jsx(q.StrictMode,{children:v.jsx(rS,{})}));
@@ -4,8 +4,8 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>TDPM Console</title>
7
- <script type="module" crossorigin src="/assets/index-Bu5bQZyP.js"></script>
8
- <link rel="stylesheet" crossorigin href="/assets/index-BPH6W1yn.css">
7
+ <script type="module" crossorigin src="/assets/index-ITb3VBcs.js"></script>
8
+ <link rel="stylesheet" crossorigin href="/assets/index-BaVsPpWs.css">
9
9
  </head>
10
10
  <body>
11
11
  <div id="root"></div>