deepspace 0.3.9 → 0.3.11

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 (120) hide show
  1. package/dist/cli.js +96 -18
  2. package/dist/cli.js.map +1 -1
  3. package/dist/index.d.ts +160 -1
  4. package/dist/index.js +283 -126
  5. package/dist/index.js.map +1 -1
  6. package/dist/server.d.ts +172 -2
  7. package/dist/server.js +581 -1
  8. package/dist/server.js.map +1 -1
  9. package/dist/worker.d.ts +252 -2
  10. package/dist/worker.js +588 -1
  11. package/dist/worker.js.map +1 -1
  12. package/features/admin-page/feature.json +29 -0
  13. package/features/admin-page/src/AdminPage.tsx +292 -0
  14. package/features/admin-page/src/admin-schema.ts +20 -0
  15. package/features/ai-chat/feature.json +41 -0
  16. package/features/ai-chat/src/AiChatPage.tsx +692 -0
  17. package/features/ai-chat/src/ChatPanel.tsx +1098 -0
  18. package/features/ai-chat/src/ai-chat-schema.ts +11 -0
  19. package/features/canvas/feature.json +45 -0
  20. package/features/canvas/src/CanvasEditorPage.tsx +87 -0
  21. package/features/canvas/src/CanvasListPage.tsx +202 -0
  22. package/features/canvas/src/canvas-schema.ts +33 -0
  23. package/features/canvas/src/components/CanvasToolbar.tsx +170 -0
  24. package/features/canvas/src/components/CanvasView.tsx +369 -0
  25. package/features/canvas/src/components/ShapeRenderer.tsx +114 -0
  26. package/features/cron/feature.json +33 -0
  27. package/features/cron/src/CronLogPage.tsx +100 -0
  28. package/features/cron/src/cron.ts +25 -0
  29. package/features/docs/feature.json +96 -0
  30. package/features/docs/src/DocsEditorPage.tsx +1012 -0
  31. package/features/docs/src/DocsListPage.tsx +951 -0
  32. package/features/docs/src/DocsOutlinePanel.tsx +68 -0
  33. package/features/docs/src/DocsPresence.tsx +138 -0
  34. package/features/docs/src/InviteDialog.tsx +336 -0
  35. package/features/docs/src/LibrarySidebar.tsx +464 -0
  36. package/features/docs/src/docs-favorites.ts +18 -0
  37. package/features/docs/src/docs-library-types.ts +15 -0
  38. package/features/docs/src/docs-schema.ts +80 -0
  39. package/features/docs/src/docs-ui.css +309 -0
  40. package/features/docs/src/editor/DocEditorSurface.tsx +257 -0
  41. package/features/docs/src/editor/DocsTiptapToolbar.tsx +560 -0
  42. package/features/docs/src/editor/useDocEditor.ts +206 -0
  43. package/features/docs/src/use-yjs-room-with-awareness.ts +285 -0
  44. package/features/file-attachments/feature.json +42 -0
  45. package/features/file-attachments/src/AttachmentsPage.tsx +864 -0
  46. package/features/file-attachments/src/attachments-constants.ts +9 -0
  47. package/features/file-attachments/src/attachments-schema.ts +45 -0
  48. package/features/file-attachments/src/useFilePreview.ts +471 -0
  49. package/features/file-attachments/src/useMimeTypeDetection.ts +138 -0
  50. package/features/file-manager/feature.json +24 -0
  51. package/features/file-manager/src/FileManagerPage.tsx +330 -0
  52. package/features/integration-test/feature.json +18 -0
  53. package/features/integration-test/src/IntegrationTestPage.tsx +423 -0
  54. package/features/integration-test/src/integration.spec.ts +42 -0
  55. package/features/items/feature.json +33 -0
  56. package/features/items/src/ItemsPage.tsx +325 -0
  57. package/features/items/src/items-constants.ts +10 -0
  58. package/features/items/src/items-schema.ts +27 -0
  59. package/features/kanban/feature.json +18 -0
  60. package/features/kanban/src/Kanban.tsx +283 -0
  61. package/features/landing/feature.json +62 -0
  62. package/features/landing/src/LandingPage.tsx +627 -0
  63. package/features/landing/src/primitives.tsx +389 -0
  64. package/features/landing/src/sections/FAQSection.tsx +110 -0
  65. package/features/landing/src/sections/FeaturesGridSection.tsx +311 -0
  66. package/features/landing/src/sections/HowItWorksSection.tsx +62 -0
  67. package/features/landing/src/sections/LogoCloudSection.tsx +58 -0
  68. package/features/landing/src/sections/ShowcaseSection.tsx +63 -0
  69. package/features/landing/src/sections/StatsSection.tsx +31 -0
  70. package/features/landing/src/sections/TeamSection.tsx +86 -0
  71. package/features/landing/src/sections/TestimonialsSection.tsx +68 -0
  72. package/features/landing/src/sections/VideoSection.tsx +71 -0
  73. package/features/leaderboard/feature.json +33 -0
  74. package/features/leaderboard/src/LeaderboardPage.tsx +372 -0
  75. package/features/leaderboard/src/leaderboard-constants.ts +21 -0
  76. package/features/leaderboard/src/leaderboard-schema.ts +36 -0
  77. package/features/messaging/feature.json +111 -0
  78. package/features/messaging/src/ChatMultiPage.tsx +300 -0
  79. package/features/messaging/src/ChatPage.tsx +75 -0
  80. package/features/messaging/src/components/chat/ChatHeader.tsx +76 -0
  81. package/features/messaging/src/components/chat/MessageActionSheet.tsx +168 -0
  82. package/features/messaging/src/components/chat/MessageInput.tsx +65 -0
  83. package/features/messaging/src/components/chat/MessageItem.tsx +352 -0
  84. package/features/messaging/src/components/chat/MessageList.tsx +248 -0
  85. package/features/messaging/src/components/chat/ReactionPicker.tsx +2 -0
  86. package/features/messaging/src/components/chat/ThreadPanel.tsx +107 -0
  87. package/features/messaging/src/components/chat/UserProfilePopover.tsx +158 -0
  88. package/features/messaging/src/components/chat-multi/AddMemberModal.tsx +188 -0
  89. package/features/messaging/src/components/chat-multi/BrowseGroupsModal.tsx +163 -0
  90. package/features/messaging/src/components/chat-multi/ChannelListItem.tsx +147 -0
  91. package/features/messaging/src/components/chat-multi/ChannelSettingsPanel.tsx +344 -0
  92. package/features/messaging/src/components/chat-multi/ChannelSidebar.tsx +460 -0
  93. package/features/messaging/src/components/chat-multi/CreateGroupModal.tsx +190 -0
  94. package/features/messaging/src/components/chat-multi/InvitationList.tsx +149 -0
  95. package/features/messaging/src/components/chat-multi/NewMessageModal.tsx +159 -0
  96. package/features/messaging/src/hooks/useChatChannel.ts +64 -0
  97. package/features/messaging/src/hooks/useLongPress.ts +74 -0
  98. package/features/messaging/src/hooks/useMultiChannel.ts +142 -0
  99. package/features/messaging/src/messaging-schema.ts +25 -0
  100. package/features/presence-test/feature.json +21 -0
  101. package/features/presence-test/src/PresenceTestPage.tsx +120 -0
  102. package/features/sidebar/feature.json +19 -0
  103. package/features/sidebar/src/AppSidebar.tsx +558 -0
  104. package/features/tasks/feature.json +33 -0
  105. package/features/tasks/src/TasksPage.tsx +598 -0
  106. package/features/tasks/src/tasks-constants.ts +43 -0
  107. package/features/tasks/src/tasks-schema.ts +56 -0
  108. package/features/testing/feature.json +49 -0
  109. package/features/testing/src/TestPage.tsx +145 -0
  110. package/features/testing/src/cpu-burn-action.ts +51 -0
  111. package/features/testing/src/subrequest-burn-action.ts +53 -0
  112. package/features/testing/src/test-schema.ts +23 -0
  113. package/features/topbar/feature.json +18 -0
  114. package/features/topbar/src/Topbar.tsx +353 -0
  115. package/features/tree/feature.json +26 -0
  116. package/features/tree/src/TreeSidebar.tsx +607 -0
  117. package/features/tree/src/tree-constants.ts +68 -0
  118. package/features/tree/src/tree-hooks.ts +258 -0
  119. package/package.json +4 -2
  120. package/scripts/add-feature.cjs +654 -0
