@neuronection/assistant-ui 0.48.0 → 0.50.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.
- package/CHANGELOG.md +18 -0
- package/README.md +1 -0
- package/dist/admin-user-table.js +1 -1
- package/dist/ai-magic-fill.js +1 -1
- package/dist/{chunk-HA7ZIB7V.js → chunk-3YIVKKT6.js} +3 -3
- package/dist/{chunk-HA7ZIB7V.js.map → chunk-3YIVKKT6.js.map} +1 -1
- package/dist/{chunk-OIET4P2M.js → chunk-47CRUWHB.js} +4 -4
- package/dist/{chunk-OIET4P2M.js.map → chunk-47CRUWHB.js.map} +1 -1
- package/dist/{chunk-GNHADPX6.js → chunk-5U45TQJE.js} +3 -3
- package/dist/{chunk-GNHADPX6.js.map → chunk-5U45TQJE.js.map} +1 -1
- package/dist/{chunk-WY5TO6R4.js → chunk-6ANLDUGL.js} +3 -3
- package/dist/{chunk-WY5TO6R4.js.map → chunk-6ANLDUGL.js.map} +1 -1
- package/dist/{chunk-OEBCS7EF.js → chunk-CCFVDJHU.js} +3 -3
- package/dist/{chunk-OEBCS7EF.js.map → chunk-CCFVDJHU.js.map} +1 -1
- package/dist/{chunk-QUVVOG7K.js → chunk-MFM4W6ZO.js} +3 -3
- package/dist/{chunk-QUVVOG7K.js.map → chunk-MFM4W6ZO.js.map} +1 -1
- package/dist/chunk-Q6LSPNCL.js +3 -0
- package/dist/chunk-Q6LSPNCL.js.map +1 -0
- package/dist/chunk-SNHU4PV3.js +169 -0
- package/dist/chunk-SNHU4PV3.js.map +1 -0
- package/dist/{chunk-UAZYDEXA.js → chunk-SVRCZUNQ.js} +6 -2
- package/dist/chunk-SVRCZUNQ.js.map +1 -0
- package/dist/{chunk-4XV2FGBS.js → chunk-UMI4M4MF.js} +21 -17
- package/dist/chunk-UMI4M4MF.js.map +1 -0
- package/dist/{chunk-YM4YN3YC.js → chunk-X6L5Z5LV.js} +3 -3
- package/dist/{chunk-YM4YN3YC.js.map → chunk-X6L5Z5LV.js.map} +1 -1
- package/dist/combobox.js +1 -1
- package/dist/countries.d.ts +19 -5
- package/dist/countries.js +212 -53
- package/dist/countries.js.map +1 -1
- package/dist/index.d.ts +66 -1
- package/dist/index.js +27 -26
- package/dist/instance-mode-control.d.ts +62 -0
- package/dist/instance-mode-control.js +3 -0
- package/dist/instance-mode-control.js.map +1 -0
- package/dist/languages.d.ts +28 -0
- package/dist/languages.js +75 -0
- package/dist/languages.js.map +1 -0
- package/dist/markdown-diff-view.js +1 -1
- package/dist/model-picker.js +1 -1
- package/dist/model-registry.js +1 -1
- package/dist/profile-switcher.js +1 -1
- package/dist/provider-form.d.ts +7 -0
- package/dist/provider-form.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/task-assignment-picker.js +1 -1
- package/package.json +9 -1
- package/dist/chunk-4XV2FGBS.js.map +0 -1
- package/dist/chunk-UAZYDEXA.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -574,6 +574,13 @@ interface ProviderFormProps extends React.ComponentProps<'div'> {
|
|
|
574
574
|
label: string;
|
|
575
575
|
}[];
|
|
576
576
|
countryPlaceholder?: string;
|
|
577
|
+
/** Search-input placeholder for the country picker (searchable — the
|
|
578
|
+
* catalog is ~250 entries, ADR-0024). */
|
|
579
|
+
countrySearchPlaceholder?: string;
|
|
580
|
+
/** Empty-search result label for the country picker. */
|
|
581
|
+
countryEmptyLabel?: string;
|
|
582
|
+
/** Accessible name of the country picker's clear button. */
|
|
583
|
+
countryClearLabel?: string;
|
|
577
584
|
/** Hint under the key field; apps mention keyring storage here. */
|
|
578
585
|
apiKeyHelp?: string;
|
|
579
586
|
/** The provider already stores a key (write-only field shows no value). */
|
|
@@ -2974,6 +2981,64 @@ declare function describeAdminUserError(error: unknown, labels: Pick<AdminUserTa
|
|
|
2974
2981
|
*/
|
|
2975
2982
|
declare const AdminUserTable: React.ForwardRefExoticComponent<AdminUserTableProps & React.RefAttributes<HTMLDivElement>>;
|
|
2976
2983
|
|
|
2984
|
+
type InstanceAuthMode = 'open' | 'authenticated';
|
|
2985
|
+
interface InstanceModeControlLabels {
|
|
2986
|
+
title: string;
|
|
2987
|
+
modeOpen: string;
|
|
2988
|
+
modeAuthenticated: string;
|
|
2989
|
+
modeOpenHint: string;
|
|
2990
|
+
modeAuthenticatedHint: string;
|
|
2991
|
+
enableLogin: string;
|
|
2992
|
+
enableLoginNote: (minLength: number) => string;
|
|
2993
|
+
disableLogin: string;
|
|
2994
|
+
disableLoginNote: string;
|
|
2995
|
+
password: string;
|
|
2996
|
+
confirmPassword: string;
|
|
2997
|
+
passwordMismatch: string;
|
|
2998
|
+
passwordTooShort: (minLength: number) => string;
|
|
2999
|
+
submitEnable: string;
|
|
3000
|
+
submitDisable: string;
|
|
3001
|
+
confirmAck: string;
|
|
3002
|
+
blockedServer: string;
|
|
3003
|
+
blockedUsers: (count: number) => string;
|
|
3004
|
+
auditNote: string;
|
|
3005
|
+
errorGeneric: string;
|
|
3006
|
+
errorForbidden: string;
|
|
3007
|
+
}
|
|
3008
|
+
interface InstanceModeControlIcons {
|
|
3009
|
+
open?: LucideIcon;
|
|
3010
|
+
authenticated?: LucideIcon;
|
|
3011
|
+
enableLogin?: LucideIcon;
|
|
3012
|
+
disableLogin?: LucideIcon;
|
|
3013
|
+
audit?: LucideIcon;
|
|
3014
|
+
}
|
|
3015
|
+
interface InstanceModeControlProps {
|
|
3016
|
+
mode: InstanceAuthMode;
|
|
3017
|
+
serverIdentity?: boolean;
|
|
3018
|
+
otherUserCount?: number;
|
|
3019
|
+
minPasswordLength?: number;
|
|
3020
|
+
onSetAuthenticated: (password: string) => void | Promise<unknown>;
|
|
3021
|
+
onSetOpen: (password: string) => void | Promise<unknown>;
|
|
3022
|
+
loading?: boolean;
|
|
3023
|
+
error?: string | null;
|
|
3024
|
+
labels?: Partial<InstanceModeControlLabels>;
|
|
3025
|
+
icons?: InstanceModeControlIcons;
|
|
3026
|
+
className?: string;
|
|
3027
|
+
}
|
|
3028
|
+
declare function describeInstanceModeError(error: unknown, labels: Pick<InstanceModeControlLabels, 'errorGeneric' | 'errorForbidden'>): string;
|
|
3029
|
+
/**
|
|
3030
|
+
* Presentational + controlled instance access-mode panel (identity-auth
|
|
3031
|
+
* §4.5, ADR-06): shows the current mode and offers the two admin
|
|
3032
|
+
* transitions — `open → authenticated` (the owner sets credentials in
|
|
3033
|
+
* the same call) and `authenticated → open` (current password plus an
|
|
3034
|
+
* explicit acknowledgement). Blocked states (server entrypoint, other
|
|
3035
|
+
* accounts existing) disable the transition with a label-driven reason.
|
|
3036
|
+
* Data flows in through `mode`; the transitions are events out — the app
|
|
3037
|
+
* persists them and re-supplies the mode. Rejections surface as
|
|
3038
|
+
* label-driven messages and every change carries an audit note.
|
|
3039
|
+
*/
|
|
3040
|
+
declare const InstanceModeControl: React.ForwardRefExoticComponent<InstanceModeControlProps & React.RefAttributes<HTMLDivElement>>;
|
|
3041
|
+
|
|
2977
3042
|
/**
|
|
2978
3043
|
* The three states of the boot machine (identity-auth §4): `checking`
|
|
2979
3044
|
* while the app's boot flow runs, `authenticated` once a session was
|
|
@@ -3195,4 +3260,4 @@ interface ChatLauncherProps {
|
|
|
3195
3260
|
*/
|
|
3196
3261
|
declare const ChatLauncher: React.ForwardRefExoticComponent<ChatLauncherProps & React.RefAttributes<HTMLButtonElement>>;
|
|
3197
3262
|
|
|
3198
|
-
export { AboutCard, type AboutCardProps, type AboutCreator, AboutFooterLine, type AboutFooterLineProps, type AboutLicense, type AboutLinkItem, AboutLinkList, type AboutLinkListProps, AboutNote, type AboutNoteContent, type AboutNoteProps, AboutPanel, type AboutPanelProps, type AboutSponsorContent, ActionMenu, type ActionMenuItem, type ActionMenuProps, type AdminUser, type AdminUserPatch, AdminUserTable, type AdminUserTableIcons, type AdminUserTableLabels, type AdminUserTableProps, type AiAction, AiActionsDropdown, type AiActionsDropdownProps, AiButton, type AiButtonProps, AiMagicFill, type AiMagicFillProps, type AiTextTransformEventHandlers, type AiTextTransformStatus, type AiTextTransformTransport, AuthGate, type AuthGateLabels, type AuthGateProps, type AuthGateStatus, Badge, type BadgeProps, type BranchNode, type BranchNodeInput, type BranchTree, type BreadcrumbItem, type BreadcrumbLinkProps, Breadcrumbs, type BreadcrumbsProps, Button, type ButtonProps, CUSTOM_PRESET_KEY, CapabilityChips, type CapabilityChipsProps, type CapabilityDescriptor, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CareerMark, type ChatAttachmentView, ChatBranchTree, type ChatBranchTreeIcons, type ChatBranchTreeLabels, type ChatBranchTreeNode, type ChatBranchTreeProps, ChatComposer, type ChatComposerIcons, type ChatComposerLabels, type ChatComposerProps, ChatDrawer, type ChatDrawerProps, type ChatError, type ChatExportMessage, type ChatExportOptions, ChatHistoryButton, type ChatHistoryButtonLabels, type ChatHistoryButtonProps, ChatLauncher, type ChatLauncherProps, ChatMessage, type ChatMessageAction, type ChatMessageActions, ChatMessageEditor, type ChatMessageEditorLabels, type ChatMessageEditorProps, type ChatMessageLabels, type ChatMessageProps, type ChatMessageStatus, type ChatMessageVariants, type ChatMessageView, ChatPanel, type ChatPanelProps, type ChatPanelVariant, ChatReasoning, type ChatReasoningLabels, type ChatReasoningProps, type ChatRole, ChatSessionList, type ChatSessionListIcons, type ChatSessionListLabels, type ChatSessionListProps, type ChatSessionView, type ChatStreamEvent, type ChatStreamTransport, ChatToolCard, type ChatToolCardLabels, type ChatToolCardProps, type ChatToolCatalogArgument, type ChatToolCatalogEntry, ChatToolsCatalog, type ChatToolsCatalogLabels, type ChatToolsCatalogProps, ChatTraceMeta, type ChatTraceMetaProps, ChatTraceTimeline, type ChatTraceTimelineEntry, type ChatTraceTimelineLabels, type ChatTraceTimelineProps, type ChatTraceTimelineTrace, ChatTranscript, type ChatTranscriptLabels, type ChatTranscriptProps, ChatTurnStatus, type ChatTurnStatusLabels, type ChatTurnStatusProps, CheckIndicator, type CheckIndicatorProps, ChipInput, type ChipInputProps, ChipList, type ChipListProps, type ChipVariant, Combobox, ComboboxMulti, type ComboboxMultiProps, type ComboboxOption, type ComboboxProps, ConfirmationModal, type ConfirmationModalProps, ConnectionTestRow, type ConnectionTestRowProps, type ConnectionTestStatus, ContextMenu, type ContextMenuItem, type ContextMenuProps, CopyButton, type CopyButtonProps, DatePicker, type DatePickerProps, DesktopMark, DictationButton, type DictationButtonProps, type DictationError, type DictationResult, type DictationStatus, DictationStrip, type DictationStripLabels, type DictationStripProps, type DiffCell, type DiffRow, type DiffSegment, EmptyState, type EmptyStateProps, ErrorBanner, type ErrorBannerProps, ExpandableSearch, type ExpandableSearchProps, type FamilyApp, FamilyBadge, type FamilyBadgeProps, type FamilyCreator, type FamilyMember, FieldDiff, type FieldDiffLabels, type FieldDiffProps, type FieldDiffValue, FieldLabel, type FieldLabelProps, FieldSummary, type FieldSummaryProps, FileCard, type FileCardProps, type FileCardStatus, FileQueue, type FileQueueItem, type FileQueueProps, type FlowError, FlowStatusCard, type FlowStatusCardProps, type FlowStep, type FlowStepInfo, type FlowStepStatus, FlowTelemetryStrip, type FlowTelemetryStripProps, type FlowTrace, type FlowTraceCall, FlowTraceCard, type FlowTraceCardLabels, type FlowTraceCardProps, type FlowTraceStage, type FlowTraceToolOp, FormModal, type FormModalProps, HealthMark, type HitlProposalAction, HitlProposalCard, type HitlProposalCardLabels, type HitlProposalCardProps, type HitlProposalStatus, HoverCard, HoverCardContent, HoverCardPortal, type HoverCardProps, HoverCardTrigger, InfoButton, type InfoButtonProps, InfoTooltip, type InfoTooltipProps, Input, type InputProps, type LineDiffOptions, type LineDiffResult, type LiveNodeState, type LiveToolCall, type LiveTurnAction, type LiveTurnState, type LiveTurnStatus, LoginForm, type LoginFormFieldOverrides, type LoginFormFields, type LoginFormIcons, type LoginFormLabels, type LoginFormProps, type LogoProps, type LogoTheme, MarkdownCodeBlock, type MarkdownCodeBlockLabels, type MarkdownCodeBlockProps, type MarkdownComponents, MarkdownDiffView, type MarkdownDiffViewLabels, type MarkdownDiffViewProps, MarkdownSurface, type MarkdownSurfaceProps, MarqueeBand, type MarqueePhase, type MarqueeSelection, MarqueeSurface, type MarqueeSurfaceProps, Menu, MenuCheckboxItem, type MenuCheckboxItemProps, MenuContent, MenuGroup, MenuItem, type MenuItemProps, MenuLabel, MenuSeparator, MenuSub, MenuSubContent, MenuSubTrigger, MenuTrigger, MermaidDiagram, type MermaidDiagramProps, MessageVariantSwitcher, type MessageVariantSwitcherLabels, type MessageVariantSwitcherProps, Modal, ModalBody, ModalClose, ModalContent, type ModalContentProps, ModalDescription, ModalFooter, ModalHeader, ModalTitle, ModalTrigger, ModelPicker, type ModelPickerModel, type ModelPickerProps, type ModelPickerProvider, ModelRegistry, type ModelRegistryDraft, type ModelRegistryModel, type ModelRegistryPatch, type ModelRegistryProps, type ModelRegistryProvider, type ModelRegistryRemoteModel, type ModelRegistryRemoteState, type NavChild, type NavItem, NeuronectionMark, NeuronectionWordmark, type NeuronectionWordmarkProps, PanelModal, type PanelModalProps, Popover, PopoverAnchor, PopoverButton, type PopoverButtonProps, PopoverClose, PopoverContent, PopoverTrigger, Portal, type PortalProps, type ProfileItem, ProfileSwitcher, type ProfileSwitcherIcons, type ProfileSwitcherLabels, type ProfileSwitcherProps, ProviderForm, type ProviderFormProps, type ProviderPresetOption, RangeBar, type RangeBarProps, type Rect, RegisterForm, type RegisterFormFieldOverrides, type RegisterFormFields, type RegisterFormIcons, type RegisterFormLabels, type RegisterFormProps, RichTextEditor, type RichTextEditorIcons, type RichTextEditorLabels, type RichTextEditorProps, type RichTextToolbarGroup, ScaleSlider, type ScaleSliderProps, SearchInput, type SearchInputProps, SegmentedTabs, type SegmentedTabsItem, type SegmentedTabsProps, SelectionBar, type SelectionBarProps, type SettingsNavItem, SettingsShell, type SettingsShellProps, SidebarNav, type SidebarNavLabels, type SidebarNavProps, Skeleton, type SkeletonProps, SkeletonText, type SkeletonTextProps, Spinner, type SpinnerProps, SponsorCard, type SponsorCardProps, type SponsorChannel, Stepper, type StepperProps, type StepperStep, StudyMark, Table, type TableProps, TaskAssignmentPicker, type TaskAssignmentPickerProps, type TaskAssignmentSection, type TaskAssignmentTask, TechChips, type TechChipsProps, TextDiffView, type TextDiffViewLabels, type TextDiffViewProps, ThemeScope, type ThemeScopeProps, ThemeTokens, TimeList, type TimeListProps, TimePicker, TimePickerContent, type TimePickerContentProps, type TimePickerProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UndoNotice, type UndoNoticeProps, type UnitDiffOptions, UploadDropzone, type UploadDropzoneProps, type UseAiTextTransformOptions, type UseChatStreamOptions, type UseChatStreamResult, type UseDictationOptions, type UseMarqueeOptions, UserMenu, type UserMenuIcons, type UserMenuItem, type UserMenuLanguage, type UserMenuProps, type UserMenuStatus, type UserMenuStatusTone, type UserMenuTheme, type UserMenuUser, ViewToggle, type ViewToggleProps, type ViewToggleView, Wizard, type WizardContext, type WizardProps, type WizardStep, activePathSet, badgeVariants, buildBranchTree, buildChatMarkdown, buttonVariants, chatExportFileName, cn, computeLineDiff, computeUnitDiff, describeAdminUserError, downloadChatMarkdown, formatBytes, formatFlowLatency, hitTestIds, initialLiveTurnState, linearTree, liveTurnReducer, marqueeRect, modalContentVariants, rectsIntersect, scaleColorForValue, splitMarkdownBlocks, useAiTextTransform, useChatStream, useDictation, useLogoId, useMarquee, variantInfo, walkActivePath, wordSegments };
|
|
3263
|
+
export { AboutCard, type AboutCardProps, type AboutCreator, AboutFooterLine, type AboutFooterLineProps, type AboutLicense, type AboutLinkItem, AboutLinkList, type AboutLinkListProps, AboutNote, type AboutNoteContent, type AboutNoteProps, AboutPanel, type AboutPanelProps, type AboutSponsorContent, ActionMenu, type ActionMenuItem, type ActionMenuProps, type AdminUser, type AdminUserPatch, AdminUserTable, type AdminUserTableIcons, type AdminUserTableLabels, type AdminUserTableProps, type AiAction, AiActionsDropdown, type AiActionsDropdownProps, AiButton, type AiButtonProps, AiMagicFill, type AiMagicFillProps, type AiTextTransformEventHandlers, type AiTextTransformStatus, type AiTextTransformTransport, AuthGate, type AuthGateLabels, type AuthGateProps, type AuthGateStatus, Badge, type BadgeProps, type BranchNode, type BranchNodeInput, type BranchTree, type BreadcrumbItem, type BreadcrumbLinkProps, Breadcrumbs, type BreadcrumbsProps, Button, type ButtonProps, CUSTOM_PRESET_KEY, CapabilityChips, type CapabilityChipsProps, type CapabilityDescriptor, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CareerMark, type ChatAttachmentView, ChatBranchTree, type ChatBranchTreeIcons, type ChatBranchTreeLabels, type ChatBranchTreeNode, type ChatBranchTreeProps, ChatComposer, type ChatComposerIcons, type ChatComposerLabels, type ChatComposerProps, ChatDrawer, type ChatDrawerProps, type ChatError, type ChatExportMessage, type ChatExportOptions, ChatHistoryButton, type ChatHistoryButtonLabels, type ChatHistoryButtonProps, ChatLauncher, type ChatLauncherProps, ChatMessage, type ChatMessageAction, type ChatMessageActions, ChatMessageEditor, type ChatMessageEditorLabels, type ChatMessageEditorProps, type ChatMessageLabels, type ChatMessageProps, type ChatMessageStatus, type ChatMessageVariants, type ChatMessageView, ChatPanel, type ChatPanelProps, type ChatPanelVariant, ChatReasoning, type ChatReasoningLabels, type ChatReasoningProps, type ChatRole, ChatSessionList, type ChatSessionListIcons, type ChatSessionListLabels, type ChatSessionListProps, type ChatSessionView, type ChatStreamEvent, type ChatStreamTransport, ChatToolCard, type ChatToolCardLabels, type ChatToolCardProps, type ChatToolCatalogArgument, type ChatToolCatalogEntry, ChatToolsCatalog, type ChatToolsCatalogLabels, type ChatToolsCatalogProps, ChatTraceMeta, type ChatTraceMetaProps, ChatTraceTimeline, type ChatTraceTimelineEntry, type ChatTraceTimelineLabels, type ChatTraceTimelineProps, type ChatTraceTimelineTrace, ChatTranscript, type ChatTranscriptLabels, type ChatTranscriptProps, ChatTurnStatus, type ChatTurnStatusLabels, type ChatTurnStatusProps, CheckIndicator, type CheckIndicatorProps, ChipInput, type ChipInputProps, ChipList, type ChipListProps, type ChipVariant, Combobox, ComboboxMulti, type ComboboxMultiProps, type ComboboxOption, type ComboboxProps, ConfirmationModal, type ConfirmationModalProps, ConnectionTestRow, type ConnectionTestRowProps, type ConnectionTestStatus, ContextMenu, type ContextMenuItem, type ContextMenuProps, CopyButton, type CopyButtonProps, DatePicker, type DatePickerProps, DesktopMark, DictationButton, type DictationButtonProps, type DictationError, type DictationResult, type DictationStatus, DictationStrip, type DictationStripLabels, type DictationStripProps, type DiffCell, type DiffRow, type DiffSegment, EmptyState, type EmptyStateProps, ErrorBanner, type ErrorBannerProps, ExpandableSearch, type ExpandableSearchProps, type FamilyApp, FamilyBadge, type FamilyBadgeProps, type FamilyCreator, type FamilyMember, FieldDiff, type FieldDiffLabels, type FieldDiffProps, type FieldDiffValue, FieldLabel, type FieldLabelProps, FieldSummary, type FieldSummaryProps, FileCard, type FileCardProps, type FileCardStatus, FileQueue, type FileQueueItem, type FileQueueProps, type FlowError, FlowStatusCard, type FlowStatusCardProps, type FlowStep, type FlowStepInfo, type FlowStepStatus, FlowTelemetryStrip, type FlowTelemetryStripProps, type FlowTrace, type FlowTraceCall, FlowTraceCard, type FlowTraceCardLabels, type FlowTraceCardProps, type FlowTraceStage, type FlowTraceToolOp, FormModal, type FormModalProps, HealthMark, type HitlProposalAction, HitlProposalCard, type HitlProposalCardLabels, type HitlProposalCardProps, type HitlProposalStatus, HoverCard, HoverCardContent, HoverCardPortal, type HoverCardProps, HoverCardTrigger, InfoButton, type InfoButtonProps, InfoTooltip, type InfoTooltipProps, Input, type InputProps, type InstanceAuthMode, InstanceModeControl, type InstanceModeControlIcons, type InstanceModeControlLabels, type InstanceModeControlProps, type LineDiffOptions, type LineDiffResult, type LiveNodeState, type LiveToolCall, type LiveTurnAction, type LiveTurnState, type LiveTurnStatus, LoginForm, type LoginFormFieldOverrides, type LoginFormFields, type LoginFormIcons, type LoginFormLabels, type LoginFormProps, type LogoProps, type LogoTheme, MarkdownCodeBlock, type MarkdownCodeBlockLabels, type MarkdownCodeBlockProps, type MarkdownComponents, MarkdownDiffView, type MarkdownDiffViewLabels, type MarkdownDiffViewProps, MarkdownSurface, type MarkdownSurfaceProps, MarqueeBand, type MarqueePhase, type MarqueeSelection, MarqueeSurface, type MarqueeSurfaceProps, Menu, MenuCheckboxItem, type MenuCheckboxItemProps, MenuContent, MenuGroup, MenuItem, type MenuItemProps, MenuLabel, MenuSeparator, MenuSub, MenuSubContent, MenuSubTrigger, MenuTrigger, MermaidDiagram, type MermaidDiagramProps, MessageVariantSwitcher, type MessageVariantSwitcherLabels, type MessageVariantSwitcherProps, Modal, ModalBody, ModalClose, ModalContent, type ModalContentProps, ModalDescription, ModalFooter, ModalHeader, ModalTitle, ModalTrigger, ModelPicker, type ModelPickerModel, type ModelPickerProps, type ModelPickerProvider, ModelRegistry, type ModelRegistryDraft, type ModelRegistryModel, type ModelRegistryPatch, type ModelRegistryProps, type ModelRegistryProvider, type ModelRegistryRemoteModel, type ModelRegistryRemoteState, type NavChild, type NavItem, NeuronectionMark, NeuronectionWordmark, type NeuronectionWordmarkProps, PanelModal, type PanelModalProps, Popover, PopoverAnchor, PopoverButton, type PopoverButtonProps, PopoverClose, PopoverContent, PopoverTrigger, Portal, type PortalProps, type ProfileItem, ProfileSwitcher, type ProfileSwitcherIcons, type ProfileSwitcherLabels, type ProfileSwitcherProps, ProviderForm, type ProviderFormProps, type ProviderPresetOption, RangeBar, type RangeBarProps, type Rect, RegisterForm, type RegisterFormFieldOverrides, type RegisterFormFields, type RegisterFormIcons, type RegisterFormLabels, type RegisterFormProps, RichTextEditor, type RichTextEditorIcons, type RichTextEditorLabels, type RichTextEditorProps, type RichTextToolbarGroup, ScaleSlider, type ScaleSliderProps, SearchInput, type SearchInputProps, SegmentedTabs, type SegmentedTabsItem, type SegmentedTabsProps, SelectionBar, type SelectionBarProps, type SettingsNavItem, SettingsShell, type SettingsShellProps, SidebarNav, type SidebarNavLabels, type SidebarNavProps, Skeleton, type SkeletonProps, SkeletonText, type SkeletonTextProps, Spinner, type SpinnerProps, SponsorCard, type SponsorCardProps, type SponsorChannel, Stepper, type StepperProps, type StepperStep, StudyMark, Table, type TableProps, TaskAssignmentPicker, type TaskAssignmentPickerProps, type TaskAssignmentSection, type TaskAssignmentTask, TechChips, type TechChipsProps, TextDiffView, type TextDiffViewLabels, type TextDiffViewProps, ThemeScope, type ThemeScopeProps, ThemeTokens, TimeList, type TimeListProps, TimePicker, TimePickerContent, type TimePickerContentProps, type TimePickerProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UndoNotice, type UndoNoticeProps, type UnitDiffOptions, UploadDropzone, type UploadDropzoneProps, type UseAiTextTransformOptions, type UseChatStreamOptions, type UseChatStreamResult, type UseDictationOptions, type UseMarqueeOptions, UserMenu, type UserMenuIcons, type UserMenuItem, type UserMenuLanguage, type UserMenuProps, type UserMenuStatus, type UserMenuStatusTone, type UserMenuTheme, type UserMenuUser, ViewToggle, type ViewToggleProps, type ViewToggleView, Wizard, type WizardContext, type WizardProps, type WizardStep, activePathSet, badgeVariants, buildBranchTree, buildChatMarkdown, buttonVariants, chatExportFileName, cn, computeLineDiff, computeUnitDiff, describeAdminUserError, describeInstanceModeError, downloadChatMarkdown, formatBytes, formatFlowLatency, hitTestIds, initialLiveTurnState, linearTree, liveTurnReducer, marqueeRect, modalContentVariants, rectsIntersect, scaleColorForValue, splitMarkdownBlocks, useAiTextTransform, useChatStream, useDictation, useLogoId, useMarquee, variantInfo, walkActivePath, wordSegments };
|
package/dist/index.js
CHANGED
|
@@ -1,50 +1,54 @@
|
|
|
1
|
+
export { UserMenu } from './chunk-CYK3ZLAB.js';
|
|
2
|
+
export { ThemeScope } from './chunk-TGU3PKNM.js';
|
|
1
3
|
export { TimeList } from './chunk-67W2OLOQ.js';
|
|
2
4
|
export { TimePicker, TimePickerContent } from './chunk-WQ5MPOYG.js';
|
|
3
5
|
export { InfoTooltip, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from './chunk-NDZ22QGX.js';
|
|
4
6
|
export { UndoNotice } from './chunk-AT32ANZW.js';
|
|
5
7
|
export { ViewToggle } from './chunk-XZIJIGEB.js';
|
|
6
8
|
export { Stepper, Wizard } from './chunk-ZNVWHGKM.js';
|
|
9
|
+
export { SelectionBar } from './chunk-LXKRUJIS.js';
|
|
10
|
+
export { Skeleton, SkeletonText } from './chunk-4OJXAFGA.js';
|
|
7
11
|
export { HoverCard, HoverCardContent, HoverCardPortal, HoverCardTrigger } from './chunk-PNYJ5VX2.js';
|
|
8
12
|
export { Table } from './chunk-53JFRZAO.js';
|
|
9
|
-
export { TaskAssignmentPicker } from './chunk-
|
|
13
|
+
export { TaskAssignmentPicker } from './chunk-3YIVKKT6.js';
|
|
10
14
|
export { SettingsShell } from './chunk-YPDIA54W.js';
|
|
11
15
|
export { SidebarNav } from './chunk-VAUB5TDF.js';
|
|
12
|
-
export {
|
|
13
|
-
export { ThemeScope } from './chunk-TGU3PKNM.js';
|
|
16
|
+
export { ScaleSlider, scaleColorForValue } from './chunk-NLHODVBI.js';
|
|
14
17
|
export { SearchInput } from './chunk-UUIMMMSJ.js';
|
|
15
|
-
export { ModelRegistry } from './chunk-
|
|
18
|
+
export { ModelRegistry } from './chunk-5U45TQJE.js';
|
|
16
19
|
export { CapabilityChips } from './chunk-SY5FR4HC.js';
|
|
17
20
|
export { SegmentedTabs } from './chunk-5IEBIDXQ.js';
|
|
18
|
-
export {
|
|
19
|
-
export { Skeleton, SkeletonText } from './chunk-4OJXAFGA.js';
|
|
21
|
+
export { ModelPicker } from './chunk-CCFVDJHU.js';
|
|
20
22
|
export { PanelModal } from './chunk-6O4LOWZG.js';
|
|
21
|
-
export { ProfileSwitcher } from './chunk-
|
|
22
|
-
export { CUSTOM_PRESET_KEY, ProviderForm } from './chunk-
|
|
23
|
+
export { ProfileSwitcher } from './chunk-6ANLDUGL.js';
|
|
24
|
+
export { CUSTOM_PRESET_KEY, ProviderForm } from './chunk-UMI4M4MF.js';
|
|
23
25
|
export { RangeBar } from './chunk-3UDWLHLD.js';
|
|
24
|
-
export { ScaleSlider, scaleColorForValue } from './chunk-NLHODVBI.js';
|
|
25
26
|
export { RichTextEditor } from './chunk-QYZNTE6Y.js';
|
|
26
27
|
export { DictationButton, DictationStrip, useDictation } from './chunk-QRTECV3V.js';
|
|
27
28
|
export { useAiTextTransform } from './chunk-BKAO7BTU.js';
|
|
28
29
|
export { MarqueeBand, MarqueeSurface, hitTestIds, marqueeRect, rectsIntersect, useMarquee } from './chunk-RU3DEF2O.js';
|
|
29
|
-
export { MarkdownDiffView, splitMarkdownBlocks } from './chunk-
|
|
30
|
-
export {
|
|
30
|
+
export { MarkdownDiffView, splitMarkdownBlocks } from './chunk-MFM4W6ZO.js';
|
|
31
|
+
export { FlowTelemetryStrip, FlowTraceCard, formatFlowLatency } from './chunk-HMUM3RAS.js';
|
|
31
32
|
export { FieldLabel } from './chunk-UTECJFDO.js';
|
|
32
33
|
export { InfoButton } from './chunk-2M4BWGLD.js';
|
|
33
34
|
export { LoginForm } from './chunk-3V5EBB4N.js';
|
|
34
35
|
export { RegisterForm } from './chunk-A3XTCQ7C.js';
|
|
36
|
+
export { DatePicker } from './chunk-QFIXMIVP.js';
|
|
35
37
|
export { ExpandableSearch } from './chunk-BAXBFV7Q.js';
|
|
36
38
|
export { FileQueue } from './chunk-EEKWQQW3.js';
|
|
37
39
|
export { FileCard, formatBytes } from './chunk-SBVLHGDI.js';
|
|
38
40
|
export { UploadDropzone } from './chunk-Q7MRRVE6.js';
|
|
39
41
|
export { FlowStatusCard } from './chunk-E5GKW4XN.js';
|
|
40
|
-
export {
|
|
42
|
+
export { ConnectionTestRow } from './chunk-KV67D3RP.js';
|
|
41
43
|
export { CheckIndicator } from './chunk-FVIIVWRC.js';
|
|
42
44
|
export { ChipInput } from './chunk-HQN55NOV.js';
|
|
43
|
-
export { Combobox, ComboboxMulti } from './chunk-
|
|
45
|
+
export { Combobox, ComboboxMulti } from './chunk-SVRCZUNQ.js';
|
|
44
46
|
export { ConfirmationModal } from './chunk-SE2AHFA5.js';
|
|
45
47
|
export { ContextMenu } from './chunk-A64IW7ID.js';
|
|
46
48
|
export { ActionMenu, Menu, MenuCheckboxItem, MenuContent, MenuGroup, MenuItem, MenuLabel, MenuSeparator, MenuSub, MenuSubContent, MenuSubTrigger, MenuTrigger } from './chunk-3UCBKZ2O.js';
|
|
47
|
-
export {
|
|
49
|
+
export { FieldDiff, FieldSummary, HitlProposalCard } from './chunk-452GYIS7.js';
|
|
50
|
+
export { TextDiffView } from './chunk-WYIHBQVV.js';
|
|
51
|
+
export { computeLineDiff, computeUnitDiff, wordSegments } from './chunk-QLP7K3PY.js';
|
|
48
52
|
export { ChatToolCard } from './chunk-5BJ4VULP.js';
|
|
49
53
|
export { ChatTurnStatus } from './chunk-TQDTFPM4.js';
|
|
50
54
|
export { buildChatMarkdown, chatExportFileName, downloadChatMarkdown } from './chunk-DRJGZ5TB.js';
|
|
@@ -53,7 +57,7 @@ export { PopoverButton } from './chunk-2EC3NEAE.js';
|
|
|
53
57
|
export { ChatTraceMeta } from './chunk-5CIRID6W.js';
|
|
54
58
|
export { ChatTraceTimeline } from './chunk-HR3FYO7C.js';
|
|
55
59
|
export { ChatToolsCatalog } from './chunk-OMWI53FM.js';
|
|
56
|
-
export {
|
|
60
|
+
export { ChatPanel } from './chunk-SEZZVAGP.js';
|
|
57
61
|
export { ChatTranscript } from './chunk-XOODPYJ3.js';
|
|
58
62
|
export { MarkdownCodeBlock, MarkdownSurface, MermaidDiagram } from './chunk-HQ3X5SVR.js';
|
|
59
63
|
export { CopyButton } from './chunk-XFYCNCPS.js';
|
|
@@ -62,35 +66,32 @@ export { ChatBranchTree } from './chunk-BG44GKXQ.js';
|
|
|
62
66
|
export { ChatDrawer } from './chunk-UKR2WUO3.js';
|
|
63
67
|
export { ChatReasoning } from './chunk-S63SYV6O.js';
|
|
64
68
|
export { ChatSessionList } from './chunk-PC3CE4W2.js';
|
|
65
|
-
export {
|
|
66
|
-
export {
|
|
67
|
-
export {
|
|
69
|
+
export { AiMagicFill } from './chunk-X6L5Z5LV.js';
|
|
70
|
+
export { FormModal } from './chunk-QPY2Y532.js';
|
|
71
|
+
export { Modal, ModalBody, ModalClose, ModalContent, ModalDescription, ModalFooter, ModalHeader, ModalTitle, ModalTrigger, modalContentVariants } from './chunk-FVQWIDB5.js';
|
|
68
72
|
export { Breadcrumbs } from './chunk-FILCIMXX.js';
|
|
69
73
|
export { initialLiveTurnState, liveTurnReducer, useChatStream } from './chunk-6GNLY2EB.js';
|
|
70
74
|
export { activePathSet, buildBranchTree, linearTree, variantInfo, walkActivePath } from './chunk-Z4IBQ53C.js';
|
|
71
75
|
export { ChatLauncher } from './chunk-E3NZM4U7.js';
|
|
72
76
|
export { Portal } from './chunk-XZWLTTHA.js';
|
|
73
77
|
export { ChatComposer } from './chunk-NUD32RLL.js';
|
|
74
|
-
export { ChatPanel } from './chunk-SEZZVAGP.js';
|
|
75
78
|
export { rawTokens, semanticTokens } from './chunk-GDGKARRB.js';
|
|
76
79
|
export { AiActionsDropdown } from './chunk-HUIKW2PK.js';
|
|
77
80
|
export { AboutCard, AboutFooterLine, AboutLinkList, AboutNote, AboutPanel, FamilyBadge, SponsorCard, TechChips } from './chunk-PPW4GNM6.js';
|
|
78
81
|
export { CareerMark, DesktopMark, HealthMark, NeuronectionMark, NeuronectionWordmark, StudyMark, useLogoId } from './chunk-MK6V5MA4.js';
|
|
79
82
|
export { ChipList } from './chunk-UBJNPO7A.js';
|
|
80
83
|
export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from './chunk-2XS5Q7XT.js';
|
|
81
|
-
export { AdminUserTable, describeAdminUserError } from './chunk-
|
|
82
|
-
export { Input } from './chunk-GQDW6BBO.js';
|
|
84
|
+
export { AdminUserTable, describeAdminUserError } from './chunk-47CRUWHB.js';
|
|
83
85
|
export { EmptyState } from './chunk-QKWFRXU6.js';
|
|
86
|
+
export { InstanceModeControl, describeInstanceModeError } from './chunk-SNHU4PV3.js';
|
|
87
|
+
export { Input } from './chunk-GQDW6BBO.js';
|
|
84
88
|
export { ErrorBanner } from './chunk-HNMFDVMD.js';
|
|
89
|
+
export { Button, buttonVariants } from './chunk-4WBBF5LH.js';
|
|
90
|
+
export { Spinner } from './chunk-SQHW7TYF.js';
|
|
85
91
|
export { Badge, badgeVariants } from './chunk-AIQJNN5B.js';
|
|
86
92
|
export { AuthGate } from './chunk-CEXLCDPM.js';
|
|
87
93
|
export { AiButton } from './chunk-OY4UOY2W.js';
|
|
88
94
|
export { Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverTrigger } from './chunk-VX3EQRSM.js';
|
|
89
|
-
export { AiMagicFill } from './chunk-YM4YN3YC.js';
|
|
90
|
-
export { FormModal } from './chunk-QPY2Y532.js';
|
|
91
|
-
export { Modal, ModalBody, ModalClose, ModalContent, ModalDescription, ModalFooter, ModalHeader, ModalTitle, ModalTrigger, modalContentVariants } from './chunk-FVQWIDB5.js';
|
|
92
|
-
export { Button, buttonVariants } from './chunk-4WBBF5LH.js';
|
|
93
|
-
export { Spinner } from './chunk-SQHW7TYF.js';
|
|
94
95
|
export { cn } from './chunk-RVVXVTH3.js';
|
|
95
96
|
//# sourceMappingURL=index.js.map
|
|
96
97
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { LucideIcon } from 'lucide-react';
|
|
3
|
+
|
|
4
|
+
type InstanceAuthMode = 'open' | 'authenticated';
|
|
5
|
+
interface InstanceModeControlLabels {
|
|
6
|
+
title: string;
|
|
7
|
+
modeOpen: string;
|
|
8
|
+
modeAuthenticated: string;
|
|
9
|
+
modeOpenHint: string;
|
|
10
|
+
modeAuthenticatedHint: string;
|
|
11
|
+
enableLogin: string;
|
|
12
|
+
enableLoginNote: (minLength: number) => string;
|
|
13
|
+
disableLogin: string;
|
|
14
|
+
disableLoginNote: string;
|
|
15
|
+
password: string;
|
|
16
|
+
confirmPassword: string;
|
|
17
|
+
passwordMismatch: string;
|
|
18
|
+
passwordTooShort: (minLength: number) => string;
|
|
19
|
+
submitEnable: string;
|
|
20
|
+
submitDisable: string;
|
|
21
|
+
confirmAck: string;
|
|
22
|
+
blockedServer: string;
|
|
23
|
+
blockedUsers: (count: number) => string;
|
|
24
|
+
auditNote: string;
|
|
25
|
+
errorGeneric: string;
|
|
26
|
+
errorForbidden: string;
|
|
27
|
+
}
|
|
28
|
+
interface InstanceModeControlIcons {
|
|
29
|
+
open?: LucideIcon;
|
|
30
|
+
authenticated?: LucideIcon;
|
|
31
|
+
enableLogin?: LucideIcon;
|
|
32
|
+
disableLogin?: LucideIcon;
|
|
33
|
+
audit?: LucideIcon;
|
|
34
|
+
}
|
|
35
|
+
interface InstanceModeControlProps {
|
|
36
|
+
mode: InstanceAuthMode;
|
|
37
|
+
serverIdentity?: boolean;
|
|
38
|
+
otherUserCount?: number;
|
|
39
|
+
minPasswordLength?: number;
|
|
40
|
+
onSetAuthenticated: (password: string) => void | Promise<unknown>;
|
|
41
|
+
onSetOpen: (password: string) => void | Promise<unknown>;
|
|
42
|
+
loading?: boolean;
|
|
43
|
+
error?: string | null;
|
|
44
|
+
labels?: Partial<InstanceModeControlLabels>;
|
|
45
|
+
icons?: InstanceModeControlIcons;
|
|
46
|
+
className?: string;
|
|
47
|
+
}
|
|
48
|
+
declare function describeInstanceModeError(error: unknown, labels: Pick<InstanceModeControlLabels, 'errorGeneric' | 'errorForbidden'>): string;
|
|
49
|
+
/**
|
|
50
|
+
* Presentational + controlled instance access-mode panel (identity-auth
|
|
51
|
+
* §4.5, ADR-06): shows the current mode and offers the two admin
|
|
52
|
+
* transitions — `open → authenticated` (the owner sets credentials in
|
|
53
|
+
* the same call) and `authenticated → open` (current password plus an
|
|
54
|
+
* explicit acknowledgement). Blocked states (server entrypoint, other
|
|
55
|
+
* accounts existing) disable the transition with a label-driven reason.
|
|
56
|
+
* Data flows in through `mode`; the transitions are events out — the app
|
|
57
|
+
* persists them and re-supplies the mode. Rejections surface as
|
|
58
|
+
* label-driven messages and every change carries an audit note.
|
|
59
|
+
*/
|
|
60
|
+
declare const InstanceModeControl: React.ForwardRefExoticComponent<InstanceModeControlProps & React.RefAttributes<HTMLDivElement>>;
|
|
61
|
+
|
|
62
|
+
export { type InstanceAuthMode, InstanceModeControl, type InstanceModeControlIcons, type InstanceModeControlLabels, type InstanceModeControlProps, describeInstanceModeError };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"instance-mode-control.js"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared language catalog: an ISO 639-1 superset (43 entries)
|
|
3
|
+
* with English name + nativeName (endonym — the default picker label)
|
|
4
|
+
* and an optional `flag` (most-associated country, presentational
|
|
5
|
+
* only; omitted where no uncontroversial primary exists — ar, ca, sw,
|
|
6
|
+
* ta). Data-only export (library ADR-006; family ADR-0024). Consumed
|
|
7
|
+
* via the `@neuronection/assistant-ui/languages` subpath.
|
|
8
|
+
*
|
|
9
|
+
* `nb` (Bokmål) and `no` (macro) both exist; STT surfaces may prefer
|
|
10
|
+
* `nb` where the provider distinguishes. Locale-tag lookups use the
|
|
11
|
+
* language subtag (`pt-BR` → `pt`). `pickLanguages` preserves caller
|
|
12
|
+
* order — Greek-first slices stay Greek-first.
|
|
13
|
+
*/
|
|
14
|
+
interface LanguageOption {
|
|
15
|
+
code: string;
|
|
16
|
+
name: string;
|
|
17
|
+
nativeName: string;
|
|
18
|
+
flag?: string;
|
|
19
|
+
}
|
|
20
|
+
declare const LANGUAGES: LanguageOption[];
|
|
21
|
+
declare function findLanguage(code?: string): LanguageOption | undefined;
|
|
22
|
+
declare function isLanguageCode(code?: string): boolean;
|
|
23
|
+
declare function pickLanguages(codes: string[]): LanguageOption[];
|
|
24
|
+
/** Localized language name via Intl.DisplayNames; falls back to the
|
|
25
|
+
* catalog English name, then the raw code. Never throws. */
|
|
26
|
+
declare function languageDisplayName(code: string, locale?: string): string;
|
|
27
|
+
|
|
28
|
+
export { LANGUAGES, type LanguageOption, findLanguage, isLanguageCode, languageDisplayName, pickLanguages };
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
// src/lib/languages.ts
|
|
2
|
+
var LANGUAGES = [
|
|
3
|
+
{ code: "ar", name: "Arabic", nativeName: "\u0627\u0644\u0639\u0631\u0628\u064A\u0629" },
|
|
4
|
+
{ code: "bg", name: "Bulgarian", nativeName: "\u0431\u044A\u043B\u0433\u0430\u0440\u0441\u043A\u0438", flag: "\u{1F1E7}\u{1F1EC}" },
|
|
5
|
+
{ code: "bn", name: "Bangla", nativeName: "\u09AC\u09BE\u0982\u09B2\u09BE", flag: "\u{1F1E7}\u{1F1E9}" },
|
|
6
|
+
{ code: "ca", name: "Catalan", nativeName: "catal\xE0" },
|
|
7
|
+
{ code: "cs", name: "Czech", nativeName: "\u010De\u0161tina", flag: "\u{1F1E8}\u{1F1FF}" },
|
|
8
|
+
{ code: "da", name: "Danish", nativeName: "dansk", flag: "\u{1F1E9}\u{1F1F0}" },
|
|
9
|
+
{ code: "de", name: "German", nativeName: "Deutsch", flag: "\u{1F1E9}\u{1F1EA}" },
|
|
10
|
+
{ code: "el", name: "Greek", nativeName: "\u0395\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AC", flag: "\u{1F1EC}\u{1F1F7}" },
|
|
11
|
+
{ code: "en", name: "English", nativeName: "English", flag: "\u{1F1EC}\u{1F1E7}" },
|
|
12
|
+
{ code: "es", name: "Spanish", nativeName: "espa\xF1ol", flag: "\u{1F1EA}\u{1F1F8}" },
|
|
13
|
+
{ code: "fa", name: "Persian", nativeName: "\u0641\u0627\u0631\u0633\u06CC", flag: "\u{1F1EE}\u{1F1F7}" },
|
|
14
|
+
{ code: "fi", name: "Finnish", nativeName: "suomi", flag: "\u{1F1EB}\u{1F1EE}" },
|
|
15
|
+
{ code: "fr", name: "French", nativeName: "fran\xE7ais", flag: "\u{1F1EB}\u{1F1F7}" },
|
|
16
|
+
{ code: "he", name: "Hebrew", nativeName: "\u05E2\u05D1\u05E8\u05D9\u05EA", flag: "\u{1F1EE}\u{1F1F1}" },
|
|
17
|
+
{ code: "hi", name: "Hindi", nativeName: "\u0939\u093F\u0928\u094D\u0926\u0940", flag: "\u{1F1EE}\u{1F1F3}" },
|
|
18
|
+
{ code: "hr", name: "Croatian", nativeName: "hrvatski", flag: "\u{1F1ED}\u{1F1F7}" },
|
|
19
|
+
{ code: "hu", name: "Hungarian", nativeName: "magyar", flag: "\u{1F1ED}\u{1F1FA}" },
|
|
20
|
+
{ code: "id", name: "Indonesian", nativeName: "Indonesia", flag: "\u{1F1EE}\u{1F1E9}" },
|
|
21
|
+
{ code: "is", name: "Icelandic", nativeName: "\xEDslenska", flag: "\u{1F1EE}\u{1F1F8}" },
|
|
22
|
+
{ code: "it", name: "Italian", nativeName: "italiano", flag: "\u{1F1EE}\u{1F1F9}" },
|
|
23
|
+
{ code: "ja", name: "Japanese", nativeName: "\u65E5\u672C\u8A9E", flag: "\u{1F1EF}\u{1F1F5}" },
|
|
24
|
+
{ code: "ko", name: "Korean", nativeName: "\uD55C\uAD6D\uC5B4", flag: "\u{1F1F0}\u{1F1F7}" },
|
|
25
|
+
{ code: "ms", name: "Malay", nativeName: "Melayu", flag: "\u{1F1F2}\u{1F1FE}" },
|
|
26
|
+
{ code: "nb", name: "Norwegian Bokm\xE5l", nativeName: "norsk bokm\xE5l", flag: "\u{1F1F3}\u{1F1F4}" },
|
|
27
|
+
{ code: "nl", name: "Dutch", nativeName: "Nederlands", flag: "\u{1F1F3}\u{1F1F1}" },
|
|
28
|
+
{ code: "nn", name: "Norwegian Nynorsk", nativeName: "norsk nynorsk", flag: "\u{1F1F3}\u{1F1F4}" },
|
|
29
|
+
{ code: "no", name: "Norwegian", nativeName: "norsk", flag: "\u{1F1F3}\u{1F1F4}" },
|
|
30
|
+
{ code: "pl", name: "Polish", nativeName: "polski", flag: "\u{1F1F5}\u{1F1F1}" },
|
|
31
|
+
{ code: "pt", name: "Portuguese", nativeName: "portugu\xEAs", flag: "\u{1F1F5}\u{1F1F9}" },
|
|
32
|
+
{ code: "ro", name: "Romanian", nativeName: "rom\xE2n\u0103", flag: "\u{1F1F7}\u{1F1F4}" },
|
|
33
|
+
{ code: "ru", name: "Russian", nativeName: "\u0440\u0443\u0441\u0441\u043A\u0438\u0439", flag: "\u{1F1F7}\u{1F1FA}" },
|
|
34
|
+
{ code: "sk", name: "Slovak", nativeName: "sloven\u010Dina", flag: "\u{1F1F8}\u{1F1F0}" },
|
|
35
|
+
{ code: "sl", name: "Slovenian", nativeName: "sloven\u0161\u010Dina", flag: "\u{1F1F8}\u{1F1EE}" },
|
|
36
|
+
{ code: "sr", name: "Serbian", nativeName: "\u0441\u0440\u043F\u0441\u043A\u0438", flag: "\u{1F1F7}\u{1F1F8}" },
|
|
37
|
+
{ code: "sv", name: "Swedish", nativeName: "svenska", flag: "\u{1F1F8}\u{1F1EA}" },
|
|
38
|
+
{ code: "sw", name: "Swahili", nativeName: "Kiswahili" },
|
|
39
|
+
{ code: "ta", name: "Tamil", nativeName: "\u0BA4\u0BAE\u0BBF\u0BB4\u0BCD" },
|
|
40
|
+
{ code: "th", name: "Thai", nativeName: "\u0E44\u0E17\u0E22", flag: "\u{1F1F9}\u{1F1ED}" },
|
|
41
|
+
{ code: "tr", name: "Turkish", nativeName: "T\xFCrk\xE7e", flag: "\u{1F1F9}\u{1F1F7}" },
|
|
42
|
+
{ code: "uk", name: "Ukrainian", nativeName: "\u0443\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430", flag: "\u{1F1FA}\u{1F1E6}" },
|
|
43
|
+
{ code: "ur", name: "Urdu", nativeName: "\u0627\u0631\u062F\u0648", flag: "\u{1F1F5}\u{1F1F0}" },
|
|
44
|
+
{ code: "vi", name: "Vietnamese", nativeName: "Ti\u1EBFng Vi\u1EC7t", flag: "\u{1F1FB}\u{1F1F3}" },
|
|
45
|
+
{ code: "zh", name: "Chinese", nativeName: "\u4E2D\u6587", flag: "\u{1F1E8}\u{1F1F3}" }
|
|
46
|
+
];
|
|
47
|
+
function findLanguage(code) {
|
|
48
|
+
if (!code) return void 0;
|
|
49
|
+
const base = code.trim().toLowerCase().split("-")[0];
|
|
50
|
+
return LANGUAGES.find((entry) => entry.code === base);
|
|
51
|
+
}
|
|
52
|
+
function isLanguageCode(code) {
|
|
53
|
+
return findLanguage(code) !== void 0;
|
|
54
|
+
}
|
|
55
|
+
function pickLanguages(codes) {
|
|
56
|
+
const picked = [];
|
|
57
|
+
for (const code of codes) {
|
|
58
|
+
const entry = findLanguage(code);
|
|
59
|
+
if (entry) picked.push(entry);
|
|
60
|
+
else console.warn(`[assistant-ui] pickLanguages: unknown language code ${code}`);
|
|
61
|
+
}
|
|
62
|
+
return picked;
|
|
63
|
+
}
|
|
64
|
+
function languageDisplayName(code, locale = "en") {
|
|
65
|
+
try {
|
|
66
|
+
const displayed = new Intl.DisplayNames([locale], { type: "language" }).of(code);
|
|
67
|
+
if (displayed && displayed !== code) return displayed;
|
|
68
|
+
} catch {
|
|
69
|
+
}
|
|
70
|
+
return findLanguage(code)?.name ?? code;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export { LANGUAGES, findLanguage, isLanguageCode, languageDisplayName, pickLanguages };
|
|
74
|
+
//# sourceMappingURL=languages.js.map
|
|
75
|
+
//# sourceMappingURL=languages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/languages.ts"],"names":[],"mappings":"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","file":"languages.js","sourcesContent":["/**\n * Shared language catalog: an ISO 639-1 superset (43 entries)\n * with English name + nativeName (endonym — the default picker label)\n * and an optional `flag` (most-associated country, presentational\n * only; omitted where no uncontroversial primary exists — ar, ca, sw,\n * ta). Data-only export (library ADR-006; family ADR-0024). Consumed\n * via the `@neuronection/assistant-ui/languages` subpath.\n *\n * `nb` (Bokmål) and `no` (macro) both exist; STT surfaces may prefer\n * `nb` where the provider distinguishes. Locale-tag lookups use the\n * language subtag (`pt-BR` → `pt`). `pickLanguages` preserves caller\n * order — Greek-first slices stay Greek-first.\n */\n\nexport interface LanguageOption {\n code: string\n name: string\n nativeName: string\n flag?: string\n}\n\nexport const LANGUAGES: LanguageOption[] = [\n { code: 'ar', name: 'Arabic', nativeName: 'العربية' },\n { code: 'bg', name: 'Bulgarian', nativeName: 'български', flag: '🇧🇬' },\n { code: 'bn', name: 'Bangla', nativeName: 'বাংলা', flag: '🇧🇩' },\n { code: 'ca', name: 'Catalan', nativeName: 'català' },\n { code: 'cs', name: 'Czech', nativeName: 'čeština', flag: '🇨🇿' },\n { code: 'da', name: 'Danish', nativeName: 'dansk', flag: '🇩🇰' },\n { code: 'de', name: 'German', nativeName: 'Deutsch', flag: '🇩🇪' },\n { code: 'el', name: 'Greek', nativeName: 'Ελληνικά', flag: '🇬🇷' },\n { code: 'en', name: 'English', nativeName: 'English', flag: '🇬🇧' },\n { code: 'es', name: 'Spanish', nativeName: 'español', flag: '🇪🇸' },\n { code: 'fa', name: 'Persian', nativeName: 'فارسی', flag: '🇮🇷' },\n { code: 'fi', name: 'Finnish', nativeName: 'suomi', flag: '🇫🇮' },\n { code: 'fr', name: 'French', nativeName: 'français', flag: '🇫🇷' },\n { code: 'he', name: 'Hebrew', nativeName: 'עברית', flag: '🇮🇱' },\n { code: 'hi', name: 'Hindi', nativeName: 'हिन्दी', flag: '🇮🇳' },\n { code: 'hr', name: 'Croatian', nativeName: 'hrvatski', flag: '🇭🇷' },\n { code: 'hu', name: 'Hungarian', nativeName: 'magyar', flag: '🇭🇺' },\n { code: 'id', name: 'Indonesian', nativeName: 'Indonesia', flag: '🇮🇩' },\n { code: 'is', name: 'Icelandic', nativeName: 'íslenska', flag: '🇮🇸' },\n { code: 'it', name: 'Italian', nativeName: 'italiano', flag: '🇮🇹' },\n { code: 'ja', name: 'Japanese', nativeName: '日本語', flag: '🇯🇵' },\n { code: 'ko', name: 'Korean', nativeName: '한국어', flag: '🇰🇷' },\n { code: 'ms', name: 'Malay', nativeName: 'Melayu', flag: '🇲🇾' },\n { code: 'nb', name: 'Norwegian Bokmål', nativeName: 'norsk bokmål', flag: '🇳🇴' },\n { code: 'nl', name: 'Dutch', nativeName: 'Nederlands', flag: '🇳🇱' },\n { code: 'nn', name: 'Norwegian Nynorsk', nativeName: 'norsk nynorsk', flag: '🇳🇴' },\n { code: 'no', name: 'Norwegian', nativeName: 'norsk', flag: '🇳🇴' },\n { code: 'pl', name: 'Polish', nativeName: 'polski', flag: '🇵🇱' },\n { code: 'pt', name: 'Portuguese', nativeName: 'português', flag: '🇵🇹' },\n { code: 'ro', name: 'Romanian', nativeName: 'română', flag: '🇷🇴' },\n { code: 'ru', name: 'Russian', nativeName: 'русский', flag: '🇷🇺' },\n { code: 'sk', name: 'Slovak', nativeName: 'slovenčina', flag: '🇸🇰' },\n { code: 'sl', name: 'Slovenian', nativeName: 'slovenščina', flag: '🇸🇮' },\n { code: 'sr', name: 'Serbian', nativeName: 'српски', flag: '🇷🇸' },\n { code: 'sv', name: 'Swedish', nativeName: 'svenska', flag: '🇸🇪' },\n { code: 'sw', name: 'Swahili', nativeName: 'Kiswahili' },\n { code: 'ta', name: 'Tamil', nativeName: 'தமிழ்' },\n { code: 'th', name: 'Thai', nativeName: 'ไทย', flag: '🇹🇭' },\n { code: 'tr', name: 'Turkish', nativeName: 'Türkçe', flag: '🇹🇷' },\n { code: 'uk', name: 'Ukrainian', nativeName: 'українська', flag: '🇺🇦' },\n { code: 'ur', name: 'Urdu', nativeName: 'اردو', flag: '🇵🇰' },\n { code: 'vi', name: 'Vietnamese', nativeName: 'Tiếng Việt', flag: '🇻🇳' },\n { code: 'zh', name: 'Chinese', nativeName: '中文', flag: '🇨🇳' },\n]\n\nexport function findLanguage(code?: string): LanguageOption | undefined {\n if (!code) return undefined\n const base = code.trim().toLowerCase().split('-')[0]\n return LANGUAGES.find((entry) => entry.code === base)\n}\n\nexport function isLanguageCode(code?: string): boolean {\n return findLanguage(code) !== undefined\n}\n\nexport function pickLanguages(codes: string[]): LanguageOption[] {\n const picked: LanguageOption[] = []\n for (const code of codes) {\n const entry = findLanguage(code)\n if (entry) picked.push(entry)\n else console.warn(`[assistant-ui] pickLanguages: unknown language code ${code}`)\n }\n return picked\n}\n\n/** Localized language name via Intl.DisplayNames; falls back to the\n * catalog English name, then the raw code. Never throws. */\nexport function languageDisplayName(code: string, locale = 'en'): string {\n try {\n const displayed = new Intl.DisplayNames([locale], { type: 'language' }).of(code)\n if (displayed && displayed !== code) return displayed\n } catch {\n // fall through to catalog fallback\n }\n return findLanguage(code)?.name ?? code\n}\n"]}
|
package/dist/model-picker.js
CHANGED
package/dist/model-registry.js
CHANGED
package/dist/profile-switcher.js
CHANGED
package/dist/provider-form.d.ts
CHANGED
|
@@ -47,6 +47,13 @@ interface ProviderFormProps extends React.ComponentProps<'div'> {
|
|
|
47
47
|
label: string;
|
|
48
48
|
}[];
|
|
49
49
|
countryPlaceholder?: string;
|
|
50
|
+
/** Search-input placeholder for the country picker (searchable — the
|
|
51
|
+
* catalog is ~250 entries, ADR-0024). */
|
|
52
|
+
countrySearchPlaceholder?: string;
|
|
53
|
+
/** Empty-search result label for the country picker. */
|
|
54
|
+
countryEmptyLabel?: string;
|
|
55
|
+
/** Accessible name of the country picker's clear button. */
|
|
56
|
+
countryClearLabel?: string;
|
|
50
57
|
/** Hint under the key field; apps mention keyring storage here. */
|
|
51
58
|
apiKeyHelp?: string;
|
|
52
59
|
/** The provider already stores a key (write-only field shows no value). */
|
package/dist/provider-form.js
CHANGED