@base44/superagent-native 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (465) hide show
  1. package/README.md +132 -0
  2. package/lib/commonjs/AgentSettingsPanel.js +1067 -0
  3. package/lib/commonjs/AgentSettingsPanel.js.map +1 -0
  4. package/lib/commonjs/AgentSphereIcon.js +243 -0
  5. package/lib/commonjs/AgentSphereIcon.js.map +1 -0
  6. package/lib/commonjs/AttachmentPickerStatusModal.js +96 -0
  7. package/lib/commonjs/AttachmentPickerStatusModal.js.map +1 -0
  8. package/lib/commonjs/AttachmentPreviewStrip.js +49 -0
  9. package/lib/commonjs/AttachmentPreviewStrip.js.map +1 -0
  10. package/lib/commonjs/ChannelsPanel.js +733 -0
  11. package/lib/commonjs/ChannelsPanel.js.map +1 -0
  12. package/lib/commonjs/ConversationChat.js +219 -0
  13. package/lib/commonjs/ConversationChat.js.map +1 -0
  14. package/lib/commonjs/ConversationComposer.js +323 -0
  15. package/lib/commonjs/ConversationComposer.js.map +1 -0
  16. package/lib/commonjs/ConversationMessageList.js +105 -0
  17. package/lib/commonjs/ConversationMessageList.js.map +1 -0
  18. package/lib/commonjs/ConversationScreen.js +241 -0
  19. package/lib/commonjs/ConversationScreen.js.map +1 -0
  20. package/lib/commonjs/EditorDrawer.js +1127 -0
  21. package/lib/commonjs/EditorDrawer.js.map +1 -0
  22. package/lib/commonjs/EditorTabPanel.js +28 -0
  23. package/lib/commonjs/EditorTabPanel.js.map +1 -0
  24. package/lib/commonjs/FilesPanel.js +533 -0
  25. package/lib/commonjs/FilesPanel.js.map +1 -0
  26. package/lib/commonjs/MarkdownText.js +313 -0
  27. package/lib/commonjs/MarkdownText.js.map +1 -0
  28. package/lib/commonjs/MessageActionBar.js +90 -0
  29. package/lib/commonjs/MessageActionBar.js.map +1 -0
  30. package/lib/commonjs/RenameAgentModal.js +99 -0
  31. package/lib/commonjs/RenameAgentModal.js.map +1 -0
  32. package/lib/commonjs/ShareAgentModal.js +349 -0
  33. package/lib/commonjs/ShareAgentModal.js.map +1 -0
  34. package/lib/commonjs/ShareAgentModal.styles.js +236 -0
  35. package/lib/commonjs/ShareAgentModal.styles.js.map +1 -0
  36. package/lib/commonjs/SuperagentHomeScreen.js +316 -0
  37. package/lib/commonjs/SuperagentHomeScreen.js.map +1 -0
  38. package/lib/commonjs/ToolApprovalCard.js +542 -0
  39. package/lib/commonjs/ToolApprovalCard.js.map +1 -0
  40. package/lib/commonjs/ToolCallSummary.js +632 -0
  41. package/lib/commonjs/ToolCallSummary.js.map +1 -0
  42. package/lib/commonjs/agentSphereStyles.js +38 -0
  43. package/lib/commonjs/agentSphereStyles.js.map +1 -0
  44. package/lib/commonjs/apiClient.js +158 -0
  45. package/lib/commonjs/apiClient.js.map +1 -0
  46. package/lib/commonjs/attachmentFileHelpers.js +104 -0
  47. package/lib/commonjs/attachmentFileHelpers.js.map +1 -0
  48. package/lib/commonjs/attachmentUpload.js +87 -0
  49. package/lib/commonjs/attachmentUpload.js.map +1 -0
  50. package/lib/commonjs/composerStyles.js +248 -0
  51. package/lib/commonjs/composerStyles.js.map +1 -0
  52. package/lib/commonjs/connectorBrandIcons.js +82 -0
  53. package/lib/commonjs/connectorBrandIcons.js.map +1 -0
  54. package/lib/commonjs/connectorCatalog.js +377 -0
  55. package/lib/commonjs/connectorCatalog.js.map +1 -0
  56. package/lib/commonjs/constants.js +15 -0
  57. package/lib/commonjs/constants.js.map +1 -0
  58. package/lib/commonjs/conversationParts.js +273 -0
  59. package/lib/commonjs/conversationParts.js.map +1 -0
  60. package/lib/commonjs/conversationRuntime.js +144 -0
  61. package/lib/commonjs/conversationRuntime.js.map +1 -0
  62. package/lib/commonjs/conversationStyles.js +758 -0
  63. package/lib/commonjs/conversationStyles.js.map +1 -0
  64. package/lib/commonjs/editorShellStyles.js +1032 -0
  65. package/lib/commonjs/editorShellStyles.js.map +1 -0
  66. package/lib/commonjs/editorTabs.js +42 -0
  67. package/lib/commonjs/editorTabs.js.map +1 -0
  68. package/lib/commonjs/fileTreeUtils.js +133 -0
  69. package/lib/commonjs/fileTreeUtils.js.map +1 -0
  70. package/lib/commonjs/index.js +110 -0
  71. package/lib/commonjs/index.js.map +1 -0
  72. package/lib/commonjs/markdownStyles.js +157 -0
  73. package/lib/commonjs/markdownStyles.js.map +1 -0
  74. package/lib/commonjs/mediaUtils.js +61 -0
  75. package/lib/commonjs/mediaUtils.js.map +1 -0
  76. package/lib/commonjs/messageActionStyles.js +45 -0
  77. package/lib/commonjs/messageActionStyles.js.map +1 -0
  78. package/lib/commonjs/messageUtils.js +55 -0
  79. package/lib/commonjs/messageUtils.js.map +1 -0
  80. package/lib/commonjs/nativeActionSheet.js +21 -0
  81. package/lib/commonjs/nativeActionSheet.js.map +1 -0
  82. package/lib/commonjs/nativeActionSheet.web.js +10 -0
  83. package/lib/commonjs/nativeActionSheet.web.js.map +1 -0
  84. package/lib/commonjs/package.json +1 -0
  85. package/lib/commonjs/paperTheme.js +59 -0
  86. package/lib/commonjs/paperTheme.js.map +1 -0
  87. package/lib/commonjs/realtimeClient.js +99 -0
  88. package/lib/commonjs/realtimeClient.js.map +1 -0
  89. package/lib/commonjs/renameAgentModalStyles.js +83 -0
  90. package/lib/commonjs/renameAgentModalStyles.js.map +1 -0
  91. package/lib/commonjs/screenParts.js +220 -0
  92. package/lib/commonjs/screenParts.js.map +1 -0
  93. package/lib/commonjs/styles.js +343 -0
  94. package/lib/commonjs/styles.js.map +1 -0
  95. package/lib/commonjs/superagentApiClient.js +613 -0
  96. package/lib/commonjs/superagentApiClient.js.map +1 -0
  97. package/lib/commonjs/types.js +6 -0
  98. package/lib/commonjs/types.js.map +1 -0
  99. package/lib/commonjs/useSuperagentAttachmentPicker.js +80 -0
  100. package/lib/commonjs/useSuperagentAttachmentPicker.js.map +1 -0
  101. package/lib/commonjs/useSuperagentConversation.js +216 -0
  102. package/lib/commonjs/useSuperagentConversation.js.map +1 -0
  103. package/lib/commonjs/useSuperagentRuntime.js +1207 -0
  104. package/lib/commonjs/useSuperagentRuntime.js.map +1 -0
  105. package/lib/module/AgentSettingsPanel.js +1062 -0
  106. package/lib/module/AgentSettingsPanel.js.map +1 -0
  107. package/lib/module/AgentSphereIcon.js +237 -0
  108. package/lib/module/AgentSphereIcon.js.map +1 -0
  109. package/lib/module/AttachmentPickerStatusModal.js +91 -0
  110. package/lib/module/AttachmentPickerStatusModal.js.map +1 -0
  111. package/lib/module/AttachmentPreviewStrip.js +44 -0
  112. package/lib/module/AttachmentPreviewStrip.js.map +1 -0
  113. package/lib/module/ChannelsPanel.js +728 -0
  114. package/lib/module/ChannelsPanel.js.map +1 -0
  115. package/lib/module/ConversationChat.js +214 -0
  116. package/lib/module/ConversationChat.js.map +1 -0
  117. package/lib/module/ConversationComposer.js +318 -0
  118. package/lib/module/ConversationComposer.js.map +1 -0
  119. package/lib/module/ConversationMessageList.js +100 -0
  120. package/lib/module/ConversationMessageList.js.map +1 -0
  121. package/lib/module/ConversationScreen.js +236 -0
  122. package/lib/module/ConversationScreen.js.map +1 -0
  123. package/lib/module/EditorDrawer.js +1122 -0
  124. package/lib/module/EditorDrawer.js.map +1 -0
  125. package/lib/module/EditorTabPanel.js +23 -0
  126. package/lib/module/EditorTabPanel.js.map +1 -0
  127. package/lib/module/FilesPanel.js +528 -0
  128. package/lib/module/FilesPanel.js.map +1 -0
  129. package/lib/module/MarkdownText.js +308 -0
  130. package/lib/module/MarkdownText.js.map +1 -0
  131. package/lib/module/MessageActionBar.js +85 -0
  132. package/lib/module/MessageActionBar.js.map +1 -0
  133. package/lib/module/RenameAgentModal.js +94 -0
  134. package/lib/module/RenameAgentModal.js.map +1 -0
  135. package/lib/module/ShareAgentModal.js +344 -0
  136. package/lib/module/ShareAgentModal.js.map +1 -0
  137. package/lib/module/ShareAgentModal.styles.js +232 -0
  138. package/lib/module/ShareAgentModal.styles.js.map +1 -0
  139. package/lib/module/SuperagentHomeScreen.js +311 -0
  140. package/lib/module/SuperagentHomeScreen.js.map +1 -0
  141. package/lib/module/ToolApprovalCard.js +537 -0
  142. package/lib/module/ToolApprovalCard.js.map +1 -0
  143. package/lib/module/ToolCallSummary.js +627 -0
  144. package/lib/module/ToolCallSummary.js.map +1 -0
  145. package/lib/module/agentSphereStyles.js +34 -0
  146. package/lib/module/agentSphereStyles.js.map +1 -0
  147. package/lib/module/apiClient.js +154 -0
  148. package/lib/module/apiClient.js.map +1 -0
  149. package/lib/module/attachmentFileHelpers.js +97 -0
  150. package/lib/module/attachmentFileHelpers.js.map +1 -0
  151. package/lib/module/attachmentUpload.js +82 -0
  152. package/lib/module/attachmentUpload.js.map +1 -0
  153. package/lib/module/composerStyles.js +244 -0
  154. package/lib/module/composerStyles.js.map +1 -0
  155. package/lib/module/connectorBrandIcons.js +76 -0
  156. package/lib/module/connectorBrandIcons.js.map +1 -0
  157. package/lib/module/connectorCatalog.js +373 -0
  158. package/lib/module/connectorCatalog.js.map +1 -0
  159. package/lib/module/constants.js +10 -0
  160. package/lib/module/constants.js.map +1 -0
  161. package/lib/module/conversationParts.js +266 -0
  162. package/lib/module/conversationParts.js.map +1 -0
  163. package/lib/module/conversationRuntime.js +129 -0
  164. package/lib/module/conversationRuntime.js.map +1 -0
  165. package/lib/module/conversationStyles.js +754 -0
  166. package/lib/module/conversationStyles.js.map +1 -0
  167. package/lib/module/editorShellStyles.js +1028 -0
  168. package/lib/module/editorShellStyles.js.map +1 -0
  169. package/lib/module/editorTabs.js +37 -0
  170. package/lib/module/editorTabs.js.map +1 -0
  171. package/lib/module/fileTreeUtils.js +120 -0
  172. package/lib/module/fileTreeUtils.js.map +1 -0
  173. package/lib/module/index.js +17 -0
  174. package/lib/module/index.js.map +1 -0
  175. package/lib/module/markdownStyles.js +153 -0
  176. package/lib/module/markdownStyles.js.map +1 -0
  177. package/lib/module/mediaUtils.js +53 -0
  178. package/lib/module/mediaUtils.js.map +1 -0
  179. package/lib/module/messageActionStyles.js +41 -0
  180. package/lib/module/messageActionStyles.js.map +1 -0
  181. package/lib/module/messageUtils.js +46 -0
  182. package/lib/module/messageUtils.js.map +1 -0
  183. package/lib/module/nativeActionSheet.js +17 -0
  184. package/lib/module/nativeActionSheet.js.map +1 -0
  185. package/lib/module/nativeActionSheet.web.js +6 -0
  186. package/lib/module/nativeActionSheet.web.js.map +1 -0
  187. package/lib/module/package.json +1 -0
  188. package/lib/module/paperTheme.js +55 -0
  189. package/lib/module/paperTheme.js.map +1 -0
  190. package/lib/module/realtimeClient.js +95 -0
  191. package/lib/module/realtimeClient.js.map +1 -0
  192. package/lib/module/renameAgentModalStyles.js +79 -0
  193. package/lib/module/renameAgentModalStyles.js.map +1 -0
  194. package/lib/module/screenParts.js +210 -0
  195. package/lib/module/screenParts.js.map +1 -0
  196. package/lib/module/styles.js +339 -0
  197. package/lib/module/styles.js.map +1 -0
  198. package/lib/module/superagentApiClient.js +609 -0
  199. package/lib/module/superagentApiClient.js.map +1 -0
  200. package/lib/module/types.js +4 -0
  201. package/lib/module/types.js.map +1 -0
  202. package/lib/module/useSuperagentAttachmentPicker.js +75 -0
  203. package/lib/module/useSuperagentAttachmentPicker.js.map +1 -0
  204. package/lib/module/useSuperagentConversation.js +212 -0
  205. package/lib/module/useSuperagentConversation.js.map +1 -0
  206. package/lib/module/useSuperagentRuntime.js +1203 -0
  207. package/lib/module/useSuperagentRuntime.js.map +1 -0
  208. package/lib/typescript/commonjs/AgentSettingsPanel.d.ts +19 -0
  209. package/lib/typescript/commonjs/AgentSettingsPanel.d.ts.map +1 -0
  210. package/lib/typescript/commonjs/AgentSphereIcon.d.ts +15 -0
  211. package/lib/typescript/commonjs/AgentSphereIcon.d.ts.map +1 -0
  212. package/lib/typescript/commonjs/AttachmentPickerStatusModal.d.ts +8 -0
  213. package/lib/typescript/commonjs/AttachmentPickerStatusModal.d.ts.map +1 -0
  214. package/lib/typescript/commonjs/AttachmentPreviewStrip.d.ts +7 -0
  215. package/lib/typescript/commonjs/AttachmentPreviewStrip.d.ts.map +1 -0
  216. package/lib/typescript/commonjs/ChannelsPanel.d.ts +21 -0
  217. package/lib/typescript/commonjs/ChannelsPanel.d.ts.map +1 -0
  218. package/lib/typescript/commonjs/ConversationChat.d.ts +22 -0
  219. package/lib/typescript/commonjs/ConversationChat.d.ts.map +1 -0
  220. package/lib/typescript/commonjs/ConversationComposer.d.ts +24 -0
  221. package/lib/typescript/commonjs/ConversationComposer.d.ts.map +1 -0
  222. package/lib/typescript/commonjs/ConversationMessageList.d.ts +17 -0
  223. package/lib/typescript/commonjs/ConversationMessageList.d.ts.map +1 -0
  224. package/lib/typescript/commonjs/ConversationScreen.d.ts +80 -0
  225. package/lib/typescript/commonjs/ConversationScreen.d.ts.map +1 -0
  226. package/lib/typescript/commonjs/EditorDrawer.d.ts +67 -0
  227. package/lib/typescript/commonjs/EditorDrawer.d.ts.map +1 -0
  228. package/lib/typescript/commonjs/EditorTabPanel.d.ts +6 -0
  229. package/lib/typescript/commonjs/EditorTabPanel.d.ts.map +1 -0
  230. package/lib/typescript/commonjs/FilesPanel.d.ts +14 -0
  231. package/lib/typescript/commonjs/FilesPanel.d.ts.map +1 -0
  232. package/lib/typescript/commonjs/MarkdownText.d.ts +10 -0
  233. package/lib/typescript/commonjs/MarkdownText.d.ts.map +1 -0
  234. package/lib/typescript/commonjs/MessageActionBar.d.ts +8 -0
  235. package/lib/typescript/commonjs/MessageActionBar.d.ts.map +1 -0
  236. package/lib/typescript/commonjs/RenameAgentModal.d.ts +10 -0
  237. package/lib/typescript/commonjs/RenameAgentModal.d.ts.map +1 -0
  238. package/lib/typescript/commonjs/ShareAgentModal.d.ts +15 -0
  239. package/lib/typescript/commonjs/ShareAgentModal.d.ts.map +1 -0
  240. package/lib/typescript/commonjs/ShareAgentModal.styles.d.ts +229 -0
  241. package/lib/typescript/commonjs/ShareAgentModal.styles.d.ts.map +1 -0
  242. package/lib/typescript/commonjs/SuperagentHomeScreen.d.ts +4 -0
  243. package/lib/typescript/commonjs/SuperagentHomeScreen.d.ts.map +1 -0
  244. package/lib/typescript/commonjs/ToolApprovalCard.d.ts +13 -0
  245. package/lib/typescript/commonjs/ToolApprovalCard.d.ts.map +1 -0
  246. package/lib/typescript/commonjs/ToolCallSummary.d.ts +16 -0
  247. package/lib/typescript/commonjs/ToolCallSummary.d.ts.map +1 -0
  248. package/lib/typescript/commonjs/agentSphereStyles.d.ts +31 -0
  249. package/lib/typescript/commonjs/agentSphereStyles.d.ts.map +1 -0
  250. package/lib/typescript/commonjs/apiClient.d.ts +4 -0
  251. package/lib/typescript/commonjs/apiClient.d.ts.map +1 -0
  252. package/lib/typescript/commonjs/attachmentFileHelpers.d.ts +6 -0
  253. package/lib/typescript/commonjs/attachmentFileHelpers.d.ts.map +1 -0
  254. package/lib/typescript/commonjs/attachmentUpload.d.ts +12 -0
  255. package/lib/typescript/commonjs/attachmentUpload.d.ts.map +1 -0
  256. package/lib/typescript/commonjs/composerStyles.d.ts +241 -0
  257. package/lib/typescript/commonjs/composerStyles.d.ts.map +1 -0
  258. package/lib/typescript/commonjs/connectorBrandIcons.d.ts +7 -0
  259. package/lib/typescript/commonjs/connectorBrandIcons.d.ts.map +1 -0
  260. package/lib/typescript/commonjs/connectorCatalog.d.ts +3 -0
  261. package/lib/typescript/commonjs/connectorCatalog.d.ts.map +1 -0
  262. package/lib/typescript/commonjs/constants.d.ts +4 -0
  263. package/lib/typescript/commonjs/constants.d.ts.map +1 -0
  264. package/lib/typescript/commonjs/conversationParts.d.ts +29 -0
  265. package/lib/typescript/commonjs/conversationParts.d.ts.map +1 -0
  266. package/lib/typescript/commonjs/conversationRuntime.d.ts +67 -0
  267. package/lib/typescript/commonjs/conversationRuntime.d.ts.map +1 -0
  268. package/lib/typescript/commonjs/conversationStyles.d.ts +742 -0
  269. package/lib/typescript/commonjs/conversationStyles.d.ts.map +1 -0
  270. package/lib/typescript/commonjs/editorShellStyles.d.ts +1025 -0
  271. package/lib/typescript/commonjs/editorShellStyles.d.ts.map +1 -0
  272. package/lib/typescript/commonjs/editorTabs.d.ts +11 -0
  273. package/lib/typescript/commonjs/editorTabs.d.ts.map +1 -0
  274. package/lib/typescript/commonjs/fileTreeUtils.d.ts +17 -0
  275. package/lib/typescript/commonjs/fileTreeUtils.d.ts.map +1 -0
  276. package/lib/typescript/commonjs/index.d.ts +20 -0
  277. package/lib/typescript/commonjs/index.d.ts.map +1 -0
  278. package/lib/typescript/commonjs/markdownStyles.d.ts +150 -0
  279. package/lib/typescript/commonjs/markdownStyles.d.ts.map +1 -0
  280. package/lib/typescript/commonjs/mediaUtils.d.ts +9 -0
  281. package/lib/typescript/commonjs/mediaUtils.d.ts.map +1 -0
  282. package/lib/typescript/commonjs/messageActionStyles.d.ts +38 -0
  283. package/lib/typescript/commonjs/messageActionStyles.d.ts.map +1 -0
  284. package/lib/typescript/commonjs/messageUtils.d.ts +8 -0
  285. package/lib/typescript/commonjs/messageUtils.d.ts.map +1 -0
  286. package/lib/typescript/commonjs/nativeActionSheet.d.ts +6 -0
  287. package/lib/typescript/commonjs/nativeActionSheet.d.ts.map +1 -0
  288. package/lib/typescript/commonjs/nativeActionSheet.web.d.ts +3 -0
  289. package/lib/typescript/commonjs/nativeActionSheet.web.d.ts.map +1 -0
  290. package/lib/typescript/commonjs/package.json +1 -0
  291. package/lib/typescript/commonjs/paperTheme.d.ts +3 -0
  292. package/lib/typescript/commonjs/paperTheme.d.ts.map +1 -0
  293. package/lib/typescript/commonjs/realtimeClient.d.ts +16 -0
  294. package/lib/typescript/commonjs/realtimeClient.d.ts.map +1 -0
  295. package/lib/typescript/commonjs/renameAgentModalStyles.d.ts +76 -0
  296. package/lib/typescript/commonjs/renameAgentModalStyles.d.ts.map +1 -0
  297. package/lib/typescript/commonjs/screenParts.d.ts +31 -0
  298. package/lib/typescript/commonjs/screenParts.d.ts.map +1 -0
  299. package/lib/typescript/commonjs/styles.d.ts +336 -0
  300. package/lib/typescript/commonjs/styles.d.ts.map +1 -0
  301. package/lib/typescript/commonjs/superagentApiClient.d.ts +66 -0
  302. package/lib/typescript/commonjs/superagentApiClient.d.ts.map +1 -0
  303. package/lib/typescript/commonjs/types.d.ts +437 -0
  304. package/lib/typescript/commonjs/types.d.ts.map +1 -0
  305. package/lib/typescript/commonjs/useSuperagentAttachmentPicker.d.ts +30 -0
  306. package/lib/typescript/commonjs/useSuperagentAttachmentPicker.d.ts.map +1 -0
  307. package/lib/typescript/commonjs/useSuperagentConversation.d.ts +36 -0
  308. package/lib/typescript/commonjs/useSuperagentConversation.d.ts.map +1 -0
  309. package/lib/typescript/commonjs/useSuperagentRuntime.d.ts +163 -0
  310. package/lib/typescript/commonjs/useSuperagentRuntime.d.ts.map +1 -0
  311. package/lib/typescript/module/AgentSettingsPanel.d.ts +19 -0
  312. package/lib/typescript/module/AgentSettingsPanel.d.ts.map +1 -0
  313. package/lib/typescript/module/AgentSphereIcon.d.ts +15 -0
  314. package/lib/typescript/module/AgentSphereIcon.d.ts.map +1 -0
  315. package/lib/typescript/module/AttachmentPickerStatusModal.d.ts +8 -0
  316. package/lib/typescript/module/AttachmentPickerStatusModal.d.ts.map +1 -0
  317. package/lib/typescript/module/AttachmentPreviewStrip.d.ts +7 -0
  318. package/lib/typescript/module/AttachmentPreviewStrip.d.ts.map +1 -0
  319. package/lib/typescript/module/ChannelsPanel.d.ts +21 -0
  320. package/lib/typescript/module/ChannelsPanel.d.ts.map +1 -0
  321. package/lib/typescript/module/ConversationChat.d.ts +22 -0
  322. package/lib/typescript/module/ConversationChat.d.ts.map +1 -0
  323. package/lib/typescript/module/ConversationComposer.d.ts +24 -0
  324. package/lib/typescript/module/ConversationComposer.d.ts.map +1 -0
  325. package/lib/typescript/module/ConversationMessageList.d.ts +17 -0
  326. package/lib/typescript/module/ConversationMessageList.d.ts.map +1 -0
  327. package/lib/typescript/module/ConversationScreen.d.ts +80 -0
  328. package/lib/typescript/module/ConversationScreen.d.ts.map +1 -0
  329. package/lib/typescript/module/EditorDrawer.d.ts +67 -0
  330. package/lib/typescript/module/EditorDrawer.d.ts.map +1 -0
  331. package/lib/typescript/module/EditorTabPanel.d.ts +6 -0
  332. package/lib/typescript/module/EditorTabPanel.d.ts.map +1 -0
  333. package/lib/typescript/module/FilesPanel.d.ts +14 -0
  334. package/lib/typescript/module/FilesPanel.d.ts.map +1 -0
  335. package/lib/typescript/module/MarkdownText.d.ts +10 -0
  336. package/lib/typescript/module/MarkdownText.d.ts.map +1 -0
  337. package/lib/typescript/module/MessageActionBar.d.ts +8 -0
  338. package/lib/typescript/module/MessageActionBar.d.ts.map +1 -0
  339. package/lib/typescript/module/RenameAgentModal.d.ts +10 -0
  340. package/lib/typescript/module/RenameAgentModal.d.ts.map +1 -0
  341. package/lib/typescript/module/ShareAgentModal.d.ts +15 -0
  342. package/lib/typescript/module/ShareAgentModal.d.ts.map +1 -0
  343. package/lib/typescript/module/ShareAgentModal.styles.d.ts +229 -0
  344. package/lib/typescript/module/ShareAgentModal.styles.d.ts.map +1 -0
  345. package/lib/typescript/module/SuperagentHomeScreen.d.ts +4 -0
  346. package/lib/typescript/module/SuperagentHomeScreen.d.ts.map +1 -0
  347. package/lib/typescript/module/ToolApprovalCard.d.ts +13 -0
  348. package/lib/typescript/module/ToolApprovalCard.d.ts.map +1 -0
  349. package/lib/typescript/module/ToolCallSummary.d.ts +16 -0
  350. package/lib/typescript/module/ToolCallSummary.d.ts.map +1 -0
  351. package/lib/typescript/module/agentSphereStyles.d.ts +31 -0
  352. package/lib/typescript/module/agentSphereStyles.d.ts.map +1 -0
  353. package/lib/typescript/module/apiClient.d.ts +4 -0
  354. package/lib/typescript/module/apiClient.d.ts.map +1 -0
  355. package/lib/typescript/module/attachmentFileHelpers.d.ts +6 -0
  356. package/lib/typescript/module/attachmentFileHelpers.d.ts.map +1 -0
  357. package/lib/typescript/module/attachmentUpload.d.ts +12 -0
  358. package/lib/typescript/module/attachmentUpload.d.ts.map +1 -0
  359. package/lib/typescript/module/composerStyles.d.ts +241 -0
  360. package/lib/typescript/module/composerStyles.d.ts.map +1 -0
  361. package/lib/typescript/module/connectorBrandIcons.d.ts +7 -0
  362. package/lib/typescript/module/connectorBrandIcons.d.ts.map +1 -0
  363. package/lib/typescript/module/connectorCatalog.d.ts +3 -0
  364. package/lib/typescript/module/connectorCatalog.d.ts.map +1 -0
  365. package/lib/typescript/module/constants.d.ts +4 -0
  366. package/lib/typescript/module/constants.d.ts.map +1 -0
  367. package/lib/typescript/module/conversationParts.d.ts +29 -0
  368. package/lib/typescript/module/conversationParts.d.ts.map +1 -0
  369. package/lib/typescript/module/conversationRuntime.d.ts +67 -0
  370. package/lib/typescript/module/conversationRuntime.d.ts.map +1 -0
  371. package/lib/typescript/module/conversationStyles.d.ts +742 -0
  372. package/lib/typescript/module/conversationStyles.d.ts.map +1 -0
  373. package/lib/typescript/module/editorShellStyles.d.ts +1025 -0
  374. package/lib/typescript/module/editorShellStyles.d.ts.map +1 -0
  375. package/lib/typescript/module/editorTabs.d.ts +11 -0
  376. package/lib/typescript/module/editorTabs.d.ts.map +1 -0
  377. package/lib/typescript/module/fileTreeUtils.d.ts +17 -0
  378. package/lib/typescript/module/fileTreeUtils.d.ts.map +1 -0
  379. package/lib/typescript/module/index.d.ts +20 -0
  380. package/lib/typescript/module/index.d.ts.map +1 -0
  381. package/lib/typescript/module/markdownStyles.d.ts +150 -0
  382. package/lib/typescript/module/markdownStyles.d.ts.map +1 -0
  383. package/lib/typescript/module/mediaUtils.d.ts +9 -0
  384. package/lib/typescript/module/mediaUtils.d.ts.map +1 -0
  385. package/lib/typescript/module/messageActionStyles.d.ts +38 -0
  386. package/lib/typescript/module/messageActionStyles.d.ts.map +1 -0
  387. package/lib/typescript/module/messageUtils.d.ts +8 -0
  388. package/lib/typescript/module/messageUtils.d.ts.map +1 -0
  389. package/lib/typescript/module/nativeActionSheet.d.ts +6 -0
  390. package/lib/typescript/module/nativeActionSheet.d.ts.map +1 -0
  391. package/lib/typescript/module/nativeActionSheet.web.d.ts +3 -0
  392. package/lib/typescript/module/nativeActionSheet.web.d.ts.map +1 -0
  393. package/lib/typescript/module/package.json +1 -0
  394. package/lib/typescript/module/paperTheme.d.ts +3 -0
  395. package/lib/typescript/module/paperTheme.d.ts.map +1 -0
  396. package/lib/typescript/module/realtimeClient.d.ts +16 -0
  397. package/lib/typescript/module/realtimeClient.d.ts.map +1 -0
  398. package/lib/typescript/module/renameAgentModalStyles.d.ts +76 -0
  399. package/lib/typescript/module/renameAgentModalStyles.d.ts.map +1 -0
  400. package/lib/typescript/module/screenParts.d.ts +31 -0
  401. package/lib/typescript/module/screenParts.d.ts.map +1 -0
  402. package/lib/typescript/module/styles.d.ts +336 -0
  403. package/lib/typescript/module/styles.d.ts.map +1 -0
  404. package/lib/typescript/module/superagentApiClient.d.ts +66 -0
  405. package/lib/typescript/module/superagentApiClient.d.ts.map +1 -0
  406. package/lib/typescript/module/types.d.ts +437 -0
  407. package/lib/typescript/module/types.d.ts.map +1 -0
  408. package/lib/typescript/module/useSuperagentAttachmentPicker.d.ts +30 -0
  409. package/lib/typescript/module/useSuperagentAttachmentPicker.d.ts.map +1 -0
  410. package/lib/typescript/module/useSuperagentConversation.d.ts +36 -0
  411. package/lib/typescript/module/useSuperagentConversation.d.ts.map +1 -0
  412. package/lib/typescript/module/useSuperagentRuntime.d.ts +163 -0
  413. package/lib/typescript/module/useSuperagentRuntime.d.ts.map +1 -0
  414. package/package.json +87 -0
  415. package/src/AgentSettingsPanel.tsx +1122 -0
  416. package/src/AgentSphereIcon.tsx +170 -0
  417. package/src/AttachmentPickerStatusModal.tsx +80 -0
  418. package/src/AttachmentPreviewStrip.tsx +38 -0
  419. package/src/ChannelsPanel.tsx +705 -0
  420. package/src/ConversationChat.tsx +245 -0
  421. package/src/ConversationComposer.tsx +368 -0
  422. package/src/ConversationMessageList.tsx +140 -0
  423. package/src/ConversationScreen.tsx +320 -0
  424. package/src/EditorDrawer.tsx +1297 -0
  425. package/src/EditorTabPanel.tsx +19 -0
  426. package/src/FilesPanel.tsx +577 -0
  427. package/src/MarkdownText.tsx +317 -0
  428. package/src/MessageActionBar.tsx +126 -0
  429. package/src/RenameAgentModal.tsx +107 -0
  430. package/src/ShareAgentModal.styles.ts +95 -0
  431. package/src/ShareAgentModal.tsx +320 -0
  432. package/src/SuperagentHomeScreen.tsx +318 -0
  433. package/src/ToolApprovalCard.tsx +592 -0
  434. package/src/ToolCallSummary.tsx +599 -0
  435. package/src/agentSphereStyles.ts +25 -0
  436. package/src/apiClient.ts +189 -0
  437. package/src/attachmentFileHelpers.ts +109 -0
  438. package/src/attachmentUpload.ts +112 -0
  439. package/src/composerStyles.ts +167 -0
  440. package/src/connectorBrandIcons.tsx +69 -0
  441. package/src/connectorCatalog.ts +414 -0
  442. package/src/constants.ts +9 -0
  443. package/src/conversationParts.tsx +307 -0
  444. package/src/conversationRuntime.ts +171 -0
  445. package/src/conversationStyles.ts +412 -0
  446. package/src/editorShellStyles.ts +1023 -0
  447. package/src/editorTabs.ts +26 -0
  448. package/src/fileTreeUtils.ts +165 -0
  449. package/src/index.ts +110 -0
  450. package/src/markdownStyles.ts +64 -0
  451. package/src/mediaUtils.ts +75 -0
  452. package/src/messageActionStyles.ts +26 -0
  453. package/src/messageUtils.ts +58 -0
  454. package/src/nativeActionSheet.ts +25 -0
  455. package/src/nativeActionSheet.web.ts +5 -0
  456. package/src/paperTheme.ts +52 -0
  457. package/src/realtimeClient.ts +149 -0
  458. package/src/renameAgentModalStyles.ts +77 -0
  459. package/src/screenParts.tsx +185 -0
  460. package/src/styles.ts +190 -0
  461. package/src/superagentApiClient.ts +895 -0
  462. package/src/types.ts +514 -0
  463. package/src/useSuperagentAttachmentPicker.tsx +117 -0
  464. package/src/useSuperagentConversation.ts +242 -0
  465. package/src/useSuperagentRuntime.ts +1371 -0