package/dist/index.d.ts CHANGED
@@ -424,6 +424,10 @@ declare const MSG: {
424
424
  readonly CRON_PAUSE: "cron.pause";
425
425
  readonly CRON_RESUME: "cron.resume";
426
426
  readonly CRON_STATUS: "cron.status";
427
+ readonly JOB_ENQUEUE: "job.enqueue";
428
+ readonly JOB_CANCEL: "job.cancel";
429
+ readonly JOB_RETRY: "job.retry";
430
+ readonly JOB_UPDATE: "job.update";
427
431
  readonly PRESENCE_SYNC: "presence.sync";
428
432
  readonly PRESENCE_JOIN: "presence.join";
429
433
  readonly PRESENCE_LEAVE: "presence.leave";
@@ -590,6 +594,15 @@ type ClientMessage = BaseMessage<typeof MSG.SUBSCRIBE, {
590
594
  taskName: string;
591
595
  }> | BaseMessage<typeof MSG.CRON_RESUME, {
592
596
  taskName: string;
597
+ }> | BaseMessage<typeof MSG.JOB_ENQUEUE, {
598
+ requestId: string;
599
+ type: string;
600
+ payload?: unknown;
601
+ maxAttempts?: number;
602
+ }> | BaseMessage<typeof MSG.JOB_CANCEL, {
603
+ jobId: string;
604
+ }> | BaseMessage<typeof MSG.JOB_RETRY, {
605
+ jobId: string;
593
606
  }> | BaseMessage<typeof MSG.PRESENCE_UPDATE, Record<string, unknown>> | BaseMessage<typeof MSG.GW_SCOPE_CONNECT, {
594
607
  scopeType: string;
595
608
  scopeId: string;
@@ -685,6 +698,12 @@ type ServerMessage = BaseMessage<typeof MSG.QUERY_RESULT, {
685
698
  }> | BaseMessage<typeof MSG.CRON_STATUS, {
686
699
  tasks: unknown;
687
700
  recentHistory: unknown;
701
+ }> | BaseMessage<typeof MSG.JOB_UPDATE, {
702
+ kind: 'snapshot' | 'enqueued' | 'progress' | 'succeeded' | 'failed' | 'canceled' | 'retried';
703
+ job?: unknown;
704
+ jobs?: unknown[];
705
+ /** Echoes the enqueue requestId when the update is the enqueue ack. */
706
+ requestId?: string;
688
707
  }> | BaseMessage<typeof MSG.PRESENCE_SYNC, {
689
708
  peers: unknown[];
690
709
  }> | BaseMessage<typeof MSG.PRESENCE_JOIN, {
@@ -856,6 +875,27 @@ declare const clientBuild: {
856
875
  readonly taskName: string;
857
876
  };
858
877
  };
878
+ jobEnqueue: (requestId: string, type: string, payload?: unknown, maxAttempts?: number) => {
879
+ readonly type: "job.enqueue";
880
+ readonly payload: {
881
+ readonly requestId: string;
882
+ readonly type: string;
883
+ readonly payload: unknown;
884
+ readonly maxAttempts: number | undefined;
885
+ };
886
+ };
887
+ jobCancel: (jobId: string) => {
888
+ readonly type: "job.cancel";
889
+ readonly payload: {
890
+ readonly jobId: string;
891
+ };
892
+ };
893
+ jobRetry: (jobId: string) => {
894
+ readonly type: "job.retry";
895
+ readonly payload: {
896
+ readonly jobId: string;
897
+ };
898
+ };
859
899
  presenceUpdate: (state: Record<string, unknown>) => {
860
900
  readonly type: "presence.update";
861
901
  readonly payload: Record<string, unknown>;
@@ -1078,6 +1118,56 @@ declare const serverBuild: {
1078
1118
  readonly recentHistory: unknown;
1079
1119
  };
1080
1120
  };
1121
+ jobSnapshot: (jobs: unknown[]) => {
1122
+ readonly type: "job.update";
1123
+ readonly payload: {
1124
+ readonly kind: "snapshot";
1125
+ readonly jobs: unknown[];
1126
+ };
1127
+ };
1128
+ jobEnqueued: (job: unknown, requestId?: string) => {
1129
+ readonly type: "job.update";
1130
+ readonly payload: {
1131
+ readonly kind: "enqueued";
1132
+ readonly job: unknown;
1133
+ readonly requestId: string | undefined;
1134
+ };
1135
+ };
1136
+ jobProgress: (job: unknown) => {
1137
+ readonly type: "job.update";
1138
+ readonly payload: {
1139
+ readonly kind: "progress";
1140
+ readonly job: unknown;
1141
+ };
1142
+ };
1143
+ jobSucceeded: (job: unknown) => {
1144
+ readonly type: "job.update";
1145
+ readonly payload: {
1146
+ readonly kind: "succeeded";
1147
+ readonly job: unknown;
1148
+ };
1149
+ };
1150
+ jobFailed: (job: unknown) => {
1151
+ readonly type: "job.update";
1152
+ readonly payload: {
1153
+ readonly kind: "failed";
1154
+ readonly job: unknown;
1155
+ };
1156
+ };
1157
+ jobCanceled: (job: unknown) => {
1158
+ readonly type: "job.update";
1159
+ readonly payload: {
1160
+ readonly kind: "canceled";
1161
+ readonly job: unknown;
1162
+ };
1163
+ };
1164
+ jobRetried: (job: unknown) => {
1165
+ readonly type: "job.update";
1166
+ readonly payload: {
1167
+ readonly kind: "retried";
1168
+ readonly job: unknown;
1169
+ };
1170
+ };
1081
1171
  presenceSync: (peers: unknown[]) => {
1082
1172
  readonly type: "presence.sync";
1083
1173
  readonly payload: {
@@ -5989,6 +6079,75 @@ interface UseCronMonitorResult {
5989
6079
  }
5990
6080
  declare function useCronMonitor(roomId: string): UseCronMonitorResult;
5991
6081
 
6082
+ /**
6083
+ * useJobs — Connect to a JobRoom for enqueueing and tracking background
6084
+ * jobs in real time.
6085
+ *
6086
+ * Opens a WebSocket to /ws/jobs/:roomId. The DO pushes a snapshot on
6087
+ * connect and JOB_UPDATE messages for every state change after that, so
6088
+ * `jobs` stays current without polling. `enqueue` returns a promise that
6089
+ * resolves with the new jobId once the server acks.
6090
+ *
6091
+ * Client-side names (`JobView`, `JobStatusView`) differ from the
6092
+ * server-side equivalents (`Job`, `JobStatus` in `deepspace/worker`) so
6093
+ * apps importing from both ends don't get type collisions.
6094
+ *
6095
+ * @example
6096
+ * const { jobs, enqueue, getJob, cancel } = useJobs(`app:${APP_NAME}`)
6097
+ *
6098
+ * async function onClick() {
6099
+ * const jobId = await enqueue('ai-summarize', { text })
6100
+ * // Now `getJob(jobId)` is reactive until the job reaches a terminal state.
6101
+ * }
6102
+ */
6103
+ type JobStatusView = 'queued' | 'running' | 'succeeded' | 'failed' | 'canceled';
6104
+ interface JobView<P = unknown, R = unknown> {
6105
+ id: string;
6106
+ type: string;
6107
+ status: JobStatusView;
6108
+ payload?: P;
6109
+ result?: R;
6110
+ error?: string;
6111
+ progress?: number;
6112
+ progressMessage?: string;
6113
+ attempts: number;
6114
+ maxAttempts: number;
6115
+ enqueuedAt: string;
6116
+ startedAt?: string | null;
6117
+ completedAt?: string | null;
6118
+ enqueuedBy?: string | null;
6119
+ }
6120
+ interface UseJobsResult<P = unknown, R = unknown> {
6121
+ /** All jobs the room currently knows about, newest-first. */
6122
+ jobs: JobView<P, R>[];
6123
+ /** WebSocket connection state. */
6124
+ connected: boolean;
6125
+ /**
6126
+ * Enqueue a new job. Resolves with the new jobId once the server acks
6127
+ * (typically <100ms). Rejects if:
6128
+ * - the WebSocket isn't connected
6129
+ * - the WebSocket closes before the ack arrives
6130
+ * - no ack arrives within 10s (server dropped the message)
6131
+ */
6132
+ enqueue(type: string, payload?: P, options?: {
6133
+ maxAttempts?: number;
6134
+ }): Promise<string>;
6135
+ /**
6136
+ * Reactive single-job lookup. Returns undefined while the snapshot is
6137
+ * loading or if the job has been GC'd by the room's TTL sweep.
6138
+ */
6139
+ getJob(jobId: string): JobView<P, R> | undefined;
6140
+ /** Best-effort cancel. The job is marked canceled even if the handler ignores `ctx.signal`. */
6141
+ cancel(jobId: string): void;
6142
+ /** Manually re-queue a failed/canceled job. No-op for other statuses. */
6143
+ retry(jobId: string): void;
6144
+ }
6145
+ /**
6146
+ * @param roomId DO room id, typically `app:<APP_NAME>`. Apps with sharded
6147
+ * queues pass different ids — each id maps to its own DO instance.
6148
+ */
6149
+ declare function useJobs<P = unknown, R = unknown>(roomId: string): UseJobsResult<P, R>;
6150
+
5992
6151
  /**
5993
6152
  * usePresenceRoom — Connect to a PresenceRoom Durable Object.
5994
6153
  *
@@ -7394,4 +7553,4 @@ interface SearchInputProps extends Omit<React$1.ComponentProps<'input'>, 'type'>
7394
7553
  }
7395
7554
  declare const SearchInput: React$1.ForwardRefExoticComponent<Omit<SearchInputProps, "ref"> & React$1.RefAttributes<HTMLInputElement>>;
7396
7555
 
7397
- export { type AdHocChargeOpts, type AiStreamAction, type AiStreamChunk, Alert, AlertDescription, AlertTitle, AuthGate, type AuthGateProps, AuthOverlay, Avatar, AvatarFallback, AvatarImage, Awareness, type AwarenessState, type AwarenessStates, Badge, type BadgeProps, type BaseMessage, Button, type ButtonProps, type CanvasShapeClient, Card, CardContent, CardDescription, CardFooter, CardGrid, CardHeader, CardTitle, type Channel, type ChannelInvitation, type ChannelMember, type ChargeOnceOpts, type ChargeOnceResult, Checkbox, type ClientMessage, type CollectionSchema, ConfirmModal, type ConnectionAttachment, type ConnectionStatus, type ContentSegment, type ConversationObject, type CronHistoryEntry, type CronTaskState, DEEPSPACE_THEME_PROPERTIES, DEFAULT_USER_COLORS, DeepSpaceAuthProvider, type DeepSpaceThemeConfig, DeepSpaceThemeProvider, type DeepSpaceThemeProviderProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, ENV, EmptyDocuments, EmptyError, EmptyItems, EmptyProjects, EmptySearch, EmptyState, EmptyTeam, type Environment, type FetchUserProfile, type FileAttachment, type GamePlayer, GridCard, type GroupedReaction, GuestBanner, type HandlerContext, type InboxEntry, Input, type IntegrationResponse, Label, type LinkPreviewData, LoadingOverlay, LoadingSpinner, MSG, MSG_AWARENESS, MSG_SYNC, MSG_SYNC_STEP1, MSG_SYNC_STEP2, MSG_SYNC_UPDATE, MSG_YJS_AWARENESS, MSG_YJS_SYNC, type MemberRecord, type Message, type MessageHandlers, type MessageRecord, Modal, type MsgType, type PlanInfo, PlatformContext, type PlatformContextValue, PlatformProvider, type PlatformWSOptions, type PlatformWSResult, type PresencePeerClient, PricingTable, type PricingTablePlan, type PricingTablePrice, type ProductChargeOpts, Progress, type ProtocolMessage, type Purchase, type Query, type R2FileInfo, type R2Scope, type R2UploadResult, ROLES, ROLE_ADMIN, ROLE_ANONYMOUS, ROLE_CONFIG, ROLE_DEFAULT, type Reaction, type ReactionRecord, type ReadCursorRecord, type ReadReceipt, type RecordData, RecordProvider, type RecordProviderProps, RecordScope, type RequestOptions, type Role, type RoomUser, type ScopeEntry, ScopeRegistryProvider, SearchInput, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue, Separator, type ServerMessage, SignedIn, SignedOut, Skeleton, SkeletonAvatar, SkeletonCard, SkeletonList, SkeletonTable, SkeletonText, type SubscribeOpts, type SubscribeResult, type SubscriptionState, type SubscriptionStatus, Switch, type SyncResult, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, ToastProvider, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type UseCanvasResult, type UseCheckoutOpts, type UseCronMonitorResult, type UseGameRoomResult, type UsePresenceRoomResult, type UseR2FilesReturn, type UseYjsFieldResult, type UseYjsRoomResult, type UseYjsTextResult, type User, type UserCredits, type UserInfo, type UserKarma, type UserProfile, type ViewportClient, applyDeepSpaceTheme, applyUIThemeTokens, authClient, badgeVariants, buttonVariants, clearAuthToken, clearDeepSpaceTheme, clientBuild, cn, createDecoder, createEncoder, decodeAiStreamChunk, detectEnvironment, dispatch, encode, encodeAwarenessMessage, encodeSyncStep1, encodeSyncStep2, encodeUpdate, formatFileSize, formatFullTimestamp, formatMessageTime, getApiUrl, getAuthToken, getAuthUrl, getConversationDisplayName, getConversationParticipantIds, getEnvironmentConfig, getMessageType, getPlatformWorkerUrl, getThreadCounts, getUserColor, groupReactionsForMessage, handleAwarenessMessage, handleSyncMessage, hasContent, integration, isDMConversation, isDarkColor, isImageFile, isLocalDev, isProduction, parseMessageMetadata, parseSseLine, readThemeFromDOM, readVarUint, readVarUint8Array, resetEnvironmentCache, serverBuild, shouldGroupMessages, signIn, signOut, toConnectionStatus, toUint8Array, useAuth, useAuthUser, useCanvas, useChannelMembers, useChannels, useCheckout, useCommunities, useConversation, useConversations, useCronMonitor, useDisplayName, useGameRoom, useInbox, useIsDarkTheme, useMessages, useMutations, usePlatform, usePlatformWS, usePosts, usePresence, usePresenceRoom, useQuery, useR2Files, useReactions, useReadReceipts, useRecordContext, useSession, useSubscription, useToast, useUser, useUserLookup, useUsers, useYjsField, useYjsRoom, useYjsText, writeVarUint, writeVarUint8Array };
7556
+ export { type AdHocChargeOpts, type AiStreamAction, type AiStreamChunk, Alert, AlertDescription, AlertTitle, AuthGate, type AuthGateProps, AuthOverlay, Avatar, AvatarFallback, AvatarImage, Awareness, type AwarenessState, type AwarenessStates, Badge, type BadgeProps, type BaseMessage, Button, type ButtonProps, type CanvasShapeClient, Card, CardContent, CardDescription, CardFooter, CardGrid, CardHeader, CardTitle, type Channel, type ChannelInvitation, type ChannelMember, type ChargeOnceOpts, type ChargeOnceResult, Checkbox, type ClientMessage, type CollectionSchema, ConfirmModal, type ConnectionAttachment, type ConnectionStatus, type ContentSegment, type ConversationObject, type CronHistoryEntry, type CronTaskState, DEEPSPACE_THEME_PROPERTIES, DEFAULT_USER_COLORS, DeepSpaceAuthProvider, type DeepSpaceThemeConfig, DeepSpaceThemeProvider, type DeepSpaceThemeProviderProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, ENV, EmptyDocuments, EmptyError, EmptyItems, EmptyProjects, EmptySearch, EmptyState, EmptyTeam, type Environment, type FetchUserProfile, type FileAttachment, type GamePlayer, GridCard, type GroupedReaction, GuestBanner, type HandlerContext, type InboxEntry, Input, type IntegrationResponse, type JobStatusView, type JobView, Label, type LinkPreviewData, LoadingOverlay, LoadingSpinner, MSG, MSG_AWARENESS, MSG_SYNC, MSG_SYNC_STEP1, MSG_SYNC_STEP2, MSG_SYNC_UPDATE, MSG_YJS_AWARENESS, MSG_YJS_SYNC, type MemberRecord, type Message, type MessageHandlers, type MessageRecord, Modal, type MsgType, type PlanInfo, PlatformContext, type PlatformContextValue, PlatformProvider, type PlatformWSOptions, type PlatformWSResult, type PresencePeerClient, PricingTable, type PricingTablePlan, type PricingTablePrice, type ProductChargeOpts, Progress, type ProtocolMessage, type Purchase, type Query, type R2FileInfo, type R2Scope, type R2UploadResult, ROLES, ROLE_ADMIN, ROLE_ANONYMOUS, ROLE_CONFIG, ROLE_DEFAULT, type Reaction, type ReactionRecord, type ReadCursorRecord, type ReadReceipt, type RecordData, RecordProvider, type RecordProviderProps, RecordScope, type RequestOptions, type Role, type RoomUser, type ScopeEntry, ScopeRegistryProvider, SearchInput, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue, Separator, type ServerMessage, SignedIn, SignedOut, Skeleton, SkeletonAvatar, SkeletonCard, SkeletonList, SkeletonTable, SkeletonText, type SubscribeOpts, type SubscribeResult, type SubscriptionState, type SubscriptionStatus, Switch, type SyncResult, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, ToastProvider, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type UseCanvasResult, type UseCheckoutOpts, type UseCronMonitorResult, type UseGameRoomResult, type UseJobsResult, type UsePresenceRoomResult, type UseR2FilesReturn, type UseYjsFieldResult, type UseYjsRoomResult, type UseYjsTextResult, type User, type UserCredits, type UserInfo, type UserKarma, type UserProfile, type ViewportClient, applyDeepSpaceTheme, applyUIThemeTokens, authClient, badgeVariants, buttonVariants, clearAuthToken, clearDeepSpaceTheme, clientBuild, cn, createDecoder, createEncoder, decodeAiStreamChunk, detectEnvironment, dispatch, encode, encodeAwarenessMessage, encodeSyncStep1, encodeSyncStep2, encodeUpdate, formatFileSize, formatFullTimestamp, formatMessageTime, getApiUrl, getAuthToken, getAuthUrl, getConversationDisplayName, getConversationParticipantIds, getEnvironmentConfig, getMessageType, getPlatformWorkerUrl, getThreadCounts, getUserColor, groupReactionsForMessage, handleAwarenessMessage, handleSyncMessage, hasContent, integration, isDMConversation, isDarkColor, isImageFile, isLocalDev, isProduction, parseMessageMetadata, parseSseLine, readThemeFromDOM, readVarUint, readVarUint8Array, resetEnvironmentCache, serverBuild, shouldGroupMessages, signIn, signOut, toConnectionStatus, toUint8Array, useAuth, useAuthUser, useCanvas, useChannelMembers, useChannels, useCheckout, useCommunities, useConversation, useConversations, useCronMonitor, useDisplayName, useGameRoom, useInbox, useIsDarkTheme, useJobs, useMessages, useMutations, usePlatform, usePlatformWS, usePosts, usePresence, usePresenceRoom, useQuery, useR2Files, useReactions, useReadReceipts, useRecordContext, useSession, useSubscription, useToast, useUser, useUserLookup, useUsers, useYjsField, useYjsRoom, useYjsText, writeVarUint, writeVarUint8Array };