@base44/superagent-native 0.0.1 → 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 (332) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +12 -20
  3. package/lib/commonjs/AgentSettingsPanel.js +155 -62
  4. package/lib/commonjs/AgentSettingsPanel.js.map +1 -1
  5. package/lib/commonjs/AgentSphereIcon.js +14 -118
  6. package/lib/commonjs/AgentSphereIcon.js.map +1 -1
  7. package/lib/commonjs/AttachmentPickerStatusModal.js +5 -4
  8. package/lib/commonjs/AttachmentPickerStatusModal.js.map +1 -1
  9. package/lib/commonjs/ChannelsPanel.js +66 -44
  10. package/lib/commonjs/ChannelsPanel.js.map +1 -1
  11. package/lib/commonjs/ConversationChat.js +38 -13
  12. package/lib/commonjs/ConversationChat.js.map +1 -1
  13. package/lib/commonjs/ConversationComposer.js +18 -13
  14. package/lib/commonjs/ConversationComposer.js.map +1 -1
  15. package/lib/commonjs/ConversationScreen.js +4 -0
  16. package/lib/commonjs/ConversationScreen.js.map +1 -1
  17. package/lib/commonjs/EditorDrawer.js +54 -24
  18. package/lib/commonjs/EditorDrawer.js.map +1 -1
  19. package/lib/commonjs/FilesPanel.js +56 -20
  20. package/lib/commonjs/FilesPanel.js.map +1 -1
  21. package/lib/commonjs/MarkdownText.js +1 -1
  22. package/lib/commonjs/MarkdownText.js.map +1 -1
  23. package/lib/commonjs/MessageActionBar.js +10 -3
  24. package/lib/commonjs/MessageActionBar.js.map +1 -1
  25. package/lib/commonjs/RenameAgentModal.js +2 -1
  26. package/lib/commonjs/RenameAgentModal.js.map +1 -1
  27. package/lib/commonjs/ShareAgentModal.js +11 -10
  28. package/lib/commonjs/ShareAgentModal.js.map +1 -1
  29. package/lib/commonjs/ShareAgentModal.styles.js +2 -2
  30. package/lib/commonjs/ShareAgentModal.styles.js.map +1 -1
  31. package/lib/commonjs/SuperagentHomeScreen.js +44 -12
  32. package/lib/commonjs/SuperagentHomeScreen.js.map +1 -1
  33. package/lib/commonjs/ToolApprovalCard.js +73 -15
  34. package/lib/commonjs/ToolApprovalCard.js.map +1 -1
  35. package/lib/commonjs/ToolCallSummary.js +19 -10
  36. package/lib/commonjs/ToolCallSummary.js.map +1 -1
  37. package/lib/commonjs/agentSphereAssets.js +327 -0
  38. package/lib/commonjs/agentSphereAssets.js.map +1 -0
  39. package/lib/commonjs/agentSphereStyles.js +3 -3
  40. package/lib/commonjs/agentSphereStyles.js.map +1 -1
  41. package/lib/commonjs/apiClient.js +7 -0
  42. package/lib/commonjs/apiClient.js.map +1 -1
  43. package/lib/commonjs/attachmentUpload.js +2 -1
  44. package/lib/commonjs/attachmentUpload.js.map +1 -1
  45. package/lib/commonjs/composerStyles.js +2 -2
  46. package/lib/commonjs/composerStyles.js.map +1 -1
  47. package/lib/commonjs/connectorBrandIcons.generated.js +625 -0
  48. package/lib/commonjs/connectorBrandIcons.generated.js.map +1 -0
  49. package/lib/commonjs/connectorBrandIcons.js +3 -55
  50. package/lib/commonjs/connectorBrandIcons.js.map +1 -1
  51. package/lib/commonjs/connectorCatalog.js +19 -1
  52. package/lib/commonjs/connectorCatalog.js.map +1 -1
  53. package/lib/commonjs/conversationParts.js +5 -4
  54. package/lib/commonjs/conversationParts.js.map +1 -1
  55. package/lib/commonjs/conversationRuntime.js +152 -9
  56. package/lib/commonjs/conversationRuntime.js.map +1 -1
  57. package/lib/commonjs/conversationStyles.js +2 -1
  58. package/lib/commonjs/conversationStyles.js.map +1 -1
  59. package/lib/commonjs/editorShellStyles.js +6 -2
  60. package/lib/commonjs/editorShellStyles.js.map +1 -1
  61. package/lib/commonjs/fileTreeUtils.js +7 -0
  62. package/lib/commonjs/fileTreeUtils.js.map +1 -1
  63. package/lib/commonjs/index.js +7 -0
  64. package/lib/commonjs/index.js.map +1 -1
  65. package/lib/commonjs/markdownStyles.js +2 -2
  66. package/lib/commonjs/markdownStyles.js.map +1 -1
  67. package/lib/commonjs/messageActionStyles.js +2 -2
  68. package/lib/commonjs/messageActionStyles.js.map +1 -1
  69. package/lib/commonjs/realtimeClient.js +4 -1
  70. package/lib/commonjs/realtimeClient.js.map +1 -1
  71. package/lib/commonjs/renameAgentModalStyles.js +2 -2
  72. package/lib/commonjs/renameAgentModalStyles.js.map +1 -1
  73. package/lib/commonjs/screenParts.js +24 -41
  74. package/lib/commonjs/screenParts.js.map +1 -1
  75. package/lib/commonjs/styles.js +32 -21
  76. package/lib/commonjs/styles.js.map +1 -1
  77. package/lib/commonjs/superagentApiClient.js +63 -18
  78. package/lib/commonjs/superagentApiClient.js.map +1 -1
  79. package/lib/commonjs/theme.js +249 -0
  80. package/lib/commonjs/theme.js.map +1 -0
  81. package/lib/commonjs/useSuperagentConversation.js +240 -44
  82. package/lib/commonjs/useSuperagentConversation.js.map +1 -1
  83. package/lib/commonjs/useSuperagentRuntime.js +245 -105
  84. package/lib/commonjs/useSuperagentRuntime.js.map +1 -1
  85. package/lib/module/AgentSettingsPanel.js +157 -64
  86. package/lib/module/AgentSettingsPanel.js.map +1 -1
  87. package/lib/module/AgentSphereIcon.js +15 -118
  88. package/lib/module/AgentSphereIcon.js.map +1 -1
  89. package/lib/module/AttachmentPickerStatusModal.js +6 -5
  90. package/lib/module/AttachmentPickerStatusModal.js.map +1 -1
  91. package/lib/module/ChannelsPanel.js +67 -45
  92. package/lib/module/ChannelsPanel.js.map +1 -1
  93. package/lib/module/ConversationChat.js +38 -13
  94. package/lib/module/ConversationChat.js.map +1 -1
  95. package/lib/module/ConversationComposer.js +18 -13
  96. package/lib/module/ConversationComposer.js.map +1 -1
  97. package/lib/module/ConversationScreen.js +4 -0
  98. package/lib/module/ConversationScreen.js.map +1 -1
  99. package/lib/module/EditorDrawer.js +55 -25
  100. package/lib/module/EditorDrawer.js.map +1 -1
  101. package/lib/module/FilesPanel.js +56 -20
  102. package/lib/module/FilesPanel.js.map +1 -1
  103. package/lib/module/MarkdownText.js +1 -1
  104. package/lib/module/MarkdownText.js.map +1 -1
  105. package/lib/module/MessageActionBar.js +10 -3
  106. package/lib/module/MessageActionBar.js.map +1 -1
  107. package/lib/module/RenameAgentModal.js +2 -1
  108. package/lib/module/RenameAgentModal.js.map +1 -1
  109. package/lib/module/ShareAgentModal.js +11 -10
  110. package/lib/module/ShareAgentModal.js.map +1 -1
  111. package/lib/module/ShareAgentModal.styles.js +2 -2
  112. package/lib/module/ShareAgentModal.styles.js.map +1 -1
  113. package/lib/module/SuperagentHomeScreen.js +45 -13
  114. package/lib/module/SuperagentHomeScreen.js.map +1 -1
  115. package/lib/module/ToolApprovalCard.js +73 -15
  116. package/lib/module/ToolApprovalCard.js.map +1 -1
  117. package/lib/module/ToolCallSummary.js +19 -10
  118. package/lib/module/ToolCallSummary.js.map +1 -1
  119. package/lib/module/agentSphereAssets.js +323 -0
  120. package/lib/module/agentSphereAssets.js.map +1 -0
  121. package/lib/module/agentSphereStyles.js +3 -3
  122. package/lib/module/agentSphereStyles.js.map +1 -1
  123. package/lib/module/apiClient.js +7 -0
  124. package/lib/module/apiClient.js.map +1 -1
  125. package/lib/module/attachmentUpload.js +2 -1
  126. package/lib/module/attachmentUpload.js.map +1 -1
  127. package/lib/module/composerStyles.js +2 -2
  128. package/lib/module/composerStyles.js.map +1 -1
  129. package/lib/module/connectorBrandIcons.generated.js +621 -0
  130. package/lib/module/connectorBrandIcons.generated.js.map +1 -0
  131. package/lib/module/connectorBrandIcons.js +1 -53
  132. package/lib/module/connectorBrandIcons.js.map +1 -1
  133. package/lib/module/connectorCatalog.js +17 -0
  134. package/lib/module/connectorCatalog.js.map +1 -1
  135. package/lib/module/conversationParts.js +5 -4
  136. package/lib/module/conversationParts.js.map +1 -1
  137. package/lib/module/conversationRuntime.js +149 -9
  138. package/lib/module/conversationRuntime.js.map +1 -1
  139. package/lib/module/conversationStyles.js +3 -2
  140. package/lib/module/conversationStyles.js.map +1 -1
  141. package/lib/module/editorShellStyles.js +6 -2
  142. package/lib/module/editorShellStyles.js.map +1 -1
  143. package/lib/module/fileTreeUtils.js +6 -0
  144. package/lib/module/fileTreeUtils.js.map +1 -1
  145. package/lib/module/index.js +1 -0
  146. package/lib/module/index.js.map +1 -1
  147. package/lib/module/markdownStyles.js +2 -2
  148. package/lib/module/markdownStyles.js.map +1 -1
  149. package/lib/module/messageActionStyles.js +2 -2
  150. package/lib/module/messageActionStyles.js.map +1 -1
  151. package/lib/module/realtimeClient.js +4 -1
  152. package/lib/module/realtimeClient.js.map +1 -1
  153. package/lib/module/renameAgentModalStyles.js +2 -2
  154. package/lib/module/renameAgentModalStyles.js.map +1 -1
  155. package/lib/module/screenParts.js +25 -42
  156. package/lib/module/screenParts.js.map +1 -1
  157. package/lib/module/styles.js +32 -21
  158. package/lib/module/styles.js.map +1 -1
  159. package/lib/module/superagentApiClient.js +63 -18
  160. package/lib/module/superagentApiClient.js.map +1 -1
  161. package/lib/module/theme.js +239 -0
  162. package/lib/module/theme.js.map +1 -0
  163. package/lib/module/useSuperagentConversation.js +242 -46
  164. package/lib/module/useSuperagentConversation.js.map +1 -1
  165. package/lib/module/useSuperagentRuntime.js +246 -106
  166. package/lib/module/useSuperagentRuntime.js.map +1 -1
  167. package/lib/typescript/commonjs/AgentSettingsPanel.d.ts.map +1 -1
  168. package/lib/typescript/commonjs/AgentSphereIcon.d.ts.map +1 -1
  169. package/lib/typescript/commonjs/AttachmentPickerStatusModal.d.ts.map +1 -1
  170. package/lib/typescript/commonjs/ChannelsPanel.d.ts.map +1 -1
  171. package/lib/typescript/commonjs/ConversationChat.d.ts +1 -1
  172. package/lib/typescript/commonjs/ConversationChat.d.ts.map +1 -1
  173. package/lib/typescript/commonjs/ConversationComposer.d.ts.map +1 -1
  174. package/lib/typescript/commonjs/ConversationMessageList.d.ts +1 -1
  175. package/lib/typescript/commonjs/ConversationMessageList.d.ts.map +1 -1
  176. package/lib/typescript/commonjs/ConversationScreen.d.ts +2 -1
  177. package/lib/typescript/commonjs/ConversationScreen.d.ts.map +1 -1
  178. package/lib/typescript/commonjs/EditorDrawer.d.ts +1 -1
  179. package/lib/typescript/commonjs/EditorDrawer.d.ts.map +1 -1
  180. package/lib/typescript/commonjs/FilesPanel.d.ts.map +1 -1
  181. package/lib/typescript/commonjs/RenameAgentModal.d.ts.map +1 -1
  182. package/lib/typescript/commonjs/ShareAgentModal.d.ts.map +1 -1
  183. package/lib/typescript/commonjs/ShareAgentModal.styles.d.ts.map +1 -1
  184. package/lib/typescript/commonjs/SuperagentHomeScreen.d.ts.map +1 -1
  185. package/lib/typescript/commonjs/ToolApprovalCard.d.ts +3 -3
  186. package/lib/typescript/commonjs/ToolApprovalCard.d.ts.map +1 -1
  187. package/lib/typescript/commonjs/ToolCallSummary.d.ts +1 -1
  188. package/lib/typescript/commonjs/ToolCallSummary.d.ts.map +1 -1
  189. package/lib/typescript/commonjs/agentSphereAssets.d.ts +2 -0
  190. package/lib/typescript/commonjs/agentSphereAssets.d.ts.map +1 -0
  191. package/lib/typescript/commonjs/agentSphereStyles.d.ts.map +1 -1
  192. package/lib/typescript/commonjs/apiClient.d.ts.map +1 -1
  193. package/lib/typescript/commonjs/composerStyles.d.ts.map +1 -1
  194. package/lib/typescript/commonjs/connectorBrandIcons.d.ts.map +1 -1
  195. package/lib/typescript/commonjs/connectorBrandIcons.generated.d.ts +2 -0
  196. package/lib/typescript/commonjs/connectorBrandIcons.generated.d.ts.map +1 -0
  197. package/lib/typescript/commonjs/connectorCatalog.d.ts +2 -0
  198. package/lib/typescript/commonjs/connectorCatalog.d.ts.map +1 -1
  199. package/lib/typescript/commonjs/conversationParts.d.ts +1 -1
  200. package/lib/typescript/commonjs/conversationParts.d.ts.map +1 -1
  201. package/lib/typescript/commonjs/conversationRuntime.d.ts +9 -3
  202. package/lib/typescript/commonjs/conversationRuntime.d.ts.map +1 -1
  203. package/lib/typescript/commonjs/conversationStyles.d.ts.map +1 -1
  204. package/lib/typescript/commonjs/editorShellStyles.d.ts +4 -0
  205. package/lib/typescript/commonjs/editorShellStyles.d.ts.map +1 -1
  206. package/lib/typescript/commonjs/fileTreeUtils.d.ts +1 -0
  207. package/lib/typescript/commonjs/fileTreeUtils.d.ts.map +1 -1
  208. package/lib/typescript/commonjs/index.d.ts +2 -0
  209. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  210. package/lib/typescript/commonjs/markdownStyles.d.ts.map +1 -1
  211. package/lib/typescript/commonjs/messageActionStyles.d.ts.map +1 -1
  212. package/lib/typescript/commonjs/realtimeClient.d.ts.map +1 -1
  213. package/lib/typescript/commonjs/renameAgentModalStyles.d.ts.map +1 -1
  214. package/lib/typescript/commonjs/screenParts.d.ts +1 -1
  215. package/lib/typescript/commonjs/screenParts.d.ts.map +1 -1
  216. package/lib/typescript/commonjs/styles.d.ts +20 -11
  217. package/lib/typescript/commonjs/styles.d.ts.map +1 -1
  218. package/lib/typescript/commonjs/superagentApiClient.d.ts +2 -1
  219. package/lib/typescript/commonjs/superagentApiClient.d.ts.map +1 -1
  220. package/lib/typescript/commonjs/theme.d.ts +36 -0
  221. package/lib/typescript/commonjs/theme.d.ts.map +1 -0
  222. package/lib/typescript/commonjs/types.d.ts +17 -2
  223. package/lib/typescript/commonjs/types.d.ts.map +1 -1
  224. package/lib/typescript/commonjs/useSuperagentConversation.d.ts +3 -2
  225. package/lib/typescript/commonjs/useSuperagentConversation.d.ts.map +1 -1
  226. package/lib/typescript/commonjs/useSuperagentRuntime.d.ts +5 -2
  227. package/lib/typescript/commonjs/useSuperagentRuntime.d.ts.map +1 -1
  228. package/lib/typescript/module/AgentSettingsPanel.d.ts.map +1 -1
  229. package/lib/typescript/module/AgentSphereIcon.d.ts.map +1 -1
  230. package/lib/typescript/module/AttachmentPickerStatusModal.d.ts.map +1 -1
  231. package/lib/typescript/module/ChannelsPanel.d.ts.map +1 -1
  232. package/lib/typescript/module/ConversationChat.d.ts +1 -1
  233. package/lib/typescript/module/ConversationChat.d.ts.map +1 -1
  234. package/lib/typescript/module/ConversationComposer.d.ts.map +1 -1
  235. package/lib/typescript/module/ConversationMessageList.d.ts +1 -1
  236. package/lib/typescript/module/ConversationMessageList.d.ts.map +1 -1
  237. package/lib/typescript/module/ConversationScreen.d.ts +2 -1
  238. package/lib/typescript/module/ConversationScreen.d.ts.map +1 -1
  239. package/lib/typescript/module/EditorDrawer.d.ts +1 -1
  240. package/lib/typescript/module/EditorDrawer.d.ts.map +1 -1
  241. package/lib/typescript/module/FilesPanel.d.ts.map +1 -1
  242. package/lib/typescript/module/RenameAgentModal.d.ts.map +1 -1
  243. package/lib/typescript/module/ShareAgentModal.d.ts.map +1 -1
  244. package/lib/typescript/module/ShareAgentModal.styles.d.ts.map +1 -1
  245. package/lib/typescript/module/SuperagentHomeScreen.d.ts.map +1 -1
  246. package/lib/typescript/module/ToolApprovalCard.d.ts +3 -3
  247. package/lib/typescript/module/ToolApprovalCard.d.ts.map +1 -1
  248. package/lib/typescript/module/ToolCallSummary.d.ts +1 -1
  249. package/lib/typescript/module/ToolCallSummary.d.ts.map +1 -1
  250. package/lib/typescript/module/agentSphereAssets.d.ts +2 -0
  251. package/lib/typescript/module/agentSphereAssets.d.ts.map +1 -0
  252. package/lib/typescript/module/agentSphereStyles.d.ts.map +1 -1
  253. package/lib/typescript/module/apiClient.d.ts.map +1 -1
  254. package/lib/typescript/module/composerStyles.d.ts.map +1 -1
  255. package/lib/typescript/module/connectorBrandIcons.d.ts.map +1 -1
  256. package/lib/typescript/module/connectorBrandIcons.generated.d.ts +2 -0
  257. package/lib/typescript/module/connectorBrandIcons.generated.d.ts.map +1 -0
  258. package/lib/typescript/module/connectorCatalog.d.ts +2 -0
  259. package/lib/typescript/module/connectorCatalog.d.ts.map +1 -1
  260. package/lib/typescript/module/conversationParts.d.ts +1 -1
  261. package/lib/typescript/module/conversationParts.d.ts.map +1 -1
  262. package/lib/typescript/module/conversationRuntime.d.ts +9 -3
  263. package/lib/typescript/module/conversationRuntime.d.ts.map +1 -1
  264. package/lib/typescript/module/conversationStyles.d.ts.map +1 -1
  265. package/lib/typescript/module/editorShellStyles.d.ts +4 -0
  266. package/lib/typescript/module/editorShellStyles.d.ts.map +1 -1
  267. package/lib/typescript/module/fileTreeUtils.d.ts +1 -0
  268. package/lib/typescript/module/fileTreeUtils.d.ts.map +1 -1
  269. package/lib/typescript/module/index.d.ts +2 -0
  270. package/lib/typescript/module/index.d.ts.map +1 -1
  271. package/lib/typescript/module/markdownStyles.d.ts.map +1 -1
  272. package/lib/typescript/module/messageActionStyles.d.ts.map +1 -1
  273. package/lib/typescript/module/realtimeClient.d.ts.map +1 -1
  274. package/lib/typescript/module/renameAgentModalStyles.d.ts.map +1 -1
  275. package/lib/typescript/module/screenParts.d.ts +1 -1
  276. package/lib/typescript/module/screenParts.d.ts.map +1 -1
  277. package/lib/typescript/module/styles.d.ts +20 -11
  278. package/lib/typescript/module/styles.d.ts.map +1 -1
  279. package/lib/typescript/module/superagentApiClient.d.ts +2 -1
  280. package/lib/typescript/module/superagentApiClient.d.ts.map +1 -1
  281. package/lib/typescript/module/theme.d.ts +36 -0
  282. package/lib/typescript/module/theme.d.ts.map +1 -0
  283. package/lib/typescript/module/types.d.ts +17 -2
  284. package/lib/typescript/module/types.d.ts.map +1 -1
  285. package/lib/typescript/module/useSuperagentConversation.d.ts +3 -2
  286. package/lib/typescript/module/useSuperagentConversation.d.ts.map +1 -1
  287. package/lib/typescript/module/useSuperagentRuntime.d.ts +5 -2
  288. package/lib/typescript/module/useSuperagentRuntime.d.ts.map +1 -1
  289. package/package.json +13 -11
  290. package/src/AgentSettingsPanel.tsx +146 -58
  291. package/src/AgentSphereIcon.tsx +11 -62
  292. package/src/AttachmentPickerStatusModal.tsx +6 -5
  293. package/src/ChannelsPanel.tsx +59 -39
  294. package/src/ConversationChat.tsx +49 -12
  295. package/src/ConversationComposer.tsx +18 -12
  296. package/src/ConversationMessageList.tsx +1 -1
  297. package/src/ConversationScreen.tsx +5 -0
  298. package/src/EditorDrawer.tsx +66 -41
  299. package/src/FilesPanel.tsx +48 -20
  300. package/src/MarkdownText.tsx +1 -1
  301. package/src/MessageActionBar.tsx +9 -3
  302. package/src/RenameAgentModal.tsx +2 -1
  303. package/src/ShareAgentModal.styles.ts +2 -1
  304. package/src/ShareAgentModal.tsx +9 -8
  305. package/src/SuperagentHomeScreen.tsx +45 -10
  306. package/src/ToolApprovalCard.tsx +83 -15
  307. package/src/ToolCallSummary.tsx +22 -13
  308. package/src/agentSphereAssets.ts +325 -0
  309. package/src/agentSphereStyles.ts +3 -2
  310. package/src/apiClient.ts +7 -0
  311. package/src/attachmentUpload.ts +2 -1
  312. package/src/composerStyles.ts +2 -1
  313. package/src/connectorBrandIcons.generated.ts +618 -0
  314. package/src/connectorBrandIcons.tsx +1 -53
  315. package/src/connectorCatalog.ts +24 -0
  316. package/src/conversationParts.tsx +6 -5
  317. package/src/conversationRuntime.ts +166 -11
  318. package/src/conversationStyles.ts +2 -1
  319. package/src/editorShellStyles.ts +6 -1
  320. package/src/fileTreeUtils.ts +13 -0
  321. package/src/index.ts +2 -0
  322. package/src/markdownStyles.ts +2 -1
  323. package/src/messageActionStyles.ts +2 -1
  324. package/src/realtimeClient.ts +7 -1
  325. package/src/renameAgentModalStyles.ts +2 -1
  326. package/src/screenParts.tsx +17 -29
  327. package/src/styles.ts +25 -16
  328. package/src/superagentApiClient.ts +68 -18
  329. package/src/theme.ts +254 -0
  330. package/src/types.ts +22 -2
  331. package/src/useSuperagentConversation.ts +247 -45
  332. package/src/useSuperagentRuntime.ts +244 -107
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 base44
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OF OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
package/README.md CHANGED
@@ -19,17 +19,7 @@ The build emits CommonJS, ES module, and TypeScript declaration files under
19
19
  resolve to that built output, while `source` stays pointed at `src/index.ts` for