@@ -0,0 +1,1127 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.EditorDrawer = EditorDrawer;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _lucideReactNative = require("lucide-react-native");
10
+ var _AgentSettingsPanel = require("./AgentSettingsPanel.js");
11
+ var _AgentSphereIcon = require("./AgentSphereIcon.js");
12
+ var _ChannelsPanel = require("./ChannelsPanel.js");
13
+ var _connectorBrandIcons = require("./connectorBrandIcons.js");
14
+ var _connectorCatalog = require("./connectorCatalog.js");
15
+ var _editorTabs = require("./editorTabs.js");
16
+ var _editorShellStyles = require("./editorShellStyles.js");
17
+ var _FilesPanel = require("./FilesPanel.js");
18
+ var _styles = require("./styles.js");
19
+ var _jsxRuntime = require("react/jsx-runtime");
20
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
21
+ const CONNECTOR_ICONS = {
22
+ github: _lucideReactNative.GitBranch,
23
+ gmail: _lucideReactNative.Mail,
24
+ googlecalendar: _lucideReactNative.CalendarDays,
25
+ googledocs: _lucideReactNative.FileText,
26
+ googledrive: _lucideReactNative.HardDrive,
27
+ googlesheets: _lucideReactNative.Database,
28
+ hubspot: _lucideReactNative.BriefcaseBusiness,
29
+ notion: _lucideReactNative.FileText,
30
+ outlook: _lucideReactNative.Mail,
31
+ salesforce: _lucideReactNative.Cloud,
32
+ slack: _lucideReactNative.MessageCircle,
33
+ slackbot: _lucideReactNative.MessageCircle,
34
+ stripe: _lucideReactNative.Database
35
+ };
36
+ const AUTOMATION_ICONS = {
37
+ connector: _lucideReactNative.Webhook,
38
+ entity: _lucideReactNative.Zap,
39
+ scheduled: _lucideReactNative.Timer
40
+ };
41
+ const SETTING_TABS = _editorTabs.EDITOR_TAB_SECTIONS.flatMap(section => section.tabs).filter(tab => tab.id !== 'chat');
42
+ function EditorDrawer({
43
+ activeTab,
44
+ agent,
45
+ automations,
46
+ automationCredits,
47
+ availableConnectors,
48
+ channelStatus,
49
+ collaborators,
50
+ connectedConnectors,
51
+ connectingChannelId,
52
+ connectingConnectorId,
53
+ fileLoadError,
54
+ fileLoadFailed,
55
+ filePaths,
56
+ isLoadingAgentSettings,
57
+ isLoadingChannels,
58
+ isLoadingCollaborators,
59
+ isLoadingFiles,
60
+ isLoadingAutomations,
61
+ isLoadingConnectors,
62
+ isVisible,
63
+ secrets,
64
+ onClose,
65
+ onCancelConnectorConnection,
66
+ onArchiveAutomation,
67
+ onCloneAgent,
68
+ onConnectConnector,
69
+ onDeleteAgent,
70
+ onDeleteAutomation,
71
+ onDeleteSecret,
72
+ onDisconnectConnector,
73
+ onDisconnectIMessage,
74
+ onDisconnectTelegram,
75
+ onEditAutomation,
76
+ onGenerateLineCode,
77
+ onGenerateIMessageCode,
78
+ onOpenIMessage,
79
+ onOpenLine,
80
+ onRemoveConnector,
81
+ onOpenTelegram,
82
+ onOpenWhatsApp,
83
+ onOpenSandboxFile,
84
+ onRefreshChannels,
85
+ onRefreshAgentSettings,
86
+ onRefreshAutomations,
87
+ onRefreshCollaborators,
88
+ onRefreshFiles,
89
+ onRestoreAutomation,
90
+ onRunAutomationNow,
91
+ onSaveSandboxFile,
92
+ onSaveSecret,
93
+ onSelectTab,
94
+ onShareAgentLink,
95
+ onShareIMessageCode,
96
+ onShareLineCode,
97
+ onSetupTelegram,
98
+ onToggleAutomation,
99
+ onUpdateAgentModel,
100
+ onUpdateToolPermissions,
101
+ onUploadSandboxFiles
102
+ }) {
103
+ const initialTab = activeTab === 'chat' ? 'integrations' : activeTab;
104
+ const [selectedTab, setSelectedTab] = (0, _react.useState)(initialTab);
105
+ (0, _react.useEffect)(() => {
106
+ if (isVisible) {
107
+ setSelectedTab(activeTab === 'chat' ? 'integrations' : activeTab);
108
+ }
109
+ }, [activeTab, isVisible]);
110
+ const selectTab = tab => {
111
+ setSelectedTab(tab);
112
+ onSelectTab(tab);
113
+ if (tab === 'tasks') {
114
+ onRefreshAutomations?.(agent.id);
115
+ }
116
+ if (tab === 'files') {
117
+ onRefreshFiles?.(agent.id);
118
+ }
119
+ if (tab === 'channels') {
120
+ onRefreshChannels?.(agent.id);
121
+ }
122
+ if (tab === 'agent_settings') {
123
+ onRefreshAgentSettings?.(agent.id);
124
+ onRefreshCollaborators?.(agent.id);
125
+ }
126
+ };
127
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Modal, {
128
+ animationType: "slide",
129
+ presentationStyle: "pageSheet",
130
+ visible: isVisible,
131
+ onRequestClose: onClose,
132
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
133
+ style: _editorShellStyles.editorShellStyles.modalRoot,
134
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
135
+ style: _editorShellStyles.editorShellStyles.modalTopBar,
136
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
137
+ accessibilityLabel: "Close settings",
138
+ accessibilityRole: "button",
139
+ onPress: onClose,
140
+ style: ({
141
+ pressed
142
+ }) => [_editorShellStyles.editorShellStyles.closeButton, pressed && _styles.styles.pressed],
143
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_lucideReactNative.X, {
144
+ color: "#F4F4F5",
145
+ size: 22,
146
+ strokeWidth: 2.5
147
+ })
148
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
149
+ style: _editorShellStyles.editorShellStyles.modalTitleWrap,
150
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
151
+ style: _editorShellStyles.editorShellStyles.modalTitle,
152
+ children: "Settings"
153
+ })
154
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_AgentSphereIcon.AgentSphereIcon, {
155
+ agent: agent,
156
+ size: "header"
157
+ })]
158
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.ScrollView, {
159
+ contentContainerStyle: _editorShellStyles.editorShellStyles.modalScrollContent,
160
+ showsVerticalScrollIndicator: false,
161
+ stickyHeaderIndices: [0],
162
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
163
+ style: _editorShellStyles.editorShellStyles.stickyTabsWrap,
164
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
165
+ horizontal: true,
166
+ showsHorizontalScrollIndicator: false,
167
+ contentContainerStyle: _editorShellStyles.editorShellStyles.tabsContent,
168
+ children: SETTING_TABS.map(tab => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
169
+ accessibilityRole: "button",
170
+ onPress: () => selectTab(tab.id),
171
+ style: ({
172
+ pressed
173
+ }) => [_editorShellStyles.editorShellStyles.segmentButton, selectedTab === tab.id && _editorShellStyles.editorShellStyles.segmentButtonActive, pressed && _styles.styles.pressed],
174
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
175
+ style: [_editorShellStyles.editorShellStyles.segmentLabel, selectedTab === tab.id && _editorShellStyles.editorShellStyles.segmentLabelActive],
176
+ children: tab.label
177
+ })
178
+ }, tab.id))
179
+ })
180
+ }), selectedTab === 'integrations' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(ConnectorsPanel, {
181
+ agent: agent,
182
+ availableConnectors: availableConnectors,
183
+ connectedConnectors: connectedConnectors,
184
+ connectingConnectorId: connectingConnectorId,
185
+ isLoading: isLoadingConnectors,
186
+ onCancel: onCancelConnectorConnection,
187
+ onConnect: onConnectConnector,
188
+ onDisconnect: onDisconnectConnector,
189
+ onRemove: onRemoveConnector
190
+ }) : selectedTab === 'tasks' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(TasksPanel, {
191
+ agent: agent,
192
+ automationCredits: automationCredits,
193
+ automations: automations,
194
+ isLoading: isLoadingAutomations,
195
+ onArchiveAutomation: onArchiveAutomation,
196
+ onDeleteAutomation: onDeleteAutomation,
197
+ onEditAutomation: onEditAutomation,
198
+ onRestoreAutomation: onRestoreAutomation,
199
+ onRunAutomationNow: onRunAutomationNow,
200
+ onToggleAutomation: onToggleAutomation
201
+ }) : selectedTab === 'files' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_FilesPanel.FilesPanel, {
202
+ agent: agent,
203
+ fileLoadError: fileLoadError,
204
+ fileLoadFailed: fileLoadFailed,
205
+ filePaths: filePaths,
206
+ isLoading: isLoadingFiles,
207
+ onOpenSandboxFile: onOpenSandboxFile,
208
+ onRefreshFiles: onRefreshFiles,
209
+ onSaveSandboxFile: onSaveSandboxFile,
210
+ onUploadSandboxFiles: onUploadSandboxFiles
211
+ }) : selectedTab === 'channels' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChannelsPanel.ChannelsPanel, {
212
+ agent: agent,
213
+ channelStatus: channelStatus,
214
+ connectingChannelId: connectingChannelId,
215
+ isLoading: isLoadingChannels,
216
+ onDisconnectIMessage: onDisconnectIMessage,
217
+ onDisconnectTelegram: onDisconnectTelegram,
218
+ onGenerateIMessageCode: onGenerateIMessageCode,
219
+ onGenerateLineCode: onGenerateLineCode,
220
+ onOpenIMessage: onOpenIMessage,
221
+ onOpenLine: onOpenLine,
222
+ onOpenTelegram: onOpenTelegram,
223
+ onOpenWhatsApp: onOpenWhatsApp,
224
+ onRefreshChannels: onRefreshChannels,
225
+ onSetupTelegram: onSetupTelegram,
226
+ onShareIMessageCode: onShareIMessageCode,
227
+ onShareLineCode: onShareLineCode
228
+ }) : selectedTab === 'agent_settings' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_AgentSettingsPanel.AgentSettingsPanel, {
229
+ agent: agent,
230
+ collaborators: collaborators,
231
+ connectedConnectors: connectedConnectors,
232
+ isLoading: isLoadingAgentSettings,
233
+ isLoadingCollaborators: isLoadingCollaborators,
234
+ onCloneAgent: onCloneAgent,
235
+ onDeleteAgent: onDeleteAgent,
236
+ onDeleteSecret: onDeleteSecret,
237
+ onRefreshAgentSettings: onRefreshAgentSettings,
238
+ onSaveSecret: onSaveSecret,
239
+ onShareAgentLink: onShareAgentLink,
240
+ onUpdateAgentModel: onUpdateAgentModel,
241
+ onUpdateToolPermissions: onUpdateToolPermissions,
242
+ secrets: secrets
243
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(PlaceholderSettingsPanel, {
244
+ tab: selectedTab
245
+ })]
246
+ })]
247
+ })
248
+ });
249
+ }
250
+ function TasksPanel({
251
+ agent,
252
+ automationCredits = {},
253
+ automations = [],
254
+ isLoading,
255
+ onArchiveAutomation,
256
+ onDeleteAutomation,
257
+ onEditAutomation,
258
+ onRestoreAutomation,
259
+ onRunAutomationNow,
260
+ onToggleAutomation
261
+ }) {
262
+ const [viewTab, setViewTab] = (0, _react.useState)('active');
263
+ const sortedAutomations = (0, _react.useMemo)(() => [...automations].sort((a, b) => getAutomationTime(b) - getAutomationTime(a)), [automations]);
264
+ const activeAutomations = sortedAutomations.filter(automation => !automation.is_archived);
265
+ const archivedAutomations = sortedAutomations.filter(automation => automation.is_archived);
266
+ if (isLoading) {
267
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
268
+ style: _editorShellStyles.editorShellStyles.loadingPanel,
269
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
270
+ color: "#FF5A1F"
271
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
272
+ style: _editorShellStyles.editorShellStyles.loadingText,
273
+ children: "Loading automations..."
274
+ })]
275
+ });
276
+ }
277
+ const displayAutomations = viewTab === 'archived' ? archivedAutomations : activeAutomations;
278
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
279
+ style: _editorShellStyles.editorShellStyles.settingsStack,
280
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
281
+ style: _editorShellStyles.editorShellStyles.panel,
282
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
283
+ style: _editorShellStyles.editorShellStyles.panelHeader,
284
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
285
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
286
+ style: _editorShellStyles.editorShellStyles.panelTitle,
287
+ children: "Automations"
288
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
289
+ style: _editorShellStyles.editorShellStyles.panelSubtitle,
290
+ children: "Scheduled tasks, triggers, history, and usage."
291
+ })]
292
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
293
+ style: _editorShellStyles.editorShellStyles.countBadge,
294
+ children: displayAutomations.length
295
+ })]
296
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
297
+ style: _editorShellStyles.editorShellStyles.automationTabs,
298
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
299
+ accessibilityRole: "button",
300
+ onPress: () => setViewTab('active'),
301
+ style: ({
302
+ pressed
303
+ }) => [_editorShellStyles.editorShellStyles.automationTabButton, viewTab === 'active' && _editorShellStyles.editorShellStyles.automationTabButtonActive, pressed && _styles.styles.pressed],
304
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
305
+ style: [_editorShellStyles.editorShellStyles.automationTabText, viewTab === 'active' && _editorShellStyles.editorShellStyles.automationTabTextActive],
306
+ children: ["Active ", activeAutomations.length]
307
+ })
308
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
309
+ accessibilityRole: "button",
310
+ onPress: () => setViewTab('archived'),
311
+ style: ({
312
+ pressed
313
+ }) => [_editorShellStyles.editorShellStyles.automationTabButton, viewTab === 'archived' && _editorShellStyles.editorShellStyles.automationTabButtonActive, pressed && _styles.styles.pressed],
314
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
315
+ style: [_editorShellStyles.editorShellStyles.automationTabText, viewTab === 'archived' && _editorShellStyles.editorShellStyles.automationTabTextActive],
316
+ children: ["Archived ", archivedAutomations.length]
317
+ })
318
+ })]
319
+ }), displayAutomations.length > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
320
+ style: _editorShellStyles.editorShellStyles.automationList,
321
+ children: displayAutomations.map(automation => /*#__PURE__*/(0, _jsxRuntime.jsx)(AutomationCard, {
322
+ agentId: agent.id,
323
+ automation: automation,
324
+ credits: automationCredits[automation.id],
325
+ onArchiveAutomation: onArchiveAutomation,
326
+ onDeleteAutomation: onDeleteAutomation,
327
+ onEditAutomation: onEditAutomation,
328
+ onRestoreAutomation: onRestoreAutomation,
329
+ onRunAutomationNow: onRunAutomationNow,
330
+ onToggleAutomation: onToggleAutomation
331
+ }, automation.id))
332
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
333
+ style: _editorShellStyles.editorShellStyles.emptyPanel,
334
+ children: [viewTab === 'archived' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_lucideReactNative.Archive, {
335
+ color: "#8E8E93",
336
+ size: 22,
337
+ strokeWidth: 2.2
338
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_lucideReactNative.Timer, {
339
+ color: "#8E8E93",
340
+ size: 22,
341
+ strokeWidth: 2.2
342
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
343
+ style: _editorShellStyles.editorShellStyles.emptyTitle,
344
+ children: viewTab === 'archived' ? 'No archived automations' : 'No automations yet'
345
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
346
+ style: _editorShellStyles.editorShellStyles.emptyBody,
347
+ children: viewTab === 'archived' ? 'Automations you archive will appear here.' : 'Ask Superagent to create a scheduled or connector task.'
348
+ })]
349
+ })]
350
+ })
351
+ });
352
+ }
353
+ function AutomationCard({
354
+ agentId,
355
+ automation,
356
+ credits,
357
+ onArchiveAutomation,
358
+ onDeleteAutomation,
359
+ onEditAutomation,
360
+ onRestoreAutomation,
361
+ onRunAutomationNow,
362
+ onToggleAutomation
363
+ }) {
364
+ const [expanded, setExpanded] = (0, _react.useState)(false);
365
+ const [pendingAction, setPendingAction] = (0, _react.useState)(null);
366
+ const Icon = AUTOMATION_ICONS[automation.automation_type] ?? _lucideReactNative.Timer;
367
+ const trigger = describeAutomationTrigger(automation);
368
+ const lastRun = formatDateTime(automation.last_run_at);
369
+ const isArchived = !!automation.is_archived;
370
+ const isActive = !isArchived && automation.is_active !== false;
371
+ const canRunNow = automation.automation_type === 'scheduled' && !isArchived && !!onRunAutomationNow;
372
+ const actionInput = {
373
+ agentId,
374
+ automation
375
+ };
376
+ const runAction = async (action, handler) => {
377
+ if (!handler || pendingAction) {
378
+ return;
379
+ }
380
+ setPendingAction(action);
381
+ try {
382
+ await handler(actionInput);
383
+ } finally {
384
+ setPendingAction(null);
385
+ }
386
+ };
387
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
388
+ style: _editorShellStyles.editorShellStyles.automationCard,
389
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
390
+ style: _editorShellStyles.editorShellStyles.automationIcon,
391
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, {
392
+ color: "#F4F4F5",
393
+ size: 19,
394
+ strokeWidth: 2.35
395
+ })
396
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
397
+ style: _editorShellStyles.editorShellStyles.automationText,
398
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
399
+ style: _editorShellStyles.editorShellStyles.inlineTitleRow,
400
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
401
+ numberOfLines: 1,
402
+ style: _editorShellStyles.editorShellStyles.automationName,
403
+ children: automation.name
404
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(AutomationStatusBadge, {
405
+ automation: automation
406
+ })]
407
+ }), trigger ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
408
+ numberOfLines: 2,
409
+ style: _editorShellStyles.editorShellStyles.automationTrigger,
410
+ children: trigger
411
+ }) : null, automation.description ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
412
+ numberOfLines: 2,
413
+ style: _editorShellStyles.editorShellStyles.automationDescription,
414
+ children: automation.description
415
+ }) : null, /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
416
+ style: _editorShellStyles.editorShellStyles.automationMetaRow,
417
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
418
+ numberOfLines: 1,
419
+ style: _editorShellStyles.editorShellStyles.automationMeta,
420
+ children: formatAutomationType(automation.automation_type)
421
+ }), automation.function_name ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
422
+ numberOfLines: 1,
423
+ style: _editorShellStyles.editorShellStyles.automationMeta,
424
+ children: automation.function_name
425
+ }) : null, /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
426
+ style: _editorShellStyles.editorShellStyles.automationCreditBadge,
427
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_lucideReactNative.Coins, {
428
+ color: "#A1A1AA",
429
+ size: 11,
430
+ strokeWidth: 2.4
431
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
432
+ numberOfLines: 1,
433
+ style: _editorShellStyles.editorShellStyles.automationCreditText,
434
+ children: credits ? `${formatCredits(credits.total)} credits used` : 'Consumes credits'
435
+ })]
436
+ })]
437
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
438
+ numberOfLines: 1,
439
+ style: _editorShellStyles.editorShellStyles.automationRuns,
440
+ children: [formatRuns(automation), lastRun ? ` · Last run ${lastRun}` : '']
441
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
442
+ style: _editorShellStyles.editorShellStyles.automationActionRow,
443
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(AutomationActionButton, {
444
+ icon: expanded ? _lucideReactNative.X : _lucideReactNative.ChevronDown,
445
+ label: expanded ? 'Close' : 'Details',
446
+ onPress: () => setExpanded(current => !current)
447
+ }), onEditAutomation ? /*#__PURE__*/(0, _jsxRuntime.jsx)(AutomationActionButton, {
448
+ icon: _lucideReactNative.Edit3,
449
+ isLoading: pendingAction === 'edit',
450
+ label: "Edit",
451
+ onPress: () => runAction('edit', onEditAutomation)
452
+ }) : null, canRunNow ? /*#__PURE__*/(0, _jsxRuntime.jsx)(AutomationActionButton, {
453
+ icon: _lucideReactNative.Play,
454
+ isLoading: pendingAction === 'run',
455
+ label: "Run",
456
+ onPress: () => runAction('run', onRunAutomationNow)
457
+ }) : null, !isArchived && onToggleAutomation ? /*#__PURE__*/(0, _jsxRuntime.jsx)(AutomationActionButton, {
458
+ icon: isActive ? _lucideReactNative.ToggleRight : _lucideReactNative.ToggleLeft,
459
+ isLoading: pendingAction === 'toggle',
460
+ label: isActive ? 'Pause' : 'Activate',
461
+ onPress: () => runAction('toggle', onToggleAutomation)
462
+ }) : null, !isArchived && onArchiveAutomation ? /*#__PURE__*/(0, _jsxRuntime.jsx)(AutomationActionButton, {
463
+ icon: _lucideReactNative.Archive,
464
+ isLoading: pendingAction === 'archive',
465
+ label: "Archive",
466
+ onPress: () => runAction('archive', onArchiveAutomation)
467
+ }) : null, isArchived && onRestoreAutomation ? /*#__PURE__*/(0, _jsxRuntime.jsx)(AutomationActionButton, {
468
+ icon: _lucideReactNative.RotateCcw,
469
+ isLoading: pendingAction === 'restore',
470
+ label: "Restore",
471
+ onPress: () => runAction('restore', onRestoreAutomation)
472
+ }) : null, onDeleteAutomation ? /*#__PURE__*/(0, _jsxRuntime.jsx)(AutomationActionButton, {
473
+ danger: true,
474
+ icon: _lucideReactNative.Trash2,
475
+ isLoading: pendingAction === 'delete',
476
+ label: "Delete",
477
+ onPress: () => runAction('delete', onDeleteAutomation)
478
+ }) : null]
479
+ }), expanded ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
480
+ style: _editorShellStyles.editorShellStyles.automationDetailsPanel,
481
+ children: [trigger ? /*#__PURE__*/(0, _jsxRuntime.jsx)(AutomationDetailBlock, {
482
+ label: "Trigger",
483
+ value: trigger
484
+ }) : null, automation.description ? /*#__PURE__*/(0, _jsxRuntime.jsx)(AutomationDetailBlock, {
485
+ label: "Instructions",
486
+ value: automation.description
487
+ }) : null, automation.function_name ? /*#__PURE__*/(0, _jsxRuntime.jsx)(AutomationDetailBlock, {
488
+ label: "Task ID",
489
+ monospace: true,
490
+ value: automation.function_name
491
+ }) : null, automation.function_args && Object.keys(automation.function_args).length > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(AutomationDetailBlock, {
492
+ label: "Parameters",
493
+ monospace: true,
494
+ value: JSON.stringify(automation.function_args, null, 2)
495
+ }) : null, /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
496
+ style: _editorShellStyles.editorShellStyles.automationDetailStats,
497
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
498
+ style: _editorShellStyles.editorShellStyles.automationDetailStatText,
499
+ children: [automation.total_runs ?? 0, " total"]
500
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
501
+ style: _editorShellStyles.editorShellStyles.automationDetailSuccess,
502
+ children: [automation.successful_runs ?? 0, " succeeded"]
503
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
504
+ style: _editorShellStyles.editorShellStyles.automationDetailFailure,
505
+ children: [automation.failed_runs ?? 0, " failed"]
506
+ })]
507
+ }), credits ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
508
+ style: _editorShellStyles.editorShellStyles.automationDetailMuted,
509
+ children: ["Total credits: ", formatCredits(credits.total), credits.since ? ` · since ${formatDate(credits.since) ?? credits.since}` : '']
510
+ }) : null, lastRun ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
511
+ style: _editorShellStyles.editorShellStyles.automationDetailMuted,
512
+ children: ["Last run: ", lastRun, automation.last_run_status ? ` · ${automation.last_run_status}` : '']
513
+ }) : null, automation.created_date ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
514
+ style: _editorShellStyles.editorShellStyles.automationDetailMuted,
515
+ children: ["Created ", formatDate(automation.created_date) ?? automation.created_date]
516
+ }) : null]
517
+ }) : null]
518
+ })]
519
+ });
520
+ }
521
+ function AutomationActionButton({
522
+ danger,
523
+ icon: Icon,
524
+ isLoading,
525
+ label,
526
+ onPress
527
+ }) {
528
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
529
+ accessibilityLabel: label,
530
+ accessibilityRole: "button",
531
+ disabled: isLoading,
532
+ onPress: onPress,
533
+ style: ({
534
+ pressed
535
+ }) => [_editorShellStyles.editorShellStyles.automationActionButton, danger && _editorShellStyles.editorShellStyles.automationActionButtonDanger, pressed && _styles.styles.pressed, isLoading && _editorShellStyles.editorShellStyles.automationActionButtonDisabled],
536
+ children: [isLoading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
537
+ color: danger ? '#FCA5A5' : '#F4F4F5',
538
+ size: "small"
539
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, {
540
+ color: danger ? '#FCA5A5' : '#F4F4F5',
541
+ size: 13,
542
+ strokeWidth: 2.45
543
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
544
+ style: [_editorShellStyles.editorShellStyles.automationActionText, danger && _editorShellStyles.editorShellStyles.automationActionTextDanger],
545
+ children: label
546
+ })]
547
+ });
548
+ }
549
+ function AutomationDetailBlock({
550
+ label,
551
+ monospace,
552
+ value
553
+ }) {
554
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
555
+ style: _editorShellStyles.editorShellStyles.automationDetailBlock,
556
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
557
+ style: _editorShellStyles.editorShellStyles.automationDetailLabel,
558
+ children: label
559
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
560
+ style: [_editorShellStyles.editorShellStyles.automationDetailValue, monospace && _editorShellStyles.editorShellStyles.automationDetailValueMono],
561
+ children: value
562
+ })]
563
+ });
564
+ }
565
+ function AutomationStatusBadge({
566
+ automation
567
+ }) {
568
+ const isArchived = !!automation.is_archived;
569
+ const isActive = !isArchived && automation.is_active !== false;
570
+ const label = isArchived ? 'Archived' : isActive ? 'Active' : 'Paused';
571
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
572
+ style: [_editorShellStyles.editorShellStyles.automationStatusBadge, isActive ? _editorShellStyles.editorShellStyles.automationStatusActive : _editorShellStyles.editorShellStyles.automationStatusInactive],
573
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
574
+ style: [_editorShellStyles.editorShellStyles.automationStatusText, isActive ? _editorShellStyles.editorShellStyles.automationStatusTextActive : _editorShellStyles.editorShellStyles.automationStatusTextInactive],
575
+ children: label
576
+ })
577
+ });
578
+ }
579
+ function ConnectorsPanel({
580
+ agent,
581
+ availableConnectors,
582
+ connectedConnectors,
583
+ connectingConnectorId,
584
+ isLoading,
585
+ onCancel,
586
+ onConnect,
587
+ onDisconnect,
588
+ onRemove
589
+ }) {
590
+ const [searchQuery, setSearchQuery] = (0, _react.useState)('');
591
+ const connectedIds = (0, _react.useMemo)(() => new Set((connectedConnectors ?? []).map(connector => connector.id)), [connectedConnectors]);
592
+ const available = (0, _react.useMemo)(() => {
593
+ const normalizedQuery = searchQuery.trim().toLowerCase();
594
+ return (availableConnectors ?? _connectorCatalog.SUPERAGENT_CONNECTOR_CATALOG).filter(connector => !connectedIds.has(connector.id)).filter(connector => {
595
+ if (!normalizedQuery) {
596
+ return true;
597
+ }
598
+ return [connector.id, connector.name, connector.subtitle, connector.category].filter(Boolean).join(' ').toLowerCase().includes(normalizedQuery);
599
+ });
600
+ }, [availableConnectors, connectedIds, searchQuery]);
601
+ if (isLoading) {
602
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
603
+ style: _editorShellStyles.editorShellStyles.loadingPanel,
604
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
605
+ color: "#FF5A1F"
606
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
607
+ style: _editorShellStyles.editorShellStyles.loadingText,
608
+ children: "Loading connectors..."
609
+ })]
610
+ });
611
+ }
612
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
613
+ style: _editorShellStyles.editorShellStyles.settingsStack,
614
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
615
+ style: _editorShellStyles.editorShellStyles.panel,
616
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
617
+ style: _editorShellStyles.editorShellStyles.panelHeader,
618
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
619
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
620
+ style: _editorShellStyles.editorShellStyles.panelTitle,
621
+ children: "Connected"
622
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
623
+ style: _editorShellStyles.editorShellStyles.panelSubtitle,
624
+ children: "Tools this agent can already use."
625
+ })]
626
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
627
+ style: _editorShellStyles.editorShellStyles.countBadge,
628
+ children: connectedConnectors?.length ?? 0
629
+ })]
630
+ }), connectedConnectors && connectedConnectors.length > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
631
+ style: _editorShellStyles.editorShellStyles.connectorList,
632
+ children: connectedConnectors.map(connector => /*#__PURE__*/(0, _jsxRuntime.jsx)(ConnectedConnectorCard, {
633
+ agentId: agent.id,
634
+ connector: connector,
635
+ isConnecting: connectingConnectorId === connector.id,
636
+ onCancel: onCancel,
637
+ onConnect: onConnect,
638
+ onDisconnect: onDisconnect,
639
+ onRemove: onRemove
640
+ }, connector.id))
641
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
642
+ style: _editorShellStyles.editorShellStyles.emptyPanel,
643
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_lucideReactNative.Plug, {
644
+ color: "#8E8E93",
645
+ size: 22,
646
+ strokeWidth: 2.2
647
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
648
+ style: _editorShellStyles.editorShellStyles.emptyTitle,
649
+ children: "No connectors yet"
650
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
651
+ style: _editorShellStyles.editorShellStyles.emptyBody,
652
+ children: "Connect a service below to let this agent use it from chat."
653
+ })]
654
+ })]
655
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
656
+ style: _editorShellStyles.editorShellStyles.panel,
657
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
658
+ style: _editorShellStyles.editorShellStyles.panelHeader,
659
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
660
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
661
+ style: _editorShellStyles.editorShellStyles.panelTitle,
662
+ children: "Available connectors"
663
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
664
+ style: _editorShellStyles.editorShellStyles.panelSubtitle,
665
+ children: "Browse the same tools from the web editor."
666
+ })]
667
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
668
+ style: _editorShellStyles.editorShellStyles.countBadge,
669
+ children: available.length
670
+ })]
671
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
672
+ style: _editorShellStyles.editorShellStyles.connectorSearchWrap,
673
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_lucideReactNative.Search, {
674
+ color: "#A1A1AA",
675
+ size: 16,
676
+ strokeWidth: 2.4
677
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
678
+ autoCapitalize: "none",
679
+ autoCorrect: false,
680
+ clearButtonMode: "while-editing",
681
+ onChangeText: setSearchQuery,
682
+ placeholder: "Search connectors",
683
+ placeholderTextColor: "#8E8E93",
684
+ returnKeyType: "search",
685
+ style: _editorShellStyles.editorShellStyles.connectorSearchInput,
686
+ value: searchQuery
687
+ })]
688
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
689
+ style: _editorShellStyles.editorShellStyles.connectorList,
690
+ children: available.length > 0 ? available.map(connector => /*#__PURE__*/(0, _jsxRuntime.jsx)(AvailableConnectorCard, {
691
+ agentId: agent.id,
692
+ connector: connector,
693
+ isConnecting: connectingConnectorId === connector.id,
694
+ onCancel: onCancel,
695
+ onConnect: onConnect
696
+ }, connector.id)) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
697
+ style: _editorShellStyles.editorShellStyles.emptyPanel,
698
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_lucideReactNative.Search, {
699
+ color: "#8E8E93",
700
+ size: 22,
701
+ strokeWidth: 2.2
702
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
703
+ style: _editorShellStyles.editorShellStyles.emptyTitle,
704
+ children: "No matching connectors"
705
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
706
+ style: _editorShellStyles.editorShellStyles.emptyBody,
707
+ children: "Try a different connector name or category."
708
+ })]
709
+ })
710
+ })]
711
+ })]
712
+ });
713
+ }
714
+ function ConnectedConnectorCard({
715
+ agentId,
716
+ connector,
717
+ isConnecting,
718
+ onCancel,
719
+ onConnect,
720
+ onDisconnect,
721
+ onRemove
722
+ }) {
723
+ const status = connector.status ?? 'active';
724
+ const [menuOpen, setMenuOpen] = (0, _react.useState)(false);
725
+ const hasAccessModes = !!connector.accessModes;
726
+ const currentMode = connector.accessMode ?? null;
727
+ const oppositeMode = currentMode === 'read_only' ? 'full_access' : 'read_only';
728
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
729
+ style: [_editorShellStyles.editorShellStyles.connectorCard, menuOpen && _editorShellStyles.editorShellStyles.connectorCardMenuOpen],
730
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(ConnectorIcon, {
731
+ connector: connector
732
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
733
+ style: _editorShellStyles.editorShellStyles.connectorText,
734
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
735
+ style: _editorShellStyles.editorShellStyles.inlineTitleRow,
736
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
737
+ numberOfLines: 1,
738
+ style: _editorShellStyles.editorShellStyles.connectorName,
739
+ children: connector.name
740
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(StatusBadge, {
741
+ status: status
742
+ }), currentMode ? /*#__PURE__*/(0, _jsxRuntime.jsx)(AccessModeBadge, {
743
+ mode: currentMode
744
+ }) : null]
745
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
746
+ numberOfLines: 1,
747
+ style: _editorShellStyles.editorShellStyles.connectorSubtitle,
748
+ children: connector.accountIdentifier || connector.subtitle || 'Connected account'
749
+ })]
750
+ }), isConnecting ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
751
+ style: _editorShellStyles.editorShellStyles.connectingWrap,
752
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
753
+ color: "#8B5CF6",
754
+ size: "small"
755
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
756
+ accessibilityLabel: `Cancel ${connector.name} connection`,
757
+ accessibilityRole: "button",
758
+ onPress: () => onCancel?.({
759
+ agentId,
760
+ connectorId: connector.id
761
+ }),
762
+ style: ({
763
+ pressed
764
+ }) => [_editorShellStyles.editorShellStyles.cancelConnectButton, pressed && _styles.styles.pressed],
765
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
766
+ style: _editorShellStyles.editorShellStyles.cancelConnectText,
767
+ children: "Cancel"
768
+ })
769
+ })]
770
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
771
+ style: _editorShellStyles.editorShellStyles.connectorActions,
772
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
773
+ accessibilityLabel: `${connector.name} actions`,
774
+ accessibilityRole: "button",
775
+ onPress: () => setMenuOpen(open => !open),
776
+ style: ({
777
+ pressed
778
+ }) => [_editorShellStyles.editorShellStyles.moreButton, pressed && _styles.styles.pressed],
779
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_lucideReactNative.MoreHorizontal, {
780
+ color: "#E4E4E7",
781
+ size: 19,
782
+ strokeWidth: 2.4
783
+ })
784
+ })
785
+ }), menuOpen ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
786
+ style: _editorShellStyles.editorShellStyles.connectorMenu,
787
+ children: [hasAccessModes && onConnect ? /*#__PURE__*/(0, _jsxRuntime.jsx)(MenuAction, {
788
+ label: oppositeMode === 'read_only' ? 'Switch to read only' : 'Switch to full access',
789
+ onPress: () => {
790
+ setMenuOpen(false);
791
+ onConnect({
792
+ accessMode: oppositeMode,
793
+ agentId,
794
+ connectorId: connector.id,
795
+ forceReconnect: true,
796
+ scopes: getConnectorScopesForMode(connector, oppositeMode)
797
+ });
798
+ }
799
+ }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(MenuAction, {
800
+ label: status === 'active' ? 'Switch account' : 'Reconnect',
801
+ onPress: () => {
802
+ setMenuOpen(false);
803
+ onConnect?.({
804
+ accessMode: connector.accessMode ?? undefined,
805
+ agentId,
806
+ connectorId: connector.id,
807
+ forceReconnect: true,
808
+ scopes: connector.scopes?.length ? connector.scopes : getConnectorScopesForMode(connector, connector.accessMode ?? 'full_access')
809
+ });
810
+ }
811
+ }), status !== 'disconnected' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(MenuAction, {
812
+ destructive: true,
813
+ label: "Disconnect",
814
+ onPress: () => {
815
+ setMenuOpen(false);
816
+ onDisconnect?.({
817
+ agentId,
818
+ connectorId: connector.id
819
+ });
820
+ }
821
+ }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(MenuAction, {
822
+ destructive: true,
823
+ label: "Remove",
824
+ onPress: () => {
825
+ setMenuOpen(false);
826
+ onRemove?.({
827
+ agentId,
828
+ connectorId: connector.id
829
+ });
830
+ }
831
+ })]
832
+ }) : null]
833
+ });
834
+ }
835
+ function MenuAction({
836
+ destructive,
837
+ label,
838
+ onPress
839
+ }) {
840
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
841
+ accessibilityRole: "button",
842
+ onPress: onPress,
843
+ style: ({
844
+ pressed
845
+ }) => [_editorShellStyles.editorShellStyles.menuAction, pressed && _styles.styles.pressed],
846
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
847
+ style: [_editorShellStyles.editorShellStyles.menuActionText, destructive && _editorShellStyles.editorShellStyles.menuActionTextDestructive],
848
+ children: label
849
+ })
850
+ });
851
+ }
852
+ function AvailableConnectorCard({
853
+ agentId,
854
+ connector,
855
+ isConnecting,
856
+ onCancel,
857
+ onConnect
858
+ }) {
859
+ const [accessMode, setAccessMode] = (0, _react.useState)(connector.accessMode ?? 'full_access');
860
+ const hasAccessModes = !!connector.accessModes || connector.supportsReadOnly;
861
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
862
+ style: _editorShellStyles.editorShellStyles.connectorCard,
863
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(ConnectorIcon, {
864
+ connector: connector
865
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
866
+ style: _editorShellStyles.editorShellStyles.connectorText,
867
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
868
+ numberOfLines: 1,
869
+ style: _editorShellStyles.editorShellStyles.connectorName,
870
+ children: connector.name
871
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
872
+ numberOfLines: 1,
873
+ style: _editorShellStyles.editorShellStyles.connectorSubtitle,
874
+ children: connector.subtitle
875
+ })]
876
+ }), isConnecting ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
877
+ style: _editorShellStyles.editorShellStyles.connectingWrap,
878
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
879
+ color: "#8B5CF6",
880
+ size: "small"
881
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
882
+ accessibilityLabel: `Cancel ${connector.name} connection`,
883
+ accessibilityRole: "button",
884
+ onPress: () => onCancel?.({
885
+ agentId,
886
+ connectorId: connector.id
887
+ }),
888
+ style: ({
889
+ pressed
890
+ }) => [_editorShellStyles.editorShellStyles.cancelConnectButton, pressed && _styles.styles.pressed],
891
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
892
+ style: _editorShellStyles.editorShellStyles.cancelConnectText,
893
+ children: "Cancel"
894
+ })
895
+ })]
896
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
897
+ style: _editorShellStyles.editorShellStyles.availableActions,
898
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
899
+ accessibilityLabel: `Connect ${connector.name}`,
900
+ accessibilityRole: "button",
901
+ disabled: !onConnect,
902
+ onPress: () => onConnect?.({
903
+ accessMode,
904
+ agentId,
905
+ connectorId: connector.id,
906
+ scopes: getConnectorScopesForMode(connector, accessMode)
907
+ }),
908
+ style: ({
909
+ pressed
910
+ }) => [_editorShellStyles.editorShellStyles.webConnectButton, !onConnect && _editorShellStyles.editorShellStyles.disabledAction, pressed && _styles.styles.pressed],
911
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
912
+ style: _editorShellStyles.editorShellStyles.webConnectText,
913
+ children: "Connect"
914
+ })
915
+ }), hasAccessModes ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
916
+ style: _editorShellStyles.editorShellStyles.accessToggle,
917
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(AccessButton, {
918
+ active: accessMode === 'read_only',
919
+ label: "Read",
920
+ onPress: () => setAccessMode('read_only')
921
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(AccessButton, {
922
+ active: accessMode === 'full_access',
923
+ label: "Full",
924
+ onPress: () => setAccessMode('full_access')
925
+ })]
926
+ }) : null]
927
+ })]
928
+ });
929
+ }
930
+ function AccessModeBadge({
931
+ mode
932
+ }) {
933
+ const isReadOnly = mode === 'read_only';
934
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
935
+ style: [_editorShellStyles.editorShellStyles.accessBadge, isReadOnly ? _editorShellStyles.editorShellStyles.accessBadgeReadOnly : _editorShellStyles.editorShellStyles.accessBadgeFull],
936
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
937
+ style: [_editorShellStyles.editorShellStyles.accessBadgeText, isReadOnly ? _editorShellStyles.editorShellStyles.accessBadgeTextReadOnly : _editorShellStyles.editorShellStyles.accessBadgeTextFull],
938
+ children: isReadOnly ? 'Read only' : 'Full access'
939
+ })
940
+ });
941
+ }
942
+ function getConnectorScopesForMode(connector, mode) {
943
+ if (connector.accessModes) {
944
+ return mode === 'read_only' ? connector.accessModes.readOnly : connector.accessModes.fullAccess;
945
+ }
946
+ return connector.exampleScopes ?? connector.scopes;
947
+ }
948
+ function AccessButton({
949
+ active,
950
+ label,
951
+ onPress
952
+ }) {
953
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
954
+ accessibilityRole: "button",
955
+ onPress: onPress,
956
+ style: [_editorShellStyles.editorShellStyles.accessButton, active && _editorShellStyles.editorShellStyles.accessButtonActive],
957
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
958
+ style: [_editorShellStyles.editorShellStyles.accessButtonText, active && _editorShellStyles.editorShellStyles.accessButtonTextActive],
959
+ children: label
960
+ })
961
+ });
962
+ }
963
+ const DAY_NAMES = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
964
+ function describeAutomationTrigger(automation) {
965
+ if (automation.automation_type === 'scheduled') {
966
+ return describeSchedule(automation);
967
+ }
968
+ if (automation.automation_type === 'entity') {
969
+ const events = automation.event_types?.length ? automation.event_types.join(', ') : 'changes';
970
+ return automation.entity_name ? `${automation.entity_name} · ${events}` : events;
971
+ }
972
+ if (automation.automation_type === 'connector') {
973
+ const connectorName = getConnectorDisplayName(automation.integration_type);
974
+ const events = automation.events?.length ? automation.events.join(', ') : '';
975
+ return events ? `${connectorName} · ${events}` : connectorName;
976
+ }
977
+ return null;
978
+ }
979
+ function describeSchedule(automation) {
980
+ if (automation.schedule_mode === 'one-time' && automation.one_time_date) {
981
+ return `One-time · ${formatDateTime(automation.one_time_date) ?? automation.one_time_date}`;
982
+ }
983
+ if (automation.schedule_type === 'cron' && automation.cron_expression) {
984
+ return `Cron · ${automation.cron_expression}`;
985
+ }
986
+ const parts = [];
987
+ if (automation.repeat_interval && automation.repeat_unit) {
988
+ const unit = automation.repeat_interval === 1 ? automation.repeat_unit.replace(/s$/, '') : automation.repeat_unit;
989
+ parts.push(`Every ${automation.repeat_interval === 1 ? '' : `${automation.repeat_interval} `}${unit}`.trim());
990
+ }
991
+ if (automation.repeat_unit === 'weeks' && automation.repeat_on_days?.length) {
992
+ parts.push(`on ${automation.repeat_on_days.map(day => DAY_NAMES[day]).filter(Boolean).join(', ')}`);
993
+ }
994
+ if (automation.repeat_unit === 'months' && automation.repeat_on_day_of_month) {
995
+ parts.push(`on day ${automation.repeat_on_day_of_month}`);
996
+ }
997
+ if (automation.start_time) {
998
+ parts.push(`at ${automation.start_time}`);
999
+ }
1000
+ if (automation.ends_type === 'on' && automation.ends_on_date) {
1001
+ parts.push(`until ${formatDate(automation.ends_on_date) ?? automation.ends_on_date}`);
1002
+ } else if (automation.ends_type === 'after' && automation.ends_after_count) {
1003
+ parts.push(`for ${automation.ends_after_count} runs`);
1004
+ }
1005
+ return parts.length > 0 ? parts.join(' ') : null;
1006
+ }
1007
+ function formatAutomationType(type) {
1008
+ if (type === 'scheduled') {
1009
+ return 'Scheduled';
1010
+ }
1011
+ if (type === 'entity') {
1012
+ return 'Entity trigger';
1013
+ }
1014
+ if (type === 'connector') {
1015
+ return 'Connector trigger';
1016
+ }
1017
+ return String(type);
1018
+ }
1019
+ function formatRuns(automation) {
1020
+ const total = automation.total_runs ?? 0;
1021
+ const successful = automation.successful_runs ?? 0;
1022
+ const failed = automation.failed_runs ?? 0;
1023
+ return `${total} runs · ${successful} succeeded · ${failed} failed`;
1024
+ }
1025
+ function formatCredits(value) {
1026
+ return Number.isInteger(value) ? String(value) : value.toFixed(1).replace(/\.0$/, '');
1027
+ }
1028
+ function getAutomationTime(automation) {
1029
+ const dateValue = automation.updated_date ?? automation.created_date ?? automation.last_run_at;
1030
+ if (!dateValue) {
1031
+ return 0;
1032
+ }
1033
+ const timestamp = Date.parse(dateValue);
1034
+ return Number.isNaN(timestamp) ? 0 : timestamp;
1035
+ }
1036
+ function getConnectorDisplayName(connectorId) {
1037
+ if (!connectorId) {
1038
+ return 'Connector';
1039
+ }
1040
+ return _connectorCatalog.SUPERAGENT_CONNECTOR_CATALOG.find(connector => connector.id === connectorId)?.name ?? connectorId.split(/[_-]/).filter(Boolean).map(part => part.charAt(0).toUpperCase() + part.slice(1)).join(' ');
1041
+ }
1042
+ function formatDate(value) {
1043
+ if (!value) {
1044
+ return null;
1045
+ }
1046
+ const date = new Date(value);
1047
+ if (Number.isNaN(date.getTime())) {
1048
+ return value;
1049
+ }
1050
+ return date.toLocaleDateString();
1051
+ }
1052
+ function formatDateTime(value) {
1053
+ if (!value) {
1054
+ return null;
1055
+ }
1056
+ const date = new Date(value);
1057
+ if (Number.isNaN(date.getTime())) {
1058
+ return value;
1059
+ }
1060
+ return date.toLocaleString();
1061
+ }
1062
+ function ConnectorIcon({
1063
+ connector
1064
+ }) {
1065
+ const Icon = CONNECTOR_ICONS[connector.id] ?? _lucideReactNative.Plug;
1066
+ const iconBackgroundColor = connector.iconBackgroundColor ?? '#FFFFFF';
1067
+ const hasBrandIcon = (0, _connectorBrandIcons.hasConnectorBrandIcon)(connector.id);
1068
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
1069
+ style: [_editorShellStyles.editorShellStyles.connectorIcon, {
1070
+ backgroundColor: iconBackgroundColor
1071
+ }],
1072
+ children: hasBrandIcon ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_connectorBrandIcons.ConnectorBrandIcon, {
1073
+ connectorId: connector.id,
1074
+ size: 22
1075
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, {
1076
+ color: "#111827",
1077
+ size: 20,
1078
+ strokeWidth: 2.35
1079
+ })
1080
+ });
1081
+ }
1082
+ function StatusBadge({
1083
+ status
1084
+ }) {
1085
+ const isActive = status === 'active' || !status;
1086
+ const isDisconnected = status === 'disconnected';
1087
+ const Icon = isActive ? _lucideReactNative.Check : isDisconnected ? _lucideReactNative.Unplug : _lucideReactNative.AlertCircle;
1088
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
1089
+ style: [_editorShellStyles.editorShellStyles.statusBadge, isActive ? _editorShellStyles.editorShellStyles.statusBadgeActive : isDisconnected ? _editorShellStyles.editorShellStyles.statusBadgeDisconnected : _editorShellStyles.editorShellStyles.statusBadgeWarning],
1090
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, {
1091
+ color: isActive ? '#34D399' : isDisconnected ? '#A1A1AA' : '#FCA5A5',
1092
+ size: 11,
1093
+ strokeWidth: 2.7
1094
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
1095
+ style: [_editorShellStyles.editorShellStyles.statusBadgeText, isActive ? _editorShellStyles.editorShellStyles.statusBadgeTextActive : isDisconnected ? _editorShellStyles.editorShellStyles.statusBadgeTextDisconnected : _editorShellStyles.editorShellStyles.statusBadgeTextWarning],
1096
+ children: isActive ? 'Active' : status
1097
+ })]
1098
+ });
1099
+ }
1100
+ function PlaceholderSettingsPanel({
1101
+ tab
1102
+ }) {
1103
+ const label = (0, _editorTabs.getEditorTabLabel)(tab);
1104
+ const iconMap = {
1105
+ files: _lucideReactNative.FileText,
1106
+ tasks: _lucideReactNative.Settings
1107
+ };
1108
+ const Icon = iconMap[tab] ?? _lucideReactNative.Settings;
1109
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
1110
+ style: _editorShellStyles.editorShellStyles.placeholderPanel,
1111
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
1112
+ style: _editorShellStyles.editorShellStyles.placeholderIcon,
1113
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, {
1114
+ color: "#FF5A1F",
1115
+ size: 24,
1116
+ strokeWidth: 2.3
1117
+ })
1118
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
1119
+ style: _editorShellStyles.editorShellStyles.placeholderTitle,
1120
+ children: label
1121
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
1122
+ style: _editorShellStyles.editorShellStyles.placeholderBody,
1123
+ children: "This section now lives in the settings modal. The next slice can replace this placeholder with the matching native controls."
1124
+ })]
1125
+ });
1126
+ }
1127
+ //# sourceMappingURL=EditorDrawer.js.map