@base44/superagent-native 0.0.2 → 0.0.3
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/lib/commonjs/AgentSettingsPanel.js +123 -47
- package/lib/commonjs/AgentSettingsPanel.js.map +1 -1
- package/lib/commonjs/AgentSphereIcon.js +14 -118
- package/lib/commonjs/AgentSphereIcon.js.map +1 -1
- package/lib/commonjs/AttachmentPickerStatusModal.js +3 -2
- package/lib/commonjs/AttachmentPickerStatusModal.js.map +1 -1
- package/lib/commonjs/ChannelsPanel.js +66 -44
- package/lib/commonjs/ChannelsPanel.js.map +1 -1
- package/lib/commonjs/ConversationChat.js +11 -2
- package/lib/commonjs/ConversationChat.js.map +1 -1
- package/lib/commonjs/ConversationComposer.js +8 -7
- package/lib/commonjs/ConversationComposer.js.map +1 -1
- package/lib/commonjs/ConversationScreen.js +2 -0
- package/lib/commonjs/ConversationScreen.js.map +1 -1
- package/lib/commonjs/EditorDrawer.js +54 -24
- package/lib/commonjs/EditorDrawer.js.map +1 -1
- package/lib/commonjs/FilesPanel.js +56 -20
- package/lib/commonjs/FilesPanel.js.map +1 -1
- package/lib/commonjs/RenameAgentModal.js +2 -1
- package/lib/commonjs/RenameAgentModal.js.map +1 -1
- package/lib/commonjs/ShareAgentModal.js +11 -10
- package/lib/commonjs/ShareAgentModal.js.map +1 -1
- package/lib/commonjs/ShareAgentModal.styles.js +2 -2
- package/lib/commonjs/ShareAgentModal.styles.js.map +1 -1
- package/lib/commonjs/SuperagentHomeScreen.js +27 -9
- package/lib/commonjs/SuperagentHomeScreen.js.map +1 -1
- package/lib/commonjs/ToolApprovalCard.js +72 -14
- package/lib/commonjs/ToolApprovalCard.js.map +1 -1
- package/lib/commonjs/ToolCallSummary.js +14 -9
- package/lib/commonjs/ToolCallSummary.js.map +1 -1
- package/lib/commonjs/agentSphereAssets.js +327 -0
- package/lib/commonjs/agentSphereAssets.js.map +1 -0
- package/lib/commonjs/agentSphereStyles.js +3 -3
- package/lib/commonjs/agentSphereStyles.js.map +1 -1
- package/lib/commonjs/apiClient.js +7 -0
- package/lib/commonjs/apiClient.js.map +1 -1
- package/lib/commonjs/composerStyles.js +2 -2
- package/lib/commonjs/composerStyles.js.map +1 -1
- package/lib/commonjs/connectorBrandIcons.generated.js +625 -0
- package/lib/commonjs/connectorBrandIcons.generated.js.map +1 -0
- package/lib/commonjs/connectorBrandIcons.js +3 -55
- package/lib/commonjs/connectorBrandIcons.js.map +1 -1
- package/lib/commonjs/connectorCatalog.js +19 -1
- package/lib/commonjs/connectorCatalog.js.map +1 -1
- package/lib/commonjs/conversationParts.js +5 -4
- package/lib/commonjs/conversationParts.js.map +1 -1
- package/lib/commonjs/conversationRuntime.js +120 -12
- package/lib/commonjs/conversationRuntime.js.map +1 -1
- package/lib/commonjs/conversationStyles.js +2 -1
- package/lib/commonjs/conversationStyles.js.map +1 -1
- package/lib/commonjs/editorShellStyles.js +6 -2
- package/lib/commonjs/editorShellStyles.js.map +1 -1
- package/lib/commonjs/index.js +7 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/markdownStyles.js +2 -2
- package/lib/commonjs/markdownStyles.js.map +1 -1
- package/lib/commonjs/messageActionStyles.js +2 -2
- package/lib/commonjs/messageActionStyles.js.map +1 -1
- package/lib/commonjs/realtimeClient.js +4 -1
- package/lib/commonjs/realtimeClient.js.map +1 -1
- package/lib/commonjs/renameAgentModalStyles.js +2 -2
- package/lib/commonjs/renameAgentModalStyles.js.map +1 -1
- package/lib/commonjs/screenParts.js +24 -41
- package/lib/commonjs/screenParts.js.map +1 -1
- package/lib/commonjs/styles.js +71 -60
- package/lib/commonjs/styles.js.map +1 -1
- package/lib/commonjs/superagentApiClient.js +63 -18
- package/lib/commonjs/superagentApiClient.js.map +1 -1
- package/lib/commonjs/theme.js +249 -0
- package/lib/commonjs/theme.js.map +1 -0
- package/lib/commonjs/useSuperagentConversation.js +133 -20
- package/lib/commonjs/useSuperagentConversation.js.map +1 -1
- package/lib/commonjs/useSuperagentRuntime.js +167 -82
- package/lib/commonjs/useSuperagentRuntime.js.map +1 -1
- package/lib/module/AgentSettingsPanel.js +125 -49
- package/lib/module/AgentSettingsPanel.js.map +1 -1
- package/lib/module/AgentSphereIcon.js +15 -118
- package/lib/module/AgentSphereIcon.js.map +1 -1
- package/lib/module/AttachmentPickerStatusModal.js +4 -3
- package/lib/module/AttachmentPickerStatusModal.js.map +1 -1
- package/lib/module/ChannelsPanel.js +67 -45
- package/lib/module/ChannelsPanel.js.map +1 -1
- package/lib/module/ConversationChat.js +11 -2
- package/lib/module/ConversationChat.js.map +1 -1
- package/lib/module/ConversationComposer.js +8 -7
- package/lib/module/ConversationComposer.js.map +1 -1
- package/lib/module/ConversationScreen.js +2 -0
- package/lib/module/ConversationScreen.js.map +1 -1
- package/lib/module/EditorDrawer.js +55 -25
- package/lib/module/EditorDrawer.js.map +1 -1
- package/lib/module/FilesPanel.js +56 -20
- package/lib/module/FilesPanel.js.map +1 -1
- package/lib/module/RenameAgentModal.js +2 -1
- package/lib/module/RenameAgentModal.js.map +1 -1
- package/lib/module/ShareAgentModal.js +11 -10
- package/lib/module/ShareAgentModal.js.map +1 -1
- package/lib/module/ShareAgentModal.styles.js +2 -2
- package/lib/module/ShareAgentModal.styles.js.map +1 -1
- package/lib/module/SuperagentHomeScreen.js +27 -9
- package/lib/module/SuperagentHomeScreen.js.map +1 -1
- package/lib/module/ToolApprovalCard.js +72 -14
- package/lib/module/ToolApprovalCard.js.map +1 -1
- package/lib/module/ToolCallSummary.js +14 -9
- package/lib/module/ToolCallSummary.js.map +1 -1
- package/lib/module/agentSphereAssets.js +323 -0
- package/lib/module/agentSphereAssets.js.map +1 -0
- package/lib/module/agentSphereStyles.js +3 -3
- package/lib/module/agentSphereStyles.js.map +1 -1
- package/lib/module/apiClient.js +7 -0
- package/lib/module/apiClient.js.map +1 -1
- package/lib/module/composerStyles.js +2 -2
- package/lib/module/composerStyles.js.map +1 -1
- package/lib/module/connectorBrandIcons.generated.js +621 -0
- package/lib/module/connectorBrandIcons.generated.js.map +1 -0
- package/lib/module/connectorBrandIcons.js +1 -53
- package/lib/module/connectorBrandIcons.js.map +1 -1
- package/lib/module/connectorCatalog.js +17 -0
- package/lib/module/connectorCatalog.js.map +1 -1
- package/lib/module/conversationParts.js +5 -4
- package/lib/module/conversationParts.js.map +1 -1
- package/lib/module/conversationRuntime.js +118 -12
- package/lib/module/conversationRuntime.js.map +1 -1
- package/lib/module/conversationStyles.js +3 -2
- package/lib/module/conversationStyles.js.map +1 -1
- package/lib/module/editorShellStyles.js +6 -2
- package/lib/module/editorShellStyles.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/markdownStyles.js +2 -2
- package/lib/module/markdownStyles.js.map +1 -1
- package/lib/module/messageActionStyles.js +2 -2
- package/lib/module/messageActionStyles.js.map +1 -1
- package/lib/module/realtimeClient.js +4 -1
- package/lib/module/realtimeClient.js.map +1 -1
- package/lib/module/renameAgentModalStyles.js +2 -2
- package/lib/module/renameAgentModalStyles.js.map +1 -1
- package/lib/module/screenParts.js +25 -42
- package/lib/module/screenParts.js.map +1 -1
- package/lib/module/styles.js +71 -60
- package/lib/module/styles.js.map +1 -1
- package/lib/module/superagentApiClient.js +63 -18
- package/lib/module/superagentApiClient.js.map +1 -1
- package/lib/module/theme.js +239 -0
- package/lib/module/theme.js.map +1 -0
- package/lib/module/useSuperagentConversation.js +135 -22
- package/lib/module/useSuperagentConversation.js.map +1 -1
- package/lib/module/useSuperagentRuntime.js +167 -82
- package/lib/module/useSuperagentRuntime.js.map +1 -1
- package/lib/typescript/commonjs/AgentSettingsPanel.d.ts.map +1 -1
- package/lib/typescript/commonjs/AgentSphereIcon.d.ts.map +1 -1
- package/lib/typescript/commonjs/AttachmentPickerStatusModal.d.ts.map +1 -1
- package/lib/typescript/commonjs/ChannelsPanel.d.ts.map +1 -1
- package/lib/typescript/commonjs/ConversationChat.d.ts +1 -1
- package/lib/typescript/commonjs/ConversationChat.d.ts.map +1 -1
- package/lib/typescript/commonjs/ConversationComposer.d.ts.map +1 -1
- package/lib/typescript/commonjs/ConversationMessageList.d.ts +1 -1
- package/lib/typescript/commonjs/ConversationMessageList.d.ts.map +1 -1
- package/lib/typescript/commonjs/ConversationScreen.d.ts +2 -1
- package/lib/typescript/commonjs/ConversationScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/EditorDrawer.d.ts +1 -1
- package/lib/typescript/commonjs/EditorDrawer.d.ts.map +1 -1
- package/lib/typescript/commonjs/FilesPanel.d.ts.map +1 -1
- package/lib/typescript/commonjs/RenameAgentModal.d.ts.map +1 -1
- package/lib/typescript/commonjs/ShareAgentModal.d.ts.map +1 -1
- package/lib/typescript/commonjs/ShareAgentModal.styles.d.ts.map +1 -1
- package/lib/typescript/commonjs/SuperagentHomeScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ToolApprovalCard.d.ts +3 -3
- package/lib/typescript/commonjs/ToolApprovalCard.d.ts.map +1 -1
- package/lib/typescript/commonjs/ToolCallSummary.d.ts +1 -1
- package/lib/typescript/commonjs/ToolCallSummary.d.ts.map +1 -1
- package/lib/typescript/commonjs/agentSphereAssets.d.ts +2 -0
- package/lib/typescript/commonjs/agentSphereAssets.d.ts.map +1 -0
- package/lib/typescript/commonjs/agentSphereStyles.d.ts.map +1 -1
- package/lib/typescript/commonjs/apiClient.d.ts.map +1 -1
- package/lib/typescript/commonjs/composerStyles.d.ts.map +1 -1
- package/lib/typescript/commonjs/connectorBrandIcons.d.ts.map +1 -1
- package/lib/typescript/commonjs/connectorBrandIcons.generated.d.ts +2 -0
- package/lib/typescript/commonjs/connectorBrandIcons.generated.d.ts.map +1 -0
- package/lib/typescript/commonjs/connectorCatalog.d.ts +2 -0
- package/lib/typescript/commonjs/connectorCatalog.d.ts.map +1 -1
- package/lib/typescript/commonjs/conversationParts.d.ts +1 -1
- package/lib/typescript/commonjs/conversationParts.d.ts.map +1 -1
- package/lib/typescript/commonjs/conversationRuntime.d.ts +6 -1
- package/lib/typescript/commonjs/conversationRuntime.d.ts.map +1 -1
- package/lib/typescript/commonjs/conversationStyles.d.ts.map +1 -1
- package/lib/typescript/commonjs/editorShellStyles.d.ts +4 -0
- package/lib/typescript/commonjs/editorShellStyles.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +2 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/markdownStyles.d.ts.map +1 -1
- package/lib/typescript/commonjs/messageActionStyles.d.ts.map +1 -1
- package/lib/typescript/commonjs/realtimeClient.d.ts.map +1 -1
- package/lib/typescript/commonjs/renameAgentModalStyles.d.ts.map +1 -1
- package/lib/typescript/commonjs/screenParts.d.ts +1 -1
- package/lib/typescript/commonjs/screenParts.d.ts.map +1 -1
- package/lib/typescript/commonjs/styles.d.ts +20 -11
- package/lib/typescript/commonjs/styles.d.ts.map +1 -1
- package/lib/typescript/commonjs/superagentApiClient.d.ts +2 -1
- package/lib/typescript/commonjs/superagentApiClient.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme.d.ts +36 -0
- package/lib/typescript/commonjs/theme.d.ts.map +1 -0
- package/lib/typescript/commonjs/types.d.ts +16 -2
- package/lib/typescript/commonjs/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/useSuperagentConversation.d.ts +3 -2
- package/lib/typescript/commonjs/useSuperagentConversation.d.ts.map +1 -1
- package/lib/typescript/commonjs/useSuperagentRuntime.d.ts +2 -1
- package/lib/typescript/commonjs/useSuperagentRuntime.d.ts.map +1 -1
- package/lib/typescript/module/AgentSettingsPanel.d.ts.map +1 -1
- package/lib/typescript/module/AgentSphereIcon.d.ts.map +1 -1
- package/lib/typescript/module/AttachmentPickerStatusModal.d.ts.map +1 -1
- package/lib/typescript/module/ChannelsPanel.d.ts.map +1 -1
- package/lib/typescript/module/ConversationChat.d.ts +1 -1
- package/lib/typescript/module/ConversationChat.d.ts.map +1 -1
- package/lib/typescript/module/ConversationComposer.d.ts.map +1 -1
- package/lib/typescript/module/ConversationMessageList.d.ts +1 -1
- package/lib/typescript/module/ConversationMessageList.d.ts.map +1 -1
- package/lib/typescript/module/ConversationScreen.d.ts +2 -1
- package/lib/typescript/module/ConversationScreen.d.ts.map +1 -1
- package/lib/typescript/module/EditorDrawer.d.ts +1 -1
- package/lib/typescript/module/EditorDrawer.d.ts.map +1 -1
- package/lib/typescript/module/FilesPanel.d.ts.map +1 -1
- package/lib/typescript/module/RenameAgentModal.d.ts.map +1 -1
- package/lib/typescript/module/ShareAgentModal.d.ts.map +1 -1
- package/lib/typescript/module/ShareAgentModal.styles.d.ts.map +1 -1
- package/lib/typescript/module/SuperagentHomeScreen.d.ts.map +1 -1
- package/lib/typescript/module/ToolApprovalCard.d.ts +3 -3
- package/lib/typescript/module/ToolApprovalCard.d.ts.map +1 -1
- package/lib/typescript/module/ToolCallSummary.d.ts +1 -1
- package/lib/typescript/module/ToolCallSummary.d.ts.map +1 -1
- package/lib/typescript/module/agentSphereAssets.d.ts +2 -0
- package/lib/typescript/module/agentSphereAssets.d.ts.map +1 -0
- package/lib/typescript/module/agentSphereStyles.d.ts.map +1 -1
- package/lib/typescript/module/apiClient.d.ts.map +1 -1
- package/lib/typescript/module/composerStyles.d.ts.map +1 -1
- package/lib/typescript/module/connectorBrandIcons.d.ts.map +1 -1
- package/lib/typescript/module/connectorBrandIcons.generated.d.ts +2 -0
- package/lib/typescript/module/connectorBrandIcons.generated.d.ts.map +1 -0
- package/lib/typescript/module/connectorCatalog.d.ts +2 -0
- package/lib/typescript/module/connectorCatalog.d.ts.map +1 -1
- package/lib/typescript/module/conversationParts.d.ts +1 -1
- package/lib/typescript/module/conversationParts.d.ts.map +1 -1
- package/lib/typescript/module/conversationRuntime.d.ts +6 -1
- package/lib/typescript/module/conversationRuntime.d.ts.map +1 -1
- package/lib/typescript/module/conversationStyles.d.ts.map +1 -1
- package/lib/typescript/module/editorShellStyles.d.ts +4 -0
- package/lib/typescript/module/editorShellStyles.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +2 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/markdownStyles.d.ts.map +1 -1
- package/lib/typescript/module/messageActionStyles.d.ts.map +1 -1
- package/lib/typescript/module/realtimeClient.d.ts.map +1 -1
- package/lib/typescript/module/renameAgentModalStyles.d.ts.map +1 -1
- package/lib/typescript/module/screenParts.d.ts +1 -1
- package/lib/typescript/module/screenParts.d.ts.map +1 -1
- package/lib/typescript/module/styles.d.ts +20 -11
- package/lib/typescript/module/styles.d.ts.map +1 -1
- package/lib/typescript/module/superagentApiClient.d.ts +2 -1
- package/lib/typescript/module/superagentApiClient.d.ts.map +1 -1
- package/lib/typescript/module/theme.d.ts +36 -0
- package/lib/typescript/module/theme.d.ts.map +1 -0
- package/lib/typescript/module/types.d.ts +16 -2
- package/lib/typescript/module/types.d.ts.map +1 -1
- package/lib/typescript/module/useSuperagentConversation.d.ts +3 -2
- package/lib/typescript/module/useSuperagentConversation.d.ts.map +1 -1
- package/lib/typescript/module/useSuperagentRuntime.d.ts +2 -1
- package/lib/typescript/module/useSuperagentRuntime.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/AgentSettingsPanel.tsx +118 -49
- package/src/AgentSphereIcon.tsx +11 -62
- package/src/AttachmentPickerStatusModal.tsx +4 -3
- package/src/ChannelsPanel.tsx +59 -39
- package/src/ConversationChat.tsx +12 -3
- package/src/ConversationComposer.tsx +7 -6
- package/src/ConversationMessageList.tsx +1 -1
- package/src/ConversationScreen.tsx +3 -0
- package/src/EditorDrawer.tsx +66 -41
- package/src/FilesPanel.tsx +48 -20
- package/src/RenameAgentModal.tsx +2 -1
- package/src/ShareAgentModal.styles.ts +2 -1
- package/src/ShareAgentModal.tsx +9 -8
- package/src/SuperagentHomeScreen.tsx +27 -7
- package/src/ToolApprovalCard.tsx +82 -14
- package/src/ToolCallSummary.tsx +18 -12
- package/src/agentSphereAssets.ts +325 -0
- package/src/agentSphereStyles.ts +3 -2
- package/src/apiClient.ts +7 -0
- package/src/composerStyles.ts +2 -1
- package/src/connectorBrandIcons.generated.ts +618 -0
- package/src/connectorBrandIcons.tsx +1 -53
- package/src/connectorCatalog.ts +24 -0
- package/src/conversationParts.tsx +6 -5
- package/src/conversationRuntime.ts +123 -12
- package/src/conversationStyles.ts +2 -1
- package/src/editorShellStyles.ts +6 -1
- package/src/index.ts +2 -0
- package/src/markdownStyles.ts +2 -1
- package/src/messageActionStyles.ts +2 -1
- package/src/realtimeClient.ts +7 -1
- package/src/renameAgentModalStyles.ts +2 -1
- package/src/screenParts.tsx +17 -29
- package/src/styles.ts +63 -54
- package/src/superagentApiClient.ts +68 -18
- package/src/theme.ts +254 -0
- package/src/types.ts +21 -2
- package/src/useSuperagentConversation.ts +141 -24
- package/src/useSuperagentRuntime.ts +165 -84
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","AUTO_GREET_MESSAGE","MESSAGES_PAGE_SIZE","countAssistantResponses","createErrorMessage","createUserMessage","getMessageCursor","hasNewAssistantResponse","isQueuedResponse","isVisibleMessage","mergeConversationSnapshot","mergeMessage","normalizeMessages","pollConversation","refreshConversation","sendWithFallback","useSuperagentConversation","agentId","apiClient","realtimeClient","fallbackMessages","fallbackSending","onAgentMessageDone","onConversationSettled","onSendMessage","conversationId","setConversationId","messages","setMessages","queuedMessages","setQueuedMessages","isLoading","setIsLoading","isSending","setIsSending","initError","setInitError","hasMoreMessages","setHasMoreMessages","sendGenerationRef","pollIntervalRef","loadingPreviousRef","settleTimeoutRef","messagesRef","onAgentMessageDoneRef","onConversationSettledRef","current","clearPendingSettlers","clearInterval","clearTimeout","client","cancelled","initConversation","conversations","getConversations","conversation","createConversation","page","getMessages","id","limit","Boolean","has_more","hasMore","length","addMessage","error","Error","message","undefined","subscribeToConversation","onMessage","onConversation","incoming","onAgentDone","then","catch","onReconnect","onError","visibleMessages","filter","index","sendMessage","content","options","trimmedContent","trim","fileUrls","assistantCountBefore","userMessage","replyTo","sendGeneration","setSendingForCurrentSend","value","hasAssistantResponse","armSettleFallback","setTimeout","response","position","refreshedMessages","errorMessage","deleteMessage","messageId","stop","stopConversation","loadPrevious","before","submitToolCallInput","toolCallId","approve","extraUserInput","originRequestId","updated"],"sourceRoot":"../../src","sources":["useSuperagentConversation.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","MESSAGES_PAGE_SIZE","countAssistantResponses","createErrorMessage","createUserMessage","getMessageCursor","hasNewAssistantResponse","hasRunningToolCall","isQueuedResponse","isVisibleMessage","mergeConversationSnapshot","mergeMessage","normalizeMessages","pollConversation","pollQueuedSend","refreshConversation","sendWithFallback","useSuperagentConversation","agentId","apiClient","realtimeClient","currentUserId","fallbackMessages","fallbackSending","onAgentMessageDone","onConversationSettled","onSendMessage","conversationId","setConversationId","messages","setMessages","queuedMessages","setQueuedMessages","isLoading","setIsLoading","isSending","setIsSending","initError","setInitError","hasMoreMessages","setHasMoreMessages","sendGenerationRef","pollIntervalRef","loadingPreviousRef","settleTimeoutRef","messagesRef","onAgentMessageDoneRef","onConversationSettledRef","current","clearPendingSettlers","clearInterval","clearTimeout","client","cancelled","initConversation","conversations","getConversations","conversation","createConversation","page","getMessages","id","limit","Boolean","has_more","hasMore","length","bootstrapIntro","error","Error","message","undefined","subscribeToConversation","onMessage","onConversation","incoming","onAgentDone","payload","sender_platform_user_id","sendGeneration","setSendingIfCurrent","value","settle","handOffToPoll","assistantCountBefore","then","refreshed","catch","onReconnect","onError","visibleMessages","filter","index","sendMessage","content","options","trimmedContent","trim","fileUrls","userMessage","replyTo","setSendingForCurrentSend","delivered","hasAssistantResponse","armSettleFallback","setTimeout","response","addMessage","position","interval","refreshedMessages","errorMessage","deleteMessage","messageId","stop","stopConversation","loadPrevious","before","submitToolCallInput","toolCallId","approve","extraUserInput","originRequestId","updated"],"sourceRoot":"../../src","sources":["useSuperagentConversation.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -49,6 +49,11 @@ export function useSuperagentRuntime({
|
|
|
49
49
|
const [isLoading, setIsLoading] = useState(true);
|
|
50
50
|
const [loadError, setLoadError] = useState(null);
|
|
51
51
|
const [runtimeAuthToken, setRuntimeAuthToken] = useState(null);
|
|
52
|
+
// Caches the resolved runtime token keyed by the agent it belongs to. The
|
|
53
|
+
// runtimeAuthToken state lags an agent switch (it's cleared in a later effect),
|
|
54
|
+
// so resolveRuntimeToken must not trust it as a cache — this ref can never hand
|
|
55
|
+
// back a different agent's token.
|
|
56
|
+
const runtimeTokenRef = useRef(null);
|
|
52
57
|
const [realtimeClient, setRealtimeClient] = useState();
|
|
53
58
|
const [secrets, setSecrets] = useState([]);
|
|
54
59
|
const connectorFlowRef = useRef(null);
|
|
@@ -162,15 +167,27 @@ export function useSuperagentRuntime({
|
|
|
162
167
|
}
|
|
163
168
|
}, [superagentService]);
|
|
164
169
|
const resolveRuntimeToken = useCallback(async agentId => {
|
|
165
|
-
|
|
166
|
-
|
|
170
|
+
// Use the agent-keyed ref, not the runtimeAuthToken state: the state still
|
|
171
|
+
// holds the previous agent's token during a switch (it's cleared in a later
|
|
172
|
+
// effect), so trusting it could return the wrong agent's token here.
|
|
173
|
+
const cached = runtimeTokenRef.current;
|
|
174
|
+
if (cached && cached.agentId === agentId) {
|
|
175
|
+
return cached.token;
|
|
167
176
|
}
|
|
168
177
|
const token = await superagentService.getRuntimeAuthToken(agentId);
|
|
169
|
-
|
|
178
|
+
runtimeTokenRef.current = {
|
|
179
|
+
agentId,
|
|
180
|
+
token
|
|
181
|
+
};
|
|
182
|
+
// Compare against the latest active agent (ref), not the closure-captured
|
|
183
|
+
// activeAgentId: the user may have switched agents while the fetch was in
|
|
184
|
+
// flight, and writing a stale agent's token into shared state would point
|
|
185
|
+
// realtime/channel calls at the wrong agent.
|
|
186
|
+
if (agentId === activeAgentIdRef.current) {
|
|
170
187
|
setRuntimeAuthToken(token);
|
|
171
188
|
}
|
|
172
189
|
return token;
|
|
173
|
-
}, [
|
|
190
|
+
}, [superagentService]);
|
|
174
191
|
const loadChannels = useCallback(async agentId => {
|
|
175
192
|
setIsLoadingChannels(true);
|
|
176
193
|
try {
|
|
@@ -209,6 +226,7 @@ export function useSuperagentRuntime({
|
|
|
209
226
|
setChannelStatus({});
|
|
210
227
|
setCollaborators([]);
|
|
211
228
|
setConnectingChannelId(null);
|
|
229
|
+
setConnectingConnectorId(null);
|
|
212
230
|
setConnectedConnectors([]);
|
|
213
231
|
setFilePaths([]);
|
|
214
232
|
setFileLoadError(null);
|
|
@@ -252,23 +270,17 @@ export function useSuperagentRuntime({
|
|
|
252
270
|
if (!flow || flow.cancelled) {
|
|
253
271
|
return;
|
|
254
272
|
}
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
if (event.status === 'error') {
|
|
263
|
-
flow.cancelled = true;
|
|
264
|
-
connectorFlowRef.current = null;
|
|
265
|
-
setConnectingConnectorId(null);
|
|
273
|
+
|
|
274
|
+
// The callback event carries no connection/connector identifier, so it can't
|
|
275
|
+
// be reliably attributed to this flow — a late callback from a superseded
|
|
276
|
+
// connect could otherwise mark the wrong flow. Don't mutate flow state here;
|
|
277
|
+
// waitForConnectorAuthorization polls the authoritative per-connection status
|
|
278
|
+
// (it detects ACTIVE/FAILED on its own). Just refresh the connector list so
|
|
279
|
+
// the UI reflects the latest state.
|
|
280
|
+
if (event.status === 'success' || event.status === 'error') {
|
|
266
281
|
await loadConnectors(flow.agentId);
|
|
267
|
-
showAlert(nativeAdapters, 'Connector failed', 'OAuth authorization did not complete. Please try connecting again.');
|
|
268
|
-
return;
|
|
269
282
|
}
|
|
270
|
-
|
|
271
|
-
}, [loadConnectors, nativeAdapters]);
|
|
283
|
+
}, [loadConnectors]);
|
|
272
284
|
useEffect(() => {
|
|
273
285
|
return nativeAdapters.subscribeToExternalAuthCallbacks?.(completePendingConnectorFromCallback);
|
|
274
286
|
}, [completePendingConnectorFromCallback, nativeAdapters]);
|
|
@@ -395,6 +407,9 @@ export function useSuperagentRuntime({
|
|
|
395
407
|
} : agent));
|
|
396
408
|
} catch (error) {
|
|
397
409
|
showAlert(nativeAdapters, 'Permissions update failed', getErrorMessage(error));
|
|
410
|
+
// Rethrow so optimistic callers (the permission toggle) can revert; the
|
|
411
|
+
// guard-config caller wraps this in try/catch since the alert already fired.
|
|
412
|
+
throw error;
|
|
398
413
|
}
|
|
399
414
|
}, [nativeAdapters, superagentService]);
|
|
400
415
|
const onSaveSecret = useCallback(async ({
|
|
@@ -472,7 +487,10 @@ export function useSuperagentRuntime({
|
|
|
472
487
|
const onCloneAgent = useCallback(({
|
|
473
488
|
agentId
|
|
474
489
|
}) => {
|
|
475
|
-
|
|
490
|
+
// Use the Superagent clone route — /remix-app is an app route that the web
|
|
491
|
+
// builder redirects back to /superagent/:id for user_agent apps (reopening the
|
|
492
|
+
// original instead of cloning). /clone-superagent/:id is the agent clone flow.
|
|
493
|
+
nativeAdapters.openWebUrl?.(buildWebUrl(config.webUrl ?? config.baseUrl, `/clone-superagent/${encodeURIComponent(agentId)}`));
|
|
476
494
|
}, [config.baseUrl, config.webUrl, nativeAdapters]);
|
|
477
495
|
const onDeleteAgent = useCallback(async ({
|
|
478
496
|
agentId
|
|
@@ -620,7 +638,10 @@ export function useSuperagentRuntime({
|
|
|
620
638
|
}
|
|
621
639
|
const writtenPaths = [];
|
|
622
640
|
for (const file of files) {
|
|
623
|
-
const
|
|
641
|
+
const safeName = sanitizeSandboxFilePath(file.name) || 'upload';
|
|
642
|
+
// Stage uploads under a dedicated folder so a picked file named like a
|
|
643
|
+
// generated-app file (package.json, README.md, ...) can't overwrite it.
|
|
644
|
+
const safePath = `incoming_files/${safeName}`;
|
|
624
645
|
await superagentService.writeSandboxFile(agentId, safePath, file.content);
|
|
625
646
|
writtenPaths.push(safePath);
|
|
626
647
|
}
|
|
@@ -656,19 +677,31 @@ export function useSuperagentRuntime({
|
|
|
656
677
|
setConnectingChannelId('whatsapp');
|
|
657
678
|
try {
|
|
658
679
|
const token = await resolveRuntimeToken(agentId);
|
|
680
|
+
// Editor gate: the connect redirect only authenticates the app-user token and
|
|
681
|
+
// does not re-check live editor access, so a downgraded viewer could otherwise
|
|
682
|
+
// open it. /whatsapp/status enforces the two-layer editor check and throws
|
|
683
|
+
// (403) for viewers — require it to pass before opening the setup page.
|
|
684
|
+
await superagentService.getWhatsAppStatus(agentId, token);
|
|
659
685
|
const connectUrl = superagentService.getWhatsAppConnectUrl(agentId, token);
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
686
|
+
if (activeAgentIdRef.current === agentId) {
|
|
687
|
+
setChannelStatus(current => ({
|
|
688
|
+
...current,
|
|
689
|
+
whatsapp: {
|
|
690
|
+
...current.whatsapp,
|
|
691
|
+
connectUrl
|
|
692
|
+
}
|
|
693
|
+
}));
|
|
694
|
+
}
|
|
695
|
+
if (!nativeAdapters.openUrl) {
|
|
696
|
+
// Without a URL opener the setup page never launches; surface an error
|
|
697
|
+
// instead of completing silently (mirrors the connector OAuth flow).
|
|
698
|
+
throw new Error('This app cannot open the WhatsApp setup page. Connect WhatsApp from the web app.');
|
|
699
|
+
}
|
|
700
|
+
await nativeAdapters.openUrl(connectUrl);
|
|
668
701
|
} catch (error) {
|
|
669
702
|
showAlert(nativeAdapters, 'WhatsApp setup failed', getErrorMessage(error));
|
|
670
703
|
} finally {
|
|
671
|
-
setConnectingChannelId(null);
|
|
704
|
+
if (activeAgentIdRef.current === agentId) setConnectingChannelId(null);
|
|
672
705
|
}
|
|
673
706
|
}, [nativeAdapters, resolveRuntimeToken, superagentService]);
|
|
674
707
|
const onSetupTelegram = useCallback(async ({
|
|
@@ -679,12 +712,14 @@ export function useSuperagentRuntime({
|
|
|
679
712
|
try {
|
|
680
713
|
const runtimeToken = await resolveRuntimeToken(agentId);
|
|
681
714
|
const telegram = await superagentService.setupTelegram(agentId, runtimeToken, token);
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
715
|
+
if (activeAgentIdRef.current === agentId) {
|
|
716
|
+
setChannelStatus(current => ({
|
|
717
|
+
...current,
|
|
718
|
+
telegram
|
|
719
|
+
}));
|
|
720
|
+
}
|
|
686
721
|
} finally {
|
|
687
|
-
setConnectingChannelId(null);
|
|
722
|
+
if (activeAgentIdRef.current === agentId) setConnectingChannelId(null);
|
|
688
723
|
}
|
|
689
724
|
}, [resolveRuntimeToken, superagentService]);
|
|
690
725
|
const onDisconnectTelegram = useCallback(async ({
|
|
@@ -703,16 +738,18 @@ export function useSuperagentRuntime({
|
|
|
703
738
|
try {
|
|
704
739
|
const token = await resolveRuntimeToken(agentId);
|
|
705
740
|
await superagentService.disconnectTelegram(agentId, token);
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
741
|
+
if (activeAgentIdRef.current === agentId) {
|
|
742
|
+
setChannelStatus(current => ({
|
|
743
|
+
...current,
|
|
744
|
+
telegram: {
|
|
745
|
+
connected: false
|
|
746
|
+
}
|
|
747
|
+
}));
|
|
748
|
+
}
|
|
712
749
|
} catch (error) {
|
|
713
750
|
showAlert(nativeAdapters, 'Telegram disconnect failed', getErrorMessage(error));
|
|
714
751
|
} finally {
|
|
715
|
-
setConnectingChannelId(null);
|
|
752
|
+
if (activeAgentIdRef.current === agentId) setConnectingChannelId(null);
|
|
716
753
|
}
|
|
717
754
|
}, [nativeAdapters, resolveRuntimeToken, superagentService]);
|
|
718
755
|
const onGenerateLineCode = useCallback(async ({
|
|
@@ -722,18 +759,20 @@ export function useSuperagentRuntime({
|
|
|
722
759
|
try {
|
|
723
760
|
const token = await resolveRuntimeToken(agentId);
|
|
724
761
|
const activation = await superagentService.generateLineCode(agentId, token);
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
762
|
+
if (activeAgentIdRef.current === agentId) {
|
|
763
|
+
setChannelStatus(current => ({
|
|
764
|
+
...current,
|
|
765
|
+
line: {
|
|
766
|
+
...current.line,
|
|
767
|
+
activation,
|
|
768
|
+
connected: false
|
|
769
|
+
}
|
|
770
|
+
}));
|
|
771
|
+
}
|
|
733
772
|
} catch (error) {
|
|
734
773
|
showAlert(nativeAdapters, 'LINE setup failed', getErrorMessage(error));
|
|
735
774
|
} finally {
|
|
736
|
-
setConnectingChannelId(null);
|
|
775
|
+
if (activeAgentIdRef.current === agentId) setConnectingChannelId(null);
|
|
737
776
|
}
|
|
738
777
|
}, [nativeAdapters, resolveRuntimeToken, superagentService]);
|
|
739
778
|
const onGenerateIMessageCode = useCallback(async ({
|
|
@@ -743,20 +782,22 @@ export function useSuperagentRuntime({
|
|
|
743
782
|
try {
|
|
744
783
|
const token = await resolveRuntimeToken(agentId);
|
|
745
784
|
const activation = await superagentService.generateIMessageCode(agentId, token);
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
785
|
+
if (activeAgentIdRef.current === agentId) {
|
|
786
|
+
setChannelStatus(current => ({
|
|
787
|
+
...current,
|
|
788
|
+
imessage: {
|
|
789
|
+
...current.imessage,
|
|
790
|
+
activation,
|
|
791
|
+
connected: current.imessage?.connected ?? false
|
|
792
|
+
}
|
|
793
|
+
}));
|
|
794
|
+
}
|
|
754
795
|
return activation;
|
|
755
796
|
} catch (error) {
|
|
756
797
|
showAlert(nativeAdapters, 'iMessage setup failed', getErrorMessage(error));
|
|
757
798
|
throw error;
|
|
758
799
|
} finally {
|
|
759
|
-
setConnectingChannelId(null);
|
|
800
|
+
if (activeAgentIdRef.current === agentId) setConnectingChannelId(null);
|
|
760
801
|
}
|
|
761
802
|
}, [nativeAdapters, resolveRuntimeToken, superagentService]);
|
|
762
803
|
const onDisconnectIMessage = useCallback(async ({
|
|
@@ -775,14 +816,16 @@ export function useSuperagentRuntime({
|
|
|
775
816
|
try {
|
|
776
817
|
const token = await resolveRuntimeToken(agentId);
|
|
777
818
|
const imessage = await superagentService.disconnectIMessage(agentId, token);
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
819
|
+
if (activeAgentIdRef.current === agentId) {
|
|
820
|
+
setChannelStatus(current => ({
|
|
821
|
+
...current,
|
|
822
|
+
imessage
|
|
823
|
+
}));
|
|
824
|
+
}
|
|
782
825
|
} catch (error) {
|
|
783
826
|
showAlert(nativeAdapters, 'iMessage disconnect failed', getErrorMessage(error));
|
|
784
827
|
} finally {
|
|
785
|
-
setConnectingChannelId(null);
|
|
828
|
+
if (activeAgentIdRef.current === agentId) setConnectingChannelId(null);
|
|
786
829
|
}
|
|
787
830
|
}, [nativeAdapters, resolveRuntimeToken, superagentService]);
|
|
788
831
|
const onOpenIMessage = useCallback(async ({
|
|
@@ -790,7 +833,10 @@ export function useSuperagentRuntime({
|
|
|
790
833
|
phoneNumber
|
|
791
834
|
}) => {
|
|
792
835
|
try {
|
|
793
|
-
|
|
836
|
+
if (!nativeAdapters.openUrl) {
|
|
837
|
+
throw new Error('This app cannot open Messages. Use the web app to share the iMessage code.');
|
|
838
|
+
}
|
|
839
|
+
await nativeAdapters.openUrl(buildIMessageUrl(phoneNumber, code));
|
|
794
840
|
} catch (error) {
|
|
795
841
|
showAlert(nativeAdapters, 'iMessage link unavailable', getErrorMessage(error));
|
|
796
842
|
}
|
|
@@ -809,7 +855,11 @@ export function useSuperagentRuntime({
|
|
|
809
855
|
addFriendUrl,
|
|
810
856
|
code
|
|
811
857
|
}) => {
|
|
812
|
-
|
|
858
|
+
if (!nativeAdapters.share) {
|
|
859
|
+
showAlert(nativeAdapters, 'Sharing unavailable', 'This app cannot share the activation code. Copy it manually instead.');
|
|
860
|
+
return;
|
|
861
|
+
}
|
|
862
|
+
await nativeAdapters.share({
|
|
813
863
|
message: `LINE activation code: ${code}\n${addFriendUrl}`,
|
|
814
864
|
title: 'LINE activation code',
|
|
815
865
|
url: addFriendUrl
|
|
@@ -819,7 +869,11 @@ export function useSuperagentRuntime({
|
|
|
819
869
|
code,
|
|
820
870
|
phoneNumber
|
|
821
871
|
}) => {
|
|
822
|
-
|
|
872
|
+
if (!nativeAdapters.share) {
|
|
873
|
+
showAlert(nativeAdapters, 'Sharing unavailable', 'This app cannot share the activation code. Copy it manually instead.');
|
|
874
|
+
return;
|
|
875
|
+
}
|
|
876
|
+
await nativeAdapters.share({
|
|
823
877
|
message: `Text ${code} to ${phoneNumber} to connect this Superagent on iMessage.`,
|
|
824
878
|
title: 'iMessage activation code',
|
|
825
879
|
url: buildIMessageUrl(phoneNumber, code)
|
|
@@ -855,22 +909,35 @@ export function useSuperagentRuntime({
|
|
|
855
909
|
connectorFlowRef.current = null;
|
|
856
910
|
setConnectingConnectorId(null);
|
|
857
911
|
await loadConnectors(agentId);
|
|
858
|
-
|
|
912
|
+
// Return the connection_id (string) so the connector tool-approval can
|
|
913
|
+
// submit it; fall back to `true` when the backend omits it.
|
|
914
|
+
return connection.connection_id ?? true;
|
|
859
915
|
}
|
|
860
916
|
if (!connection.redirect_url || !connection.connection_id) {
|
|
861
917
|
throw new Error('The backend did not return an authorization URL for this connector.');
|
|
862
918
|
}
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
919
|
+
if (!nativeAdapters.openUrl) {
|
|
920
|
+
// Without a URL opener the browser never launches, so polling would just
|
|
921
|
+
// time out after ~2 minutes. Fail immediately with an actionable error.
|
|
922
|
+
throw new Error('This app cannot open the authorization page. Connect this integration from the web app.');
|
|
923
|
+
}
|
|
924
|
+
await nativeAdapters.openUrl(connection.redirect_url);
|
|
925
|
+
const connected = await waitForConnectorAuthorization(superagentService, agentId, connectorId, connection.connection_id, flow);
|
|
926
|
+
|
|
927
|
+
// Only clear shared state if this flow is still the active one — a newer
|
|
928
|
+
// connect may have superseded it (and owns connectorFlowRef now).
|
|
929
|
+
if (connectorFlowRef.current === flow) {
|
|
866
930
|
connectorFlowRef.current = null;
|
|
867
931
|
setConnectingConnectorId(null);
|
|
932
|
+
}
|
|
933
|
+
if (connected) {
|
|
868
934
|
await loadConnectors(agentId);
|
|
869
|
-
return true;
|
|
870
935
|
}
|
|
871
|
-
return
|
|
936
|
+
// On success return the connection_id so the connector tool-approval can
|
|
937
|
+
// submit it for backend verification; `false` on failure.
|
|
938
|
+
return connected ? connection.connection_id : false;
|
|
872
939
|
} catch (error) {
|
|
873
|
-
if (
|
|
940
|
+
if (connectorFlowRef.current === flow) {
|
|
874
941
|
connectorFlowRef.current = null;
|
|
875
942
|
setConnectingConnectorId(null);
|
|
876
943
|
showAlert(nativeAdapters, 'Connector failed', getErrorMessage(error));
|
|
@@ -949,6 +1016,7 @@ export function useSuperagentRuntime({
|
|
|
949
1016
|
// instead of defaulting to the home route.
|
|
950
1017
|
initialRoute: currentRoute,
|
|
951
1018
|
currentUserAvatarUrl: config.currentUserAvatarUrl,
|
|
1019
|
+
currentUserId: config.currentUserId,
|
|
952
1020
|
currentUserName: config.currentUserName,
|
|
953
1021
|
fileLoadError,
|
|
954
1022
|
fileLoadFailed,
|
|
@@ -1015,22 +1083,27 @@ export function useSuperagentRuntime({
|
|
|
1015
1083
|
};
|
|
1016
1084
|
}
|
|
1017
1085
|
async function waitForConnectorAuthorization(superagentService, agentId, connectorId, connectionId, flow) {
|
|
1086
|
+
// The connection status (scoped to this flow's connectionId) is the
|
|
1087
|
+
// authoritative source of truth — not a global callback flag, which can't be
|
|
1088
|
+
// attributed to a specific flow. Returns whether the connector ended up ACTIVE.
|
|
1089
|
+
const isActive = async () => (await superagentService.getConnectorConnectionStatus(agentId, connectorId, connectionId)) === 'ACTIVE';
|
|
1018
1090
|
const maxAttempts = 40;
|
|
1019
1091
|
for (let attempt = 0; attempt < maxAttempts; attempt++) {
|
|
1020
1092
|
if (flow.cancelled) {
|
|
1021
|
-
|
|
1093
|
+
// Cancelled — but OAuth may have already completed; confirm with the
|
|
1094
|
+
// authoritative status before reporting not-connected.
|
|
1095
|
+
return isActive().catch(() => false);
|
|
1022
1096
|
}
|
|
1023
1097
|
await delay(3000);
|
|
1024
|
-
if (flow.cancelled) {
|
|
1025
|
-
return;
|
|
1026
|
-
}
|
|
1027
1098
|
const status = await superagentService.getConnectorConnectionStatus(agentId, connectorId, connectionId);
|
|
1028
1099
|
if (status === 'ACTIVE') {
|
|
1029
|
-
return;
|
|
1100
|
+
return true;
|
|
1030
1101
|
}
|
|
1031
1102
|
if (status === 'FAILED') {
|
|
1032
1103
|
throw new Error('OAuth connection failed.');
|
|
1033
1104
|
}
|
|
1105
|
+
// If the user cancelled during the delay, the next iteration's top-of-loop
|
|
1106
|
+
// check re-confirms via the authoritative status before returning.
|
|
1034
1107
|
}
|
|
1035
1108
|
throw new Error('Connection timed out after 2 minutes.');
|
|
1036
1109
|
}
|
|
@@ -1039,14 +1112,26 @@ async function openAllowedExternalUrl(nativeAdapters, url, allowedHosts, fallbac
|
|
|
1039
1112
|
showAlert(nativeAdapters, fallbackMessage, 'The backend returned a channel link that cannot be opened safely.');
|
|
1040
1113
|
return;
|
|
1041
1114
|
}
|
|
1115
|
+
if (!nativeAdapters.openUrl) {
|
|
1116
|
+
// No URL opener: surface it instead of passing the host check and then
|
|
1117
|
+
// silently doing nothing.
|
|
1118
|
+
showAlert(nativeAdapters, fallbackMessage, 'This app cannot open external links. Use the web app instead.');
|
|
1119
|
+
return;
|
|
1120
|
+
}
|
|
1042
1121
|
try {
|
|
1043
|
-
await nativeAdapters.openUrl
|
|
1122
|
+
await nativeAdapters.openUrl(url);
|
|
1044
1123
|
} catch (error) {
|
|
1045
1124
|
showAlert(nativeAdapters, fallbackMessage, getErrorMessage(error));
|
|
1046
1125
|
}
|
|
1047
1126
|
}
|
|
1048
1127
|
function showAlert(nativeAdapters, title, message) {
|
|
1049
|
-
nativeAdapters.alert
|
|
1128
|
+
if (nativeAdapters.alert) {
|
|
1129
|
+
nativeAdapters.alert(title, message);
|
|
1130
|
+
return;
|
|
1131
|
+
}
|
|
1132
|
+
// No host alert adapter — fall back to React Native's Alert (as confirmAction
|
|
1133
|
+
// does) so connector/channel/file/model errors aren't silently swallowed.
|
|
1134
|
+
Alert.alert(title, message);
|
|
1050
1135
|
}
|
|
1051
1136
|
async function confirmAction(nativeAdapters, input) {
|
|
1052
1137
|
if (nativeAdapters.confirm) {
|