@ottocode/web-sdk 0.1.226 → 0.1.227
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/dist/components/chat/FileMentionPopup.d.ts.map +1 -1
- package/dist/components/index.js +25148 -80
- package/dist/components/index.js.map +180 -1
- package/dist/components/messages/AssistantMessageGroup.d.ts.map +1 -1
- package/dist/components/messages/CompactActivityGroup.d.ts +10 -0
- package/dist/components/messages/CompactActivityGroup.d.ts.map +1 -0
- package/dist/components/messages/MessagePartItem.d.ts.map +1 -1
- package/dist/components/messages/MessageThread.d.ts +1 -0
- package/dist/components/messages/MessageThread.d.ts.map +1 -1
- package/dist/components/messages/MessageThreadContainer.d.ts.map +1 -1
- package/dist/components/messages/compactActivity.d.ts +34 -0
- package/dist/components/messages/compactActivity.d.ts.map +1 -0
- package/dist/components/messages/renderers/EditRenderer.d.ts +1 -1
- package/dist/components/messages/renderers/EditRenderer.d.ts.map +1 -1
- package/dist/components/messages/renderers/index.d.ts.map +1 -1
- package/dist/components/messages/renderers/types.d.ts +3 -1
- package/dist/components/messages/renderers/types.d.ts.map +1 -1
- package/dist/components/settings/SettingsSidebar.d.ts.map +1 -1
- package/dist/components/settings/SetuTopupModal.d.ts.map +1 -1
- package/dist/hooks/index.js +4812 -29
- package/dist/hooks/index.js.map +67 -1
- package/dist/hooks/useAuthStatus.d.ts.map +1 -1
- package/dist/hooks/useMCP.d.ts +9 -0
- package/dist/hooks/useMCP.d.ts.map +1 -1
- package/dist/hooks/usePreferences.d.ts +1 -0
- package/dist/hooks/usePreferences.d.ts.map +1 -1
- package/dist/hooks/useSessionStream.d.ts.map +1 -1
- package/dist/index.js +25918 -7
- package/dist/index.js.map +185 -1
- package/dist/lib/api-client/approval.d.ts.map +1 -1
- package/dist/lib/index.js +1007 -5
- package/dist/lib/index.js.map +22 -1
- package/dist/stores/index.js +693 -22
- package/dist/stores/index.js.map +30 -1
- package/dist/stores/toastStore.d.ts +1 -0
- package/dist/stores/toastStore.d.ts.map +1 -1
- package/dist/types/api.js +2 -2
- package/dist/types/api.js.map +9 -1
- package/package.json +4 -4
- package/dist/assets/provider-logos.js +0 -43
- package/dist/assets/provider-logos.js.map +0 -1
- package/dist/components/branch/BranchModal.js +0 -45
- package/dist/components/branch/BranchModal.js.map +0 -1
- package/dist/components/chat/ChatInput.js +0 -267
- package/dist/components/chat/ChatInput.js.map +0 -1
- package/dist/components/chat/ChatInputContainer.js +0 -295
- package/dist/components/chat/ChatInputContainer.js.map +0 -1
- package/dist/components/chat/ChatInputKeyHandler.js +0 -75
- package/dist/components/chat/ChatInputKeyHandler.js.map +0 -1
- package/dist/components/chat/CommandSuggestionsPopup.js +0 -45
- package/dist/components/chat/CommandSuggestionsPopup.js.map +0 -1
- package/dist/components/chat/ConfigModal.js +0 -46
- package/dist/components/chat/ConfigModal.js.map +0 -1
- package/dist/components/chat/ConfigSelector.js +0 -47
- package/dist/components/chat/ConfigSelector.js.map +0 -1
- package/dist/components/chat/FileMentionPopup.js +0 -138
- package/dist/components/chat/FileMentionPopup.js.map +0 -1
- package/dist/components/chat/ShortcutsModal.js +0 -275
- package/dist/components/chat/ShortcutsModal.js.map +0 -1
- package/dist/components/chat/StopButton.js +0 -25
- package/dist/components/chat/StopButton.js.map +0 -1
- package/dist/components/chat/UnifiedAgentSelector.js +0 -107
- package/dist/components/chat/UnifiedAgentSelector.js.map +0 -1
- package/dist/components/chat/UnifiedModelSelector.js +0 -209
- package/dist/components/chat/UnifiedModelSelector.js.map +0 -1
- package/dist/components/common/ProviderLogo.js +0 -30
- package/dist/components/common/ProviderLogo.js.map +0 -1
- package/dist/components/common/StatusIndicator.js +0 -54
- package/dist/components/common/StatusIndicator.js.map +0 -1
- package/dist/components/common/UsageModal.js +0 -55
- package/dist/components/common/UsageModal.js.map +0 -1
- package/dist/components/common/UsageRing.js +0 -22
- package/dist/components/common/UsageRing.js.map +0 -1
- package/dist/components/file-browser/FileBrowserSidebar.js +0 -50
- package/dist/components/file-browser/FileBrowserSidebar.js.map +0 -1
- package/dist/components/file-browser/FileBrowserSidebarToggle.js +0 -12
- package/dist/components/file-browser/FileBrowserSidebarToggle.js.map +0 -1
- package/dist/components/file-browser/FileViewerPanel.js +0 -85
- package/dist/components/file-browser/FileViewerPanel.js.map +0 -1
- package/dist/components/file-browser/QuickFilePicker.js +0 -118
- package/dist/components/file-browser/QuickFilePicker.js.map +0 -1
- package/dist/components/git/GitCommitModal.js +0 -70
- package/dist/components/git/GitCommitModal.js.map +0 -1
- package/dist/components/git/GitDiffPanel.js +0 -60
- package/dist/components/git/GitDiffPanel.js.map +0 -1
- package/dist/components/git/GitDiffViewer.js +0 -224
- package/dist/components/git/GitDiffViewer.js.map +0 -1
- package/dist/components/git/GitFileItem.js +0 -145
- package/dist/components/git/GitFileItem.js.map +0 -1
- package/dist/components/git/GitFileList.js +0 -108
- package/dist/components/git/GitFileList.js.map +0 -1
- package/dist/components/git/GitSidebar.js +0 -156
- package/dist/components/git/GitSidebar.js.map +0 -1
- package/dist/components/git/GitSidebarToggle.js +0 -18
- package/dist/components/git/GitSidebarToggle.js.map +0 -1
- package/dist/components/mcp/AddMCPServerModal.js +0 -166
- package/dist/components/mcp/AddMCPServerModal.js.map +0 -1
- package/dist/components/mcp/MCPSidebar.js +0 -192
- package/dist/components/mcp/MCPSidebar.js.map +0 -1
- package/dist/components/mcp/MCPSidebarToggle.js +0 -14
- package/dist/components/mcp/MCPSidebarToggle.js.map +0 -1
- package/dist/components/mcp/index.js +0 -4
- package/dist/components/mcp/index.js.map +0 -1
- package/dist/components/messages/AssistantMessageGroup.js +0 -176
- package/dist/components/messages/AssistantMessageGroup.js.map +0 -1
- package/dist/components/messages/MessagePartItem.js +0 -362
- package/dist/components/messages/MessagePartItem.js.map +0 -1
- package/dist/components/messages/MessageThread.js +0 -239
- package/dist/components/messages/MessageThread.js.map +0 -1
- package/dist/components/messages/MessageThreadContainer.js +0 -22
- package/dist/components/messages/MessageThreadContainer.js.map +0 -1
- package/dist/components/messages/ToolApprovalCard.js +0 -143
- package/dist/components/messages/ToolApprovalCard.js.map +0 -1
- package/dist/components/messages/TopupApprovalCard.js +0 -52
- package/dist/components/messages/TopupApprovalCard.js.map +0 -1
- package/dist/components/messages/UserMessageGroup.js +0 -132
- package/dist/components/messages/UserMessageGroup.js.map +0 -1
- package/dist/components/messages/renderers/ApplyPatchRenderer.js +0 -55
- package/dist/components/messages/renderers/ApplyPatchRenderer.js.map +0 -1
- package/dist/components/messages/renderers/BashRenderer.js +0 -55
- package/dist/components/messages/renderers/BashRenderer.js.map +0 -1
- package/dist/components/messages/renderers/DatabaseToolRenderer.js +0 -151
- package/dist/components/messages/renderers/DatabaseToolRenderer.js.map +0 -1
- package/dist/components/messages/renderers/DebugRenderer.js +0 -5
- package/dist/components/messages/renderers/DebugRenderer.js.map +0 -1
- package/dist/components/messages/renderers/DiffView.js +0 -206
- package/dist/components/messages/renderers/DiffView.js.map +0 -1
- package/dist/components/messages/renderers/EditRenderer.js +0 -25
- package/dist/components/messages/renderers/EditRenderer.js.map +0 -1
- package/dist/components/messages/renderers/ErrorRenderer.js +0 -162
- package/dist/components/messages/renderers/ErrorRenderer.js.map +0 -1
- package/dist/components/messages/renderers/FinishRenderer.js +0 -7
- package/dist/components/messages/renderers/FinishRenderer.js.map +0 -1
- package/dist/components/messages/renderers/GenericRenderer.js +0 -50
- package/dist/components/messages/renderers/GenericRenderer.js.map +0 -1
- package/dist/components/messages/renderers/GitCommitRenderer.js +0 -21
- package/dist/components/messages/renderers/GitCommitRenderer.js.map +0 -1
- package/dist/components/messages/renderers/GitDiffRenderer.js +0 -34
- package/dist/components/messages/renderers/GitDiffRenderer.js.map +0 -1
- package/dist/components/messages/renderers/GitStatusRenderer.js +0 -60
- package/dist/components/messages/renderers/GitStatusRenderer.js.map +0 -1
- package/dist/components/messages/renderers/ListRenderer.js +0 -28
- package/dist/components/messages/renderers/ListRenderer.js.map +0 -1
- package/dist/components/messages/renderers/LoadMcpToolsRenderer.js +0 -20
- package/dist/components/messages/renderers/LoadMcpToolsRenderer.js.map +0 -1
- package/dist/components/messages/renderers/McpToolRenderer.js +0 -68
- package/dist/components/messages/renderers/McpToolRenderer.js.map +0 -1
- package/dist/components/messages/renderers/ProgressUpdateRenderer.js +0 -9
- package/dist/components/messages/renderers/ProgressUpdateRenderer.js.map +0 -1
- package/dist/components/messages/renderers/ReadRenderer.js +0 -87
- package/dist/components/messages/renderers/ReadRenderer.js.map +0 -1
- package/dist/components/messages/renderers/ReasoningRenderer.js +0 -34
- package/dist/components/messages/renderers/ReasoningRenderer.js.map +0 -1
- package/dist/components/messages/renderers/SearchRenderer.js +0 -52
- package/dist/components/messages/renderers/SearchRenderer.js.map +0 -1
- package/dist/components/messages/renderers/SkillRenderer.js +0 -36
- package/dist/components/messages/renderers/SkillRenderer.js.map +0 -1
- package/dist/components/messages/renderers/TerminalRenderer.js +0 -84
- package/dist/components/messages/renderers/TerminalRenderer.js.map +0 -1
- package/dist/components/messages/renderers/TodosRenderer.js +0 -15
- package/dist/components/messages/renderers/TodosRenderer.js.map +0 -1
- package/dist/components/messages/renderers/ToolErrorDisplay.js +0 -10
- package/dist/components/messages/renderers/ToolErrorDisplay.js.map +0 -1
- package/dist/components/messages/renderers/TreeRenderer.js +0 -33
- package/dist/components/messages/renderers/TreeRenderer.js.map +0 -1
- package/dist/components/messages/renderers/WebSearchRenderer.js +0 -29
- package/dist/components/messages/renderers/WebSearchRenderer.js.map +0 -1
- package/dist/components/messages/renderers/WriteRenderer.js +0 -28
- package/dist/components/messages/renderers/WriteRenderer.js.map +0 -1
- package/dist/components/messages/renderers/index.js +0 -129
- package/dist/components/messages/renderers/index.js.map +0 -1
- package/dist/components/messages/renderers/shared/CopyButton.js +0 -27
- package/dist/components/messages/renderers/shared/CopyButton.js.map +0 -1
- package/dist/components/messages/renderers/shared/ImagePreview.js +0 -14
- package/dist/components/messages/renderers/shared/ImagePreview.js.map +0 -1
- package/dist/components/messages/renderers/shared/ToolContentBox.js +0 -9
- package/dist/components/messages/renderers/shared/ToolContentBox.js.map +0 -1
- package/dist/components/messages/renderers/shared/ToolHeader.js +0 -69
- package/dist/components/messages/renderers/shared/ToolHeader.js.map +0 -1
- package/dist/components/messages/renderers/shared/index.js +0 -5
- package/dist/components/messages/renderers/shared/index.js.map +0 -1
- package/dist/components/messages/renderers/types.js +0 -2
- package/dist/components/messages/renderers/types.js.map +0 -1
- package/dist/components/messages/renderers/utils.js +0 -60
- package/dist/components/messages/renderers/utils.js.map +0 -1
- package/dist/components/onboarding/OnboardingModal.js +0 -22
- package/dist/components/onboarding/OnboardingModal.js.map +0 -1
- package/dist/components/onboarding/index.js +0 -4
- package/dist/components/onboarding/index.js.map +0 -1
- package/dist/components/onboarding/steps/DefaultsStep.js +0 -104
- package/dist/components/onboarding/steps/DefaultsStep.js.map +0 -1
- package/dist/components/onboarding/steps/ProviderSetupStep.js +0 -398
- package/dist/components/onboarding/steps/ProviderSetupStep.js.map +0 -1
- package/dist/components/research/ResearchSidebar.js +0 -288
- package/dist/components/research/ResearchSidebar.js.map +0 -1
- package/dist/components/research/ResearchSidebarToggle.js +0 -15
- package/dist/components/research/ResearchSidebarToggle.js.map +0 -1
- package/dist/components/research/index.js +0 -3
- package/dist/components/research/index.js.map +0 -1
- package/dist/components/session-files/SessionFilesDiffPanel.js +0 -345
- package/dist/components/session-files/SessionFilesDiffPanel.js.map +0 -1
- package/dist/components/session-files/SessionFilesSidebar.js +0 -87
- package/dist/components/session-files/SessionFilesSidebar.js.map +0 -1
- package/dist/components/session-files/SessionFilesSidebarToggle.js +0 -15
- package/dist/components/session-files/SessionFilesSidebarToggle.js.map +0 -1
- package/dist/components/session-files/index.js +0 -4
- package/dist/components/session-files/index.js.map +0 -1
- package/dist/components/sessions/EditableTitle.js +0 -40
- package/dist/components/sessions/EditableTitle.js.map +0 -1
- package/dist/components/sessions/LeanHeader.js +0 -70
- package/dist/components/sessions/LeanHeader.js.map +0 -1
- package/dist/components/sessions/SessionHeader.js +0 -75
- package/dist/components/sessions/SessionHeader.js.map +0 -1
- package/dist/components/sessions/SessionItem.js +0 -28
- package/dist/components/sessions/SessionItem.js.map +0 -1
- package/dist/components/sessions/SessionListContainer.js +0 -86
- package/dist/components/sessions/SessionListContainer.js.map +0 -1
- package/dist/components/settings/SettingsSidebar.js +0 -212
- package/dist/components/settings/SettingsSidebar.js.map +0 -1
- package/dist/components/settings/SettingsSidebarToggle.js +0 -12
- package/dist/components/settings/SettingsSidebarToggle.js.map +0 -1
- package/dist/components/settings/SetuTopupModal.js +0 -306
- package/dist/components/settings/SetuTopupModal.js.map +0 -1
- package/dist/components/skills/SkillViewerPanel.js +0 -89
- package/dist/components/skills/SkillViewerPanel.js.map +0 -1
- package/dist/components/skills/SkillsSidebar.js +0 -59
- package/dist/components/skills/SkillsSidebar.js.map +0 -1
- package/dist/components/skills/SkillsSidebarToggle.js +0 -12
- package/dist/components/skills/SkillsSidebarToggle.js.map +0 -1
- package/dist/components/skills/index.js +0 -4
- package/dist/components/skills/index.js.map +0 -1
- package/dist/components/terminals/TerminalPanelToggle.js +0 -13
- package/dist/components/terminals/TerminalPanelToggle.js.map +0 -1
- package/dist/components/terminals/TerminalTabBar.js +0 -22
- package/dist/components/terminals/TerminalTabBar.js.map +0 -1
- package/dist/components/terminals/TerminalViewer.js +0 -371
- package/dist/components/terminals/TerminalViewer.js.map +0 -1
- package/dist/components/terminals/TerminalsPanel.js +0 -134
- package/dist/components/terminals/TerminalsPanel.js.map +0 -1
- package/dist/components/terminals/index.js +0 -11
- package/dist/components/terminals/index.js.map +0 -1
- package/dist/components/tunnel/TunnelSidebar.js +0 -55
- package/dist/components/tunnel/TunnelSidebar.js.map +0 -1
- package/dist/components/tunnel/TunnelSidebarToggle.js +0 -14
- package/dist/components/tunnel/TunnelSidebarToggle.js.map +0 -1
- package/dist/components/tunnel/index.js +0 -3
- package/dist/components/tunnel/index.js.map +0 -1
- package/dist/components/ui/Button.js +0 -19
- package/dist/components/ui/Button.js.map +0 -1
- package/dist/components/ui/Card.js +0 -7
- package/dist/components/ui/Card.js.map +0 -1
- package/dist/components/ui/ConfirmationDialog.js +0 -72
- package/dist/components/ui/ConfirmationDialog.js.map +0 -1
- package/dist/components/ui/Input.js +0 -7
- package/dist/components/ui/Input.js.map +0 -1
- package/dist/components/ui/Modal.js +0 -51
- package/dist/components/ui/Modal.js.map +0 -1
- package/dist/components/ui/ResizeHandle.js +0 -39
- package/dist/components/ui/ResizeHandle.js.map +0 -1
- package/dist/components/ui/Textarea.js +0 -7
- package/dist/components/ui/Textarea.js.map +0 -1
- package/dist/components/ui/Toaster.js +0 -41
- package/dist/components/ui/Toaster.js.map +0 -1
- package/dist/components/ui/ToolApprovalDialog.js +0 -57
- package/dist/components/ui/ToolApprovalDialog.js.map +0 -1
- package/dist/hooks/useAuthStatus.js +0 -287
- package/dist/hooks/useAuthStatus.js.map +0 -1
- package/dist/hooks/useBranch.js +0 -44
- package/dist/hooks/useBranch.js.map +0 -1
- package/dist/hooks/useCommandSuggestions.js +0 -86
- package/dist/hooks/useCommandSuggestions.js.map +0 -1
- package/dist/hooks/useConfig.js +0 -32
- package/dist/hooks/useConfig.js.map +0 -1
- package/dist/hooks/useFileBrowser.js +0 -30
- package/dist/hooks/useFileBrowser.js.map +0 -1
- package/dist/hooks/useFileMention.js +0 -56
- package/dist/hooks/useFileMention.js.map +0 -1
- package/dist/hooks/useFileUpload.js +0 -317
- package/dist/hooks/useFileUpload.js.map +0 -1
- package/dist/hooks/useFiles.js +0 -15
- package/dist/hooks/useFiles.js.map +0 -1
- package/dist/hooks/useGit.js +0 -149
- package/dist/hooks/useGit.js.map +0 -1
- package/dist/hooks/useImageUpload.js +0 -197
- package/dist/hooks/useImageUpload.js.map +0 -1
- package/dist/hooks/useKeyboardShortcuts.js +0 -249
- package/dist/hooks/useKeyboardShortcuts.js.map +0 -1
- package/dist/hooks/useMCP.js +0 -202
- package/dist/hooks/useMCP.js.map +0 -1
- package/dist/hooks/useMessages.js +0 -26
- package/dist/hooks/useMessages.js.map +0 -1
- package/dist/hooks/usePreferences.js +0 -61
- package/dist/hooks/usePreferences.js.map +0 -1
- package/dist/hooks/useProviderUsage.js +0 -44
- package/dist/hooks/useProviderUsage.js.map +0 -1
- package/dist/hooks/useQueueState.js +0 -31
- package/dist/hooks/useQueueState.js.map +0 -1
- package/dist/hooks/useResearch.js +0 -139
- package/dist/hooks/useResearch.js.map +0 -1
- package/dist/hooks/useSessionFiles.js +0 -15
- package/dist/hooks/useSessionFiles.js.map +0 -1
- package/dist/hooks/useSessionStream.js +0 -572
- package/dist/hooks/useSessionStream.js.map +0 -1
- package/dist/hooks/useSessions.js +0 -83
- package/dist/hooks/useSessions.js.map +0 -1
- package/dist/hooks/useSetuBalance.js +0 -71
- package/dist/hooks/useSetuBalance.js.map +0 -1
- package/dist/hooks/useSetuPayments.js +0 -171
- package/dist/hooks/useSetuPayments.js.map +0 -1
- package/dist/hooks/useShareStatus.js +0 -12
- package/dist/hooks/useShareStatus.js.map +0 -1
- package/dist/hooks/useSkills.js +0 -54
- package/dist/hooks/useSkills.js.map +0 -1
- package/dist/hooks/useTerminals.js +0 -67
- package/dist/hooks/useTerminals.js.map +0 -1
- package/dist/hooks/useTheme.js +0 -57
- package/dist/hooks/useTheme.js.map +0 -1
- package/dist/hooks/useToolApprovalShortcuts.js +0 -88
- package/dist/hooks/useToolApprovalShortcuts.js.map +0 -1
- package/dist/hooks/useTopupCallback.js +0 -74
- package/dist/hooks/useTopupCallback.js.map +0 -1
- package/dist/hooks/useTunnel.js +0 -158
- package/dist/hooks/useTunnel.js.map +0 -1
- package/dist/hooks/useVimMode.js +0 -298
- package/dist/hooks/useVimMode.js.map +0 -1
- package/dist/hooks/useWorkingDirectory.js +0 -34
- package/dist/hooks/useWorkingDirectory.js.map +0 -1
- package/dist/lib/api-client/approval.js +0 -25
- package/dist/lib/api-client/approval.js.map +0 -1
- package/dist/lib/api-client/auth.js +0 -139
- package/dist/lib/api-client/auth.js.map +0 -1
- package/dist/lib/api-client/branches.js +0 -45
- package/dist/lib/api-client/branches.js.map +0 -1
- package/dist/lib/api-client/config.js +0 -38
- package/dist/lib/api-client/config.js.map +0 -1
- package/dist/lib/api-client/files.js +0 -35
- package/dist/lib/api-client/files.js.map +0 -1
- package/dist/lib/api-client/git.js +0 -154
- package/dist/lib/api-client/git.js.map +0 -1
- package/dist/lib/api-client/index.js +0 -92
- package/dist/lib/api-client/index.js.map +0 -1
- package/dist/lib/api-client/sessions.js +0 -106
- package/dist/lib/api-client/sessions.js.map +0 -1
- package/dist/lib/api-client/setu.js +0 -144
- package/dist/lib/api-client/setu.js.map +0 -1
- package/dist/lib/api-client/skills.js +0 -31
- package/dist/lib/api-client/skills.js.map +0 -1
- package/dist/lib/api-client/utils.js +0 -65
- package/dist/lib/api-client/utils.js.map +0 -1
- package/dist/lib/commands.js +0 -124
- package/dist/lib/commands.js.map +0 -1
- package/dist/lib/config.js +0 -28
- package/dist/lib/config.js.map +0 -1
- package/dist/lib/nerd-font.js +0 -55
- package/dist/lib/nerd-font.js.map +0 -1
- package/dist/lib/open-url.js +0 -9
- package/dist/lib/open-url.js.map +0 -1
- package/dist/lib/parseResearchContext.js +0 -30
- package/dist/lib/parseResearchContext.js.map +0 -1
- package/dist/lib/sse-client.js +0 -113
- package/dist/lib/sse-client.js.map +0 -1
- package/dist/stores/confirmationStore.js +0 -27
- package/dist/stores/confirmationStore.js.map +0 -1
- package/dist/stores/fileBrowserStore.js +0 -63
- package/dist/stores/fileBrowserStore.js.map +0 -1
- package/dist/stores/filePickerStore.js +0 -8
- package/dist/stores/filePickerStore.js.map +0 -1
- package/dist/stores/focusStore.js +0 -12
- package/dist/stores/focusStore.js.map +0 -1
- package/dist/stores/gitStore.js +0 -63
- package/dist/stores/gitStore.js.map +0 -1
- package/dist/stores/mcpStore.js +0 -63
- package/dist/stores/mcpStore.js.map +0 -1
- package/dist/stores/onboardingStore.js +0 -38
- package/dist/stores/onboardingStore.js.map +0 -1
- package/dist/stores/panelWidthStore.js +0 -12
- package/dist/stores/panelWidthStore.js.map +0 -1
- package/dist/stores/pendingResearchStore.js +0 -38
- package/dist/stores/pendingResearchStore.js.map +0 -1
- package/dist/stores/queueStore.js +0 -11
- package/dist/stores/queueStore.js.map +0 -1
- package/dist/stores/researchStore.js +0 -54
- package/dist/stores/researchStore.js.map +0 -1
- package/dist/stores/sessionFilesStore.js +0 -62
- package/dist/stores/sessionFilesStore.js.map +0 -1
- package/dist/stores/settingsStore.js +0 -29
- package/dist/stores/settingsStore.js.map +0 -1
- package/dist/stores/setuStore.js +0 -29
- package/dist/stores/setuStore.js.map +0 -1
- package/dist/stores/sidebarStore.js +0 -10
- package/dist/stores/sidebarStore.js.map +0 -1
- package/dist/stores/skillsStore.js +0 -46
- package/dist/stores/skillsStore.js.map +0 -1
- package/dist/stores/terminalStore.js +0 -32
- package/dist/stores/terminalStore.js.map +0 -1
- package/dist/stores/toastStore.js +0 -46
- package/dist/stores/toastStore.js.map +0 -1
- package/dist/stores/toolApprovalStore.js +0 -16
- package/dist/stores/toolApprovalStore.js.map +0 -1
- package/dist/stores/topupApprovalStore.js +0 -11
- package/dist/stores/topupApprovalStore.js.map +0 -1
- package/dist/stores/tunnelStore.js +0 -55
- package/dist/stores/tunnelStore.js.map +0 -1
- package/dist/stores/usageStore.js +0 -14
- package/dist/stores/usageStore.js.map +0 -1
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { memo } from 'react';
|
|
3
|
-
import { Globe } from 'lucide-react';
|
|
4
|
-
import { useTunnelStore } from '../../stores/tunnelStore';
|
|
5
|
-
export const TunnelSidebarToggle = memo(function TunnelSidebarToggle() {
|
|
6
|
-
const isExpanded = useTunnelStore((state) => state.isExpanded);
|
|
7
|
-
const toggleSidebar = useTunnelStore((state) => state.toggleSidebar);
|
|
8
|
-
const status = useTunnelStore((state) => state.status);
|
|
9
|
-
const isConnected = status === 'connected';
|
|
10
|
-
return (_jsxs("button", { type: "button", onClick: toggleSidebar, className: `relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${isExpanded
|
|
11
|
-
? 'bg-muted border-primary'
|
|
12
|
-
: 'border-transparent hover:bg-muted/50'}`, title: "Remote Access", children: [_jsx(Globe, { className: "w-5 h-5 text-muted-foreground mx-auto" }), isConnected && (_jsx("span", { className: "absolute top-2 right-2 w-2 h-2 bg-green-500 rounded-full animate-pulse" }))] }));
|
|
13
|
-
});
|
|
14
|
-
//# sourceMappingURL=TunnelSidebarToggle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TunnelSidebarToggle.js","sourceRoot":"","sources":["../../../src/components/tunnel/TunnelSidebarToggle.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,mBAAmB;IACnE,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC/D,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAEvD,MAAM,WAAW,GAAG,MAAM,KAAK,WAAW,CAAC;IAE3C,OAAO,CACN,kBACC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,yGACV,UAAU;YACT,CAAC,CAAC,yBAAyB;YAC3B,CAAC,CAAC,sCACJ,EAAE,EACF,KAAK,EAAC,eAAe,aAErB,KAAC,KAAK,IAAC,SAAS,EAAC,uCAAuC,GAAG,EAC1D,WAAW,IAAI,CACf,eAAM,SAAS,EAAC,wEAAwE,GAAG,CAC3F,IACO,CACT,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/tunnel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef } from 'react';
|
|
3
|
-
export const Button = forwardRef(({ className = '', variant = 'primary', size = 'md', ...props }, ref) => {
|
|
4
|
-
const baseStyles = 'inline-flex items-center justify-center rounded font-medium transition-colors focus-visible:outline-none disabled:opacity-50 disabled:cursor-not-allowed';
|
|
5
|
-
const variants = {
|
|
6
|
-
primary: 'bg-primary text-primary-foreground hover:bg-primary/90',
|
|
7
|
-
secondary: 'bg-muted text-foreground hover:bg-muted/80 border border-border',
|
|
8
|
-
ghost: 'text-muted-foreground hover:text-foreground hover:bg-muted/50',
|
|
9
|
-
};
|
|
10
|
-
const sizes = {
|
|
11
|
-
sm: 'px-3 py-1.5 text-sm',
|
|
12
|
-
md: 'px-4 py-2 text-sm',
|
|
13
|
-
lg: 'px-6 py-3 text-base',
|
|
14
|
-
icon: 'w-10 h-10 p-0',
|
|
15
|
-
};
|
|
16
|
-
return (_jsx("button", { ref: ref, className: `${baseStyles} ${variants[variant]} ${sizes[size]} ${className}`, ...props }));
|
|
17
|
-
});
|
|
18
|
-
Button.displayName = 'Button';
|
|
19
|
-
//# sourceMappingURL=Button.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/components/ui/Button.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAQnC,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAC/B,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,OAAO,GAAG,SAAS,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IACvE,MAAM,UAAU,GACf,0JAA0J,CAAC;IAE5J,MAAM,QAAQ,GAAG;QAChB,OAAO,EAAE,wDAAwD;QACjE,SAAS,EACR,iEAAiE;QAClE,KAAK,EAAE,+DAA+D;KACtE,CAAC;IAEF,MAAM,KAAK,GAAG;QACb,EAAE,EAAE,qBAAqB;QACzB,EAAE,EAAE,mBAAmB;QACvB,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE,eAAe;KACrB,CAAC;IAEF,OAAO,CACN,iBACC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,GAAG,UAAU,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE,KACvE,KAAK,GACR,CACF,CAAC;AACH,CAAC,CACD,CAAC;AAEF,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef } from 'react';
|
|
3
|
-
export const Card = forwardRef(({ className = '', children, ...props }, ref) => {
|
|
4
|
-
return (_jsx("div", { ref: ref, className: `bg-card text-card-foreground border border-border rounded-lg ${className}`, ...props, children: children }));
|
|
5
|
-
});
|
|
6
|
-
Card.displayName = 'Card';
|
|
7
|
-
//# sourceMappingURL=Card.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Card.js","sourceRoot":"","sources":["../../../src/components/ui/Card.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAKnC,MAAM,CAAC,MAAM,IAAI,GAAG,UAAU,CAC7B,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAC/C,OAAO,CACN,cACC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,gEAAgE,SAAS,EAAE,KAClF,KAAK,YAER,QAAQ,GACJ,CACN,CAAC;AACH,CAAC,CACD,CAAC;AAEF,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC"}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useCallback } from 'react';
|
|
3
|
-
import { useConfirmationStore } from '../../stores/confirmationStore';
|
|
4
|
-
import { X, AlertCircle } from 'lucide-react';
|
|
5
|
-
import { useEffect, useState } from 'react';
|
|
6
|
-
export function ConfirmationDialog() {
|
|
7
|
-
const { isOpen, title, message, confirmLabel, cancelLabel, variant, onConfirm, onCancel, closeConfirmation, } = useConfirmationStore();
|
|
8
|
-
const [isProcessing, setIsProcessing] = useState(false);
|
|
9
|
-
useEffect(() => {
|
|
10
|
-
if (!isOpen) {
|
|
11
|
-
setIsProcessing(false);
|
|
12
|
-
}
|
|
13
|
-
}, [isOpen]);
|
|
14
|
-
const handleConfirm = useCallback(async () => {
|
|
15
|
-
setIsProcessing(true);
|
|
16
|
-
try {
|
|
17
|
-
await onConfirm();
|
|
18
|
-
closeConfirmation();
|
|
19
|
-
}
|
|
20
|
-
catch (error) {
|
|
21
|
-
console.error('Confirmation action failed:', error);
|
|
22
|
-
setIsProcessing(false);
|
|
23
|
-
}
|
|
24
|
-
}, [onConfirm, closeConfirmation]);
|
|
25
|
-
const handleCancel = useCallback(() => {
|
|
26
|
-
onCancel?.();
|
|
27
|
-
closeConfirmation();
|
|
28
|
-
}, [onCancel, closeConfirmation]);
|
|
29
|
-
const handleBackdropClick = (e) => {
|
|
30
|
-
if (e.target === e.currentTarget && !isProcessing) {
|
|
31
|
-
handleCancel();
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
useEffect(() => {
|
|
35
|
-
const handleEscape = (e) => {
|
|
36
|
-
if (isOpen && !isProcessing) {
|
|
37
|
-
const target = e.target;
|
|
38
|
-
const isInInput = target.tagName === 'INPUT' ||
|
|
39
|
-
target.tagName === 'TEXTAREA' ||
|
|
40
|
-
target.isContentEditable;
|
|
41
|
-
if (e.key === 'Escape' || (e.key === 'q' && !isInInput)) {
|
|
42
|
-
e.preventDefault();
|
|
43
|
-
handleCancel();
|
|
44
|
-
}
|
|
45
|
-
if (e.key === 'Enter') {
|
|
46
|
-
e.preventDefault();
|
|
47
|
-
handleConfirm();
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
if (isOpen) {
|
|
52
|
-
document.addEventListener('keydown', handleEscape);
|
|
53
|
-
return () => document.removeEventListener('keydown', handleEscape);
|
|
54
|
-
}
|
|
55
|
-
}, [isOpen, isProcessing, handleConfirm, handleCancel]);
|
|
56
|
-
if (!isOpen)
|
|
57
|
-
return null;
|
|
58
|
-
return (_jsx("div", { role: "dialog", "aria-modal": "true", className: "fixed inset-0 bg-black/50 flex items-center justify-center z-50", onClick: handleBackdropClick, onKeyDown: (e) => {
|
|
59
|
-
const target = e.target;
|
|
60
|
-
const isInInput = target.tagName === 'INPUT' ||
|
|
61
|
-
target.tagName === 'TEXTAREA' ||
|
|
62
|
-
target.isContentEditable;
|
|
63
|
-
if ((e.key === 'Escape' || (e.key === 'q' && !isInInput)) &&
|
|
64
|
-
!isProcessing) {
|
|
65
|
-
e.preventDefault();
|
|
66
|
-
handleCancel();
|
|
67
|
-
}
|
|
68
|
-
}, children: _jsxs("div", { className: "bg-background border border-border rounded-lg shadow-lg max-w-md w-full mx-4", children: [_jsxs("div", { className: "flex items-center justify-between p-4 border-b border-border", children: [_jsxs("div", { className: "flex items-center gap-2", children: [variant === 'destructive' && (_jsx(AlertCircle, { className: "w-5 h-5 text-destructive" })), _jsx("h2", { className: "text-lg font-semibold", children: title })] }), _jsx("button", { type: "button", onClick: handleCancel, disabled: isProcessing, className: "p-1 hover:bg-muted rounded transition-colors disabled:opacity-50", "aria-label": "Close", children: _jsx(X, { className: "w-5 h-5" }) })] }), _jsx("div", { className: "p-4", children: _jsx("p", { className: "text-muted-foreground", children: message }) }), _jsxs("div", { className: "flex items-center justify-end gap-3 p-4 border-t border-border", children: [_jsx("button", { type: "button", onClick: handleCancel, disabled: isProcessing, className: "px-4 py-2 text-sm font-medium rounded transition-colors hover:bg-muted disabled:opacity-50", children: cancelLabel }), _jsx("button", { type: "button", onClick: handleConfirm, disabled: isProcessing, className: `px-4 py-2 text-sm font-medium rounded transition-colors disabled:opacity-50 ${variant === 'destructive'
|
|
69
|
-
? 'bg-destructive text-destructive-foreground hover:bg-destructive/90'
|
|
70
|
-
: 'bg-primary text-primary-foreground hover:bg-primary/90'}`, children: isProcessing ? 'Processing...' : confirmLabel })] })] }) }));
|
|
71
|
-
}
|
|
72
|
-
//# sourceMappingURL=ConfirmationDialog.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConfirmationDialog.js","sourceRoot":"","sources":["../../../src/components/ui/ConfirmationDialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,UAAU,kBAAkB;IACjC,MAAM,EACL,MAAM,EACN,KAAK,EACL,OAAO,EACP,YAAY,EACZ,WAAW,EACX,OAAO,EACP,SAAS,EACT,QAAQ,EACR,iBAAiB,GACjB,GAAG,oBAAoB,EAAE,CAAC;IAE3B,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExD,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,eAAe,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;IACF,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC5C,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC;YACJ,MAAM,SAAS,EAAE,CAAC;YAClB,iBAAiB,EAAE,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;YACpD,eAAe,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;IACF,CAAC,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAEnC,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QACrC,QAAQ,EAAE,EAAE,CAAC;QACb,iBAAiB,EAAE,CAAC;IACrB,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAElC,MAAM,mBAAmB,GAAG,CAAC,CAAmC,EAAE,EAAE;QACnE,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,aAAa,IAAI,CAAC,YAAY,EAAE,CAAC;YACnD,YAAY,EAAE,CAAC;QAChB,CAAC;IACF,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,YAAY,GAAG,CAAC,CAAgB,EAAE,EAAE;YACzC,IAAI,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;gBACvC,MAAM,SAAS,GACd,MAAM,CAAC,OAAO,KAAK,OAAO;oBAC1B,MAAM,CAAC,OAAO,KAAK,UAAU;oBAC7B,MAAM,CAAC,iBAAiB,CAAC;gBAC1B,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;oBACzD,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,YAAY,EAAE,CAAC;gBAChB,CAAC;gBACD,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;oBACvB,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,aAAa,EAAE,CAAC;gBACjB,CAAC;YACF,CAAC;QACF,CAAC,CAAC;QAEF,IAAI,MAAM,EAAE,CAAC;YACZ,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YACnD,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACpE,CAAC;IACF,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;IAExD,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,OAAO,CACN,cACC,IAAI,EAAC,QAAQ,gBACF,MAAM,EACjB,SAAS,EAAC,iEAAiE,EAC3E,OAAO,EAAE,mBAAmB,EAC5B,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;YAChB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;YACvC,MAAM,SAAS,GACd,MAAM,CAAC,OAAO,KAAK,OAAO;gBAC1B,MAAM,CAAC,OAAO,KAAK,UAAU;gBAC7B,MAAM,CAAC,iBAAiB,CAAC;YAC1B,IACC,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;gBACrD,CAAC,YAAY,EACZ,CAAC;gBACF,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,YAAY,EAAE,CAAC;YAChB,CAAC;QACF,CAAC,YAED,eAAK,SAAS,EAAC,8EAA8E,aAC5F,eAAK,SAAS,EAAC,8DAA8D,aAC5E,eAAK,SAAS,EAAC,yBAAyB,aACtC,OAAO,KAAK,aAAa,IAAI,CAC7B,KAAC,WAAW,IAAC,SAAS,EAAC,0BAA0B,GAAG,CACpD,EACD,aAAI,SAAS,EAAC,uBAAuB,YAAE,KAAK,GAAM,IAC7C,EACN,iBACC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAC,kEAAkE,gBACjE,OAAO,YAElB,KAAC,CAAC,IAAC,SAAS,EAAC,SAAS,GAAG,GACjB,IACJ,EAEN,cAAK,SAAS,EAAC,KAAK,YACnB,YAAG,SAAS,EAAC,uBAAuB,YAAE,OAAO,GAAK,GAC7C,EAEN,eAAK,SAAS,EAAC,gEAAgE,aAC9E,iBACC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAC,4FAA4F,YAErG,WAAW,GACJ,EACT,iBACC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,+EACV,OAAO,KAAK,aAAa;gCACxB,CAAC,CAAC,oEAAoE;gCACtE,CAAC,CAAC,wDACJ,EAAE,YAED,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,GACtC,IACJ,IACD,GACD,CACN,CAAC;AACH,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef } from 'react';
|
|
3
|
-
export const Input = forwardRef(({ className = '', ...props }, ref) => {
|
|
4
|
-
return (_jsx("input", { ref: ref, className: `w-full px-3 py-2 bg-muted border border-border rounded text-foreground placeholder-muted-foreground outline-none ${className}`, ...props }));
|
|
5
|
-
});
|
|
6
|
-
Input.displayName = 'Input';
|
|
7
|
-
//# sourceMappingURL=Input.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../src/components/ui/Input.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAKnC,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,CAC9B,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IACrC,OAAO,CACN,gBACC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,oHAAoH,SAAS,EAAE,KACtI,KAAK,GACR,CACF,CAAC;AACH,CAAC,CACD,CAAC;AAEF,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { useEffect } from 'react';
|
|
3
|
-
import { X } from 'lucide-react';
|
|
4
|
-
const maxWidthClasses = {
|
|
5
|
-
sm: 'max-w-sm',
|
|
6
|
-
md: 'max-w-md',
|
|
7
|
-
lg: 'max-w-lg',
|
|
8
|
-
xl: 'max-w-xl',
|
|
9
|
-
'2xl': 'max-w-2xl',
|
|
10
|
-
};
|
|
11
|
-
export function Modal({ isOpen, onClose, title, children, showCloseButton = true, closeOnBackdropClick = true, closeOnEscape = true, maxWidth = 'md', }) {
|
|
12
|
-
useEffect(() => {
|
|
13
|
-
if (!isOpen || !closeOnEscape)
|
|
14
|
-
return;
|
|
15
|
-
const handleEscape = (e) => {
|
|
16
|
-
const target = e.target;
|
|
17
|
-
const isInInput = target.tagName === 'INPUT' ||
|
|
18
|
-
target.tagName === 'TEXTAREA' ||
|
|
19
|
-
target.isContentEditable;
|
|
20
|
-
if (e.key === 'Escape' || (e.key === 'q' && !isInInput)) {
|
|
21
|
-
e.preventDefault();
|
|
22
|
-
e.stopPropagation();
|
|
23
|
-
onClose();
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
document.addEventListener('keydown', handleEscape);
|
|
27
|
-
return () => document.removeEventListener('keydown', handleEscape);
|
|
28
|
-
}, [isOpen, closeOnEscape, onClose]);
|
|
29
|
-
useEffect(() => {
|
|
30
|
-
if (isOpen) {
|
|
31
|
-
// Prevent body scroll when modal is open
|
|
32
|
-
document.body.style.overflow = 'hidden';
|
|
33
|
-
return () => {
|
|
34
|
-
document.body.style.overflow = '';
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
}, [isOpen]);
|
|
38
|
-
if (!isOpen)
|
|
39
|
-
return null;
|
|
40
|
-
const handleBackdropClick = (e) => {
|
|
41
|
-
if (closeOnBackdropClick && e.target === e.currentTarget) {
|
|
42
|
-
onClose();
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
return (_jsxs(_Fragment, { children: [_jsx("button", { type: "button", className: "fixed inset-0 bg-black/50 backdrop-blur-sm z-[9999] cursor-default", onClick: handleBackdropClick, onKeyDown: (e) => {
|
|
46
|
-
if (e.key === 'Enter' || e.key === ' ') {
|
|
47
|
-
handleBackdropClick(e);
|
|
48
|
-
}
|
|
49
|
-
}, "aria-label": "Close modal" }), _jsx("div", { className: `fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 z-[9999] w-full ${maxWidthClasses[maxWidth]} px-4`, children: _jsxs("div", { className: "bg-background border border-border rounded-lg shadow-lg", children: [(title || showCloseButton) && (_jsxs("div", { className: "flex items-center justify-between p-4 border-b border-border", children: [title && (_jsx("div", { className: "text-lg font-semibold text-foreground", children: title })), showCloseButton && (_jsx("button", { type: "button", onClick: onClose, className: "text-muted-foreground hover:text-foreground transition-colors ml-auto", "aria-label": "Close", children: _jsx(X, { className: "h-5 w-5" }) }))] })), _jsx("div", { className: "p-6", children: children })] }) })] }));
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=Modal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../../src/components/ui/Modal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { memo, useCallback, useRef } from 'react';
|
|
3
|
-
import { usePanelWidthStore } from '../../stores/panelWidthStore';
|
|
4
|
-
export const ResizeHandle = memo(function ResizeHandle({ panelKey, side, minWidth, maxWidth, defaultWidth, onWidthChange, }) {
|
|
5
|
-
const dragRef = useRef(null);
|
|
6
|
-
const handleMouseDown = useCallback((e) => {
|
|
7
|
-
e.preventDefault();
|
|
8
|
-
const currentWidth = usePanelWidthStore
|
|
9
|
-
.getState()
|
|
10
|
-
.getWidth(panelKey, defaultWidth);
|
|
11
|
-
dragRef.current = { startX: e.clientX, startWidth: currentWidth };
|
|
12
|
-
const handleMouseMove = (ev) => {
|
|
13
|
-
if (!dragRef.current)
|
|
14
|
-
return;
|
|
15
|
-
const delta = ev.clientX - dragRef.current.startX;
|
|
16
|
-
const newWidth = side === 'right'
|
|
17
|
-
? dragRef.current.startWidth - delta
|
|
18
|
-
: dragRef.current.startWidth + delta;
|
|
19
|
-
const clamped = Math.min(Math.max(minWidth, newWidth), maxWidth);
|
|
20
|
-
usePanelWidthStore.getState().setWidth(panelKey, clamped);
|
|
21
|
-
onWidthChange?.(clamped);
|
|
22
|
-
};
|
|
23
|
-
const handleMouseUp = () => {
|
|
24
|
-
dragRef.current = null;
|
|
25
|
-
document.removeEventListener('mousemove', handleMouseMove);
|
|
26
|
-
document.removeEventListener('mouseup', handleMouseUp);
|
|
27
|
-
document.body.style.cursor = '';
|
|
28
|
-
document.body.style.userSelect = '';
|
|
29
|
-
};
|
|
30
|
-
document.addEventListener('mousemove', handleMouseMove);
|
|
31
|
-
document.addEventListener('mouseup', handleMouseUp);
|
|
32
|
-
document.body.style.cursor = 'col-resize';
|
|
33
|
-
document.body.style.userSelect = 'none';
|
|
34
|
-
}, [panelKey, side, minWidth, maxWidth, defaultWidth, onWidthChange]);
|
|
35
|
-
return (
|
|
36
|
-
// biome-ignore lint/a11y/noStaticElementInteractions: mouse-only resize handle
|
|
37
|
-
_jsx("div", { className: `w-1 h-full cursor-col-resize hover:bg-primary/30 active:bg-primary/50 transition-colors absolute top-0 bottom-0 z-10 ${side === 'right' ? 'left-0' : 'right-0'}`, onMouseDown: handleMouseDown }));
|
|
38
|
-
});
|
|
39
|
-
//# sourceMappingURL=ResizeHandle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ResizeHandle.js","sourceRoot":"","sources":["../../../src/components/ui/ResizeHandle.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAWlE,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,YAAY,CAAC,EACtD,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,aAAa,GACM;IACnB,MAAM,OAAO,GAAG,MAAM,CAAgD,IAAI,CAAC,CAAC;IAE5E,MAAM,eAAe,GAAG,WAAW,CAClC,CAAC,CAAmB,EAAE,EAAE;QACvB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,MAAM,YAAY,GAAG,kBAAkB;aACrC,QAAQ,EAAE;aACV,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACnC,OAAO,CAAC,OAAO,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;QAElE,MAAM,eAAe,GAAG,CAAC,EAAc,EAAE,EAAE;YAC1C,IAAI,CAAC,OAAO,CAAC,OAAO;gBAAE,OAAO;YAC7B,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;YAClD,MAAM,QAAQ,GACb,IAAI,KAAK,OAAO;gBACf,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,GAAG,KAAK;gBACpC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC;YACvC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;YACjE,kBAAkB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC1D,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,GAAG,EAAE;YAC1B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;YACvB,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAC3D,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YACvD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;YAChC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;QACrC,CAAC,CAAC;QAEF,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QACxD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACpD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC;QAC1C,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;IACzC,CAAC,EACD,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,CAAC,CACjE,CAAC;IAEF,OAAO;IACN,+EAA+E;IAC/E,cACC,SAAS,EAAE,wHACV,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAC/B,EAAE,EACF,WAAW,EAAE,eAAe,GAC3B,CACF,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef } from 'react';
|
|
3
|
-
export const Textarea = forwardRef(({ className = '', ...props }, ref) => {
|
|
4
|
-
return (_jsx("textarea", { ref: ref, className: `w-full px-3 py-2 bg-muted border border-border rounded text-foreground placeholder-muted-foreground outline-none resize-none ${className}`, ...props }));
|
|
5
|
-
});
|
|
6
|
-
Textarea.displayName = 'Textarea';
|
|
7
|
-
//# sourceMappingURL=Textarea.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Textarea.js","sourceRoot":"","sources":["../../../src/components/ui/Textarea.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAKnC,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CACjC,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IACrC,OAAO,CACN,mBACC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,gIAAgI,SAAS,EAAE,KAClJ,KAAK,GACR,CACF,CAAC;AACH,CAAC,CACD,CAAC;AAEF,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useEffect, useState } from 'react';
|
|
3
|
-
import { CheckCircle, XCircle, Loader2, CreditCard, ExternalLink, } from 'lucide-react';
|
|
4
|
-
import { useToastStore, } from '../../stores/toastStore';
|
|
5
|
-
import { openUrl } from '../../lib/open-url';
|
|
6
|
-
const icons = {
|
|
7
|
-
default: _jsx(CreditCard, { className: "h-4 w-4" }),
|
|
8
|
-
success: _jsx(CheckCircle, { className: "h-4 w-4 text-green-500" }),
|
|
9
|
-
error: _jsx(XCircle, { className: "h-4 w-4 text-red-500" }),
|
|
10
|
-
loading: _jsx(Loader2, { className: "h-4 w-4 animate-spin" }),
|
|
11
|
-
};
|
|
12
|
-
function ToastItem({ toast }) {
|
|
13
|
-
const [isVisible, setIsVisible] = useState(false);
|
|
14
|
-
const removeToast = useToastStore((s) => s.removeToast);
|
|
15
|
-
useEffect(() => {
|
|
16
|
-
requestAnimationFrame(() => setIsVisible(true));
|
|
17
|
-
}, []);
|
|
18
|
-
const handleDismiss = () => {
|
|
19
|
-
setIsVisible(false);
|
|
20
|
-
setTimeout(() => removeToast(toast.id), 150);
|
|
21
|
-
};
|
|
22
|
-
return (
|
|
23
|
-
// biome-ignore lint/a11y/useKeyWithClickEvents: toast click-to-dismiss is supplementary
|
|
24
|
-
_jsxs("div", { className: `
|
|
25
|
-
flex items-center gap-3 px-4 py-3
|
|
26
|
-
bg-card border border-border rounded-lg shadow-lg
|
|
27
|
-
transition-all duration-150 ease-out cursor-pointer
|
|
28
|
-
hover:bg-accent/50
|
|
29
|
-
${isVisible ? 'opacity-100 translate-y-0' : 'opacity-0 translate-y-2'}
|
|
30
|
-
`, onClick: handleDismiss, role: "alert", children: [icons[toast.type], _jsx("span", { className: "text-sm text-foreground", children: toast.message }), toast.action && (_jsxs("button", { type: "button", onClick: (e) => {
|
|
31
|
-
e.stopPropagation();
|
|
32
|
-
openUrl(toast.action?.href);
|
|
33
|
-
}, className: "ml-auto flex items-center gap-1 text-xs text-primary hover:underline", children: [toast.action.label, _jsx(ExternalLink, { className: "h-3 w-3" })] }))] }));
|
|
34
|
-
}
|
|
35
|
-
export function Toaster() {
|
|
36
|
-
const toasts = useToastStore((s) => s.toasts);
|
|
37
|
-
if (toasts.length === 0)
|
|
38
|
-
return null;
|
|
39
|
-
return (_jsx("div", { className: "fixed bottom-4 right-4 z-[9999] flex flex-col gap-2 max-w-sm", children: toasts.map((toast) => (_jsx(ToastItem, { toast: toast }, toast.id))) }));
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=Toaster.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Toaster.js","sourceRoot":"","sources":["../../../src/components/ui/Toaster.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EACN,WAAW,EACX,OAAO,EACP,OAAO,EACP,UAAU,EACV,YAAY,GACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,aAAa,GAGb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,MAAM,KAAK,GAAuC;IACjD,OAAO,EAAE,KAAC,UAAU,IAAC,SAAS,EAAC,SAAS,GAAG;IAC3C,OAAO,EAAE,KAAC,WAAW,IAAC,SAAS,EAAC,wBAAwB,GAAG;IAC3D,KAAK,EAAE,KAAC,OAAO,IAAC,SAAS,EAAC,sBAAsB,GAAG;IACnD,OAAO,EAAE,KAAC,OAAO,IAAC,SAAS,EAAC,sBAAsB,GAAG;CACrD,CAAC;AAEF,SAAS,SAAS,CAAC,EAAE,KAAK,EAAoB;IAC7C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAExD,SAAS,CAAC,GAAG,EAAE;QACd,qBAAqB,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,aAAa,GAAG,GAAG,EAAE;QAC1B,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,UAAU,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC,CAAC;IAEF,OAAO;IACN,wFAAwF;IACxF,eACC,SAAS,EAAE;;;;;MAKR,SAAS,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,yBAAyB;IACrE,EACD,OAAO,EAAE,aAAa,EACtB,IAAI,EAAC,OAAO,aAEX,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAClB,eAAM,SAAS,EAAC,yBAAyB,YAAE,KAAK,CAAC,OAAO,GAAQ,EAC/D,KAAK,CAAC,MAAM,IAAI,CAChB,kBACC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;oBACd,CAAC,CAAC,eAAe,EAAE,CAAC;oBACpB,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAC7B,CAAC,EACD,SAAS,EAAC,sEAAsE,aAE/E,KAAK,CAAC,MAAM,CAAC,KAAK,EACnB,KAAC,YAAY,IAAC,SAAS,EAAC,SAAS,GAAG,IAC5B,CACT,IACI,CACN,CAAC;AACH,CAAC;AAED,MAAM,UAAU,OAAO;IACtB,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAE9C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAErC,OAAO,CACN,cAAK,SAAS,EAAC,8DAA8D,YAC3E,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACtB,KAAC,SAAS,IAAgB,KAAK,EAAE,KAAK,IAAtB,KAAK,CAAC,EAAE,CAAkB,CAC1C,CAAC,GACG,CACN,CAAC;AACH,CAAC"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useCallback, useState } from 'react';
|
|
3
|
-
import { useToolApprovalStore } from '../../stores/toolApprovalStore';
|
|
4
|
-
import { Shield, Check, X, Terminal, FileEdit, GitCommit } from 'lucide-react';
|
|
5
|
-
const TOOL_ICONS = {
|
|
6
|
-
bash: Terminal,
|
|
7
|
-
write: FileEdit,
|
|
8
|
-
apply_patch: FileEdit,
|
|
9
|
-
edit: FileEdit,
|
|
10
|
-
terminal: Terminal,
|
|
11
|
-
git_commit: GitCommit,
|
|
12
|
-
git_push: GitCommit,
|
|
13
|
-
};
|
|
14
|
-
export function ToolApprovalDialog({ baseUrl, sessionId, }) {
|
|
15
|
-
const { pendingApprovals, removePendingApproval } = useToolApprovalStore();
|
|
16
|
-
const [processingId, setProcessingId] = useState(null);
|
|
17
|
-
const handleApproval = useCallback(async (callId, approved) => {
|
|
18
|
-
setProcessingId(callId);
|
|
19
|
-
try {
|
|
20
|
-
const response = await fetch(`${baseUrl}/v1/sessions/${sessionId}/approval`, {
|
|
21
|
-
method: 'POST',
|
|
22
|
-
headers: { 'Content-Type': 'application/json' },
|
|
23
|
-
body: JSON.stringify({ callId, approved }),
|
|
24
|
-
});
|
|
25
|
-
if (response.ok) {
|
|
26
|
-
removePendingApproval(callId);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
catch (error) {
|
|
30
|
-
console.error('Failed to send approval:', error);
|
|
31
|
-
}
|
|
32
|
-
finally {
|
|
33
|
-
setProcessingId(null);
|
|
34
|
-
}
|
|
35
|
-
}, [baseUrl, sessionId, removePendingApproval]);
|
|
36
|
-
if (pendingApprovals.length === 0)
|
|
37
|
-
return null;
|
|
38
|
-
const formatArgs = (args) => {
|
|
39
|
-
if (!args)
|
|
40
|
-
return '';
|
|
41
|
-
if (typeof args === 'string')
|
|
42
|
-
return args;
|
|
43
|
-
try {
|
|
44
|
-
const str = JSON.stringify(args, null, 2);
|
|
45
|
-
return str.length > 200 ? `${str.slice(0, 200)}...` : str;
|
|
46
|
-
}
|
|
47
|
-
catch {
|
|
48
|
-
return String(args);
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
return (_jsx("div", { className: "fixed bottom-4 right-4 z-50 flex flex-col gap-2 max-w-md", children: pendingApprovals.map((approval) => {
|
|
52
|
-
const Icon = TOOL_ICONS[approval.toolName] || Shield;
|
|
53
|
-
const isProcessing = processingId === approval.callId;
|
|
54
|
-
return (_jsxs("div", { className: "bg-background border border-border rounded-lg shadow-lg p-4 animate-in slide-in-from-right-2", children: [_jsxs("div", { className: "flex items-start gap-3", children: [_jsx("div", { className: "p-2 bg-warning/10 rounded-lg", children: _jsx(Icon, { className: "w-5 h-5 text-warning" }) }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsxs("h3", { className: "font-semibold text-sm flex items-center gap-2", children: [_jsx(Shield, { className: "w-4 h-4 text-warning" }), "Tool Approval Required"] }), _jsx("p", { className: "text-sm text-muted-foreground mt-1", children: _jsx("code", { className: "px-1.5 py-0.5 bg-muted rounded text-xs font-mono", children: approval.toolName }) }), approval.args && (_jsx("pre", { className: "mt-2 p-2 bg-muted rounded text-xs font-mono overflow-x-auto max-h-24 overflow-y-auto", children: formatArgs(approval.args) }))] })] }), _jsxs("div", { className: "flex items-center justify-end gap-2 mt-3", children: [_jsxs("button", { type: "button", onClick: () => handleApproval(approval.callId, false), disabled: isProcessing, className: "flex items-center gap-1.5 px-3 py-1.5 text-sm font-medium rounded transition-colors hover:bg-muted disabled:opacity-50", children: [_jsx(X, { className: "w-4 h-4" }), "Reject"] }), _jsxs("button", { type: "button", onClick: () => handleApproval(approval.callId, true), disabled: isProcessing, className: "flex items-center gap-1.5 px-3 py-1.5 text-sm font-medium rounded transition-colors bg-primary text-primary-foreground hover:bg-primary/90 disabled:opacity-50", children: [_jsx(Check, { className: "w-4 h-4" }), isProcessing ? 'Approving...' : 'Approve'] })] })] }, approval.callId));
|
|
55
|
-
}) }));
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=ToolApprovalDialog.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ToolApprovalDialog.js","sourceRoot":"","sources":["../../../src/components/ui/ToolApprovalDialog.tsx"],"names":[],"mappings":"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"}
|