@pstdio/ui 0.16.0 → 0.17.0

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 (150) hide show
  1. package/dist/chat-ui.js +1618 -1102
  2. package/dist/chat-ui.js.map +1 -1
  3. package/dist/{checkbox-D5AzFRlb.js → checkbox-B2zYVemL.js} +28 -28
  4. package/dist/checkbox-B2zYVemL.js.map +1 -0
  5. package/dist/components/chat-ui/components/chat-input-actions.d.ts +1 -0
  6. package/dist/components/chat-ui/components/chat-input.d.ts +8 -2
  7. package/dist/components/chat-ui/components/chat-panel.d.ts +11 -5
  8. package/dist/components/chat-ui/components/composer-constants.d.ts +1 -0
  9. package/dist/components/chat-ui/components/conversation-browse.d.ts +22 -0
  10. package/dist/components/chat-ui/components/message-types.d.ts +14 -0
  11. package/dist/components/chat-ui/components/queued-follow-up-list-state.d.ts +4 -0
  12. package/dist/components/chat-ui/components/queued-follow-up-list.d.ts +11 -0
  13. package/dist/components/chat-ui/components/timeline.d.ts +5 -0
  14. package/dist/components/chat-ui/components/working-indicator.d.ts +9 -0
  15. package/dist/components/chat-ui/components/workspace-hub.d.ts +8 -1
  16. package/dist/components/chat-ui/index.d.ts +4 -2
  17. package/dist/components/chat-ui/tool-rendering/build-timeline.d.ts +2 -2
  18. package/dist/components/chat-ui/tool-rendering/question-prompt.d.ts +9 -0
  19. package/dist/components/data-table/build-columns.d.ts +13 -2
  20. package/dist/components/data-table/categorical-color-cell.d.ts +8 -0
  21. package/dist/components/data-table/color-cell-style.d.ts +13 -0
  22. package/dist/components/data-table/color-scale-cell.d.ts +7 -0
  23. package/dist/components/data-table/data-table-column-menu.d.ts +12 -0
  24. package/dist/components/data-table/data-table-header.d.ts +18 -0
  25. package/dist/components/data-table/data-table-stat-chart.d.ts +21 -0
  26. package/dist/components/data-table/data-table-state.d.ts +27 -0
  27. package/dist/components/data-table/data-table-stats-row.d.ts +11 -0
  28. package/dist/components/data-table/data-table-stats.d.ts +19 -0
  29. package/dist/components/data-table/data-table-table-parts.d.ts +21 -0
  30. package/dist/components/data-table/data-table.story-descriptions.d.ts +6 -0
  31. package/dist/components/data-table/data-table.story-fixtures.d.ts +6 -0
  32. package/dist/components/data-table/friendly-json-display.d.ts +31 -0
  33. package/dist/components/data-table/index.d.ts +3 -1
  34. package/dist/components/data-table/json-cell.d.ts +6 -0
  35. package/dist/components/data-table/pagination-footer.d.ts +4 -1
  36. package/dist/components/data-table/selection-toolbar.d.ts +3 -1
  37. package/dist/components/data-table/types.d.ts +72 -0
  38. package/dist/components/{data-renderer → kanban-renderer}/display-menu.d.ts +4 -4
  39. package/dist/components/{data-renderer → kanban-renderer}/filter-menu.d.ts +3 -3
  40. package/dist/components/kanban-renderer/index.d.ts +19 -0
  41. package/dist/components/kanban-renderer/kanban-renderer-attribute-badge.d.ts +7 -0
  42. package/dist/components/{data-renderer/data-renderer-board-column-header.d.ts → kanban-renderer/kanban-renderer-board-column-header.d.ts} +2 -2
  43. package/dist/components/{data-renderer/data-renderer-board-group-section.d.ts → kanban-renderer/kanban-renderer-board-group-section.d.ts} +2 -2
  44. package/dist/components/{data-renderer/data-renderer-board-move.d.ts → kanban-renderer/kanban-renderer-board-move.d.ts} +3 -3
  45. package/dist/components/{data-renderer/data-renderer-board.d.ts → kanban-renderer/kanban-renderer-board.d.ts} +15 -14
  46. package/dist/components/{data-renderer/data-renderer-card.d.ts → kanban-renderer/kanban-renderer-card.d.ts} +4 -3
  47. package/dist/components/{data-renderer/data-renderer-content.d.ts → kanban-renderer/kanban-renderer-content.d.ts} +8 -8
  48. package/dist/components/kanban-renderer/kanban-renderer-create-dialog.d.ts +12 -0
  49. package/dist/components/kanban-renderer/kanban-renderer-create-field.d.ts +10 -0
  50. package/dist/components/kanban-renderer/kanban-renderer-grouping.d.ts +23 -0
  51. package/dist/components/{data-renderer/data-renderer-helpers.d.ts → kanban-renderer/kanban-renderer-helpers.d.ts} +15 -15
  52. package/dist/components/kanban-renderer/kanban-renderer-list-items.d.ts +25 -0
  53. package/dist/components/kanban-renderer/kanban-renderer-list.d.ts +43 -0
  54. package/dist/components/{data-renderer/data-renderer-story-fixtures.d.ts → kanban-renderer/kanban-renderer-story-fixtures.d.ts} +3 -2
  55. package/dist/components/kanban-renderer/kanban-renderer-toolbar.d.ts +15 -0
  56. package/dist/components/kanban-renderer/kanban-renderer-view-bar.d.ts +14 -0
  57. package/dist/components/kanban-renderer/kanban-renderer-views.d.ts +12 -0
  58. package/dist/components/{data-renderer/data-renderer.d.ts → kanban-renderer/kanban-renderer.d.ts} +11 -8
  59. package/dist/components/{data-renderer → kanban-renderer}/types.d.ts +51 -8
  60. package/dist/components/kanban-renderer/use-kanban-renderer-store.d.ts +78 -0
  61. package/dist/components/layout/index.d.ts +1 -0
  62. package/dist/components/layout/panel-header.constants.d.ts +2 -0
  63. package/dist/components/layout/resizable-split-layout.d.ts +3 -2
  64. package/dist/components/layout/resizable-split-layout.geometry.d.ts +56 -0
  65. package/dist/components/layout/resizable-split-layout.handle.d.ts +6 -2
  66. package/dist/components/layout/resizable-split-layout.panels.d.ts +25 -0
  67. package/dist/components/list-row/list-row-actions.d.ts +1 -0
  68. package/dist/components/list-row/list-row-content.d.ts +7 -0
  69. package/dist/components/list-row/list-row.types.d.ts +4 -1
  70. package/dist/components/overlays/attached-menu.d.ts +6 -0
  71. package/dist/components/overlays/attachment-chip.d.ts +13 -0
  72. package/dist/components/overlays/index.d.ts +6 -2
  73. package/dist/components/overlays/resource-context-menu.d.ts +13 -1
  74. package/dist/components/param-editor/index.d.ts +2 -1
  75. package/dist/components/param-editor/inputs/selection-input.d.ts +6 -6
  76. package/dist/components/param-editor/inputs/selection-menu.d.ts +29 -0
  77. package/dist/components/param-editor/param-editor-horizontal.d.ts +1 -0
  78. package/dist/components/param-editor/param-editor-read-only-field.d.ts +9 -0
  79. package/dist/components/param-editor/param-editor-section.d.ts +1 -0
  80. package/dist/components/param-editor/param-editor.d.ts +1 -0
  81. package/dist/components/param-editor/param-editor.types.d.ts +35 -6
  82. package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/ReferenceMenuPlugin.d.ts +2 -1
  83. package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/hooks/useContextLookup.d.ts +2 -1
  84. package/dist/components/rich-text/prompt-input/plugins/ReferencePlugin/ReferencePlugin.d.ts +2 -1
  85. package/dist/components/rich-text/prompt-input/prompt-input.d.ts +3 -2
  86. package/dist/components/rich-text/types.d.ts +1 -1
  87. package/dist/components/{sidebar/sidebar-footer.d.ts → sidenav/sidenav-footer.d.ts} +2 -2
  88. package/dist/components/{sidebar/sidebar-header.d.ts → sidenav/sidenav-header.d.ts} +2 -2
  89. package/dist/components/sidenav/sidenav.d.ts +2 -0
  90. package/dist/components/sidenav/sidenav.store.d.ts +49 -0
  91. package/dist/components/{sidebar/sidebar.types.d.ts → sidenav/sidenav.types.d.ts} +5 -5
  92. package/dist/components/tab-strip/tab-visibility-filter.d.ts +1 -0
  93. package/dist/components/terminal/terminal.d.ts +11 -0
  94. package/dist/components/tree-list/tree-list-visibility-filter.d.ts +0 -1
  95. package/dist/components/tree-list/tree-list.d.ts +1 -1
  96. package/dist/components/tree-list/tree-list.types.d.ts +4 -0
  97. package/dist/data-table.js +1271 -0
  98. package/dist/data-table.js.map +1 -0
  99. package/dist/diff.js +2 -2
  100. package/dist/index.d.ts +3 -3
  101. package/dist/index.js +1885 -3360
  102. package/dist/index.js.map +1 -1
  103. package/dist/kanban-renderer-toolbar-B9ro-9z1.js +1318 -0
  104. package/dist/kanban-renderer-toolbar-B9ro-9z1.js.map +1 -0
  105. package/dist/kanban-renderer.js +1087 -0
  106. package/dist/kanban-renderer.js.map +1 -0
  107. package/dist/list-row-YRUxEcy3.js +808 -0
  108. package/dist/list-row-YRUxEcy3.js.map +1 -0
  109. package/dist/param-editor-CYZJbmKu.js +933 -0
  110. package/dist/param-editor-CYZJbmKu.js.map +1 -0
  111. package/dist/param-editor-read-only-field-DgtLqcFa.js +925 -0
  112. package/dist/param-editor-read-only-field-DgtLqcFa.js.map +1 -0
  113. package/dist/prism-BXb57lxL.js +125 -0
  114. package/dist/prism-BXb57lxL.js.map +1 -0
  115. package/dist/rich-message-DBf_5YlW.js.map +1 -1
  116. package/dist/style.css +1 -1
  117. package/dist/terminal.js +197 -177
  118. package/dist/terminal.js.map +1 -1
  119. package/dist/theme/primitives/sizes.d.ts +23 -0
  120. package/dist/theme/recipes/button.d.ts +6 -0
  121. package/dist/theme/recipes/tabs.d.ts +4 -4
  122. package/dist/theme/tokens/colors.d.ts +18 -24
  123. package/dist/{theme-CJBYBJaA.js → theme-CNhnbvcE.js} +208 -162
  124. package/dist/theme-CNhnbvcE.js.map +1 -0
  125. package/dist/theme.js +1 -1
  126. package/dist/tree-list-CZHLAURU.js +1033 -0
  127. package/dist/tree-list-CZHLAURU.js.map +1 -0
  128. package/package.json +10 -4
  129. package/dist/checkbox-D5AzFRlb.js.map +0 -1
  130. package/dist/components/data-renderer/card-interaction-guard.d.ts +0 -2
  131. package/dist/components/data-renderer/data-renderer-attribute-badge.d.ts +0 -7
  132. package/dist/components/data-renderer/data-renderer-grouping.d.ts +0 -23
  133. package/dist/components/data-renderer/data-renderer-list.d.ts +0 -39
  134. package/dist/components/data-renderer/data-renderer-toolbar.d.ts +0 -12
  135. package/dist/components/data-renderer/index.d.ts +0 -18
  136. package/dist/components/data-renderer/use-data-renderer-store.d.ts +0 -59
  137. package/dist/components/sidebar/sidebar.d.ts +0 -2
  138. package/dist/components/sidebar/sidebar.store.d.ts +0 -49
  139. package/dist/data-renderer.js +0 -1669
  140. package/dist/data-renderer.js.map +0 -1
  141. package/dist/list-row-mi3Hn-Um.js +0 -740
  142. package/dist/list-row-mi3Hn-Um.js.map +0 -1
  143. package/dist/theme-CJBYBJaA.js.map +0 -1
  144. package/dist/tree-list-CcuZMLS5.js +0 -930
  145. package/dist/tree-list-CcuZMLS5.js.map +0 -1
  146. package/dist/workspace-badge-Fuo-1zPj.js +0 -314
  147. package/dist/workspace-badge-Fuo-1zPj.js.map +0 -1
  148. /package/dist/components/{data-renderer/data-renderer-badge-helpers.d.ts → kanban-renderer/kanban-renderer-badge-helpers.d.ts} +0 -0
  149. /package/dist/components/{data-renderer/data-renderer-enum-helpers.d.ts → kanban-renderer/kanban-renderer-enum-helpers.d.ts} +0 -0
  150. /package/dist/components/{data-renderer → kanban-renderer}/use-resolved-attributes.d.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace-badge-Fuo-1zPj.js","sources":["../src/components/primitives/icon-color-picker.tsx","../src/components/primitives/session-indicator.tsx","../src/components/primitives/workspace-badge.tsx"],"sourcesContent":["import { Grid, GridItem, Icon, IconButton, Popover, Text } from \"@chakra-ui/react\";\nimport {\n AlertTriangle,\n BookOpen,\n Bug,\n ChartColumnIncreasing,\n CheckCircle,\n Circle,\n CircleQuestionMark,\n Clock,\n Code,\n Eye,\n Feather,\n Flag,\n Flame,\n Gauge,\n Layers,\n Lightbulb,\n Scale,\n Shield,\n ShieldAlert,\n Sparkles,\n Star,\n Tag,\n Wrench,\n} from \"lucide-react\";\nimport type { ComponentType } from \"react\";\n\nexport interface IconColorPickerIconOption {\n value: string | null;\n label: string;\n icon: ComponentType;\n}\n\nexport const optionColors = [\n \"gray\",\n \"red\",\n \"orange\",\n \"yellow\",\n \"green\",\n \"teal\",\n \"blue\",\n \"cyan\",\n \"purple\",\n \"pink\",\n] as const;\n\nexport const optionIcons = [\n { value: \"circle\", label: \"circle\", icon: Circle },\n { value: \"bug\", label: \"bug\", icon: Bug },\n { value: \"sparkles\", label: \"sparkles\", icon: Sparkles },\n { value: \"book-open\", label: \"book open\", icon: BookOpen },\n { value: \"wrench\", label: \"wrench\", icon: Wrench },\n { value: \"gauge\", label: \"gauge\", icon: Gauge },\n { value: \"feather\", label: \"feather\", icon: Feather },\n { value: \"scale\", label: \"scale\", icon: Scale },\n { value: \"layers\", label: \"layers\", icon: Layers },\n { value: \"alert-triangle\", label: \"alert triangle\", icon: AlertTriangle },\n { value: \"star\", label: \"star\", icon: Star },\n { value: \"flag\", label: \"flag\", icon: Flag },\n { value: \"flame\", label: \"flame\", icon: Flame },\n { value: \"lightbulb\", label: \"lightbulb\", icon: Lightbulb },\n { value: \"shield\", label: \"shield\", icon: Shield },\n { value: \"eye\", label: \"eye\", icon: Eye },\n { value: \"clock\", label: \"clock\", icon: Clock },\n { value: \"check-circle\", label: \"check circle\", icon: CheckCircle },\n { value: \"tag\", label: \"tag\", icon: Tag },\n { value: \"code\", label: \"code\", icon: Code },\n { value: \"chart-column-increasing\", label: \"chart column increasing\", icon: ChartColumnIncreasing },\n { value: \"circle-question-mark\", label: \"circle question mark\", icon: CircleQuestionMark },\n { value: \"shield-alert\", label: \"shield alert\", icon: ShieldAlert },\n] satisfies IconColorPickerIconOption[];\n\nexport const getIconComponent = (\n name: string | null | undefined,\n iconOptions: readonly IconColorPickerIconOption[] = optionIcons,\n): ComponentType => {\n const entry = iconOptions.find((icon) => icon.value === (name ?? \"circle\"));\n return entry?.icon ?? Circle;\n};\n\nexport interface IconColorPickerProps {\n color: string;\n colorOptions?: readonly string[];\n icon?: string | null;\n iconOptions?: readonly IconColorPickerIconOption[];\n onColorChange: (color: string) => void;\n onIconChange?: (icon: string | null) => void;\n disabled?: boolean;\n showIcons?: boolean;\n \"aria-label\"?: string;\n}\n\nexport const IconColorPicker = (props: IconColorPickerProps) => {\n const {\n color,\n colorOptions = optionColors,\n icon,\n iconOptions = optionIcons,\n onColorChange,\n onIconChange,\n disabled,\n showIcons = true,\n \"aria-label\": ariaLabel = \"Pick color and icon\",\n } = props;\n const IconComponent = showIcons ? getIconComponent(icon, iconOptions) : Circle;\n const selectedIcon = icon ?? \"circle\";\n\n return (\n <Popover.Root>\n <Popover.Trigger asChild>\n <IconButton size=\"2xs\" variant=\"ghost\" disabled={disabled} aria-label={ariaLabel}>\n <Icon\n as={IconComponent}\n boxSize=\"14px\"\n color={`${color}.500`}\n fill={showIcons ? undefined : `${color}.500`}\n />\n </IconButton>\n </Popover.Trigger>\n <Popover.Positioner>\n <Popover.Content w={showIcons ? \"320px\" : \"220px\"} p=\"sm\" bg=\"bg\">\n <Text textStyle=\"label/S\" mb=\"xs\">\n Color\n </Text>\n <Grid\n templateColumns={showIcons ? \"repeat(10, 1fr)\" : \"repeat(5, 1fr)\"}\n gap=\"2xs\"\n mb={showIcons ? \"md\" : \"0\"}\n >\n {colorOptions.map((optionColor) => (\n <GridItem key={optionColor}>\n <IconButton\n size=\"2xs\"\n variant={optionColor === color ? \"outline\" : \"ghost\"}\n colorPalette={optionColor}\n onClick={() => onColorChange(optionColor)}\n aria-label={optionColor}\n >\n <Icon as={Circle} boxSize=\"14px\" fill={`${optionColor}.500`} color={`${optionColor}.500`} />\n </IconButton>\n </GridItem>\n ))}\n </Grid>\n {showIcons ? (\n <>\n <Text textStyle=\"label/S\" mb=\"xs\">\n Icon\n </Text>\n <Grid templateColumns=\"repeat(5, 1fr)\" gap=\"2xs\">\n {iconOptions.map((entry) => (\n <GridItem key={entry.value ?? \"none\"}>\n <IconButton\n size=\"2xs\"\n variant={entry.value === selectedIcon ? \"outline\" : \"ghost\"}\n onClick={() => onIconChange?.(entry.value)}\n aria-label={entry.label}\n >\n <Icon as={entry.icon} boxSize=\"14px\" />\n </IconButton>\n </GridItem>\n ))}\n </Grid>\n </>\n ) : null}\n </Popover.Content>\n </Popover.Positioner>\n </Popover.Root>\n );\n};\n","import { Icon } from \"@chakra-ui/react\";\nimport {\n CircleAlert,\n CircleCheck,\n CircleDashed,\n CircleDot,\n CirclePause,\n CircleStop,\n ClockAlert,\n LoaderCircle,\n} from \"lucide-react\";\nimport type { ComponentProps } from \"react\";\n\nexport const sessionCompletionStatuses = [\n \"in_progress\",\n \"awaiting_input\",\n \"queued\",\n \"completed\",\n \"failed\",\n \"cancelled\",\n \"disconnected\",\n] as const;\n\nexport type SessionCompletionStatus = (typeof sessionCompletionStatuses)[number];\n\nexport const resolveSessionIndicatorIcon = (status: SessionCompletionStatus | undefined) => {\n if (status === \"in_progress\") return LoaderCircle;\n if (status === \"completed\") return CircleCheck;\n if (status === \"failed\") return CircleAlert;\n if (status === \"cancelled\") return CircleStop;\n if (status === \"disconnected\") return CirclePause;\n if (status === \"queued\") return ClockAlert;\n if (status === \"awaiting_input\") return CircleDot;\n return CircleDashed;\n};\n\nexport const resolveSessionIndicatorColor = (status: SessionCompletionStatus | undefined) => {\n if (status === \"in_progress\") return \"fg.info\";\n if (status === \"completed\") return \"fg.success\";\n if (status === \"failed\") return \"fg.error\";\n if (status === \"cancelled\") return \"fg.warning\";\n if (status === \"disconnected\") return \"fg.warning\";\n if (status === \"queued\") return \"fg.info\";\n if (status === \"awaiting_input\") return \"fg.warning\";\n return \"fg.muted\";\n};\n\ninterface SessionIndicatorProps {\n status?: SessionCompletionStatus;\n boxSize?: ComponentProps<typeof Icon>[\"boxSize\"];\n ariaLabel?: string;\n cursor?: ComponentProps<typeof Icon>[\"cursor\"];\n onClick?: ComponentProps<typeof Icon>[\"onClick\"];\n}\n\nexport const SessionIndicator = (props: SessionIndicatorProps) => {\n const { status, boxSize = \"14px\", ariaLabel = \"Session status\", cursor, onClick } = props;\n\n return (\n <Icon\n as={resolveSessionIndicatorIcon(status)}\n boxSize={boxSize}\n color={resolveSessionIndicatorColor(status)}\n aria-label={ariaLabel}\n cursor={cursor}\n onClick={onClick}\n />\n );\n};\n","import { Badge, Box, HStack, Icon, Spinner, Text } from \"@chakra-ui/react\";\nimport { ChevronDown, GitBranchIcon, GitCommitIcon } from \"lucide-react\";\nimport type { MouseEvent } from \"react\";\nimport { type SessionCompletionStatus, SessionIndicator } from \"@/components/primitives/session-indicator\";\nimport { Tooltip } from \"@/components/primitives/tooltip\";\n\ninterface WorkspaceAttemptStatus {\n name: string;\n color: string;\n description?: string | null;\n}\n\nconst ATTEMPT_STATUS_COLOR_ALIASES: Record<string, string> = {\n amber: \"yellow\",\n};\n\nconst CHAKRA_COLOR_PALETTES = new Set([\n \"gray\",\n \"red\",\n \"orange\",\n \"yellow\",\n \"green\",\n \"teal\",\n \"blue\",\n \"cyan\",\n \"purple\",\n \"pink\",\n]);\n\nconst workspaceBadgeSurfaceProps = {\n bg: { _light: \"bg.muted\", _dark: \"bg.subtle\" },\n color: \"fg.muted\",\n _hover: { bg: { _light: \"bg.subtle\", _dark: \"bg.hover\" } },\n} as const;\n\nexport interface WorkspaceBadgeProps {\n workspaceType: \"worktree\" | \"current_branch\";\n initializing?: boolean;\n label?: string;\n shorthand?: string;\n attemptStatus?: WorkspaceAttemptStatus;\n sessionStatus?: SessionCompletionStatus;\n showLeadingSessionIndicator?: boolean;\n diffAdditions?: number;\n diffDeletions?: number;\n hasMultipleWorkspaces?: boolean;\n onClick?: () => void;\n onDropdownClick?: () => void;\n onSessionIndicatorClick?: () => void;\n}\n\nconst resolveWorkspaceIcon = (workspaceType: WorkspaceBadgeProps[\"workspaceType\"]) => {\n if (workspaceType === \"current_branch\") {\n return GitCommitIcon;\n }\n\n return GitBranchIcon;\n};\n\nconst resolveAttemptStatusColor = (color: string) => {\n if (color.startsWith(\"#\") || color.startsWith(\"rgb\") || color.startsWith(\"hsl\") || color.startsWith(\"var(\")) {\n return color;\n }\n\n const resolvedColor = ATTEMPT_STATUS_COLOR_ALIASES[color] ?? color;\n if (CHAKRA_COLOR_PALETTES.has(resolvedColor)) {\n return `var(--chakra-colors-${resolvedColor}-500)`;\n }\n\n return resolvedColor;\n};\n\nconst buildAttemptStatusTooltip = (attemptStatus: WorkspaceAttemptStatus | undefined) => {\n if (!attemptStatus) return null;\n\n if (attemptStatus.description) {\n return `${attemptStatus.name}: ${attemptStatus.description}`;\n }\n\n return attemptStatus.name;\n};\n\nconst handleIconClick = (event: MouseEvent<SVGSVGElement>, onClick: (() => void) | undefined) => {\n event.stopPropagation();\n onClick?.();\n};\n\nconst handleBadgeClick = (event: MouseEvent<HTMLSpanElement>, onClick: (() => void) | undefined) => {\n event.stopPropagation();\n onClick?.();\n};\n\nconst LeadingSessionIndicator = (props: {\n sessionStatus?: SessionCompletionStatus;\n onSessionIndicatorClick?: () => void;\n}) => {\n const { sessionStatus, onSessionIndicatorClick } = props;\n\n if (!sessionStatus) {\n return null;\n }\n\n const sessionTooltip = onSessionIndicatorClick ? \"Open latest session\" : \"Latest session status\";\n\n return (\n <Tooltip content={sessionTooltip}>\n <SessionIndicator\n status={sessionStatus}\n boxSize=\"12px\"\n ariaLabel={sessionTooltip}\n cursor=\"pointer\"\n onClick={onSessionIndicatorClick ? (event) => handleIconClick(event, onSessionIndicatorClick) : undefined}\n />\n </Tooltip>\n );\n};\n\nconst WorkspaceTypeIndicator = (props: {\n workspaceType: WorkspaceBadgeProps[\"workspaceType\"];\n initializing: boolean;\n label?: string;\n shorthand?: string;\n}) => {\n const { workspaceType, initializing, label, shorthand } = props;\n const WorkspaceTypeIcon = resolveWorkspaceIcon(workspaceType);\n const displayLabel = label ?? shorthand;\n\n return (\n <HStack as=\"span\" gap=\"2xs\" alignItems=\"center\" color=\"fg.muted\" minW=\"0\">\n <Icon\n as={WorkspaceTypeIcon}\n boxSize=\"3.5\"\n flexShrink={0}\n aria-label={workspaceType === \"worktree\" ? \"Worktree\" : \"Current branch\"}\n />\n {initializing ? <Spinner size=\"xs\" color=\"fg.muted\" /> : null}\n {displayLabel ? (\n <Text as=\"span\" textStyle=\"label/XS/medium\" color=\"fg.muted\" minW=\"0\" maxW=\"10rem\" truncate>\n {displayLabel}\n </Text>\n ) : null}\n </HStack>\n );\n};\n\nconst WorkspaceAttemptStatusIndicator = (props: { attemptStatus?: WorkspaceAttemptStatus }) => {\n const { attemptStatus } = props;\n\n if (!attemptStatus) {\n return null;\n }\n\n return (\n <Tooltip content={buildAttemptStatusTooltip(attemptStatus)}>\n <Box\n as=\"span\"\n boxSize=\"8px\"\n borderRadius=\"full\"\n backgroundColor={resolveAttemptStatusColor(attemptStatus.color)}\n flexShrink={0}\n aria-label={`Attempt status ${attemptStatus.name}`}\n data-testid=\"workspace-attempt-status\"\n />\n </Tooltip>\n );\n};\n\nconst WorkspaceDiffTotals = (props: { diffAdditions?: number; diffDeletions?: number }) => {\n const { diffAdditions, diffDeletions } = props;\n\n if (typeof diffAdditions !== \"number\" || typeof diffDeletions !== \"number\") {\n return null;\n }\n\n return (\n <HStack as=\"span\" gap=\"3xs\" flexShrink={0}>\n <Text as=\"span\" textStyle=\"label/XS/medium\" color=\"fg.success\">\n +{diffAdditions}\n </Text>\n <Text as=\"span\" textStyle=\"label/XS/medium\" color=\"fg.error\">\n -{diffDeletions}\n </Text>\n </HStack>\n );\n};\n\nconst WorkspaceDropdownTrigger = (props: { hasMultipleWorkspaces: boolean; onDropdownClick?: () => void }) => {\n const { hasMultipleWorkspaces, onDropdownClick } = props;\n\n if (!hasMultipleWorkspaces) {\n return null;\n }\n\n return (\n <Icon\n as={ChevronDown}\n boxSize=\"12px\"\n color=\"fg.muted\"\n cursor={onDropdownClick ? \"pointer\" : \"default\"}\n aria-label=\"Workspace selector\"\n onClick={onDropdownClick ? (event) => handleIconClick(event, onDropdownClick) : undefined}\n />\n );\n};\n\nexport const WorkspaceBadge = (props: WorkspaceBadgeProps) => {\n const {\n workspaceType,\n initializing = false,\n label,\n shorthand,\n attemptStatus,\n sessionStatus,\n showLeadingSessionIndicator = true,\n diffAdditions,\n diffDeletions,\n hasMultipleWorkspaces = false,\n onClick,\n onDropdownClick,\n onSessionIndicatorClick,\n } = props;\n\n return (\n <Badge\n as=\"span\"\n display=\"inline-flex\"\n gap=\"2xs\"\n alignItems=\"center\"\n minW=\"0\"\n maxW=\"100%\"\n variant=\"subtle\"\n {...workspaceBadgeSurfaceProps}\n textStyle=\"label/XS/medium\"\n cursor={onClick || onDropdownClick || hasMultipleWorkspaces ? \"pointer\" : \"default\"}\n transition=\"background-color 0.2s ease-in-out\"\n onClick={onClick ? (event) => handleBadgeClick(event, onClick) : undefined}\n data-testid=\"workspace-badge\"\n >\n {showLeadingSessionIndicator ? (\n <LeadingSessionIndicator sessionStatus={sessionStatus} onSessionIndicatorClick={onSessionIndicatorClick} />\n ) : null}\n <WorkspaceTypeIndicator\n workspaceType={workspaceType}\n initializing={initializing}\n label={label}\n shorthand={shorthand}\n />\n <WorkspaceAttemptStatusIndicator attemptStatus={attemptStatus} />\n <WorkspaceDiffTotals diffAdditions={diffAdditions} diffDeletions={diffDeletions} />\n <WorkspaceDropdownTrigger hasMultipleWorkspaces={hasMultipleWorkspaces} onDropdownClick={onDropdownClick} />\n </Badge>\n );\n};\n"],"names":["optionColors","optionIcons","value","label","icon","Circle","Bug","Sparkles","BookOpen","Wrench","Gauge","Feather","Scale","Layers","AlertTriangle","Star","Flag","Flame","Lightbulb","Shield","Eye","Clock","CheckCircle","Tag","Code","ChartColumnIncreasing","CircleQuestionMark","ShieldAlert","getIconComponent","name","iconOptions","find","IconColorPicker","props","$","_c","color","colorOptions","t0","t1","onColorChange","onIconChange","disabled","showIcons","t2","t3","undefined","ariaLabel","t4","IconComponent","selectedIcon","t5","t6","t7","jsx","Icon","t8","Popover","IconButton","t9","t10","Symbol","for","Text","t11","t12","t13","t14","optionColor","GridItem","map","Grid","t15","jsxs","Fragment","entry","t16","t17","resolveSessionIndicatorIcon","status","LoaderCircle","CircleCheck","CircleAlert","CircleStop","CirclePause","ClockAlert","CircleDot","CircleDashed","resolveSessionIndicatorColor","SessionIndicator","boxSize","cursor","onClick","ATTEMPT_STATUS_COLOR_ALIASES","amber","CHAKRA_COLOR_PALETTES","Set","workspaceBadgeSurfaceProps","bg","_light","_dark","_hover","resolveWorkspaceIcon","workspaceType","GitCommitIcon","GitBranchIcon","resolveAttemptStatusColor","startsWith","resolvedColor","has","buildAttemptStatusTooltip","attemptStatus","description","handleIconClick","event","stopPropagation","handleBadgeClick","LeadingSessionIndicator","sessionStatus","onSessionIndicatorClick","sessionTooltip","Tooltip","WorkspaceTypeIndicator","initializing","shorthand","WorkspaceTypeIcon","displayLabel","Spinner","HStack","WorkspaceAttemptStatusIndicator","Box","WorkspaceDiffTotals","diffAdditions","diffDeletions","WorkspaceDropdownTrigger","hasMultipleWorkspaces","onDropdownClick","ChevronDown","WorkspaceBadge","showLeadingSessionIndicator","Badge"],"mappings":";;;;;AAkCO,MAAMA,KAAe,CAC1B,QACA,OACA,UACA,UACA,SACA,QACA,QACA,QACA,UACA,MAAM,GAGKC,IAAc,CACzB;AAAA,EAAEC,OAAO;AAAA,EAAUC,OAAO;AAAA,EAAUC,MAAMC;AAAO,GACjD;AAAA,EAAEH,OAAO;AAAA,EAAOC,OAAO;AAAA,EAAOC,MAAME;AAAI,GACxC;AAAA,EAAEJ,OAAO;AAAA,EAAYC,OAAO;AAAA,EAAYC,MAAMG;AAAS,GACvD;AAAA,EAAEL,OAAO;AAAA,EAAaC,OAAO;AAAA,EAAaC,MAAMI;AAAS,GACzD;AAAA,EAAEN,OAAO;AAAA,EAAUC,OAAO;AAAA,EAAUC,MAAMK;AAAO,GACjD;AAAA,EAAEP,OAAO;AAAA,EAASC,OAAO;AAAA,EAASC,MAAMM;AAAM,GAC9C;AAAA,EAAER,OAAO;AAAA,EAAWC,OAAO;AAAA,EAAWC,MAAMO;AAAQ,GACpD;AAAA,EAAET,OAAO;AAAA,EAASC,OAAO;AAAA,EAASC,MAAMQ;AAAM,GAC9C;AAAA,EAAEV,OAAO;AAAA,EAAUC,OAAO;AAAA,EAAUC,MAAMS;AAAO,GACjD;AAAA,EAAEX,OAAO;AAAA,EAAkBC,OAAO;AAAA,EAAkBC,MAAMU;AAAc,GACxE;AAAA,EAAEZ,OAAO;AAAA,EAAQC,OAAO;AAAA,EAAQC,MAAMW;AAAK,GAC3C;AAAA,EAAEb,OAAO;AAAA,EAAQC,OAAO;AAAA,EAAQC,MAAMY;AAAK,GAC3C;AAAA,EAAEd,OAAO;AAAA,EAASC,OAAO;AAAA,EAASC,MAAMa;AAAM,GAC9C;AAAA,EAAEf,OAAO;AAAA,EAAaC,OAAO;AAAA,EAAaC,MAAMc;AAAU,GAC1D;AAAA,EAAEhB,OAAO;AAAA,EAAUC,OAAO;AAAA,EAAUC,MAAMe;AAAO,GACjD;AAAA,EAAEjB,OAAO;AAAA,EAAOC,OAAO;AAAA,EAAOC,MAAMgB;AAAI,GACxC;AAAA,EAAElB,OAAO;AAAA,EAASC,OAAO;AAAA,EAASC,MAAMiB;AAAM,GAC9C;AAAA,EAAEnB,OAAO;AAAA,EAAgBC,OAAO;AAAA,EAAgBC,MAAMkB;AAAY,GAClE;AAAA,EAAEpB,OAAO;AAAA,EAAOC,OAAO;AAAA,EAAOC,MAAMmB;AAAI,GACxC;AAAA,EAAErB,OAAO;AAAA,EAAQC,OAAO;AAAA,EAAQC,MAAMoB;AAAK,GAC3C;AAAA,EAAEtB,OAAO;AAAA,EAA2BC,OAAO;AAAA,EAA2BC,MAAMqB;AAAsB,GAClG;AAAA,EAAEvB,OAAO;AAAA,EAAwBC,OAAO;AAAA,EAAwBC,MAAMsB;AAAmB,GACzF;AAAA,EAAExB,OAAO;AAAA,EAAgBC,OAAO;AAAA,EAAgBC,MAAMuB;AAAY,CAAC,GAGxDC,KAAmBA,CAC9BC,GACAC,IAAoD7B,MAEtC6B,EAAYC,KAAM3B,OAASA,EAAKF,WAAW2B,KAAQ,SAAS,GAC5DzB,QAAQC,GAeX2B,KAAkBC,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAC7B;AAAA,IAAAC,OAAAA;AAAAA,IAAAC,cAAAC;AAAAA,IAAAlC,MAAAA;AAAAA,IAAA0B,aAAAS;AAAAA,IAAAC,eAAAA;AAAAA,IAAAC,cAAAA;AAAAA,IAAAC,UAAAA;AAAAA,IAAAC,WAAAC;AAAAA,IAAA,cAAAC;AAAAA,EAAAA,IAUIZ,GARFI,IAAAC,MAAAQ,SAAA9C,KAAAsC,GAEAR,IAAAS,MAAAO,SAAA7C,IAAAsC,GAIAI,IAAAC,MAAAE,SAAA,KAAAF,GACcG,IAAAF,MAAAC,SAAA,wBAAAD;AAAiC,MAAAG;AAAA,EAAAd,EAAA,CAAA,MAAA9B,KAAA8B,SAAAJ,KAAAI,EAAA,CAAA,MAAAS,KAE3BK,IAAAL,IAAYf,GAAiBxB,GAAM0B,CAAoB,IAAvDzB,GAAwD6B,OAAA9B,GAAA8B,OAAAJ,GAAAI,OAAAS,GAAAT,OAAAc,KAAAA,IAAAd,EAAA,CAAA;AAA9E,QAAAe,IAAsBD,GACtBE,IAAqB9C,KAAA,UASJ+C,IAAA,GAAGf,CAAK,QACTgB,IAAAT,IAAAG,SAAA,GAA2BV,CAAK;AAAM,MAAAiB;AAAA,EAAAnB,EAAA,CAAA,MAAAe,KAAAf,SAAAiB,KAAAjB,EAAA,CAAA,MAAAkB,KAJ9CC,IAAA,gBAAAC,EAACC,KACKN,IAAAA,GACI,SAAA,QACD,OAAAE,GACD,MAAAC,EAAAA,CAAsC,GAC5ClB,OAAAe,GAAAf,OAAAiB,GAAAjB,OAAAkB,GAAAlB,OAAAmB,KAAAA,IAAAnB,EAAA,CAAA;AAAA,MAAAsB;AAAA,EAAAtB,EAAA,CAAA,MAAAa,KAAAb,SAAAQ,KAAAR,EAAA,EAAA,MAAAmB,KAPNG,sBAAAC,EAAA,SAAA,EAAiB,SAAA,IACf,UAAA,gBAAAH,EAACI,GAAA,EAAgB,MAAA,OAAc,SAAA,SAAkBhB,UAAAA,GAAsBK,cAAAA,GACrEM,aAMF,GACF,GAAkBnB,OAAAa,GAAAb,OAAAQ,GAAAR,QAAAmB,GAAAnB,QAAAsB,KAAAA,IAAAtB,EAAA,EAAA;AAEI,QAAAyB,IAAAhB,IAAA,UAAA;AAA6B,MAAAiB;AAAA,EAAA1B,EAAA,EAAA,MAAA2B,uBAAAC,IAAA,2BAAA,KAC/CF,sBAACG,GAAA,EAAe,WAAA,WAAa,IAAA,MAAK,UAAA,SAElC,GAAO7B,QAAA0B,KAAAA,IAAA1B,EAAA,EAAA;AAEY,QAAA8B,IAAArB,IAAA,oBAAA,kBAEbsB,IAAAtB,IAAA,OAAA;AAAsB,MAAAuB;AAAA,MAAAhC,EAAA,EAAA,MAAAE,KAAAF,UAAAG,KAAAH,EAAA,EAAA,MAAAM,GAAA;AAAA,QAAA2B;AAAA,IAAAjC,EAAA,EAAA,MAAAE,KAAAF,UAAAM,KAER2B,IAAAC,CAAAA,MAChB,gBAAAd,EAACe,GAAA,EACC,UAAA,gBAAAf,EAACI,KACM,MAAA,OACI,SAAAU,MAAgBhC,IAAhB,YAAA,SACKgC,cAAAA,GACL,SAAA,MAAM5B,EAAc4B,CAAW,GAC5BA,cAAAA,GAEZ,UAAA,gBAAAd,EAACC,GAAA,EAASlD,IAAAA,GAAgB,SAAA,QAAa,SAAG+D,CAAW,QAAe,OAAA,GAAGA,CAAW,QAAM,EAAA,CAC1F,KATaA,CAUf,GACDlC,QAAAE,GAAAF,QAAAM,GAAAN,QAAAiC,KAAAA,IAAAjC,EAAA,EAAA,GAZAgC,IAAA7B,EAAYiC,IAAKH,CAYjB,GAACjC,QAAAE,GAAAF,QAAAG,GAAAH,QAAAM,GAAAN,QAAAgC;AAAAA,EAAA;AAAAA,IAAAA,IAAAhC,EAAA,EAAA;AAAA,MAAAiC;AAAA,EAAAjC,EAAA,EAAA,MAAA8B,KAAA9B,UAAA+B,KAAA/B,EAAA,EAAA,MAAAgC,KAjBJC,IAAA,gBAAAb,EAACiB,KACkB,iBAAAP,GACb,KAAA,OACA,IAAAC,GAEHC,UAAAA,EAAAA,CAaH,GAAOhC,QAAA8B,GAAA9B,QAAA+B,GAAA/B,QAAAgC,GAAAhC,QAAAiC,KAAAA,IAAAjC,EAAA,EAAA;AAAA,MAAAsC;AAAA,EAAAtC,EAAA,EAAA,MAAAJ,KAAAI,EAAA,EAAA,MAAAO,KAAAP,EAAA,EAAA,MAAAgB,KAAAhB,UAAAS,KACN6B,IAAA7B,IAAA,gBAAA8B,EAAAC,GAAA,EAEG,UAAA;AAAA,IAAA,gBAAApB,EAACS,GAAA,EAAe,WAAA,WAAa,IAAA,MAAK,UAAA,QAElC;AAAA,sBACCQ,GAAA,EAAqB,iBAAA,kBAAqB,KAAA,OACxCzC,YAAWwC,IAAKK,CAAAA,wBACdN,GAAA,EACC,UAAA,gBAAAf,EAACI,KACM,MAAA,OACI,SAAAiB,EAAKzE,UAAWgD,IAAhB,YAAA,SACA,eAAMT,IAAekC,EAAKzE,KAAM,GAC7B,cAAAyE,EAAKxE,OAEjB,4BAACoD,GAAA,EAAS,IAAAoB,EAAKvE,MAAe,SAAA,WAChC,EAAA,GARauE,EAAKzE,SAAL,MASf,CACD,EAAA,CACH;AAAA,EAAA,EAAA,CAAO,IAlBV,MAoBOgC,QAAAJ,GAAAI,QAAAO,GAAAP,QAAAgB,GAAAhB,QAAAS,GAAAT,QAAAsC,KAAAA,IAAAtC,EAAA,EAAA;AAAA,MAAA0C;AAAA,EAAA1C,EAAA,EAAA,MAAAiC,KAAAjC,UAAAsC,KAAAtC,EAAA,EAAA,MAAAyB,KA5CZiB,IAAA,gBAAAtB,EAAAG,EAAA,YAAA,EACE,UAAA,gBAAAgB,EAAAhB,EAAA,SAAA,EAAoB,GAAAE,GAAiC,GAAA,MAAQ,IAAA,MAC3DC,UAAAA;AAAAA,IAAAA;AAAAA,IAGAO;AAAAA,IAmBCK;AAAAA,EAAAA,EAAAA,CAqBH,EAAA,CACF,GAAqBtC,QAAAiC,GAAAjC,QAAAsC,GAAAtC,QAAAyB,GAAAzB,QAAA0C,KAAAA,IAAA1C,EAAA,EAAA;AAAA,MAAA2C;AAAA,SAAA3C,EAAA,EAAA,MAAA0C,KAAA1C,UAAAsB,KAzDvBqB,gCACErB,UAAAA;AAAAA,IAAAA;AAAAA,IAUAoB;AAAAA,EAAAA,GA+CF,GAAe1C,QAAA0C,GAAA1C,QAAAsB,GAAAtB,QAAA2C,KAAAA,IAAA3C,EAAA,EAAA,GA1Df2C;AA0De,GC9INC,KAA8BA,CAACC,MACtCA,MAAW,gBAAsBC,KACjCD,MAAW,cAAoBE,KAC/BF,MAAW,WAAiBG,KAC5BH,MAAW,cAAoBI,KAC/BJ,MAAW,iBAAuBK,KAClCL,MAAW,WAAiBM,KAC5BN,MAAW,mBAAyBO,KACjCC,IAGIC,KAA+BA,CAACT,MACvCA,MAAW,gBAAsB,YACjCA,MAAW,cAAoB,eAC/BA,MAAW,WAAiB,aAC5BA,MAAW,eACXA,MAAW,iBAAuB,eAClCA,MAAW,WAAiB,YAC5BA,MAAW,mBAAyB,eACjC,YAWIU,KAAmBxD,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAC9B;AAAA,IAAA4C,QAAAA;AAAAA,IAAAW,SAAApD;AAAAA,IAAAS,WAAAR;AAAAA,IAAAoD,QAAAA;AAAAA,IAAAC,SAAAA;AAAAA,EAAAA,IAAoF3D,GAApEyD,IAAApD,MAAAQ,SAAA,SAAAR,GAAkBS,IAAAR,MAAAO,SAAA,mBAAAP;AAA4B,MAAAK;AAAA,EAAAV,SAAA6C,KAItDnC,IAAAkC,GAA4BC,CAAM,GAAC7C,OAAA6C,GAAA7C,OAAAU,KAAAA,IAAAV,EAAA,CAAA;AAAA,MAAAW;AAAA,EAAAX,SAAA6C,KAEhClC,IAAA2C,GAA6BT,CAAM,GAAC7C,OAAA6C,GAAA7C,OAAAW,KAAAA,IAAAX,EAAA,CAAA;AAAA,MAAAc;AAAA,SAAAd,SAAAa,KAAAb,EAAA,CAAA,MAAAwD,KAAAxD,EAAA,CAAA,MAAAyD,KAAAzD,EAAA,CAAA,MAAA0D,KAAA1D,SAAAU,KAAAV,EAAA,CAAA,MAAAW,KAH7CG,IAAA,gBAAAM,EAACC,GAAA,EACK,IAAAX,GACK8C,SAAAA,GACF,OAAA7C,GACKE,cAAAA,GACJ4C,QAAAA,GACCC,SAAAA,EAAAA,CAAO,GAChB1D,OAAAa,GAAAb,OAAAwD,GAAAxD,OAAAyD,GAAAzD,OAAA0D,GAAA1D,OAAAU,GAAAV,OAAAW,GAAAX,QAAAc,KAAAA,IAAAd,EAAA,EAAA,GAPFc;AAOE,GCtDA6C,KAAuD;AAAA,EAC3DC,OAAO;AACT,GAEMC,KAAwB,oBAAIC,IAAI,CACpC,QACA,OACA,UACA,UACA,SACA,QACA,QACA,QACA,UACA,MAAM,CACP,GAEKC,KAA6B;AAAA,EACjCC,IAAI;AAAA,IAAEC,QAAQ;AAAA,IAAYC,OAAO;AAAA,EAAA;AAAA,EACjChE,OAAO;AAAA,EACPiE,QAAQ;AAAA,IAAEH,IAAI;AAAA,MAAEC,QAAQ;AAAA,MAAaC,OAAO;AAAA,IAAA;AAAA,EAAW;AACzD,GAkBME,KAAuBA,CAACC,MACxBA,MAAkB,mBACbC,KAGFC,IAGHC,KAA4BA,CAACtE,MAAkB;AACnD,MAAIA,EAAMuE,WAAW,GAAG,KAAKvE,EAAMuE,WAAW,KAAK,KAAKvE,EAAMuE,WAAW,KAAK,KAAKvE,EAAMuE,WAAW,MAAM;AACxG,WAAOvE;AAGT,QAAMwE,IAAgBf,GAA6BzD,CAAK,KAAKA;AAC7D,SAAI2D,GAAsBc,IAAID,CAAa,IAClC,uBAAuBA,CAAa,UAGtCA;AACT,GAEME,KAA4BA,CAACC,MAC5BA,IAEDA,EAAcC,cACT,GAAGD,EAAclF,IAAI,KAAKkF,EAAcC,WAAW,KAGrDD,EAAclF,OANM,MASvBoF,IAAkBA,CAACC,GAAkCtB,MAAsC;AAC/FsB,EAAAA,EAAMC,gBAAAA,GACNvB,IAAAA;AACF,GAEMwB,KAAmBA,CAACF,GAAoCtB,MAAsC;AAClGsB,EAAAA,EAAMC,gBAAAA,GACNvB,IAAAA;AACF,GAEMyB,KAA0BpF,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA,GAI9B;AAAA,IAAAmF,eAAAA;AAAAA,IAAAC,yBAAAA;AAAAA,EAAAA,IAAmDtF;AAEnD,MAAI,CAACqF;AAAa,WACT;AAGT,QAAAE,IAAuBD,IAAA,wBAAA;AAA0E,MAAAjF;AAAA,EAAAJ,SAAAqF,KASlFjF,IAAAiF,IAAAL,CAAAA,MAAqCD,EAAgBC,GAAOK,CAAuB,IAAnFzE,QAAgGZ,OAAAqF,GAAArF,OAAAI,KAAAA,IAAAJ,EAAA,CAAA;AAAA,MAAAK;AAAA,EAAAL,EAAA,CAAA,MAAAoF,KAAApF,SAAAsF,KAAAtF,EAAA,CAAA,MAAAI,KAL3GC,IAAA,gBAAAe,EAACmC,IAAA,EACS6B,QAAAA,GACA,SAAA,QACGE,WAAAA,GACJ,QAAA,WACE,SAAAlF,EAAAA,CAAgG,GACzGJ,OAAAoF,GAAApF,OAAAsF,GAAAtF,OAAAI,GAAAJ,OAAAK,KAAAA,IAAAL,EAAA,CAAA;AAAA,MAAAU;AAAA,SAAAV,EAAA,CAAA,MAAAsF,KAAAtF,SAAAK,KAPJK,IAAA,gBAAAU,EAACmE,GAAA,EAAiBD,SAAAA,GAChBjF,UAAAA,GAOF,GAAUL,OAAAsF,GAAAtF,OAAAK,GAAAL,OAAAU,KAAAA,IAAAV,EAAA,CAAA,GARVU;AAQU,GAIR8E,KAAyBzF,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAM7B;AAAA,IAAAoE,eAAAA;AAAAA,IAAAoB,cAAAA;AAAAA,IAAAxH,OAAAA;AAAAA,IAAAyH,WAAAA;AAAAA,EAAAA,IAA0D3F;AAAM,MAAAK;AAAA,EAAAJ,SAAAqE,KACtCjE,IAAAgE,GAAqBC,CAAa,GAACrE,OAAAqE,GAAArE,OAAAI,KAAAA,IAAAJ,EAAA,CAAA;AAA7D,QAAA2F,IAA0BvF,GAC1BwF,IAAqB3H,KAAAyH,GAQHrF,IAAAgE,MAAkB,aAAlB,aAAA;AAA4D,MAAA3D;AAAA,EAAAV,EAAA,CAAA,MAAA2F,KAAA3F,SAAAK,KAJ1EK,IAAA,gBAAAU,EAACC,KACKsE,IAAAA,GACI,SAAA,OACI,YAAA,GACA,cAAAtF,EAAAA,CAA4D,GACxEL,OAAA2F,GAAA3F,OAAAK,GAAAL,OAAAU,KAAAA,IAAAV,EAAA,CAAA;AAAA,MAAAW;AAAA,EAAAX,SAAAyF,KACD9E,IAAA8E,IAAe,gBAAArE,EAACyE,GAAA,EAAa,MAAA,MAAW,OAAA,YAAU,IAAlD,MAA4D7F,OAAAyF,GAAAzF,OAAAW,KAAAA,IAAAX,EAAA,CAAA;AAAA,MAAAc;AAAA,EAAAd,SAAA4F,KAC5D9E,IAAA8E,IACC,gBAAAxE,EAACS,GAAA,EAAQ,IAAA,QAAiB,WAAA,mBAAwB,OAAA,YAAgB,MAAA,KAAS,MAAA,SAAQ,UAAA,IAChF+D,aACH,IAHD,MAIO5F,OAAA4F,GAAA5F,OAAAc,KAAAA,IAAAd,EAAA,CAAA;AAAA,MAAAiB;AAAA,SAAAjB,EAAA,CAAA,MAAAU,KAAAV,UAAAW,KAAAX,EAAA,EAAA,MAAAc,KAZVG,IAAA,gBAAAsB,EAACuD,GAAA,EAAU,IAAA,QAAW,KAAA,OAAiB,YAAA,UAAe,OAAA,YAAgB,MAAA,KACpEpF,UAAAA;AAAAA,IAAAA;AAAAA,IAMCC;AAAAA,IACAG;AAAAA,EAAAA,GAKH,GAASd,OAAAU,GAAAV,QAAAW,GAAAX,QAAAc,GAAAd,QAAAiB,KAAAA,IAAAjB,EAAA,EAAA,GAbTiB;AAaS,GAIP8E,KAAkChG,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GACtC;AAAA,IAAA4E,eAAAA;AAAAA,EAAAA,IAA0B9E;AAE1B,MAAI,CAAC8E;AAAa,WACT;AACR,MAAAzE;AAAA,EAAAJ,SAAA6E,KAGmBzE,IAAAwE,GAA0BC,CAAa,GAAC7E,OAAA6E,GAAA7E,OAAAI,KAAAA,IAAAJ,EAAA,CAAA;AAAA,MAAAK;AAAA,EAAAL,EAAA,CAAA,MAAA6E,EAAA3E,SAKrCG,IAAAmE,GAA0BK,EAAa3E,KAAM,GAACF,EAAA,CAAA,IAAA6E,EAAA3E,OAAAF,OAAAK,KAAAA,IAAAL,EAAA,CAAA;AAEnD,QAAAU,IAAA,kBAAkBmE,EAAalF,IAAK;AAAE,MAAAgB;AAAA,EAAAX,EAAA,CAAA,MAAAK,KAAAL,SAAAU,KANpDC,IAAA,gBAAAS,EAAC4E,GAAA,EACI,IAAA,QACK,SAAA,OACK,cAAA,QACI,iBAAA3F,GACL,eACA,cAAAK,GACA,eAAA,4BAA0B,GACtCV,OAAAK,GAAAL,OAAAU,GAAAV,OAAAW,KAAAA,IAAAX,EAAA,CAAA;AAAA,MAAAc;AAAA,SAAAd,EAAA,CAAA,MAAAI,KAAAJ,SAAAW,KATJG,IAAA,gBAAAM,EAACmE,GAAA,EAAiB,SAAAnF,GAChBO,UAAAA,GASF,GAAUX,OAAAI,GAAAJ,OAAAW,GAAAX,OAAAc,KAAAA,IAAAd,EAAA,CAAA,GAVVc;AAUU,GAIRmF,KAAsBlG,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA,GAC1B;AAAA,IAAAiG,eAAAA;AAAAA,IAAAC,eAAAA;AAAAA,EAAAA,IAAyCpG;AAEzC,MAAI,OAAOmG,KAAkB,YAAY,OAAOC,KAAkB;AAAQ,WACjE;AACR,MAAA/F;AAAA,EAAAJ,SAAAkG,KAIG9F,sBAACyB,GAAA,EAAQ,IAAA,QAAiB,WAAA,mBAAwB,OAAA,cAAa,UAAA;AAAA,IAAA;AAAA;KAE/D,GAAO7B,OAAAkG,GAAAlG,OAAAI,KAAAA,IAAAJ,EAAA,CAAA;AAAA,MAAAK;AAAA,EAAAL,SAAAmG,KACP9F,sBAACwB,GAAA,EAAQ,IAAA,QAAiB,WAAA,mBAAwB,OAAA,YAAW,UAAA;AAAA,IAAA;AAAA;KAE7D,GAAO7B,OAAAmG,GAAAnG,OAAAK,KAAAA,IAAAL,EAAA,CAAA;AAAA,MAAAU;AAAA,SAAAV,EAAA,CAAA,MAAAI,KAAAJ,SAAAK,KANTK,sBAACoF,GAAA,EAAU,IAAA,QAAW,KAAA,OAAkB,YAAA,GACtC1F,UAAAA;AAAAA,IAAAA;AAAAA,IAGAC;AAAAA,EAAAA,GAGF,GAASL,OAAAI,GAAAJ,OAAAK,GAAAL,OAAAU,KAAAA,IAAAV,EAAA,CAAA,GAPTU;AAOS,GAIP0F,KAA2BrG,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA,GAC/B;AAAA,IAAAoG,uBAAAA;AAAAA,IAAAC,iBAAAA;AAAAA,EAAAA,IAAmDvG;AAEnD,MAAI,CAACsG;AAAqB,WACjB;AAQG,QAAAjG,IAAAkG,IAAA,YAAA;AAAuC,MAAAjG;AAAA,EAAAL,SAAAsG,KAEtCjG,IAAAiG,IAAAtB,CAAAA,MAA6BD,EAAgBC,GAAOsB,CAAe,IAAnE1F,QAAgFZ,OAAAsG,GAAAtG,OAAAK,KAAAA,IAAAL,EAAA,CAAA;AAAA,MAAAU;AAAA,SAAAV,EAAA,CAAA,MAAAI,KAAAJ,SAAAK,KAN3FK,IAAA,gBAAAU,EAACC,GAAA,EACKkF,IAAAA,IACI,SAAA,QACF,OAAA,YACE,QAAAnG,GACG,cAAA,sBACF,SAAAC,GAAgF,GACzFL,OAAAI,GAAAJ,OAAAK,GAAAL,OAAAU,KAAAA,IAAAV,EAAA,CAAA,GAPFU;AAOE,GAIO8F,KAAiBzG,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAC5B;AAAA,IAAAoE,eAAAA;AAAAA,IAAAoB,cAAArF;AAAAA,IAAAnC,OAAAA;AAAAA,IAAAyH,WAAAA;AAAAA,IAAAb,eAAAA;AAAAA,IAAAO,eAAAA;AAAAA,IAAAqB,6BAAApG;AAAAA,IAAA6F,eAAAA;AAAAA,IAAAC,eAAAA;AAAAA,IAAAE,uBAAA3F;AAAAA,IAAAgD,SAAAA;AAAAA,IAAA4C,iBAAAA;AAAAA,IAAAjB,yBAAAA;AAAAA,EAAAA,IAcItF,GAZF0F,IAAArF,MAAAQ,SAAA,KAAAR,GAKAqG,IAAApG,MAAAO,SAAA,KAAAP,GAGAgG,IAAA3F,MAAAE,SAAA,KAAAF,GAiBUC,IAAA+C,KAAA4C,KAAAD,IAAA,YAAA;AAA2E,MAAAvF;AAAA,EAAAd,SAAA0D,KAE1E5C,IAAA4C,IAAAsB,CAAAA,MAAqBE,GAAiBF,GAAOtB,CAAO,IAApD9C,QAAiEZ,OAAA0D,GAAA1D,OAAAc,KAAAA,IAAAd,EAAA,CAAA;AAAA,MAAAiB;AAAA,EAAAjB,EAAA,CAAA,MAAAqF,KAAArF,SAAAoF,KAAApF,EAAA,CAAA,MAAAyG,KAGzExF,IAAAwF,IACC,gBAAArF,EAAC+D,IAAA,EAAuCC,eAAAA,GAAwCC,yBAAAA,GAAuB,IADxG,MAEOrF,OAAAqF,GAAArF,OAAAoF,GAAApF,OAAAyG,GAAAzG,OAAAiB,KAAAA,IAAAjB,EAAA,CAAA;AAAA,MAAAkB;AAAA,EAAAlB,EAAA,CAAA,MAAAyF,KAAAzF,EAAA,CAAA,MAAA/B,KAAA+B,EAAA,CAAA,MAAA0F,KAAA1F,SAAAqE,KACRnD,IAAA,gBAAAE,EAACoE,IAAA,EACgBnB,eAAAA,GACDoB,cAAAA,GACPxH,OAAAA,GACIyH,WAAAA,GAAS,GACpB1F,OAAAyF,GAAAzF,OAAA/B,GAAA+B,OAAA0F,GAAA1F,OAAAqE,GAAArE,QAAAkB,KAAAA,IAAAlB,EAAA,EAAA;AAAA,MAAAmB;AAAA,EAAAnB,UAAA6E,KACF1D,sBAAC4E,MAA+ClB,eAAAA,EAAAA,CAAa,GAAI7E,QAAA6E,GAAA7E,QAAAmB,KAAAA,IAAAnB,EAAA,EAAA;AAAA,MAAAsB;AAAA,EAAAtB,EAAA,EAAA,MAAAkG,KAAAlG,UAAAmG,KACjE7E,IAAA,gBAAAF,EAAC6E,IAAA,EAAmCC,eAAAA,GAA8BC,eAAAA,EAAAA,CAAa,GAAInG,QAAAkG,GAAAlG,QAAAmG,GAAAnG,QAAAsB,KAAAA,IAAAtB,EAAA,EAAA;AAAA,MAAAyB;AAAA,EAAAzB,EAAA,EAAA,MAAAqG,KAAArG,UAAAsG,KACnF7E,IAAA,gBAAAL,EAACgF,IAAA,EAAgDC,uBAAAA,GAAwCC,iBAAAA,EAAAA,CAAe,GAAItG,QAAAqG,GAAArG,QAAAsG,GAAAtG,QAAAyB,KAAAA,IAAAzB,EAAA,EAAA;AAAA,MAAA0B;AAAA,SAAA1B,EAAA,EAAA,MAAAW,KAAAX,EAAA,EAAA,MAAAc,KAAAd,EAAA,EAAA,MAAAiB,KAAAjB,UAAAkB,KAAAlB,EAAA,EAAA,MAAAmB,KAAAnB,EAAA,EAAA,MAAAsB,KAAAtB,EAAA,EAAA,MAAAyB,KA1B9GC,IAAA,gBAAAa,EAACmE,GAAA,EACI,IAAA,QACK,SAAA,eACJ,KAAA,OACO,YAAA,UACN,MAAA,KACA,MAAA,QACG,SAAA,UAAQ,GACZ3C,IACM,WAAA,mBACF,QAAApD,GACG,YAAA,qCACF,SAAAG,GACG,eAAA,mBAEXG,UAAAA;AAAAA,IAAAA;AAAAA,IAGDC;AAAAA,IAMAC;AAAAA,IACAG;AAAAA,IACAG;AAAAA,EAAAA,GACF,GAAQzB,QAAAW,GAAAX,QAAAc,GAAAd,QAAAiB,GAAAjB,QAAAkB,GAAAlB,QAAAmB,GAAAnB,QAAAsB,GAAAtB,QAAAyB,GAAAzB,QAAA0B,KAAAA,IAAA1B,EAAA,EAAA,GA3BR0B;AA2BQ;"}