@workspace-platform/ui 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +200 -24
- package/dist/index.d.ts +200 -24
- package/dist/index.js +2757 -481
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2725 -453
- package/dist/index.mjs.map +1 -1
- package/package.json +17 -9
package/dist/index.d.mts
CHANGED
|
@@ -381,6 +381,11 @@ interface WsPayloadMessagePinned {
|
|
|
381
381
|
action: 'pinned' | 'unpinned';
|
|
382
382
|
author: string;
|
|
383
383
|
}
|
|
384
|
+
/** User with an optional avatar photo URL, for member avatar display. */
|
|
385
|
+
interface AvatarUser {
|
|
386
|
+
email: string;
|
|
387
|
+
avatarUrl?: string;
|
|
388
|
+
}
|
|
384
389
|
|
|
385
390
|
interface SyncLink {
|
|
386
391
|
provider: string;
|
|
@@ -670,6 +675,11 @@ declare const AVAILABLE_AGENTS: {
|
|
|
670
675
|
declare const ROLE_LABELS: Record<string, string>;
|
|
671
676
|
declare const STATUS_LABELS: Record<string, string>;
|
|
672
677
|
declare function getInitials(name: string): string;
|
|
678
|
+
/**
|
|
679
|
+
* Fix mojibake: corrects filenames that were incorrectly decoded as Latin-1
|
|
680
|
+
* when they are actually UTF-8 (common with some multipart upload implementations).
|
|
681
|
+
*/
|
|
682
|
+
declare function fixMojibake(str: string): string;
|
|
673
683
|
|
|
674
684
|
interface WorkspaceExportData {
|
|
675
685
|
workspace: Workspace;
|
|
@@ -717,6 +727,37 @@ declare function Modal({ open, onClose, children, zIndexClass, backdropClassName
|
|
|
717
727
|
|
|
718
728
|
declare function cn(...inputs: ClassValue[]): string;
|
|
719
729
|
|
|
730
|
+
interface BadgeProps {
|
|
731
|
+
variant?: 'default' | 'success' | 'warning' | 'danger' | 'info' | 'primary';
|
|
732
|
+
size?: 'xs' | 'sm' | 'md';
|
|
733
|
+
className?: string;
|
|
734
|
+
children: React.ReactNode;
|
|
735
|
+
title?: string;
|
|
736
|
+
}
|
|
737
|
+
declare const Badge: React.FC<BadgeProps>;
|
|
738
|
+
|
|
739
|
+
interface TooltipProps {
|
|
740
|
+
text: string;
|
|
741
|
+
children: React.ReactNode;
|
|
742
|
+
position?: 'top' | 'bottom' | 'left' | 'right';
|
|
743
|
+
className?: string;
|
|
744
|
+
/** Delay before showing (ms). Default 400. */
|
|
745
|
+
delay?: number;
|
|
746
|
+
}
|
|
747
|
+
declare const Tooltip: React.FC<TooltipProps>;
|
|
748
|
+
|
|
749
|
+
interface ConfirmModalProps {
|
|
750
|
+
open: boolean;
|
|
751
|
+
onClose: () => void;
|
|
752
|
+
onConfirm: () => void | Promise<void>;
|
|
753
|
+
title: string;
|
|
754
|
+
description?: React.ReactNode;
|
|
755
|
+
confirmText?: string;
|
|
756
|
+
cancelText?: string;
|
|
757
|
+
danger?: boolean;
|
|
758
|
+
}
|
|
759
|
+
declare const ConfirmModal: React.FC<ConfirmModalProps>;
|
|
760
|
+
|
|
720
761
|
type AvatarSize = 'xs' | 'sm' | 'md' | 'lg';
|
|
721
762
|
interface MemberAvatarProps {
|
|
722
763
|
memberName: string;
|
|
@@ -728,26 +769,63 @@ interface MemberAvatarProps {
|
|
|
728
769
|
}
|
|
729
770
|
declare const MemberAvatar: React.FC<MemberAvatarProps>;
|
|
730
771
|
|
|
731
|
-
interface
|
|
732
|
-
|
|
733
|
-
|
|
772
|
+
interface PaginationProps {
|
|
773
|
+
currentPage: number;
|
|
774
|
+
totalPages: number;
|
|
775
|
+
onPageChange: (page: number) => void;
|
|
776
|
+
/** Show a subtle loading indicator when fetching */
|
|
777
|
+
loading?: boolean;
|
|
734
778
|
}
|
|
735
|
-
|
|
736
|
-
|
|
779
|
+
declare const Pagination: React.FC<PaginationProps>;
|
|
780
|
+
|
|
781
|
+
interface WorkspaceCardProps {
|
|
782
|
+
workspace: Workspace;
|
|
783
|
+
members?: WorkspaceMember[];
|
|
737
784
|
avatarUsers?: AvatarUser[];
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
785
|
+
onClick?: () => void;
|
|
786
|
+
currentUserId?: string;
|
|
787
|
+
}
|
|
788
|
+
declare const WorkspaceCard: React.FC<WorkspaceCardProps>;
|
|
789
|
+
|
|
790
|
+
interface WorkspaceRowProps {
|
|
791
|
+
workspace: Workspace;
|
|
792
|
+
members?: WorkspaceMember[];
|
|
793
|
+
avatarUsers?: AvatarUser[];
|
|
794
|
+
onClick?: () => void;
|
|
795
|
+
currentUserId?: string;
|
|
796
|
+
}
|
|
797
|
+
declare const WorkspaceRow: React.FC<WorkspaceRowProps>;
|
|
798
|
+
|
|
799
|
+
interface WorkspaceListProps {
|
|
800
|
+
workspaces: Workspace[];
|
|
801
|
+
total?: number;
|
|
802
|
+
membersMap?: Record<string, WorkspaceMember[]>;
|
|
803
|
+
avatarUsers?: AvatarUser[];
|
|
804
|
+
types?: WorkspaceType[];
|
|
805
|
+
loading?: boolean;
|
|
806
|
+
fetching?: boolean;
|
|
807
|
+
onOpen: (workspaceId: string) => void;
|
|
808
|
+
title?: string;
|
|
809
|
+
showViewToggle?: boolean;
|
|
810
|
+
currentUserId?: string;
|
|
811
|
+
headerActions?: React.ReactNode;
|
|
812
|
+
hideHeader?: boolean;
|
|
813
|
+
hideFilters?: boolean;
|
|
814
|
+
filters?: {
|
|
815
|
+
search: string;
|
|
816
|
+
status: string;
|
|
817
|
+
type: string;
|
|
818
|
+
};
|
|
819
|
+
onFiltersChange?: (filters: {
|
|
820
|
+
search: string;
|
|
821
|
+
status: string;
|
|
822
|
+
type: string;
|
|
743
823
|
}) => void;
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
/** Hide the agents section entirely (e.g. for private workspaces between two users) */
|
|
748
|
-
hideAgents?: boolean;
|
|
824
|
+
currentPage?: number;
|
|
825
|
+
totalPages?: number;
|
|
826
|
+
onPageChange?: (page: number) => void;
|
|
749
827
|
}
|
|
750
|
-
declare const
|
|
828
|
+
declare const WorkspaceList: React.FC<WorkspaceListProps>;
|
|
751
829
|
|
|
752
830
|
interface CreateWorkspaceModalProps {
|
|
753
831
|
open: boolean;
|
|
@@ -763,6 +841,36 @@ interface CreatePrivateWorkspaceModalProps {
|
|
|
763
841
|
}
|
|
764
842
|
declare const CreatePrivateWorkspaceModal: React.FC<CreatePrivateWorkspaceModalProps>;
|
|
765
843
|
|
|
844
|
+
interface ContextPanelProps {
|
|
845
|
+
workspace: Workspace;
|
|
846
|
+
types?: WorkspaceType[];
|
|
847
|
+
onUpdateContext?: (updates: Partial<{
|
|
848
|
+
name: string;
|
|
849
|
+
type: string;
|
|
850
|
+
scope: string;
|
|
851
|
+
entitiesWithSecrets: EntityWithSecret[];
|
|
852
|
+
}>) => void;
|
|
853
|
+
readonly?: boolean;
|
|
854
|
+
}
|
|
855
|
+
declare const ContextPanel: React.FC<ContextPanelProps>;
|
|
856
|
+
|
|
857
|
+
interface MembersPanelProps {
|
|
858
|
+
members: WorkspaceMember[];
|
|
859
|
+
avatarUsers?: AvatarUser[];
|
|
860
|
+
onAddMember?: (payload: {
|
|
861
|
+
memberId: string;
|
|
862
|
+
memberName: string;
|
|
863
|
+
memberType: MemberType;
|
|
864
|
+
role?: MemberRole;
|
|
865
|
+
}) => void;
|
|
866
|
+
onRemoveMember?: (memberId: string) => void;
|
|
867
|
+
onUpdateRole?: (memberId: string, role: MemberRole) => void;
|
|
868
|
+
readonly?: boolean;
|
|
869
|
+
/** Hide the agents section entirely (e.g. for private workspaces between two users) */
|
|
870
|
+
hideAgents?: boolean;
|
|
871
|
+
}
|
|
872
|
+
declare const MembersPanel: React.FC<MembersPanelProps>;
|
|
873
|
+
|
|
766
874
|
interface SyncPanelProps {
|
|
767
875
|
workspaceId: string;
|
|
768
876
|
syncWithSlack?: boolean;
|
|
@@ -774,13 +882,81 @@ interface SyncPanelProps {
|
|
|
774
882
|
}
|
|
775
883
|
declare const SyncPanel: React.FC<SyncPanelProps>;
|
|
776
884
|
|
|
777
|
-
interface
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
885
|
+
interface MessageFeedProps {
|
|
886
|
+
messages: (WorkspaceMessage | MessageWithArtefacts)[];
|
|
887
|
+
members?: WorkspaceMember[];
|
|
888
|
+
currentUserId?: string;
|
|
889
|
+
workspaceId?: string;
|
|
890
|
+
avatarUsers?: AvatarUser[];
|
|
891
|
+
isTyping?: boolean;
|
|
892
|
+
typingText?: string;
|
|
893
|
+
hasMore?: boolean;
|
|
894
|
+
loadingMore?: boolean;
|
|
895
|
+
onLoadMore?: () => void;
|
|
896
|
+
onArtefactDeleted?: (artefactId: string) => void;
|
|
897
|
+
onReply?: (message: WorkspaceMessage | MessageWithArtefacts) => void;
|
|
898
|
+
onEditMessage?: (message: WorkspaceMessage | MessageWithArtefacts) => void;
|
|
899
|
+
onDeleteMessage?: (messageId: string) => void;
|
|
900
|
+
onToggleReaction?: (messageId: string, reaction: string) => void;
|
|
901
|
+
onTogglePin?: (messageId: string) => void;
|
|
902
|
+
isOwner?: boolean;
|
|
903
|
+
}
|
|
904
|
+
declare const MessageFeed: React.FC<MessageFeedProps>;
|
|
905
|
+
|
|
906
|
+
type MessageRole = 'user' | 'assistant' | 'participant';
|
|
907
|
+
interface MessageItemProps {
|
|
908
|
+
message: WorkspaceMessage | MessageWithArtefacts;
|
|
909
|
+
role: MessageRole;
|
|
910
|
+
members?: WorkspaceMember[];
|
|
911
|
+
workspaceId?: string;
|
|
912
|
+
currentUserId?: string;
|
|
913
|
+
isOwner?: boolean;
|
|
914
|
+
avatarUsers?: AvatarUser[];
|
|
915
|
+
onArtefactDeleted?: (artefactId: string) => void;
|
|
916
|
+
onReply?: (message: WorkspaceMessage | MessageWithArtefacts) => void;
|
|
917
|
+
onEditMessage?: (message: WorkspaceMessage | MessageWithArtefacts) => void;
|
|
918
|
+
onDeleteMessage?: (messageId: string) => void;
|
|
919
|
+
onToggleReaction?: (messageId: string, reaction: string) => void;
|
|
920
|
+
onTogglePin?: (messageId: string) => void;
|
|
921
|
+
}
|
|
922
|
+
declare const MessageItem: React.FC<MessageItemProps>;
|
|
923
|
+
|
|
924
|
+
interface MessageFilters {
|
|
925
|
+
concernsMe: boolean;
|
|
926
|
+
members: string[];
|
|
783
927
|
}
|
|
784
|
-
declare const
|
|
928
|
+
declare const EMPTY_FILTERS: MessageFilters;
|
|
929
|
+
interface MessageFilterDialogProps {
|
|
930
|
+
open: boolean;
|
|
931
|
+
onClose: () => void;
|
|
932
|
+
onApply: (filters: MessageFilters) => Promise<void>;
|
|
933
|
+
currentFilters: MessageFilters;
|
|
934
|
+
members: WorkspaceMember[];
|
|
935
|
+
avatarUsers?: AvatarUser[];
|
|
936
|
+
hideAgents?: boolean;
|
|
937
|
+
}
|
|
938
|
+
declare const MessageFilterDialog: React.FC<MessageFilterDialogProps>;
|
|
939
|
+
|
|
940
|
+
interface ArtefactViewerDialogProps {
|
|
941
|
+
artefact: WorkspaceArtefact;
|
|
942
|
+
onClose: () => void;
|
|
943
|
+
}
|
|
944
|
+
declare function ArtefactViewerDialog({ artefact, onClose }: ArtefactViewerDialogProps): React.JSX.Element;
|
|
945
|
+
|
|
946
|
+
declare const ChartRenderer: React.FC<{
|
|
947
|
+
chartConfig: any;
|
|
948
|
+
}>;
|
|
949
|
+
|
|
950
|
+
declare const TableRenderer: React.FC<{
|
|
951
|
+
tableConfig: any;
|
|
952
|
+
}>;
|
|
953
|
+
|
|
954
|
+
/**
|
|
955
|
+
* Custom Streamdown components for workspace messages.
|
|
956
|
+
* Intercepts chart and tabledata fenced blocks.
|
|
957
|
+
*/
|
|
958
|
+
declare const workspaceStreamdownComponents: {
|
|
959
|
+
pre: ({ children }: any) => any;
|
|
960
|
+
};
|
|
785
961
|
|
|
786
|
-
export { AVAILABLE_AGENTS, type ActivityEntry, type ActivityIcon, type AgentDeleteInfo, type ArtefactType, type AvatarUser, CATEGORY_STYLES, type ChangeLog, type ChangeLogData, CreatePrivateWorkspaceModal, CreateWorkspaceModal, type CreateWorkspacePayload, type EntityCategory, type EntityWithSecret, FILTER_PILLS, type FileRecord, type FilterPill, ICON_COLOR, IGNORED_FIELDS, type LatestSummaryResponse, MEMBER_ROLE_LABELS, MemberAvatar, type MemberAvatarProps, type MemberRole, type MemberType, MembersPanel, type MessageWithArtefacts, Modal, type ModalProps, type ModalSize, type PaginatedResponse, Pagination, ROLE_LABELS, type ReplyMessage, STATUS_LABELS, type SendMessagePayload, type SyncLink, SyncPanel, type SyncProviderInfo, type SyncStatus, type ToggleReactionResponse, type UpdateMessagePayload, type UserSearchResult, WORKSPACE_FIELD_LABELS, WORKSPACE_STATUS_LABELS, type WebhookSubscription, type Workspace, type WorkspaceAgent, type WorkspaceApis, type WorkspaceArtefact, type WorkspaceClient, type WorkspaceConfig, type WorkspaceContextValue, WorkspaceEvent, type WorkspaceExportData, type WorkspaceListFilters, type WorkspaceListState, type WorkspaceMember, type WorkspaceMessage, type WorkspaceMessageReaction, type WorkspaceMessageSender, WorkspaceProvider, type WorkspaceSocketManager, type WorkspaceStatus, type WorkspaceSummary, type WorkspaceTab, type WorkspaceType, type WsPayloadArtefactCreated, type WsPayloadMemberAdded, type WsPayloadMemberRemoved, type WsPayloadMemberUpdated, type WsPayloadMessageCreated, type WsPayloadMessageDeleted, type WsPayloadMessagePinned, type WsPayloadMessageUpdated, type WsPayloadReactionCreated, type WsPayloadReactionDeleted, type WsPayloadTyping, type WsPayloadWorkspaceAdded, type WsPayloadWorkspaceCreated, type WsPayloadWorkspaceRemoved, type WsPayloadWorkspaceStatusChanged, type WsPayloadWorkspaceUpdated, cn, createWorkspaceApis, createWorkspaceClient, createWorkspaceListStore, createWorkspaceSocket, formatWorkspaceExport, getInitials, useWorkspaceApi, useWorkspaceContext };
|
|
962
|
+
export { AVAILABLE_AGENTS, type ActivityEntry, type ActivityIcon, type AgentDeleteInfo, type ArtefactType, ArtefactViewerDialog, type AvatarUser, Badge, type BadgeProps, CATEGORY_STYLES, type ChangeLog, type ChangeLogData, ChartRenderer, ConfirmModal, type ConfirmModalProps, ContextPanel, type ContextPanelProps, CreatePrivateWorkspaceModal, CreateWorkspaceModal, type CreateWorkspacePayload, EMPTY_FILTERS, type EntityCategory, type EntityWithSecret, FILTER_PILLS, type FileRecord, type FilterPill, ICON_COLOR, IGNORED_FIELDS, type LatestSummaryResponse, MEMBER_ROLE_LABELS, MemberAvatar, type MemberAvatarProps, type MemberRole, type MemberType, MembersPanel, MessageFeed, type MessageFeedProps, MessageFilterDialog, type MessageFilterDialogProps, type MessageFilters, MessageItem, type MessageItemProps, type MessageRole, type MessageWithArtefacts, Modal, type ModalProps, type ModalSize, type PaginatedResponse, Pagination, ROLE_LABELS, type ReplyMessage, STATUS_LABELS, type SendMessagePayload, type SyncLink, SyncPanel, type SyncProviderInfo, type SyncStatus, TableRenderer, type ToggleReactionResponse, Tooltip, type TooltipProps, type UpdateMessagePayload, type UserSearchResult, WORKSPACE_FIELD_LABELS, WORKSPACE_STATUS_LABELS, type WebhookSubscription, type Workspace, type WorkspaceAgent, type WorkspaceApis, type WorkspaceArtefact, WorkspaceCard, type WorkspaceCardProps, type WorkspaceClient, type WorkspaceConfig, type WorkspaceContextValue, WorkspaceEvent, type WorkspaceExportData, WorkspaceList, type WorkspaceListFilters, type WorkspaceListProps, type WorkspaceListState, type WorkspaceMember, type WorkspaceMessage, type WorkspaceMessageReaction, type WorkspaceMessageSender, WorkspaceProvider, WorkspaceRow, type WorkspaceRowProps, type WorkspaceSocketManager, type WorkspaceStatus, type WorkspaceSummary, type WorkspaceTab, type WorkspaceType, type WsPayloadArtefactCreated, type WsPayloadMemberAdded, type WsPayloadMemberRemoved, type WsPayloadMemberUpdated, type WsPayloadMessageCreated, type WsPayloadMessageDeleted, type WsPayloadMessagePinned, type WsPayloadMessageUpdated, type WsPayloadReactionCreated, type WsPayloadReactionDeleted, type WsPayloadTyping, type WsPayloadWorkspaceAdded, type WsPayloadWorkspaceCreated, type WsPayloadWorkspaceRemoved, type WsPayloadWorkspaceStatusChanged, type WsPayloadWorkspaceUpdated, cn, createWorkspaceApis, createWorkspaceClient, createWorkspaceListStore, createWorkspaceSocket, fixMojibake, formatWorkspaceExport, getInitials, useWorkspaceApi, useWorkspaceContext, workspaceStreamdownComponents };
|
package/dist/index.d.ts
CHANGED
|
@@ -381,6 +381,11 @@ interface WsPayloadMessagePinned {
|
|
|
381
381
|
action: 'pinned' | 'unpinned';
|
|
382
382
|
author: string;
|
|
383
383
|
}
|
|
384
|
+
/** User with an optional avatar photo URL, for member avatar display. */
|
|
385
|
+
interface AvatarUser {
|
|
386
|
+
email: string;
|
|
387
|
+
avatarUrl?: string;
|
|
388
|
+
}
|
|
384
389
|
|
|
385
390
|
interface SyncLink {
|
|
386
391
|
provider: string;
|
|
@@ -670,6 +675,11 @@ declare const AVAILABLE_AGENTS: {
|
|
|
670
675
|
declare const ROLE_LABELS: Record<string, string>;
|
|
671
676
|
declare const STATUS_LABELS: Record<string, string>;
|
|
672
677
|
declare function getInitials(name: string): string;
|
|
678
|
+
/**
|
|
679
|
+
* Fix mojibake: corrects filenames that were incorrectly decoded as Latin-1
|
|
680
|
+
* when they are actually UTF-8 (common with some multipart upload implementations).
|
|
681
|
+
*/
|
|
682
|
+
declare function fixMojibake(str: string): string;
|
|
673
683
|
|
|
674
684
|
interface WorkspaceExportData {
|
|
675
685
|
workspace: Workspace;
|
|
@@ -717,6 +727,37 @@ declare function Modal({ open, onClose, children, zIndexClass, backdropClassName
|
|
|
717
727
|
|
|
718
728
|
declare function cn(...inputs: ClassValue[]): string;
|
|
719
729
|
|
|
730
|
+
interface BadgeProps {
|
|
731
|
+
variant?: 'default' | 'success' | 'warning' | 'danger' | 'info' | 'primary';
|
|
732
|
+
size?: 'xs' | 'sm' | 'md';
|
|
733
|
+
className?: string;
|
|
734
|
+
children: React.ReactNode;
|
|
735
|
+
title?: string;
|
|
736
|
+
}
|
|
737
|
+
declare const Badge: React.FC<BadgeProps>;
|
|
738
|
+
|
|
739
|
+
interface TooltipProps {
|
|
740
|
+
text: string;
|
|
741
|
+
children: React.ReactNode;
|
|
742
|
+
position?: 'top' | 'bottom' | 'left' | 'right';
|
|
743
|
+
className?: string;
|
|
744
|
+
/** Delay before showing (ms). Default 400. */
|
|
745
|
+
delay?: number;
|
|
746
|
+
}
|
|
747
|
+
declare const Tooltip: React.FC<TooltipProps>;
|
|
748
|
+
|
|
749
|
+
interface ConfirmModalProps {
|
|
750
|
+
open: boolean;
|
|
751
|
+
onClose: () => void;
|
|
752
|
+
onConfirm: () => void | Promise<void>;
|
|
753
|
+
title: string;
|
|
754
|
+
description?: React.ReactNode;
|
|
755
|
+
confirmText?: string;
|
|
756
|
+
cancelText?: string;
|
|
757
|
+
danger?: boolean;
|
|
758
|
+
}
|
|
759
|
+
declare const ConfirmModal: React.FC<ConfirmModalProps>;
|
|
760
|
+
|
|
720
761
|
type AvatarSize = 'xs' | 'sm' | 'md' | 'lg';
|
|
721
762
|
interface MemberAvatarProps {
|
|
722
763
|
memberName: string;
|
|
@@ -728,26 +769,63 @@ interface MemberAvatarProps {
|
|
|
728
769
|
}
|
|
729
770
|
declare const MemberAvatar: React.FC<MemberAvatarProps>;
|
|
730
771
|
|
|
731
|
-
interface
|
|
732
|
-
|
|
733
|
-
|
|
772
|
+
interface PaginationProps {
|
|
773
|
+
currentPage: number;
|
|
774
|
+
totalPages: number;
|
|
775
|
+
onPageChange: (page: number) => void;
|
|
776
|
+
/** Show a subtle loading indicator when fetching */
|
|
777
|
+
loading?: boolean;
|
|
734
778
|
}
|
|
735
|
-
|
|
736
|
-
|
|
779
|
+
declare const Pagination: React.FC<PaginationProps>;
|
|
780
|
+
|
|
781
|
+
interface WorkspaceCardProps {
|
|
782
|
+
workspace: Workspace;
|
|
783
|
+
members?: WorkspaceMember[];
|
|
737
784
|
avatarUsers?: AvatarUser[];
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
785
|
+
onClick?: () => void;
|
|
786
|
+
currentUserId?: string;
|
|
787
|
+
}
|
|
788
|
+
declare const WorkspaceCard: React.FC<WorkspaceCardProps>;
|
|
789
|
+
|
|
790
|
+
interface WorkspaceRowProps {
|
|
791
|
+
workspace: Workspace;
|
|
792
|
+
members?: WorkspaceMember[];
|
|
793
|
+
avatarUsers?: AvatarUser[];
|
|
794
|
+
onClick?: () => void;
|
|
795
|
+
currentUserId?: string;
|
|
796
|
+
}
|
|
797
|
+
declare const WorkspaceRow: React.FC<WorkspaceRowProps>;
|
|
798
|
+
|
|
799
|
+
interface WorkspaceListProps {
|
|
800
|
+
workspaces: Workspace[];
|
|
801
|
+
total?: number;
|
|
802
|
+
membersMap?: Record<string, WorkspaceMember[]>;
|
|
803
|
+
avatarUsers?: AvatarUser[];
|
|
804
|
+
types?: WorkspaceType[];
|
|
805
|
+
loading?: boolean;
|
|
806
|
+
fetching?: boolean;
|
|
807
|
+
onOpen: (workspaceId: string) => void;
|
|
808
|
+
title?: string;
|
|
809
|
+
showViewToggle?: boolean;
|
|
810
|
+
currentUserId?: string;
|
|
811
|
+
headerActions?: React.ReactNode;
|
|
812
|
+
hideHeader?: boolean;
|
|
813
|
+
hideFilters?: boolean;
|
|
814
|
+
filters?: {
|
|
815
|
+
search: string;
|
|
816
|
+
status: string;
|
|
817
|
+
type: string;
|
|
818
|
+
};
|
|
819
|
+
onFiltersChange?: (filters: {
|
|
820
|
+
search: string;
|
|
821
|
+
status: string;
|
|
822
|
+
type: string;
|
|
743
823
|
}) => void;
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
/** Hide the agents section entirely (e.g. for private workspaces between two users) */
|
|
748
|
-
hideAgents?: boolean;
|
|
824
|
+
currentPage?: number;
|
|
825
|
+
totalPages?: number;
|
|
826
|
+
onPageChange?: (page: number) => void;
|
|
749
827
|
}
|
|
750
|
-
declare const
|
|
828
|
+
declare const WorkspaceList: React.FC<WorkspaceListProps>;
|
|
751
829
|
|
|
752
830
|
interface CreateWorkspaceModalProps {
|
|
753
831
|
open: boolean;
|
|
@@ -763,6 +841,36 @@ interface CreatePrivateWorkspaceModalProps {
|
|
|
763
841
|
}
|
|
764
842
|
declare const CreatePrivateWorkspaceModal: React.FC<CreatePrivateWorkspaceModalProps>;
|
|
765
843
|
|
|
844
|
+
interface ContextPanelProps {
|
|
845
|
+
workspace: Workspace;
|
|
846
|
+
types?: WorkspaceType[];
|
|
847
|
+
onUpdateContext?: (updates: Partial<{
|
|
848
|
+
name: string;
|
|
849
|
+
type: string;
|
|
850
|
+
scope: string;
|
|
851
|
+
entitiesWithSecrets: EntityWithSecret[];
|
|
852
|
+
}>) => void;
|
|
853
|
+
readonly?: boolean;
|
|
854
|
+
}
|
|
855
|
+
declare const ContextPanel: React.FC<ContextPanelProps>;
|
|
856
|
+
|
|
857
|
+
interface MembersPanelProps {
|
|
858
|
+
members: WorkspaceMember[];
|
|
859
|
+
avatarUsers?: AvatarUser[];
|
|
860
|
+
onAddMember?: (payload: {
|
|
861
|
+
memberId: string;
|
|
862
|
+
memberName: string;
|
|
863
|
+
memberType: MemberType;
|
|
864
|
+
role?: MemberRole;
|
|
865
|
+
}) => void;
|
|
866
|
+
onRemoveMember?: (memberId: string) => void;
|
|
867
|
+
onUpdateRole?: (memberId: string, role: MemberRole) => void;
|
|
868
|
+
readonly?: boolean;
|
|
869
|
+
/** Hide the agents section entirely (e.g. for private workspaces between two users) */
|
|
870
|
+
hideAgents?: boolean;
|
|
871
|
+
}
|
|
872
|
+
declare const MembersPanel: React.FC<MembersPanelProps>;
|
|
873
|
+
|
|
766
874
|
interface SyncPanelProps {
|
|
767
875
|
workspaceId: string;
|
|
768
876
|
syncWithSlack?: boolean;
|
|
@@ -774,13 +882,81 @@ interface SyncPanelProps {
|
|
|
774
882
|
}
|
|
775
883
|
declare const SyncPanel: React.FC<SyncPanelProps>;
|
|
776
884
|
|
|
777
|
-
interface
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
885
|
+
interface MessageFeedProps {
|
|
886
|
+
messages: (WorkspaceMessage | MessageWithArtefacts)[];
|
|
887
|
+
members?: WorkspaceMember[];
|
|
888
|
+
currentUserId?: string;
|
|
889
|
+
workspaceId?: string;
|
|
890
|
+
avatarUsers?: AvatarUser[];
|
|
891
|
+
isTyping?: boolean;
|
|
892
|
+
typingText?: string;
|
|
893
|
+
hasMore?: boolean;
|
|
894
|
+
loadingMore?: boolean;
|
|
895
|
+
onLoadMore?: () => void;
|
|
896
|
+
onArtefactDeleted?: (artefactId: string) => void;
|
|
897
|
+
onReply?: (message: WorkspaceMessage | MessageWithArtefacts) => void;
|
|
898
|
+
onEditMessage?: (message: WorkspaceMessage | MessageWithArtefacts) => void;
|
|
899
|
+
onDeleteMessage?: (messageId: string) => void;
|
|
900
|
+
onToggleReaction?: (messageId: string, reaction: string) => void;
|
|
901
|
+
onTogglePin?: (messageId: string) => void;
|
|
902
|
+
isOwner?: boolean;
|
|
903
|
+
}
|
|
904
|
+
declare const MessageFeed: React.FC<MessageFeedProps>;
|
|
905
|
+
|
|
906
|
+
type MessageRole = 'user' | 'assistant' | 'participant';
|
|
907
|
+
interface MessageItemProps {
|
|
908
|
+
message: WorkspaceMessage | MessageWithArtefacts;
|
|
909
|
+
role: MessageRole;
|
|
910
|
+
members?: WorkspaceMember[];
|
|
911
|
+
workspaceId?: string;
|
|
912
|
+
currentUserId?: string;
|
|
913
|
+
isOwner?: boolean;
|
|
914
|
+
avatarUsers?: AvatarUser[];
|
|
915
|
+
onArtefactDeleted?: (artefactId: string) => void;
|
|
916
|
+
onReply?: (message: WorkspaceMessage | MessageWithArtefacts) => void;
|
|
917
|
+
onEditMessage?: (message: WorkspaceMessage | MessageWithArtefacts) => void;
|
|
918
|
+
onDeleteMessage?: (messageId: string) => void;
|
|
919
|
+
onToggleReaction?: (messageId: string, reaction: string) => void;
|
|
920
|
+
onTogglePin?: (messageId: string) => void;
|
|
921
|
+
}
|
|
922
|
+
declare const MessageItem: React.FC<MessageItemProps>;
|
|
923
|
+
|
|
924
|
+
interface MessageFilters {
|
|
925
|
+
concernsMe: boolean;
|
|
926
|
+
members: string[];
|
|
783
927
|
}
|
|
784
|
-
declare const
|
|
928
|
+
declare const EMPTY_FILTERS: MessageFilters;
|
|
929
|
+
interface MessageFilterDialogProps {
|
|
930
|
+
open: boolean;
|
|
931
|
+
onClose: () => void;
|
|
932
|
+
onApply: (filters: MessageFilters) => Promise<void>;
|
|
933
|
+
currentFilters: MessageFilters;
|
|
934
|
+
members: WorkspaceMember[];
|
|
935
|
+
avatarUsers?: AvatarUser[];
|
|
936
|
+
hideAgents?: boolean;
|
|
937
|
+
}
|
|
938
|
+
declare const MessageFilterDialog: React.FC<MessageFilterDialogProps>;
|
|
939
|
+
|
|
940
|
+
interface ArtefactViewerDialogProps {
|
|
941
|
+
artefact: WorkspaceArtefact;
|
|
942
|
+
onClose: () => void;
|
|
943
|
+
}
|
|
944
|
+
declare function ArtefactViewerDialog({ artefact, onClose }: ArtefactViewerDialogProps): React.JSX.Element;
|
|
945
|
+
|
|
946
|
+
declare const ChartRenderer: React.FC<{
|
|
947
|
+
chartConfig: any;
|
|
948
|
+
}>;
|
|
949
|
+
|
|
950
|
+
declare const TableRenderer: React.FC<{
|
|
951
|
+
tableConfig: any;
|
|
952
|
+
}>;
|
|
953
|
+
|
|
954
|
+
/**
|
|
955
|
+
* Custom Streamdown components for workspace messages.
|
|
956
|
+
* Intercepts chart and tabledata fenced blocks.
|
|
957
|
+
*/
|
|
958
|
+
declare const workspaceStreamdownComponents: {
|
|
959
|
+
pre: ({ children }: any) => any;
|
|
960
|
+
};
|
|
785
961
|
|
|
786
|
-
export { AVAILABLE_AGENTS, type ActivityEntry, type ActivityIcon, type AgentDeleteInfo, type ArtefactType, type AvatarUser, CATEGORY_STYLES, type ChangeLog, type ChangeLogData, CreatePrivateWorkspaceModal, CreateWorkspaceModal, type CreateWorkspacePayload, type EntityCategory, type EntityWithSecret, FILTER_PILLS, type FileRecord, type FilterPill, ICON_COLOR, IGNORED_FIELDS, type LatestSummaryResponse, MEMBER_ROLE_LABELS, MemberAvatar, type MemberAvatarProps, type MemberRole, type MemberType, MembersPanel, type MessageWithArtefacts, Modal, type ModalProps, type ModalSize, type PaginatedResponse, Pagination, ROLE_LABELS, type ReplyMessage, STATUS_LABELS, type SendMessagePayload, type SyncLink, SyncPanel, type SyncProviderInfo, type SyncStatus, type ToggleReactionResponse, type UpdateMessagePayload, type UserSearchResult, WORKSPACE_FIELD_LABELS, WORKSPACE_STATUS_LABELS, type WebhookSubscription, type Workspace, type WorkspaceAgent, type WorkspaceApis, type WorkspaceArtefact, type WorkspaceClient, type WorkspaceConfig, type WorkspaceContextValue, WorkspaceEvent, type WorkspaceExportData, type WorkspaceListFilters, type WorkspaceListState, type WorkspaceMember, type WorkspaceMessage, type WorkspaceMessageReaction, type WorkspaceMessageSender, WorkspaceProvider, type WorkspaceSocketManager, type WorkspaceStatus, type WorkspaceSummary, type WorkspaceTab, type WorkspaceType, type WsPayloadArtefactCreated, type WsPayloadMemberAdded, type WsPayloadMemberRemoved, type WsPayloadMemberUpdated, type WsPayloadMessageCreated, type WsPayloadMessageDeleted, type WsPayloadMessagePinned, type WsPayloadMessageUpdated, type WsPayloadReactionCreated, type WsPayloadReactionDeleted, type WsPayloadTyping, type WsPayloadWorkspaceAdded, type WsPayloadWorkspaceCreated, type WsPayloadWorkspaceRemoved, type WsPayloadWorkspaceStatusChanged, type WsPayloadWorkspaceUpdated, cn, createWorkspaceApis, createWorkspaceClient, createWorkspaceListStore, createWorkspaceSocket, formatWorkspaceExport, getInitials, useWorkspaceApi, useWorkspaceContext };
|
|
962
|
+
export { AVAILABLE_AGENTS, type ActivityEntry, type ActivityIcon, type AgentDeleteInfo, type ArtefactType, ArtefactViewerDialog, type AvatarUser, Badge, type BadgeProps, CATEGORY_STYLES, type ChangeLog, type ChangeLogData, ChartRenderer, ConfirmModal, type ConfirmModalProps, ContextPanel, type ContextPanelProps, CreatePrivateWorkspaceModal, CreateWorkspaceModal, type CreateWorkspacePayload, EMPTY_FILTERS, type EntityCategory, type EntityWithSecret, FILTER_PILLS, type FileRecord, type FilterPill, ICON_COLOR, IGNORED_FIELDS, type LatestSummaryResponse, MEMBER_ROLE_LABELS, MemberAvatar, type MemberAvatarProps, type MemberRole, type MemberType, MembersPanel, MessageFeed, type MessageFeedProps, MessageFilterDialog, type MessageFilterDialogProps, type MessageFilters, MessageItem, type MessageItemProps, type MessageRole, type MessageWithArtefacts, Modal, type ModalProps, type ModalSize, type PaginatedResponse, Pagination, ROLE_LABELS, type ReplyMessage, STATUS_LABELS, type SendMessagePayload, type SyncLink, SyncPanel, type SyncProviderInfo, type SyncStatus, TableRenderer, type ToggleReactionResponse, Tooltip, type TooltipProps, type UpdateMessagePayload, type UserSearchResult, WORKSPACE_FIELD_LABELS, WORKSPACE_STATUS_LABELS, type WebhookSubscription, type Workspace, type WorkspaceAgent, type WorkspaceApis, type WorkspaceArtefact, WorkspaceCard, type WorkspaceCardProps, type WorkspaceClient, type WorkspaceConfig, type WorkspaceContextValue, WorkspaceEvent, type WorkspaceExportData, WorkspaceList, type WorkspaceListFilters, type WorkspaceListProps, type WorkspaceListState, type WorkspaceMember, type WorkspaceMessage, type WorkspaceMessageReaction, type WorkspaceMessageSender, WorkspaceProvider, WorkspaceRow, type WorkspaceRowProps, type WorkspaceSocketManager, type WorkspaceStatus, type WorkspaceSummary, type WorkspaceTab, type WorkspaceType, type WsPayloadArtefactCreated, type WsPayloadMemberAdded, type WsPayloadMemberRemoved, type WsPayloadMemberUpdated, type WsPayloadMessageCreated, type WsPayloadMessageDeleted, type WsPayloadMessagePinned, type WsPayloadMessageUpdated, type WsPayloadReactionCreated, type WsPayloadReactionDeleted, type WsPayloadTyping, type WsPayloadWorkspaceAdded, type WsPayloadWorkspaceCreated, type WsPayloadWorkspaceRemoved, type WsPayloadWorkspaceStatusChanged, type WsPayloadWorkspaceUpdated, cn, createWorkspaceApis, createWorkspaceClient, createWorkspaceListStore, createWorkspaceSocket, fixMojibake, formatWorkspaceExport, getInitials, useWorkspaceApi, useWorkspaceContext, workspaceStreamdownComponents };
|