@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.
Files changed (306) hide show
  1. package/lib/commonjs/AgentSettingsPanel.js +123 -47
  2. package/lib/commonjs/AgentSettingsPanel.js.map +1 -1
  3. package/lib/commonjs/AgentSphereIcon.js +14 -118
  4. package/lib/commonjs/AgentSphereIcon.js.map +1 -1
  5. package/lib/commonjs/AttachmentPickerStatusModal.js +3 -2
  6. package/lib/commonjs/AttachmentPickerStatusModal.js.map +1 -1
  7. package/lib/commonjs/ChannelsPanel.js +66 -44
  8. package/lib/commonjs/ChannelsPanel.js.map +1 -1
  9. package/lib/commonjs/ConversationChat.js +11 -2
  10. package/lib/commonjs/ConversationChat.js.map +1 -1
  11. package/lib/commonjs/ConversationComposer.js +8 -7
  12. package/lib/commonjs/ConversationComposer.js.map +1 -1
  13. package/lib/commonjs/ConversationScreen.js +2 -0
  14. package/lib/commonjs/ConversationScreen.js.map +1 -1
  15. package/lib/commonjs/EditorDrawer.js +54 -24
  16. package/lib/commonjs/EditorDrawer.js.map +1 -1
  17. package/lib/commonjs/FilesPanel.js +56 -20
  18. package/lib/commonjs/FilesPanel.js.map +1 -1
  19. package/lib/commonjs/RenameAgentModal.js +2 -1
  20. package/lib/commonjs/RenameAgentModal.js.map +1 -1
  21. package/lib/commonjs/ShareAgentModal.js +11 -10
  22. package/lib/commonjs/ShareAgentModal.js.map +1 -1
  23. package/lib/commonjs/ShareAgentModal.styles.js +2 -2
  24. package/lib/commonjs/ShareAgentModal.styles.js.map +1 -1
  25. package/lib/commonjs/SuperagentHomeScreen.js +27 -9
  26. package/lib/commonjs/SuperagentHomeScreen.js.map +1 -1
  27. package/lib/commonjs/ToolApprovalCard.js +72 -14
  28. package/lib/commonjs/ToolApprovalCard.js.map +1 -1
  29. package/lib/commonjs/ToolCallSummary.js +14 -9
  30. package/lib/commonjs/ToolCallSummary.js.map +1 -1
  31. package/lib/commonjs/agentSphereAssets.js +327 -0
  32. package/lib/commonjs/agentSphereAssets.js.map +1 -0
  33. package/lib/commonjs/agentSphereStyles.js +3 -3
  34. package/lib/commonjs/agentSphereStyles.js.map +1 -1
  35. package/lib/commonjs/apiClient.js +7 -0
  36. package/lib/commonjs/apiClient.js.map +1 -1
  37. package/lib/commonjs/composerStyles.js +2 -2
  38. package/lib/commonjs/composerStyles.js.map +1 -1
  39. package/lib/commonjs/connectorBrandIcons.generated.js +625 -0
  40. package/lib/commonjs/connectorBrandIcons.generated.js.map +1 -0
  41. package/lib/commonjs/connectorBrandIcons.js +3 -55
  42. package/lib/commonjs/connectorBrandIcons.js.map +1 -1
  43. package/lib/commonjs/connectorCatalog.js +19 -1
  44. package/lib/commonjs/connectorCatalog.js.map +1 -1
  45. package/lib/commonjs/conversationParts.js +5 -4
  46. package/lib/commonjs/conversationParts.js.map +1 -1
  47. package/lib/commonjs/conversationRuntime.js +120 -12
  48. package/lib/commonjs/conversationRuntime.js.map +1 -1
  49. package/lib/commonjs/conversationStyles.js +2 -1
  50. package/lib/commonjs/conversationStyles.js.map +1 -1
  51. package/lib/commonjs/editorShellStyles.js +6 -2
  52. package/lib/commonjs/editorShellStyles.js.map +1 -1
  53. package/lib/commonjs/index.js +7 -0
  54. package/lib/commonjs/index.js.map +1 -1
  55. package/lib/commonjs/markdownStyles.js +2 -2
  56. package/lib/commonjs/markdownStyles.js.map +1 -1
  57. package/lib/commonjs/messageActionStyles.js +2 -2
  58. package/lib/commonjs/messageActionStyles.js.map +1 -1
  59. package/lib/commonjs/realtimeClient.js +4 -1
  60. package/lib/commonjs/realtimeClient.js.map +1 -1
  61. package/lib/commonjs/renameAgentModalStyles.js +2 -2
  62. package/lib/commonjs/renameAgentModalStyles.js.map +1 -1
  63. package/lib/commonjs/screenParts.js +24 -41
  64. package/lib/commonjs/screenParts.js.map +1 -1
  65. package/lib/commonjs/styles.js +71 -60
  66. package/lib/commonjs/styles.js.map +1 -1
  67. package/lib/commonjs/superagentApiClient.js +63 -18
  68. package/lib/commonjs/superagentApiClient.js.map +1 -1
  69. package/lib/commonjs/theme.js +249 -0
  70. package/lib/commonjs/theme.js.map +1 -0
  71. package/lib/commonjs/useSuperagentConversation.js +133 -20
  72. package/lib/commonjs/useSuperagentConversation.js.map +1 -1
  73. package/lib/commonjs/useSuperagentRuntime.js +167 -82
  74. package/lib/commonjs/useSuperagentRuntime.js.map +1 -1
  75. package/lib/module/AgentSettingsPanel.js +125 -49
  76. package/lib/module/AgentSettingsPanel.js.map +1 -1
  77. package/lib/module/AgentSphereIcon.js +15 -118
  78. package/lib/module/AgentSphereIcon.js.map +1 -1
  79. package/lib/module/AttachmentPickerStatusModal.js +4 -3
  80. package/lib/module/AttachmentPickerStatusModal.js.map +1 -1
  81. package/lib/module/ChannelsPanel.js +67 -45
  82. package/lib/module/ChannelsPanel.js.map +1 -1
  83. package/lib/module/ConversationChat.js +11 -2
  84. package/lib/module/ConversationChat.js.map +1 -1
  85. package/lib/module/ConversationComposer.js +8 -7
  86. package/lib/module/ConversationComposer.js.map +1 -1
  87. package/lib/module/ConversationScreen.js +2 -0
  88. package/lib/module/ConversationScreen.js.map +1 -1
  89. package/lib/module/EditorDrawer.js +55 -25
  90. package/lib/module/EditorDrawer.js.map +1 -1
  91. package/lib/module/FilesPanel.js +56 -20
  92. package/lib/module/FilesPanel.js.map +1 -1
  93. package/lib/module/RenameAgentModal.js +2 -1
  94. package/lib/module/RenameAgentModal.js.map +1 -1
  95. package/lib/module/ShareAgentModal.js +11 -10
  96. package/lib/module/ShareAgentModal.js.map +1 -1
  97. package/lib/module/ShareAgentModal.styles.js +2 -2
  98. package/lib/module/ShareAgentModal.styles.js.map +1 -1
  99. package/lib/module/SuperagentHomeScreen.js +27 -9
  100. package/lib/module/SuperagentHomeScreen.js.map +1 -1
  101. package/lib/module/ToolApprovalCard.js +72 -14
  102. package/lib/module/ToolApprovalCard.js.map +1 -1
  103. package/lib/module/ToolCallSummary.js +14 -9
  104. package/lib/module/ToolCallSummary.js.map +1 -1
  105. package/lib/module/agentSphereAssets.js +323 -0
  106. package/lib/module/agentSphereAssets.js.map +1 -0
  107. package/lib/module/agentSphereStyles.js +3 -3
  108. package/lib/module/agentSphereStyles.js.map +1 -1
  109. package/lib/module/apiClient.js +7 -0
  110. package/lib/module/apiClient.js.map +1 -1
  111. package/lib/module/composerStyles.js +2 -2
  112. package/lib/module/composerStyles.js.map +1 -1
  113. package/lib/module/connectorBrandIcons.generated.js +621 -0
  114. package/lib/module/connectorBrandIcons.generated.js.map +1 -0
  115. package/lib/module/connectorBrandIcons.js +1 -53
  116. package/lib/module/connectorBrandIcons.js.map +1 -1
  117. package/lib/module/connectorCatalog.js +17 -0
  118. package/lib/module/connectorCatalog.js.map +1 -1
  119. package/lib/module/conversationParts.js +5 -4
  120. package/lib/module/conversationParts.js.map +1 -1
  121. package/lib/module/conversationRuntime.js +118 -12
  122. package/lib/module/conversationRuntime.js.map +1 -1
  123. package/lib/module/conversationStyles.js +3 -2
  124. package/lib/module/conversationStyles.js.map +1 -1
  125. package/lib/module/editorShellStyles.js +6 -2
  126. package/lib/module/editorShellStyles.js.map +1 -1
  127. package/lib/module/index.js +1 -0
  128. package/lib/module/index.js.map +1 -1
  129. package/lib/module/markdownStyles.js +2 -2
  130. package/lib/module/markdownStyles.js.map +1 -1
  131. package/lib/module/messageActionStyles.js +2 -2
  132. package/lib/module/messageActionStyles.js.map +1 -1
  133. package/lib/module/realtimeClient.js +4 -1
  134. package/lib/module/realtimeClient.js.map +1 -1
  135. package/lib/module/renameAgentModalStyles.js +2 -2
  136. package/lib/module/renameAgentModalStyles.js.map +1 -1
  137. package/lib/module/screenParts.js +25 -42
  138. package/lib/module/screenParts.js.map +1 -1
  139. package/lib/module/styles.js +71 -60
  140. package/lib/module/styles.js.map +1 -1
  141. package/lib/module/superagentApiClient.js +63 -18
  142. package/lib/module/superagentApiClient.js.map +1 -1
  143. package/lib/module/theme.js +239 -0
  144. package/lib/module/theme.js.map +1 -0
  145. package/lib/module/useSuperagentConversation.js +135 -22
  146. package/lib/module/useSuperagentConversation.js.map +1 -1
  147. package/lib/module/useSuperagentRuntime.js +167 -82
  148. package/lib/module/useSuperagentRuntime.js.map +1 -1
  149. package/lib/typescript/commonjs/AgentSettingsPanel.d.ts.map +1 -1
  150. package/lib/typescript/commonjs/AgentSphereIcon.d.ts.map +1 -1
  151. package/lib/typescript/commonjs/AttachmentPickerStatusModal.d.ts.map +1 -1
  152. package/lib/typescript/commonjs/ChannelsPanel.d.ts.map +1 -1
  153. package/lib/typescript/commonjs/ConversationChat.d.ts +1 -1
  154. package/lib/typescript/commonjs/ConversationChat.d.ts.map +1 -1
  155. package/lib/typescript/commonjs/ConversationComposer.d.ts.map +1 -1
  156. package/lib/typescript/commonjs/ConversationMessageList.d.ts +1 -1
  157. package/lib/typescript/commonjs/ConversationMessageList.d.ts.map +1 -1
  158. package/lib/typescript/commonjs/ConversationScreen.d.ts +2 -1
  159. package/lib/typescript/commonjs/ConversationScreen.d.ts.map +1 -1
  160. package/lib/typescript/commonjs/EditorDrawer.d.ts +1 -1
  161. package/lib/typescript/commonjs/EditorDrawer.d.ts.map +1 -1
  162. package/lib/typescript/commonjs/FilesPanel.d.ts.map +1 -1
  163. package/lib/typescript/commonjs/RenameAgentModal.d.ts.map +1 -1
  164. package/lib/typescript/commonjs/ShareAgentModal.d.ts.map +1 -1
  165. package/lib/typescript/commonjs/ShareAgentModal.styles.d.ts.map +1 -1
  166. package/lib/typescript/commonjs/SuperagentHomeScreen.d.ts.map +1 -1
  167. package/lib/typescript/commonjs/ToolApprovalCard.d.ts +3 -3
  168. package/lib/typescript/commonjs/ToolApprovalCard.d.ts.map +1 -1
  169. package/lib/typescript/commonjs/ToolCallSummary.d.ts +1 -1
  170. package/lib/typescript/commonjs/ToolCallSummary.d.ts.map +1 -1
  171. package/lib/typescript/commonjs/agentSphereAssets.d.ts +2 -0
  172. package/lib/typescript/commonjs/agentSphereAssets.d.ts.map +1 -0
  173. package/lib/typescript/commonjs/agentSphereStyles.d.ts.map +1 -1
  174. package/lib/typescript/commonjs/apiClient.d.ts.map +1 -1
  175. package/lib/typescript/commonjs/composerStyles.d.ts.map +1 -1
  176. package/lib/typescript/commonjs/connectorBrandIcons.d.ts.map +1 -1
  177. package/lib/typescript/commonjs/connectorBrandIcons.generated.d.ts +2 -0
  178. package/lib/typescript/commonjs/connectorBrandIcons.generated.d.ts.map +1 -0
  179. package/lib/typescript/commonjs/connectorCatalog.d.ts +2 -0
  180. package/lib/typescript/commonjs/connectorCatalog.d.ts.map +1 -1
  181. package/lib/typescript/commonjs/conversationParts.d.ts +1 -1
  182. package/lib/typescript/commonjs/conversationParts.d.ts.map +1 -1
  183. package/lib/typescript/commonjs/conversationRuntime.d.ts +6 -1
  184. package/lib/typescript/commonjs/conversationRuntime.d.ts.map +1 -1
  185. package/lib/typescript/commonjs/conversationStyles.d.ts.map +1 -1
  186. package/lib/typescript/commonjs/editorShellStyles.d.ts +4 -0
  187. package/lib/typescript/commonjs/editorShellStyles.d.ts.map +1 -1
  188. package/lib/typescript/commonjs/index.d.ts +2 -0
  189. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  190. package/lib/typescript/commonjs/markdownStyles.d.ts.map +1 -1
  191. package/lib/typescript/commonjs/messageActionStyles.d.ts.map +1 -1
  192. package/lib/typescript/commonjs/realtimeClient.d.ts.map +1 -1
  193. package/lib/typescript/commonjs/renameAgentModalStyles.d.ts.map +1 -1
  194. package/lib/typescript/commonjs/screenParts.d.ts +1 -1
  195. package/lib/typescript/commonjs/screenParts.d.ts.map +1 -1
  196. package/lib/typescript/commonjs/styles.d.ts +20 -11
  197. package/lib/typescript/commonjs/styles.d.ts.map +1 -1
  198. package/lib/typescript/commonjs/superagentApiClient.d.ts +2 -1
  199. package/lib/typescript/commonjs/superagentApiClient.d.ts.map +1 -1
  200. package/lib/typescript/commonjs/theme.d.ts +36 -0
  201. package/lib/typescript/commonjs/theme.d.ts.map +1 -0
  202. package/lib/typescript/commonjs/types.d.ts +16 -2
  203. package/lib/typescript/commonjs/types.d.ts.map +1 -1
  204. package/lib/typescript/commonjs/useSuperagentConversation.d.ts +3 -2
  205. package/lib/typescript/commonjs/useSuperagentConversation.d.ts.map +1 -1
  206. package/lib/typescript/commonjs/useSuperagentRuntime.d.ts +2 -1
  207. package/lib/typescript/commonjs/useSuperagentRuntime.d.ts.map +1 -1
  208. package/lib/typescript/module/AgentSettingsPanel.d.ts.map +1 -1
  209. package/lib/typescript/module/AgentSphereIcon.d.ts.map +1 -1
  210. package/lib/typescript/module/AttachmentPickerStatusModal.d.ts.map +1 -1
  211. package/lib/typescript/module/ChannelsPanel.d.ts.map +1 -1
  212. package/lib/typescript/module/ConversationChat.d.ts +1 -1
  213. package/lib/typescript/module/ConversationChat.d.ts.map +1 -1
  214. package/lib/typescript/module/ConversationComposer.d.ts.map +1 -1
  215. package/lib/typescript/module/ConversationMessageList.d.ts +1 -1
  216. package/lib/typescript/module/ConversationMessageList.d.ts.map +1 -1
  217. package/lib/typescript/module/ConversationScreen.d.ts +2 -1
  218. package/lib/typescript/module/ConversationScreen.d.ts.map +1 -1
  219. package/lib/typescript/module/EditorDrawer.d.ts +1 -1
  220. package/lib/typescript/module/EditorDrawer.d.ts.map +1 -1
  221. package/lib/typescript/module/FilesPanel.d.ts.map +1 -1
  222. package/lib/typescript/module/RenameAgentModal.d.ts.map +1 -1
  223. package/lib/typescript/module/ShareAgentModal.d.ts.map +1 -1
  224. package/lib/typescript/module/ShareAgentModal.styles.d.ts.map +1 -1
  225. package/lib/typescript/module/SuperagentHomeScreen.d.ts.map +1 -1
  226. package/lib/typescript/module/ToolApprovalCard.d.ts +3 -3
  227. package/lib/typescript/module/ToolApprovalCard.d.ts.map +1 -1
  228. package/lib/typescript/module/ToolCallSummary.d.ts +1 -1
  229. package/lib/typescript/module/ToolCallSummary.d.ts.map +1 -1
  230. package/lib/typescript/module/agentSphereAssets.d.ts +2 -0
  231. package/lib/typescript/module/agentSphereAssets.d.ts.map +1 -0
  232. package/lib/typescript/module/agentSphereStyles.d.ts.map +1 -1
  233. package/lib/typescript/module/apiClient.d.ts.map +1 -1
  234. package/lib/typescript/module/composerStyles.d.ts.map +1 -1
  235. package/lib/typescript/module/connectorBrandIcons.d.ts.map +1 -1
  236. package/lib/typescript/module/connectorBrandIcons.generated.d.ts +2 -0
  237. package/lib/typescript/module/connectorBrandIcons.generated.d.ts.map +1 -0
  238. package/lib/typescript/module/connectorCatalog.d.ts +2 -0
  239. package/lib/typescript/module/connectorCatalog.d.ts.map +1 -1
  240. package/lib/typescript/module/conversationParts.d.ts +1 -1
  241. package/lib/typescript/module/conversationParts.d.ts.map +1 -1
  242. package/lib/typescript/module/conversationRuntime.d.ts +6 -1
  243. package/lib/typescript/module/conversationRuntime.d.ts.map +1 -1
  244. package/lib/typescript/module/conversationStyles.d.ts.map +1 -1
  245. package/lib/typescript/module/editorShellStyles.d.ts +4 -0
  246. package/lib/typescript/module/editorShellStyles.d.ts.map +1 -1
  247. package/lib/typescript/module/index.d.ts +2 -0
  248. package/lib/typescript/module/index.d.ts.map +1 -1
  249. package/lib/typescript/module/markdownStyles.d.ts.map +1 -1
  250. package/lib/typescript/module/messageActionStyles.d.ts.map +1 -1
  251. package/lib/typescript/module/realtimeClient.d.ts.map +1 -1
  252. package/lib/typescript/module/renameAgentModalStyles.d.ts.map +1 -1
  253. package/lib/typescript/module/screenParts.d.ts +1 -1
  254. package/lib/typescript/module/screenParts.d.ts.map +1 -1
  255. package/lib/typescript/module/styles.d.ts +20 -11
  256. package/lib/typescript/module/styles.d.ts.map +1 -1
  257. package/lib/typescript/module/superagentApiClient.d.ts +2 -1
  258. package/lib/typescript/module/superagentApiClient.d.ts.map +1 -1
  259. package/lib/typescript/module/theme.d.ts +36 -0
  260. package/lib/typescript/module/theme.d.ts.map +1 -0
  261. package/lib/typescript/module/types.d.ts +16 -2
  262. package/lib/typescript/module/types.d.ts.map +1 -1
  263. package/lib/typescript/module/useSuperagentConversation.d.ts +3 -2
  264. package/lib/typescript/module/useSuperagentConversation.d.ts.map +1 -1
  265. package/lib/typescript/module/useSuperagentRuntime.d.ts +2 -1
  266. package/lib/typescript/module/useSuperagentRuntime.d.ts.map +1 -1
  267. package/package.json +1 -1
  268. package/src/AgentSettingsPanel.tsx +118 -49
  269. package/src/AgentSphereIcon.tsx +11 -62
  270. package/src/AttachmentPickerStatusModal.tsx +4 -3
  271. package/src/ChannelsPanel.tsx +59 -39
  272. package/src/ConversationChat.tsx +12 -3
  273. package/src/ConversationComposer.tsx +7 -6
  274. package/src/ConversationMessageList.tsx +1 -1
  275. package/src/ConversationScreen.tsx +3 -0
  276. package/src/EditorDrawer.tsx +66 -41
  277. package/src/FilesPanel.tsx +48 -20
  278. package/src/RenameAgentModal.tsx +2 -1
  279. package/src/ShareAgentModal.styles.ts +2 -1
  280. package/src/ShareAgentModal.tsx +9 -8
  281. package/src/SuperagentHomeScreen.tsx +27 -7
  282. package/src/ToolApprovalCard.tsx +82 -14
  283. package/src/ToolCallSummary.tsx +18 -12
  284. package/src/agentSphereAssets.ts +325 -0
  285. package/src/agentSphereStyles.ts +3 -2
  286. package/src/apiClient.ts +7 -0
  287. package/src/composerStyles.ts +2 -1
  288. package/src/connectorBrandIcons.generated.ts +618 -0
  289. package/src/connectorBrandIcons.tsx +1 -53
  290. package/src/connectorCatalog.ts +24 -0
  291. package/src/conversationParts.tsx +6 -5
  292. package/src/conversationRuntime.ts +123 -12
  293. package/src/conversationStyles.ts +2 -1
  294. package/src/editorShellStyles.ts +6 -1
  295. package/src/index.ts +2 -0
  296. package/src/markdownStyles.ts +2 -1
  297. package/src/messageActionStyles.ts +2 -1
  298. package/src/realtimeClient.ts +7 -1
  299. package/src/renameAgentModalStyles.ts +2 -1
  300. package/src/screenParts.tsx +17 -29
  301. package/src/styles.ts +63 -54
  302. package/src/superagentApiClient.ts +68 -18
  303. package/src/theme.ts +254 -0
  304. package/src/types.ts +21 -2
  305. package/src/useSuperagentConversation.ts +141 -24
  306. 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