20
20
  the Bob build pipeline.
21
21
 
22
- ## Web preview
23
-
24
- Run the mock web preview before connecting the package to the native app:
25
-
26
- ```sh
27
- npm run preview:web -w @base44/superagent-native
28
- ```
29
-
30
- It serves a Vite app on `http://localhost:5177/` and uses `react-native-web` to
31
- render the package source with mock agents, messages, markdown, media actions,
32
- and custom tool widgets.
22
+ ## Usage
33
23
 
34
24
  ```tsx
35
25
  import { useMemo } from 'react';
@@ -109,15 +99,17 @@ widgets for specific tool call names.
109
99
  ## Publishing
110
100
 
111
101
  This package is published publicly to **npm** (`registry.npmjs.org`) under the
112
- `@base44` org, automated by the
113
- [`Publish superagent-native`](../../.github/workflows/publish-superagent-native.yml)
114
- workflow using [changesets](../../.changeset/README.md). Publishing authenticates
115
- via **npm Trusted Publishing (OIDC)** — there is no long-lived npm token; CI mints
116
- a short-lived credential at publish time.
117
-
118
- To ship a new version: include a changeset in your PR (`pnpm changeset`, pick
119
- `@base44/superagent-native`). On merge to `main` a "version packages" PR is
120
- opened; merging it builds and publishes the new version.
102
+ `@base44` org by the
103
+ [`Publish superagent-native`](../../../.github/workflows/publish-superagent-native.yml)
104
+ workflow. Publishing authenticates via **npm Trusted Publishing (OIDC)** there
105
+ is no long-lived npm token; CI mints a short-lived credential at publish time.
106
+
107
+ **Auto-bump on merge, nothing written to git:** you don't touch the version. On
108
+ every merge to `main` that changes `packages/superagent-native/**`, the workflow
109
+ reads the latest published version from npm, increments the **patch**, and
110
+ publishes that without committing or pushing anything back to the repo. npm is
111
+ the source of truth for the version; the `version` field in this `package.json`
112
+ is **cosmetic** and is not used by the publish.
121
113
 
122
114
  > First-time setup only: the package must exist on npm before OIDC works, so the
123
115
  > very first version is published manually
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.AgentSettingsPanel = AgentSettingsPanel;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
+ var _theme = require("./theme.js");
8
9
  var _reactNative = require("react-native");
9
10
  var _lucideReactNative = require("lucide-react-native");
10
11
  var _connectorBrandIcons = require("./connectorBrandIcons.js");
@@ -75,19 +76,36 @@ function AgentSettingsPanel({
75
76
  onUpdateToolPermissions,
76
77
  secrets = []
77
78
  }) {
79
+ const {
80
+ scheme,
81
+ setScheme
82
+ } = (0, _theme.useSuperagentTheme)();
78
83
  const [guardDrafts, setGuardDrafts] = (0, _react.useState)({});
79
84
  const [newSecretName, setNewSecretName] = (0, _react.useState)('');
80
85
  const [newSecretValue, setNewSecretValue] = (0, _react.useState)('');
81
86
  const [isModelPickerOpen, setIsModelPickerOpen] = (0, _react.useState)(false);
82
87
  const [pendingAction, setPendingAction] = (0, _react.useState)(null);
88
+ const [deletingSecretName, setDeletingSecretName] = (0, _react.useState)(null);
83
89
  const [visibleSecrets, setVisibleSecrets] = (0, _react.useState)(new Set());
84
- const permissions = normalizePermissions(agent.toolsPermissionConfig);
90
+ const permissions = (0, _react.useMemo)(() => normalizePermissions(agent.toolsPermissionConfig), [agent.toolsPermissionConfig]);
91
+ // Optimistic override for the permission toggles: flipped immediately on
92
+ // press, cleared when fresh server state arrives, reverted on failure.
93
+ const [optimisticOps, setOptimisticOps] = (0, _react.useState)(null);
94
+ const autoApprovedOps = optimisticOps ?? permissions.auto_approved_operations;
85
95
  const selectedModel = (0, _react.useMemo)(() => MODEL_OPTIONS.find(model => model.id === (agent.model || 'default')) ?? MODEL_OPTIONS[0], [agent.model]);
86
96
  const activeConnectorIds = (0, _react.useMemo)(() => connectedConnectors.filter(connector => connector.status !== 'expired' && connector.status !== 'disconnected').map(connector => connector.id), [connectedConnectors]);
87
97
  const guardDraftsDirty = (0, _react.useMemo)(() => JSON.stringify(cleanGuards(guardDrafts)) !== JSON.stringify(permissions.connector_guards), [guardDrafts, permissions.connector_guards]);
88
98
  (0, _react.useEffect)(() => {
99
+ // Seed guard drafts only when switching agents — not on every
100
+ // toolsPermissionConfig change — so in-progress guard edits aren't wiped by
101
+ // an unrelated permission toggle before "Save rules" is pressed.
89
102
  setGuardDrafts(permissions.connector_guards);
90
- }, [agent.id, permissions.connector_guards]);
103
+ // eslint-disable-next-line react-hooks/exhaustive-deps
104
+ }, [agent.id]);
105
+ (0, _react.useEffect)(() => {
106
+ // Fresh server state (or an agent switch) supersedes the optimistic flip.
107
+ setOptimisticOps(null);
108
+ }, [agent.id, agent.toolsPermissionConfig]);
91
109
  const runAction = async (action, handler) => {
92
110
  if (pendingAction) {
93
111
  return;
@@ -99,17 +117,58 @@ function AgentSettingsPanel({
99
117
  setPendingAction(null);
100
118
  }
101
119
  };
102
- const updatePermissions = async (nextConfig, action = 'toggle-permission') => {
120
+ const updatePermissions = async (nextConfig, action) => {
121
+ if (!onUpdateToolPermissions) {
122
+ return;
123
+ }
124
+ try {
125
+ await runAction(action, () => onUpdateToolPermissions({
126
+ agentId: agent.id,
127
+ config: {
128
+ auto_approved_operations: nextConfig.auto_approved_operations ?? [],
129
+ connector_guards: cleanGuards(nextConfig.connector_guards ?? {})
130
+ }
131
+ }));
132
+ } catch {
133
+ // onUpdateToolPermissions already surfaced the error; guard drafts stay
134
+ // dirty so the user can retry. (Nothing optimistic to revert on this path.)
135
+ }
136
+ };
137
+ const toggleOperation = (operationId, enabled) => {
103
138
  if (!onUpdateToolPermissions) {
104
139
  return;
105
140
  }
106
- await runAction(action, () => onUpdateToolPermissions({
141
+ const nextOps = new Set(autoApprovedOps);
142
+ if (enabled) {
143
+ nextOps.add(operationId);
144
+ } else {
145
+ nextOps.delete(operationId);
146
+ }
147
+ const nextList = Array.from(nextOps);
148
+
149
+ // Optimistic: flip the switch now, sync with the server in the background,
150
+ // and fall back to the last known server state if the update fails.
151
+ setOptimisticOps(nextList);
152
+ Promise.resolve(onUpdateToolPermissions({
107
153
  agentId: agent.id,
108
154
  config: {
109
- auto_approved_operations: nextConfig.auto_approved_operations ?? [],
110
- connector_guards: cleanGuards(nextConfig.connector_guards ?? {})
155
+ auto_approved_operations: nextList,
156
+ connector_guards: cleanGuards(permissions.connector_guards)
111
157
  }
112
- }));
158
+ })).catch(() => {
159
+ // Revert only this operation, not every optimistic flip: a sibling toggle
160
+ // the user changed in parallel may have already saved successfully, and
161
+ // clearing all optimistic state would visually undo it until a refresh.
162
+ setOptimisticOps(current => {
163
+ const reverted = new Set(current ?? permissions.auto_approved_operations);
164
+ if (enabled) {
165
+ reverted.delete(operationId);
166
+ } else {
167
+ reverted.add(operationId);
168
+ }
169
+ return Array.from(reverted);
170
+ });
171
+ });
113
172
  };
114
173
  const selectModel = model => {
115
174
  if (!onUpdateAgentModel || pendingAction === 'model') {
@@ -138,28 +197,43 @@ function AgentSettingsPanel({
138
197
  };
139
198
  const addSecret = async () => {
140
199
  const name = newSecretName.trim().toUpperCase();
141
- const value = newSecretValue.trim();
142
- if (!name || !value || !onSaveSecret) {
200
+ // Preserve the secret value byte-for-byte — PEM keys, tokens with a trailing
201
+ // newline, and whitespace-sensitive passwords must reach the backend exactly as
202
+ // typed (the API client sends it raw). Only require it to be non-empty.
203
+ const value = newSecretValue;
204
+ if (!name || !value.trim() || !onSaveSecret) {
143
205
  return;
144
206
  }
145
- await runAction('save-secret', async () => {
146
- await onSaveSecret({
147
- agentId: agent.id,
148
- name,
149
- value
207
+
208
+ // Only clear the inputs after a successful save; if onSaveSecret rejects it
209
+ // already surfaced the error, and we keep the typed values so they aren't lost.
210
+ try {
211
+ await runAction('save-secret', async () => {
212
+ await onSaveSecret({
213
+ agentId: agent.id,
214
+ name,
215
+ value
216
+ });
217
+ setNewSecretName('');
218
+ setNewSecretValue('');
150
219
  });
151
- setNewSecretName('');
152
- setNewSecretValue('');
153
- });
220
+ } catch {
221
+ // onSaveSecret already surfaced the error; keep the form populated.
222
+ }
154
223
  };
155
224
  const deleteSecret = async secret => {
156
225
  if (!onDeleteSecret) {
157
226
  return;
158
227
  }
159
- await runAction('delete-secret', () => onDeleteSecret({
160
- agentId: agent.id,
161
- name: secret.name
162
- }));
228
+ setDeletingSecretName(secret.name);
229
+ try {
230
+ await runAction('delete-secret', () => onDeleteSecret({
231
+ agentId: agent.id,
232
+ name: secret.name
233
+ }));
234
+ } finally {
235
+ setDeletingSecretName(null);
236
+ }
163
237
  };
164
238
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
165
239
  style: _editorShellStyles.editorShellStyles.settingsStack,
@@ -191,10 +265,10 @@ function AgentSettingsPanel({
191
265
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
192
266
  style: localStyles.modelDropdownIcon,
193
267
  children: pendingAction === 'model' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
194
- color: "#F4F4F5",
268
+ color: (0, _theme.themedColor)('#F4F4F5'),
195
269
  size: "small"
196
270
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_lucideReactNative.ChevronDown, {
197
- color: "#F4F4F5",
271
+ color: (0, _theme.themedColor)('#F4F4F5'),
198
272
  size: 20,
199
273
  strokeWidth: 2.5
200
274
  })
@@ -236,11 +310,11 @@ function AgentSettingsPanel({
236
310
  pressed
237
311
  }) => [localStyles.iconButton, pressed && _styles.styles.pressed],
238
312
  children: isVisible ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_lucideReactNative.EyeOff, {
239
- color: "#E4E4E7",
313
+ color: (0, _theme.themedColor)('#E4E4E7'),
240
314
  size: 16,
241
315
  strokeWidth: 2.4
242
316
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_lucideReactNative.Eye, {
243
- color: "#E4E4E7",
317
+ color: (0, _theme.themedColor)('#E4E4E7'),
244
318
  size: 16,
245
319
  strokeWidth: 2.4
246
320
  })
@@ -252,11 +326,11 @@ function AgentSettingsPanel({
252
326
  style: ({
253
327
  pressed
254
328
  }) => [localStyles.iconButtonDanger, pressed && _styles.styles.pressed],
255
- children: pendingAction === 'delete-secret' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
256
- color: "#FCA5A5",
329
+ children: deletingSecretName === secret.name ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
330
+ color: (0, _theme.themedColor)('#FCA5A5'),
257
331
  size: "small"
258
332
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_lucideReactNative.Trash2, {
259
- color: "#FCA5A5",
333
+ color: (0, _theme.themedColor)('#FCA5A5'),
260
334
  size: 16,
261
335
  strokeWidth: 2.4
262
336
  })
@@ -272,13 +346,13 @@ function AgentSettingsPanel({
272
346
  autoCapitalize: "characters",
273
347
  onChangeText: value => setNewSecretName(value.toUpperCase()),
274
348
  placeholder: "SECRET_NAME",
275
- placeholderTextColor: "#71717A",
349
+ placeholderTextColor: (0, _theme.themedColor)('#71717A'),
276
350
  style: localStyles.textInput,
277
351
  value: newSecretName
278
352
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
279
353
  onChangeText: setNewSecretValue,
280
354
  placeholder: "Value",
281
- placeholderTextColor: "#71717A",
355
+ placeholderTextColor: (0, _theme.themedColor)('#71717A'),
282
356
  secureTextEntry: true,
283
357
  style: localStyles.textInput,
284
358
  value: newSecretValue
@@ -291,10 +365,10 @@ function AgentSettingsPanel({
291
365
  pressed
292
366
  }) => [localStyles.primaryButton, (!onSaveSecret || !newSecretName.trim() || !newSecretValue.trim()) && localStyles.disabledButton, pressed && _styles.styles.pressed],
293
367
  children: [pendingAction === 'save-secret' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
294
- color: "#111111",
368
+ color: (0, _theme.themedColor)('#111111'),
295
369
  size: "small"
296
370
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_lucideReactNative.Plus, {
297
- color: "#111111",
371
+ color: (0, _theme.themedColor)('#111111'),
298
372
  size: 16,
299
373
  strokeWidth: 2.6
300
374
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
@@ -303,12 +377,38 @@ function AgentSettingsPanel({
303
377
  })]
304
378
  })]
305
379
  })]
380
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(SettingsSection, {
381
+ icon: _lucideReactNative.Moon,
382
+ subtitle: "Choose how Superagent looks on this device.",
383
+ title: "Appearance",
384
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
385
+ style: localStyles.permissionRow,
386
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
387
+ style: localStyles.permissionText,
388
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
389
+ style: localStyles.rowTitle,
390
+ children: "Dark mode"
391
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
392
+ style: localStyles.rowBody,
393
+ children: "Use the dark theme across all Superagent screens."
394
+ })]
395
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Switch, {
396
+ ios_backgroundColor: (0, _theme.themedSurface)('#2A2A2A'),
397
+ onValueChange: enabled => setScheme(enabled ? 'dark' : 'light'),
398
+ thumbColor: "#F4F4F5",
399
+ trackColor: {
400
+ false: (0, _theme.themedSurface)('#2A2A2A'),
401
+ true: '#246B43'
402
+ },
403
+ value: scheme === 'dark'
404
+ })]
405
+ })
306
406
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(SettingsSection, {
307
407
  icon: _lucideReactNative.ShieldCheck,
308
408
  subtitle: "Matches the web tool permission controls.",
309
409
  title: "Tool Permissions",
310
410
  children: TOOL_OPERATIONS.map(operation => {
311
- const isEnabled = permissions.auto_approved_operations.includes(operation.id);
411
+ const isEnabled = autoApprovedOps.includes(operation.id);
312
412
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
313
413
  style: localStyles.permissionRow,
314
414
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
@@ -321,23 +421,12 @@ function AgentSettingsPanel({
321
421
  children: operation.body
322
422
  })]
323
423
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Switch, {
324
- disabled: !onUpdateToolPermissions || pendingAction === 'toggle-permission',
325
- ios_backgroundColor: "#2A2A2A",
326
- onValueChange: enabled => {
327
- const nextOps = new Set(permissions.auto_approved_operations);
328
- if (enabled) {
329
- nextOps.add(operation.id);
330
- } else {
331
- nextOps.delete(operation.id);
332
- }
333
- updatePermissions({
334
- ...permissions,
335
- auto_approved_operations: Array.from(nextOps)
336
- });
337
- },
424
+ disabled: !onUpdateToolPermissions,
425
+ ios_backgroundColor: (0, _theme.themedSurface)('#2A2A2A'),
426
+ onValueChange: enabled => toggleOperation(operation.id, enabled),
338
427
  thumbColor: "#F4F4F5",
339
428
  trackColor: {
340
- false: '#2A2A2A',
429
+ false: (0, _theme.themedSurface)('#2A2A2A'),
341
430
  true: '#246B43'
342
431
  },
343
432
  value: isEnabled
@@ -383,7 +472,7 @@ function AgentSettingsPanel({
383
472
  }));
384
473
  },
385
474
  placeholder: "Example: ask before sending email outside my domain.",
386
- placeholderTextColor: "#71717A",
475
+ placeholderTextColor: (0, _theme.themedColor)('#71717A'),
387
476
  style: [localStyles.textInput, localStyles.guardInput],
388
477
  value: guardDrafts[connectorId] ?? ''
389
478
  })]
@@ -396,17 +485,21 @@ function AgentSettingsPanel({
396
485
  accessibilityRole: "button",
397
486
  disabled: !onUpdateToolPermissions || !guardDraftsDirty || pendingAction === 'save-guards',
398
487
  onPress: () => updatePermissions({
399
- auto_approved_operations: permissions.auto_approved_operations,
488
+ // Carry the latest optimistic toggle state (autoApprovedOps), not the
489
+ // stale server-backed list: this PUT sends the FULL config, so using
490
+ // the server value would clobber a toggle the user just flipped but
491
+ // whose own request hasn't synced agent.toolsPermissionConfig yet.
492
+ auto_approved_operations: autoApprovedOps,
400
493
  connector_guards: guardDrafts
401
494
  }, 'save-guards'),
402
495
  style: ({
403
496
  pressed
404
497
  }) => [localStyles.secondaryButton, (!guardDraftsDirty || !onUpdateToolPermissions) && localStyles.disabledButton, pressed && _styles.styles.pressed],
405
498
  children: [pendingAction === 'save-guards' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
406
- color: "#F4F4F5",
499
+ color: (0, _theme.themedColor)('#F4F4F5'),
407
500
  size: "small"
408
501
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_lucideReactNative.Check, {
409
- color: "#F4F4F5",
502
+ color: (0, _theme.themedColor)('#F4F4F5'),
410
503
  size: 16,
411
504
  strokeWidth: 2.6
412
505
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
@@ -469,7 +562,7 @@ function SettingsSection({
469
562
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
470
563
  style: [localStyles.sectionIcon, isDanger && localStyles.sectionIconDanger],
471
564
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, {
472
- color: isDanger ? '#FCA5A5' : '#F4F4F5',
565
+ color: isDanger ? (0, _theme.themedColor)('#FCA5A5') : (0, _theme.themedColor)('#F4F4F5'),
473
566
  size: 19,
474
567
  strokeWidth: 2.35
475
568
  })
@@ -486,7 +579,7 @@ function SettingsSection({
486
579
  }), isLoading ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
487
580
  style: localStyles.loadingRow,
488
581
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
489
- color: "#FF5A1F"
582
+ color: (0, _theme.themedColor)('#FF5A1F')
490
583
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
491
584
  style: localStyles.mutedText,
492
585
  children: "Loading..."
@@ -509,10 +602,10 @@ function HeaderAction({
509
602
  pressed
510
603
  }) => [localStyles.headerAction, pressed && _styles.styles.pressed],
511
604
  children: isLoading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
512
- color: "#F4F4F5",
605
+ color: (0, _theme.themedColor)('#F4F4F5'),
513
606
  size: "small"
514
607
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, {
515
- color: "#F4F4F5",
608
+ color: (0, _theme.themedColor)('#F4F4F5'),
516
609
  size: 16,
517
610
  strokeWidth: 2.4
518
611
  })
@@ -575,7 +668,7 @@ function ModelPickerModal({
575
668
  children: model.description
576
669
  })]
577
670
  }), isSelected ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_lucideReactNative.Check, {
578
- color: "#34D399",
671
+ color: (0, _theme.themedColor)('#34D399'),
579
672
  size: 18,
580
673
  strokeWidth: 2.7
581
674
  }) : null]
@@ -605,10 +698,10 @@ function ActionRow({
605
698
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
606
699
  style: [localStyles.actionIcon, isDanger && localStyles.actionIconDanger],
607
700
  children: isLoading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
608
- color: isDanger ? '#FCA5A5' : '#F4F4F5',
701
+ color: isDanger ? (0, _theme.themedColor)('#FCA5A5') : (0, _theme.themedColor)('#F4F4F5'),
609
702
  size: "small"
610
703
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, {
611
- color: isDanger ? '#FCA5A5' : '#F4F4F5',
704
+ color: isDanger ? (0, _theme.themedColor)('#FCA5A5') : (0, _theme.themedColor)('#F4F4F5'),
612
705
  size: 18,
613
706
  strokeWidth: 2.35
614
707
  })
@@ -644,10 +737,10 @@ function ShareMembersSummary({
644
737
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
645
738
  style: localStyles.actionIcon,
646
739
  children: isLoading || isSharing ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
647
- color: "#F4F4F5",
740
+ color: (0, _theme.themedColor)('#F4F4F5'),
648
741
  size: "small"
649
742
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_lucideReactNative.Share2, {
650
- color: "#F4F4F5",
743
+ color: (0, _theme.themedColor)('#F4F4F5'),
651
744
  size: 18,
652
745
  strokeWidth: 2.35
653
746
  })
@@ -681,7 +774,7 @@ function toggleSecretVisibility(current, name) {
681
774
  }
682
775
  return next;
683
776
  }
684
- const localStyles = _reactNative.StyleSheet.create({
777
+ const localStyles = (0, _theme.createThemedStyles)({
685
778
  actionIcon: {
686
779
  alignItems: 'center',
687
780
  backgroundColor: '#1F1F23',