@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.
- package/LICENSE +21 -0
- package/README.md +12 -20
- package/lib/commonjs/AgentSettingsPanel.js +155 -62
- package/lib/commonjs/AgentSettingsPanel.js.map +1 -1
- package/lib/commonjs/AgentSphereIcon.js +14 -118
- package/lib/commonjs/AgentSphereIcon.js.map +1 -1
- package/lib/commonjs/AttachmentPickerStatusModal.js +5 -4
- package/lib/commonjs/AttachmentPickerStatusModal.js.map +1 -1
- package/lib/commonjs/ChannelsPanel.js +66 -44
- package/lib/commonjs/ChannelsPanel.js.map +1 -1
- package/lib/commonjs/ConversationChat.js +38 -13
- package/lib/commonjs/ConversationChat.js.map +1 -1
- package/lib/commonjs/ConversationComposer.js +18 -13
- package/lib/commonjs/ConversationComposer.js.map +1 -1
- package/lib/commonjs/ConversationScreen.js +4 -0
- package/lib/commonjs/ConversationScreen.js.map +1 -1
- package/lib/commonjs/EditorDrawer.js +54 -24
- package/lib/commonjs/EditorDrawer.js.map +1 -1
- package/lib/commonjs/FilesPanel.js +56 -20
- package/lib/commonjs/FilesPanel.js.map +1 -1
- package/lib/commonjs/MarkdownText.js +1 -1
- package/lib/commonjs/MarkdownText.js.map +1 -1
- package/lib/commonjs/MessageActionBar.js +10 -3
- package/lib/commonjs/MessageActionBar.js.map +1 -1
- package/lib/commonjs/RenameAgentModal.js +2 -1
- package/lib/commonjs/RenameAgentModal.js.map +1 -1
- package/lib/commonjs/ShareAgentModal.js +11 -10
- package/lib/commonjs/ShareAgentModal.js.map +1 -1
- package/lib/commonjs/ShareAgentModal.styles.js +2 -2
- package/lib/commonjs/ShareAgentModal.styles.js.map +1 -1
- package/lib/commonjs/SuperagentHomeScreen.js +44 -12
- package/lib/commonjs/SuperagentHomeScreen.js.map +1 -1
- package/lib/commonjs/ToolApprovalCard.js +73 -15
- package/lib/commonjs/ToolApprovalCard.js.map +1 -1
- package/lib/commonjs/ToolCallSummary.js +19 -10
- package/lib/commonjs/ToolCallSummary.js.map +1 -1
- package/lib/commonjs/agentSphereAssets.js +327 -0
- package/lib/commonjs/agentSphereAssets.js.map +1 -0
- package/lib/commonjs/agentSphereStyles.js +3 -3
- package/lib/commonjs/agentSphereStyles.js.map +1 -1
- package/lib/commonjs/apiClient.js +7 -0
- package/lib/commonjs/apiClient.js.map +1 -1
- package/lib/commonjs/attachmentUpload.js +2 -1
- package/lib/commonjs/attachmentUpload.js.map +1 -1
- package/lib/commonjs/composerStyles.js +2 -2
- package/lib/commonjs/composerStyles.js.map +1 -1
- package/lib/commonjs/connectorBrandIcons.generated.js +625 -0
- package/lib/commonjs/connectorBrandIcons.generated.js.map +1 -0
- package/lib/commonjs/connectorBrandIcons.js +3 -55
- package/lib/commonjs/connectorBrandIcons.js.map +1 -1
- package/lib/commonjs/connectorCatalog.js +19 -1
- package/lib/commonjs/connectorCatalog.js.map +1 -1
- package/lib/commonjs/conversationParts.js +5 -4
- package/lib/commonjs/conversationParts.js.map +1 -1
- package/lib/commonjs/conversationRuntime.js +152 -9
- package/lib/commonjs/conversationRuntime.js.map +1 -1
- package/lib/commonjs/conversationStyles.js +2 -1
- package/lib/commonjs/conversationStyles.js.map +1 -1
- package/lib/commonjs/editorShellStyles.js +6 -2
- package/lib/commonjs/editorShellStyles.js.map +1 -1
- package/lib/commonjs/fileTreeUtils.js +7 -0
- package/lib/commonjs/fileTreeUtils.js.map +1 -1
- package/lib/commonjs/index.js +7 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/markdownStyles.js +2 -2
- package/lib/commonjs/markdownStyles.js.map +1 -1
- package/lib/commonjs/messageActionStyles.js +2 -2
- package/lib/commonjs/messageActionStyles.js.map +1 -1
- package/lib/commonjs/realtimeClient.js +4 -1
- package/lib/commonjs/realtimeClient.js.map +1 -1
- package/lib/commonjs/renameAgentModalStyles.js +2 -2
- package/lib/commonjs/renameAgentModalStyles.js.map +1 -1
- package/lib/commonjs/screenParts.js +24 -41
- package/lib/commonjs/screenParts.js.map +1 -1
- package/lib/commonjs/styles.js +32 -21
- package/lib/commonjs/styles.js.map +1 -1
- package/lib/commonjs/superagentApiClient.js +63 -18
- package/lib/commonjs/superagentApiClient.js.map +1 -1
- package/lib/commonjs/theme.js +249 -0
- package/lib/commonjs/theme.js.map +1 -0
- package/lib/commonjs/useSuperagentConversation.js +240 -44
- package/lib/commonjs/useSuperagentConversation.js.map +1 -1
- package/lib/commonjs/useSuperagentRuntime.js +245 -105
- package/lib/commonjs/useSuperagentRuntime.js.map +1 -1
- package/lib/module/AgentSettingsPanel.js +157 -64
- package/lib/module/AgentSettingsPanel.js.map +1 -1
- package/lib/module/AgentSphereIcon.js +15 -118
- package/lib/module/AgentSphereIcon.js.map +1 -1
- package/lib/module/AttachmentPickerStatusModal.js +6 -5
- package/lib/module/AttachmentPickerStatusModal.js.map +1 -1
- package/lib/module/ChannelsPanel.js +67 -45
- package/lib/module/ChannelsPanel.js.map +1 -1
- package/lib/module/ConversationChat.js +38 -13
- package/lib/module/ConversationChat.js.map +1 -1
- package/lib/module/ConversationComposer.js +18 -13
- package/lib/module/ConversationComposer.js.map +1 -1
- package/lib/module/ConversationScreen.js +4 -0
- package/lib/module/ConversationScreen.js.map +1 -1
- package/lib/module/EditorDrawer.js +55 -25
- package/lib/module/EditorDrawer.js.map +1 -1
- package/lib/module/FilesPanel.js +56 -20
- package/lib/module/FilesPanel.js.map +1 -1
- package/lib/module/MarkdownText.js +1 -1
- package/lib/module/MarkdownText.js.map +1 -1
- package/lib/module/MessageActionBar.js +10 -3
- package/lib/module/MessageActionBar.js.map +1 -1
- package/lib/module/RenameAgentModal.js +2 -1
- package/lib/module/RenameAgentModal.js.map +1 -1
- package/lib/module/ShareAgentModal.js +11 -10
- package/lib/module/ShareAgentModal.js.map +1 -1
- package/lib/module/ShareAgentModal.styles.js +2 -2
- package/lib/module/ShareAgentModal.styles.js.map +1 -1
- package/lib/module/SuperagentHomeScreen.js +45 -13
- package/lib/module/SuperagentHomeScreen.js.map +1 -1
- package/lib/module/ToolApprovalCard.js +73 -15
- package/lib/module/ToolApprovalCard.js.map +1 -1
- package/lib/module/ToolCallSummary.js +19 -10
- package/lib/module/ToolCallSummary.js.map +1 -1
- package/lib/module/agentSphereAssets.js +323 -0
- package/lib/module/agentSphereAssets.js.map +1 -0
- package/lib/module/agentSphereStyles.js +3 -3
- package/lib/module/agentSphereStyles.js.map +1 -1
- package/lib/module/apiClient.js +7 -0
- package/lib/module/apiClient.js.map +1 -1
- package/lib/module/attachmentUpload.js +2 -1
- package/lib/module/attachmentUpload.js.map +1 -1
- package/lib/module/composerStyles.js +2 -2
- package/lib/module/composerStyles.js.map +1 -1
- package/lib/module/connectorBrandIcons.generated.js +621 -0
- package/lib/module/connectorBrandIcons.generated.js.map +1 -0
- package/lib/module/connectorBrandIcons.js +1 -53
- package/lib/module/connectorBrandIcons.js.map +1 -1
- package/lib/module/connectorCatalog.js +17 -0
- package/lib/module/connectorCatalog.js.map +1 -1
- package/lib/module/conversationParts.js +5 -4
- package/lib/module/conversationParts.js.map +1 -1
- package/lib/module/conversationRuntime.js +149 -9
- package/lib/module/conversationRuntime.js.map +1 -1
- package/lib/module/conversationStyles.js +3 -2
- package/lib/module/conversationStyles.js.map +1 -1
- package/lib/module/editorShellStyles.js +6 -2
- package/lib/module/editorShellStyles.js.map +1 -1
- package/lib/module/fileTreeUtils.js +6 -0
- package/lib/module/fileTreeUtils.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/markdownStyles.js +2 -2
- package/lib/module/markdownStyles.js.map +1 -1
- package/lib/module/messageActionStyles.js +2 -2
- package/lib/module/messageActionStyles.js.map +1 -1
- package/lib/module/realtimeClient.js +4 -1
- package/lib/module/realtimeClient.js.map +1 -1
- package/lib/module/renameAgentModalStyles.js +2 -2
- package/lib/module/renameAgentModalStyles.js.map +1 -1
- package/lib/module/screenParts.js +25 -42
- package/lib/module/screenParts.js.map +1 -1
- package/lib/module/styles.js +32 -21
- package/lib/module/styles.js.map +1 -1
- package/lib/module/superagentApiClient.js +63 -18
- package/lib/module/superagentApiClient.js.map +1 -1
- package/lib/module/theme.js +239 -0
- package/lib/module/theme.js.map +1 -0
- package/lib/module/useSuperagentConversation.js +242 -46
- package/lib/module/useSuperagentConversation.js.map +1 -1
- package/lib/module/useSuperagentRuntime.js +246 -106
- package/lib/module/useSuperagentRuntime.js.map +1 -1
- package/lib/typescript/commonjs/AgentSettingsPanel.d.ts.map +1 -1
- package/lib/typescript/commonjs/AgentSphereIcon.d.ts.map +1 -1
- package/lib/typescript/commonjs/AttachmentPickerStatusModal.d.ts.map +1 -1
- package/lib/typescript/commonjs/ChannelsPanel.d.ts.map +1 -1
- package/lib/typescript/commonjs/ConversationChat.d.ts +1 -1
- package/lib/typescript/commonjs/ConversationChat.d.ts.map +1 -1
- package/lib/typescript/commonjs/ConversationComposer.d.ts.map +1 -1
- package/lib/typescript/commonjs/ConversationMessageList.d.ts +1 -1
- package/lib/typescript/commonjs/ConversationMessageList.d.ts.map +1 -1
- package/lib/typescript/commonjs/ConversationScreen.d.ts +2 -1
- package/lib/typescript/commonjs/ConversationScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/EditorDrawer.d.ts +1 -1
- package/lib/typescript/commonjs/EditorDrawer.d.ts.map +1 -1
- package/lib/typescript/commonjs/FilesPanel.d.ts.map +1 -1
- package/lib/typescript/commonjs/RenameAgentModal.d.ts.map +1 -1
- package/lib/typescript/commonjs/ShareAgentModal.d.ts.map +1 -1
- package/lib/typescript/commonjs/ShareAgentModal.styles.d.ts.map +1 -1
- package/lib/typescript/commonjs/SuperagentHomeScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ToolApprovalCard.d.ts +3 -3
- package/lib/typescript/commonjs/ToolApprovalCard.d.ts.map +1 -1
- package/lib/typescript/commonjs/ToolCallSummary.d.ts +1 -1
- package/lib/typescript/commonjs/ToolCallSummary.d.ts.map +1 -1
- package/lib/typescript/commonjs/agentSphereAssets.d.ts +2 -0
- package/lib/typescript/commonjs/agentSphereAssets.d.ts.map +1 -0
- package/lib/typescript/commonjs/agentSphereStyles.d.ts.map +1 -1
- package/lib/typescript/commonjs/apiClient.d.ts.map +1 -1
- package/lib/typescript/commonjs/composerStyles.d.ts.map +1 -1
- package/lib/typescript/commonjs/connectorBrandIcons.d.ts.map +1 -1
- package/lib/typescript/commonjs/connectorBrandIcons.generated.d.ts +2 -0
- package/lib/typescript/commonjs/connectorBrandIcons.generated.d.ts.map +1 -0
- package/lib/typescript/commonjs/connectorCatalog.d.ts +2 -0
- package/lib/typescript/commonjs/connectorCatalog.d.ts.map +1 -1
- package/lib/typescript/commonjs/conversationParts.d.ts +1 -1
- package/lib/typescript/commonjs/conversationParts.d.ts.map +1 -1
- package/lib/typescript/commonjs/conversationRuntime.d.ts +9 -3
- package/lib/typescript/commonjs/conversationRuntime.d.ts.map +1 -1
- package/lib/typescript/commonjs/conversationStyles.d.ts.map +1 -1
- package/lib/typescript/commonjs/editorShellStyles.d.ts +4 -0
- package/lib/typescript/commonjs/editorShellStyles.d.ts.map +1 -1
- package/lib/typescript/commonjs/fileTreeUtils.d.ts +1 -0
- package/lib/typescript/commonjs/fileTreeUtils.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +2 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/markdownStyles.d.ts.map +1 -1
- package/lib/typescript/commonjs/messageActionStyles.d.ts.map +1 -1
- package/lib/typescript/commonjs/realtimeClient.d.ts.map +1 -1
- package/lib/typescript/commonjs/renameAgentModalStyles.d.ts.map +1 -1
- package/lib/typescript/commonjs/screenParts.d.ts +1 -1
- package/lib/typescript/commonjs/screenParts.d.ts.map +1 -1
- package/lib/typescript/commonjs/styles.d.ts +20 -11
- package/lib/typescript/commonjs/styles.d.ts.map +1 -1
- package/lib/typescript/commonjs/superagentApiClient.d.ts +2 -1
- package/lib/typescript/commonjs/superagentApiClient.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme.d.ts +36 -0
- package/lib/typescript/commonjs/theme.d.ts.map +1 -0
- package/lib/typescript/commonjs/types.d.ts +17 -2
- package/lib/typescript/commonjs/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/useSuperagentConversation.d.ts +3 -2
- package/lib/typescript/commonjs/useSuperagentConversation.d.ts.map +1 -1
- package/lib/typescript/commonjs/useSuperagentRuntime.d.ts +5 -2
- package/lib/typescript/commonjs/useSuperagentRuntime.d.ts.map +1 -1
- package/lib/typescript/module/AgentSettingsPanel.d.ts.map +1 -1
- package/lib/typescript/module/AgentSphereIcon.d.ts.map +1 -1
- package/lib/typescript/module/AttachmentPickerStatusModal.d.ts.map +1 -1
- package/lib/typescript/module/ChannelsPanel.d.ts.map +1 -1
- package/lib/typescript/module/ConversationChat.d.ts +1 -1
- package/lib/typescript/module/ConversationChat.d.ts.map +1 -1
- package/lib/typescript/module/ConversationComposer.d.ts.map +1 -1
- package/lib/typescript/module/ConversationMessageList.d.ts +1 -1
- package/lib/typescript/module/ConversationMessageList.d.ts.map +1 -1
- package/lib/typescript/module/ConversationScreen.d.ts +2 -1
- package/lib/typescript/module/ConversationScreen.d.ts.map +1 -1
- package/lib/typescript/module/EditorDrawer.d.ts +1 -1
- package/lib/typescript/module/EditorDrawer.d.ts.map +1 -1
- package/lib/typescript/module/FilesPanel.d.ts.map +1 -1
- package/lib/typescript/module/RenameAgentModal.d.ts.map +1 -1
- package/lib/typescript/module/ShareAgentModal.d.ts.map +1 -1
- package/lib/typescript/module/ShareAgentModal.styles.d.ts.map +1 -1
- package/lib/typescript/module/SuperagentHomeScreen.d.ts.map +1 -1
- package/lib/typescript/module/ToolApprovalCard.d.ts +3 -3
- package/lib/typescript/module/ToolApprovalCard.d.ts.map +1 -1
- package/lib/typescript/module/ToolCallSummary.d.ts +1 -1
- package/lib/typescript/module/ToolCallSummary.d.ts.map +1 -1
- package/lib/typescript/module/agentSphereAssets.d.ts +2 -0
- package/lib/typescript/module/agentSphereAssets.d.ts.map +1 -0
- package/lib/typescript/module/agentSphereStyles.d.ts.map +1 -1
- package/lib/typescript/module/apiClient.d.ts.map +1 -1
- package/lib/typescript/module/composerStyles.d.ts.map +1 -1
- package/lib/typescript/module/connectorBrandIcons.d.ts.map +1 -1
- package/lib/typescript/module/connectorBrandIcons.generated.d.ts +2 -0
- package/lib/typescript/module/connectorBrandIcons.generated.d.ts.map +1 -0
- package/lib/typescript/module/connectorCatalog.d.ts +2 -0
- package/lib/typescript/module/connectorCatalog.d.ts.map +1 -1
- package/lib/typescript/module/conversationParts.d.ts +1 -1
- package/lib/typescript/module/conversationParts.d.ts.map +1 -1
- package/lib/typescript/module/conversationRuntime.d.ts +9 -3
- package/lib/typescript/module/conversationRuntime.d.ts.map +1 -1
- package/lib/typescript/module/conversationStyles.d.ts.map +1 -1
- package/lib/typescript/module/editorShellStyles.d.ts +4 -0
- package/lib/typescript/module/editorShellStyles.d.ts.map +1 -1
- package/lib/typescript/module/fileTreeUtils.d.ts +1 -0
- package/lib/typescript/module/fileTreeUtils.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +2 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/markdownStyles.d.ts.map +1 -1
- package/lib/typescript/module/messageActionStyles.d.ts.map +1 -1
- package/lib/typescript/module/realtimeClient.d.ts.map +1 -1
- package/lib/typescript/module/renameAgentModalStyles.d.ts.map +1 -1
- package/lib/typescript/module/screenParts.d.ts +1 -1
- package/lib/typescript/module/screenParts.d.ts.map +1 -1
- package/lib/typescript/module/styles.d.ts +20 -11
- package/lib/typescript/module/styles.d.ts.map +1 -1
- package/lib/typescript/module/superagentApiClient.d.ts +2 -1
- package/lib/typescript/module/superagentApiClient.d.ts.map +1 -1
- package/lib/typescript/module/theme.d.ts +36 -0
- package/lib/typescript/module/theme.d.ts.map +1 -0
- package/lib/typescript/module/types.d.ts +17 -2
- package/lib/typescript/module/types.d.ts.map +1 -1
- package/lib/typescript/module/useSuperagentConversation.d.ts +3 -2
- package/lib/typescript/module/useSuperagentConversation.d.ts.map +1 -1
- package/lib/typescript/module/useSuperagentRuntime.d.ts +5 -2
- package/lib/typescript/module/useSuperagentRuntime.d.ts.map +1 -1
- package/package.json +13 -11
- package/src/AgentSettingsPanel.tsx +146 -58
- package/src/AgentSphereIcon.tsx +11 -62
- package/src/AttachmentPickerStatusModal.tsx +6 -5
- package/src/ChannelsPanel.tsx +59 -39
- package/src/ConversationChat.tsx +49 -12
- package/src/ConversationComposer.tsx +18 -12
- package/src/ConversationMessageList.tsx +1 -1
- package/src/ConversationScreen.tsx +5 -0
- package/src/EditorDrawer.tsx +66 -41
- package/src/FilesPanel.tsx +48 -20
- package/src/MarkdownText.tsx +1 -1
- package/src/MessageActionBar.tsx +9 -3
- package/src/RenameAgentModal.tsx +2 -1
- package/src/ShareAgentModal.styles.ts +2 -1
- package/src/ShareAgentModal.tsx +9 -8
- package/src/SuperagentHomeScreen.tsx +45 -10
- package/src/ToolApprovalCard.tsx +83 -15
- package/src/ToolCallSummary.tsx +22 -13
- package/src/agentSphereAssets.ts +325 -0
- package/src/agentSphereStyles.ts +3 -2
- package/src/apiClient.ts +7 -0
- package/src/attachmentUpload.ts +2 -1
- package/src/composerStyles.ts +2 -1
- package/src/connectorBrandIcons.generated.ts +618 -0
- package/src/connectorBrandIcons.tsx +1 -53
- package/src/connectorCatalog.ts +24 -0
- package/src/conversationParts.tsx +6 -5
- package/src/conversationRuntime.ts +166 -11
- package/src/conversationStyles.ts +2 -1
- package/src/editorShellStyles.ts +6 -1
- package/src/fileTreeUtils.ts +13 -0
- package/src/index.ts +2 -0
- package/src/markdownStyles.ts +2 -1
- package/src/messageActionStyles.ts +2 -1
- package/src/realtimeClient.ts +7 -1
- package/src/renameAgentModalStyles.ts +2 -1
- package/src/screenParts.tsx +17 -29
- package/src/styles.ts +25 -16
- package/src/superagentApiClient.ts +68 -18
- package/src/theme.ts +254 -0
- package/src/types.ts +22 -2
- package/src/useSuperagentConversation.ts +247 -45
- 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
|
-
##
|
|
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
|
|
113
|
-
[`Publish superagent-native`](
|
|
114
|
-
workflow
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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:
|
|
110
|
-
connector_guards: cleanGuards(
|
|
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
|
-
|
|
142
|
-
|
|
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
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
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
|
-
|
|
152
|
-
|
|
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
|
-
|
|
160
|
-
|
|
161
|
-
|
|
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:
|
|
268
|
+
color: (0, _theme.themedColor)('#F4F4F5'),
|
|
195
269
|
size: "small"
|
|
196
270
|
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_lucideReactNative.ChevronDown, {
|
|
197
|
-
color:
|
|
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:
|
|
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:
|
|
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:
|
|
256
|
-
color:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
368
|
+
color: (0, _theme.themedColor)('#111111'),
|
|
295
369
|
size: "small"
|
|
296
370
|
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_lucideReactNative.Plus, {
|
|
297
|
-
color:
|
|
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 =
|
|
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
|
|
325
|
-
ios_backgroundColor:
|
|
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:
|
|
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
|
-
|
|
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:
|
|
499
|
+
color: (0, _theme.themedColor)('#F4F4F5'),
|
|
407
500
|
size: "small"
|
|
408
501
|
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_lucideReactNative.Check, {
|
|
409
|
-
color:
|
|
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:
|
|
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:
|
|
605
|
+
color: (0, _theme.themedColor)('#F4F4F5'),
|
|
513
606
|
size: "small"
|
|
514
607
|
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, {
|
|
515
|
-
color:
|
|
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:
|
|
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:
|
|
740
|
+
color: (0, _theme.themedColor)('#F4F4F5'),
|
|
648
741
|
size: "small"
|
|
649
742
|
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_lucideReactNative.Share2, {
|
|
650
|
-
color:
|
|
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 =
|
|
777
|
+
const localStyles = (0, _theme.createThemedStyles)({
|
|
685
778
|
actionIcon: {
|
|
686
779
|
alignItems: 'center',
|
|
687
780
|
backgroundColor: '#1F1F23',
|