- if (agentId === activeAgentId && runtimeAuthToken) {
166
- return runtimeAuthToken;
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
- if (agentId === activeAgentId) {
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
- }, [activeAgentId, runtimeAuthToken, superagentService]);
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
- if (event.status === 'success') {
256
- flow.cancelled = true;
257
- connectorFlowRef.current = null;
258
- setConnectingConnectorId(null);
259
- await loadConnectors(flow.agentId);
260
- return;
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
- await loadConnectors(flow.agentId);
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
- nativeAdapters.openWebUrl?.(buildWebUrl(config.webUrl ?? config.baseUrl, `/remix-app/${encodeURIComponent(agentId)}?clone_history=true`));
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 safePath = sanitizeSandboxFilePath(file.name) || 'upload';
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
- setChannelStatus(current => ({
661
- ...current,
662
- whatsapp: {
663
- ...current.whatsapp,
664
- connectUrl
665
- }
666
- }));
667
- await nativeAdapters.openUrl?.(connectUrl);
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
- setChannelStatus(current => ({
683
- ...current,
684
- telegram
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
- setChannelStatus(current => ({
707
- ...current,
708
- telegram: {
709
- connected: false
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
- setChannelStatus(current => ({
726
- ...current,
727
- line: {
728
- ...current.line,
729
- activation,
730
- connected: false
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
- setChannelStatus(current => ({
747
- ...current,
748
- imessage: {
749
- ...current.imessage,
750
- activation,
751
- connected: current.imessage?.connected ?? false
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
- setChannelStatus(current => ({
779
- ...current,
780
- imessage
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
- await nativeAdapters.openUrl?.(buildIMessageUrl(phoneNumber, code));
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
- await nativeAdapters.share?.({
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
- await nativeAdapters.share?.({
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
- return true;
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
- await nativeAdapters.openUrl?.(connection.redirect_url);
864
- await waitForConnectorAuthorization(superagentService, agentId, connectorId, connection.connection_id, flow);
865
- if (!flow.cancelled) {
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 false;
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 (!flow.cancelled) {
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
- return;
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?.(url);
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?.(title, message);
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) {