refactor(ui): refine product information surfaces #6001
ci.yml
on: pull_request
Build Impact
23s
Shell Deploy Scripts
13s
Matrix: cli-test
Matrix: Impact-selected Linux / Relay Contract / build
Waiting for pending jobs
Matrix: rust-build-check
DSH Profile Packaging (windows-latest)
Frontend Build
7m 33s
Rust / CLI Validation
6s
Annotations
2 errors and 9 warnings
|
Frontend Build
Process completed with exit code 1.
|
|
src/infrastructure/design-system/IconUsageIntegration.test.tsx > catalog icon consumer integration > uses catalog marks in navigation, the creative entry and string-based menus:
src/web-ui/src/infrastructure/design-system/IconUsageIntegration.test.tsx#L116
AssertionError: expected 'import { Button, Combobox, Icon, Icon…' to contain '<Icon name="creative"'
- Expected
+ Received
- <Icon name="creative"
+ import { Button, Combobox, Icon, IconButton, SearchField, Select, StatusPill, Tooltip, ScrollArea } from '@openbitfun/ui';
+ import React, { useCallback, useEffect, useMemo, useState } from 'react';
+ import type { TFunction } from 'i18next';
+ import { Bot, Cpu, FileText, MessageSquareText, RotateCcw, Wrench, type LucideIcon } from 'lucide-react';
+ import { useTranslation } from 'react-i18next';
+ import { useI18n } from '@/infrastructure/i18n/hooks/useI18n';
+ import { confirmDanger } from '@/infrastructure/confirm-dialog';
+ import {
+ GalleryDetailModal,
+ GalleryEmpty,
+ GalleryGrid,
+ GalleryLayout,
+ GalleryPageHeader,
+ GallerySkeleton,
+ GalleryZone,
+ } from '@/app/components';
+ import AgentCard from './components/AgentCard';
+ import AgentHarnessOverview from './components/AgentHarnessOverview';
+ import CoreAgentCard, { type CoreAgentMeta } from './components/CoreAgentCard';
+ import CreateAgentPage from './components/CreateAgentPage';
+ import {
+ AgentCapabilityTooltip,
+ type AgentCapabilityTooltipField,
+ } from './components/AgentCapabilityTooltip';
+ import { capabilityTooltipAriaLabel } from './components/agentCapabilityTooltipUtils';
+ import { SkillGroupPicker, SkillGroupSummary } from './components/SkillGroupPicker';
+ import { ToolGroupPicker, ToolGroupSummary } from './components/ToolGroupPicker';
+ import { useUserSkillGroups } from './components/useUserSkillGroups';
+ import { useUserToolGroups } from './components/useUserToolGroups';
+ import {
+ type AgentFilterLevel,
+ type AgentFilterType,
+ type AgentWithCapabilities,
+ useAgentsStore,
+ } from './agentsStore';
+ import { useAgentsList } from './hooks/useAgentsList';
+ import { AGENT_ICON_MAP } from './agentsIcons';
+ import { CAPABILITY_ACCENT, CORE_AGENT_ACCENTS, DEFAULT_CORE_AGENT_ACCENT } from './agentAppearance';
+ import { getCardGradient } from '@/shared/utils/cardGradients';
+ import { isAgentProfileConfigurableToolName } from './agentToolVisibility';
+ import { getAgentBadge, getAgentDescription, getCapabilityLabel } from './utils';
+ import './AgentsView.scss';
+ import './AgentsScene.scss';
+ import { useGallerySceneAutoRefresh } from '@/app/hooks/useGallerySceneAutoRefresh';
+ import {
+ CORE_AGENT_IDS,
+ isAgentInOverviewZone,
+ isLocallyManageableSubagent,
+ } from './agentVisibility';
+ import { CustomAgentAPI } from '@/infrastructure/api/service-api/CustomAgentAPI';
+ import { useComputerUseEnabled } from '@/infrastructure/config/hooks/useComputerUseEnabled';
+ import type { ModeSkillInfo, SubagentModelSelection } from '@/infrastructure/config/types';
+ import {
+ buildSkillCoverageSourceMap,
+ getModeSkillRuntimeStatus,
+ } from '@/infrastructure/config/skillSourcePresentation';
+ import type { SubagentInfo } from '@/infrastructure/api/service-api/SubagentAPI';
+ import { useNotification } from '@/shared/notification-system';
+ import {
+ type ModelSelectOption,
+ useModelSelectPresentation,
+ } from '@/infrastructure/config/components/ModelSelectPresentation';
+ import { openEcosystemCompatibility } from '@/app/scenes/ecosystem-compatibility/ecosystemCompatibilityStore';
+
+ const DEFAULT_SUBAGENT_MODEL_OVERRIDE_VALUE = '__default_subagent_model__';
+
+ type CapabilityTab = 'model' | 'tools' | 'skills' | 'subagents';
+ type AgentDetailSection = 'basic' | 'behavior' | CapabilityTab;
+
+ function normalizeSelectValue(value: string | number | (string | number)[]): string {
+ return String(Array.isArray(value) ? (value[0] ?? '') : value);
+ }
+
+ function subagentModelOverrideValue(selection: SubagentModelSelection | undefined): string {
+ if (!selection) {
+ return DEFAULT_SUBAGENT_MODEL_OVERRIDE_VALUE;
+ }
+ return selection.kind === 'inherit' ? 'inherit' : selection.model_id;
+ }
+
+ function subagentModelSelectionFromValue(value: string): SubagentModelSelection | undefined {
+ if (value === DEFAULT_SUBAGENT_MODEL_OVER
|
|
Frontend Build:
src/web-ui/src/flow_chat/tool-cards/AgentWaitToolCard.tsx#L17
Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components
|
|
Frontend Build:
src/web-ui/src/flow_chat/components/voice/RealtimeVoiceCallContext.tsx#L32
Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components
|
|
Frontend Build:
src/web-ui/src/flow_chat/components/voice/RealtimeVoiceCallContext.tsx#L23
Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components
|
|
Frontend Build:
src/web-ui/src/flow_chat/components/modern/MessageReferenceCapsule.tsx#L29
Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components
|
|
Frontend Build:
src/web-ui/src/flow_chat/components/modern/MessageReferenceCapsule.tsx#L7
Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components
|
|
Frontend Build:
src/web-ui/src/flow_chat/components/ReasoningPresetSelector.tsx#L113
Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components
|
|
Frontend Build:
src/web-ui/src/flow_chat/components/ReasoningPresetSelector.tsx#L36
Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components
|
|
Frontend Build:
src/web-ui/src/app/components/SceneTopBar/SceneChrome.tsx#L121
Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components
|
|
Frontend Build:
src/web-ui/src/app/components/NavPanel/components/DeviceArtwork.tsx#L6
Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components
|