@smartspace/chat-ui 1.13.1-dev.619f6c7 → 1.13.1-dev.6447c78
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.ts +10 -1
- package/dist/index.js +20 -4
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1033,6 +1033,15 @@ declare const DRAFT_THREAD_PREFIX = "draft-";
|
|
|
1033
1033
|
declare function markDraftThreadId(threadId: string): void;
|
|
1034
1034
|
declare function unmarkDraftThreadId(threadId: string): void;
|
|
1035
1035
|
declare function isDraftThreadId(threadId?: string | null): boolean;
|
|
1036
|
+
/**
|
|
1037
|
+
* Reactive equivalent of isDraftThreadId() -- re-renders the caller when
|
|
1038
|
+
* markDraftThreadId/unmarkDraftThreadId changes this threadId's status, even
|
|
1039
|
+
* if that happens from an unrelated component (e.g. the thread list noticing
|
|
1040
|
+
* a draft is now server-backed). Use this in any component whose render
|
|
1041
|
+
* output depends on draft status; the plain function is fine for one-off
|
|
1042
|
+
* checks inside event handlers or non-React code.
|
|
1043
|
+
*/
|
|
1044
|
+
declare function useIsDraftThreadId(threadId?: string | null): boolean;
|
|
1036
1045
|
declare function createDraftThreadId(): string;
|
|
1037
1046
|
|
|
1038
1047
|
/**
|
|
@@ -1349,4 +1358,4 @@ declare function useModels({ search, take, skip, }?: {
|
|
|
1349
1358
|
total: number;
|
|
1350
1359
|
}, Error>;
|
|
1351
1360
|
|
|
1352
|
-
export { type ChatContextIds, type ChatIdentity, ChatProvider, type ChatProviderProps, type ChatService, ChatVariablesForm, DRAFT_THREAD_PREFIX, DateFromApi, type FileInfo$1 as FileInfo, type FileScope, type FlowRunVariables, MarkdownEditor, type MarkdownEditorHandle, type MentionUser, type Message, MessageComposer, type MessageComposerProps, type MessageContentItem, type MessageError, MessageList, type MessageListProps, MessageListSkeleton, MessageMarkdown, type MessageThread, type MessageValue, MessageValueType, type Model, type ModelProperty, NEW_THREAD_ID, THREAD_LIST_PAGE_SIZE, type ThreadsResponse, type Variables, type Workspace, applyDeltaToMessage, applyThreadToCache, createDraftThreadId, createThreadId, downloadFileBlobOptions, filesKeys, flowRunsKeys, getModelIcon, getThreadPlaceholderFromListCache, getUserPhotoUrl, invalidateWorkspaceThreadLists, isDraftThreadId, mapFileInfoDtoToModel, mapMentionUserDtoToModel, mapMessageDtoToModel, mapMessageErrorDtoToModel, mapMessageValueDtoToModel, mapMessagesDtoToModels, mapSignalRThreadSummaryToModel, mapThreadDtoToModel, mapThreadsResponseDtoToModel, mapWorkspaceDtoToModel, mapWorkspacesDtoToModels, markDraftThreadId, messagesKeys, messagesListOptions, messagesMutationsKeys, modelsKeys, parseDateTime, parseDateTimeHuman, randomUUID, setThreadOptimisticRunning, setThreadRunningInLists, taggableUsersOptions, threadDetailOptions, threadsKeys, unmarkDraftThreadId, useAddInputToMessage, useChatContext, useChatIdentity, useChatService, useDownloadFileBlobQuery, useFileMutations, useFlowRunVariables, useMessages, useModels, useSendMessage, useTaggableWorkspaceUsers, useThread, useThreadIsRunning, useUpdateFlowRunVariable, useWorkspace, utcDate, workspaceDetailOptions, workspaceKeys };
|
|
1361
|
+
export { type ChatContextIds, type ChatIdentity, ChatProvider, type ChatProviderProps, type ChatService, ChatVariablesForm, DRAFT_THREAD_PREFIX, DateFromApi, type FileInfo$1 as FileInfo, type FileScope, type FlowRunVariables, MarkdownEditor, type MarkdownEditorHandle, type MentionUser, type Message, MessageComposer, type MessageComposerProps, type MessageContentItem, type MessageError, MessageList, type MessageListProps, MessageListSkeleton, MessageMarkdown, type MessageThread, type MessageValue, MessageValueType, type Model, type ModelProperty, NEW_THREAD_ID, THREAD_LIST_PAGE_SIZE, type ThreadsResponse, type Variables, type Workspace, applyDeltaToMessage, applyThreadToCache, createDraftThreadId, createThreadId, downloadFileBlobOptions, filesKeys, flowRunsKeys, getModelIcon, getThreadPlaceholderFromListCache, getUserPhotoUrl, invalidateWorkspaceThreadLists, isDraftThreadId, mapFileInfoDtoToModel, mapMentionUserDtoToModel, mapMessageDtoToModel, mapMessageErrorDtoToModel, mapMessageValueDtoToModel, mapMessagesDtoToModels, mapSignalRThreadSummaryToModel, mapThreadDtoToModel, mapThreadsResponseDtoToModel, mapWorkspaceDtoToModel, mapWorkspacesDtoToModels, markDraftThreadId, messagesKeys, messagesListOptions, messagesMutationsKeys, modelsKeys, parseDateTime, parseDateTimeHuman, randomUUID, setThreadOptimisticRunning, setThreadRunningInLists, taggableUsersOptions, threadDetailOptions, threadsKeys, unmarkDraftThreadId, useAddInputToMessage, useChatContext, useChatIdentity, useChatService, useDownloadFileBlobQuery, useFileMutations, useFlowRunVariables, useIsDraftThreadId, useMessages, useModels, useSendMessage, useTaggableWorkspaceUsers, useThread, useThreadIsRunning, useUpdateFlowRunVariable, useWorkspace, utcDate, workspaceDetailOptions, workspaceKeys };
|
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import MuiButton from '@mui/material/Button';
|
|
|
2
2
|
import IconButton from '@mui/material/IconButton';
|
|
3
3
|
import { Loader2, Check, X, Paperclip, ArrowBigUp, Minimize2, AlertTriangle, FileImage, FileVideo, FileAudio, FileArchive, FileCode, FileSpreadsheet, Presentation, FileText, ChevronUp, Download, Copy, Globe, ShieldAlert } from 'lucide-react';
|
|
4
4
|
import * as React9 from 'react';
|
|
5
|
-
import { createContext, forwardRef, useImperativeHandle, useRef, useState, useEffect, useMemo, useCallback, createElement, useContext } from 'react';
|
|
5
|
+
import { createContext, forwardRef, useImperativeHandle, useRef, useState, useEffect, useMemo, useCallback, createElement, useContext, useSyncExternalStore } from 'react';
|
|
6
6
|
import { createPortal } from 'react-dom';
|
|
7
7
|
import { useQuery, queryOptions, useQueryClient, useMutation, skipToken } from '@tanstack/react-query';
|
|
8
8
|
import { toast } from 'sonner';
|
|
@@ -1827,8 +1827,6 @@ var Button = React9.forwardRef(
|
|
|
1827
1827
|
}
|
|
1828
1828
|
);
|
|
1829
1829
|
Button.displayName = "Button";
|
|
1830
|
-
|
|
1831
|
-
// src/shared/utils/threadId.ts
|
|
1832
1830
|
var NEW_THREAD_ID = "__new__";
|
|
1833
1831
|
function createThreadId() {
|
|
1834
1832
|
const cryptoObj = globalThis?.crypto;
|
|
@@ -1838,6 +1836,16 @@ var DRAFT_THREAD_PREFIX = "draft-";
|
|
|
1838
1836
|
var DRAFT_THREAD_STORAGE_KEY = "ss:draftThreadIds";
|
|
1839
1837
|
var draftThreadIds = /* @__PURE__ */ new Set();
|
|
1840
1838
|
var hydratedFromStorage = false;
|
|
1839
|
+
var draftThreadIdsListeners = /* @__PURE__ */ new Set();
|
|
1840
|
+
function notifyDraftThreadIdsChanged() {
|
|
1841
|
+
for (const listener2 of draftThreadIdsListeners) listener2();
|
|
1842
|
+
}
|
|
1843
|
+
function subscribeDraftThreadIdsChanged(listener2) {
|
|
1844
|
+
draftThreadIdsListeners.add(listener2);
|
|
1845
|
+
return () => {
|
|
1846
|
+
draftThreadIdsListeners.delete(listener2);
|
|
1847
|
+
};
|
|
1848
|
+
}
|
|
1841
1849
|
function isBrowserStorageAvailable() {
|
|
1842
1850
|
try {
|
|
1843
1851
|
return typeof window !== "undefined" && !!window.sessionStorage;
|
|
@@ -1875,12 +1883,14 @@ function markDraftThreadId(threadId) {
|
|
|
1875
1883
|
hydrateFromStorageOnce();
|
|
1876
1884
|
draftThreadIds.add(threadId);
|
|
1877
1885
|
persistToStorage();
|
|
1886
|
+
notifyDraftThreadIdsChanged();
|
|
1878
1887
|
}
|
|
1879
1888
|
function unmarkDraftThreadId(threadId) {
|
|
1880
1889
|
if (!threadId) return;
|
|
1881
1890
|
hydrateFromStorageOnce();
|
|
1882
1891
|
draftThreadIds.delete(threadId);
|
|
1883
1892
|
persistToStorage();
|
|
1893
|
+
notifyDraftThreadIdsChanged();
|
|
1884
1894
|
}
|
|
1885
1895
|
function isDraftThreadId(threadId) {
|
|
1886
1896
|
if (!threadId) return false;
|
|
@@ -1888,6 +1898,12 @@ function isDraftThreadId(threadId) {
|
|
|
1888
1898
|
hydrateFromStorageOnce();
|
|
1889
1899
|
return draftThreadIds.has(threadId);
|
|
1890
1900
|
}
|
|
1901
|
+
function useIsDraftThreadId(threadId) {
|
|
1902
|
+
return useSyncExternalStore(
|
|
1903
|
+
subscribeDraftThreadIdsChanged,
|
|
1904
|
+
() => isDraftThreadId(threadId)
|
|
1905
|
+
);
|
|
1906
|
+
}
|
|
1891
1907
|
function createDraftThreadId() {
|
|
1892
1908
|
const cryptoObj = globalThis?.crypto;
|
|
1893
1909
|
return typeof cryptoObj?.randomUUID === "function" ? cryptoObj.randomUUID() : `${Date.now()}-${Math.random().toString(16).slice(2)}`;
|
|
@@ -20738,6 +20754,6 @@ function mapWorkspaceDtoToModel(dto) {
|
|
|
20738
20754
|
}
|
|
20739
20755
|
var mapWorkspacesDtoToModels = (arr) => arr.map(mapWorkspaceDtoToModel);
|
|
20740
20756
|
|
|
20741
|
-
export { ChatProvider, ChatVariablesForm, DRAFT_THREAD_PREFIX, DateFromApi, MarkdownEditor, MessageComposer, MessageList, MessageListSkeleton, MessageMarkdown, MessageValueType, NEW_THREAD_ID, THREAD_LIST_PAGE_SIZE, applyDeltaToMessage, applyThreadToCache, createDraftThreadId, createThreadId, downloadFileBlobOptions, filesKeys, flowRunsKeys, getModelIcon, getThreadPlaceholderFromListCache, getUserPhotoUrl, invalidateWorkspaceThreadLists, isDraftThreadId, mapFileInfoDtoToModel, mapMentionUserDtoToModel, mapMessageDtoToModel, mapMessageErrorDtoToModel, mapMessageValueDtoToModel, mapMessagesDtoToModels, mapSignalRThreadSummaryToModel, mapThreadDtoToModel, mapThreadsResponseDtoToModel, mapWorkspaceDtoToModel, mapWorkspacesDtoToModels, markDraftThreadId, messagesKeys, messagesListOptions, messagesMutationsKeys, modelsKeys, parseDateTime, parseDateTimeHuman, randomUUID, setThreadOptimisticRunning, setThreadRunningInLists, taggableUsersOptions, threadDetailOptions, threadsKeys, unmarkDraftThreadId, useAddInputToMessage, useChatContext, useChatIdentity, useChatService, useDownloadFileBlobQuery, useFileMutations, useFlowRunVariables, useMessages, useModels, useSendMessage, useTaggableWorkspaceUsers, useThread, useThreadIsRunning, useUpdateFlowRunVariable, useWorkspace, utcDate, workspaceDetailOptions, workspaceKeys };
|
|
20757
|
+
export { ChatProvider, ChatVariablesForm, DRAFT_THREAD_PREFIX, DateFromApi, MarkdownEditor, MessageComposer, MessageList, MessageListSkeleton, MessageMarkdown, MessageValueType, NEW_THREAD_ID, THREAD_LIST_PAGE_SIZE, applyDeltaToMessage, applyThreadToCache, createDraftThreadId, createThreadId, downloadFileBlobOptions, filesKeys, flowRunsKeys, getModelIcon, getThreadPlaceholderFromListCache, getUserPhotoUrl, invalidateWorkspaceThreadLists, isDraftThreadId, mapFileInfoDtoToModel, mapMentionUserDtoToModel, mapMessageDtoToModel, mapMessageErrorDtoToModel, mapMessageValueDtoToModel, mapMessagesDtoToModels, mapSignalRThreadSummaryToModel, mapThreadDtoToModel, mapThreadsResponseDtoToModel, mapWorkspaceDtoToModel, mapWorkspacesDtoToModels, markDraftThreadId, messagesKeys, messagesListOptions, messagesMutationsKeys, modelsKeys, parseDateTime, parseDateTimeHuman, randomUUID, setThreadOptimisticRunning, setThreadRunningInLists, taggableUsersOptions, threadDetailOptions, threadsKeys, unmarkDraftThreadId, useAddInputToMessage, useChatContext, useChatIdentity, useChatService, useDownloadFileBlobQuery, useFileMutations, useFlowRunVariables, useIsDraftThreadId, useMessages, useModels, useSendMessage, useTaggableWorkspaceUsers, useThread, useThreadIsRunning, useUpdateFlowRunVariable, useWorkspace, utcDate, workspaceDetailOptions, workspaceKeys };
|
|
20742
20758
|
//# sourceMappingURL=index.js.map
|
|
20743
20759
|
//# sourceMappingURL=index.js.map
|