@stigmer/react 0.0.92 → 0.0.94
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/README.md +57 -12
- package/agent/AgentDetailView.js +7 -7
- package/agent/AgentDetailView.js.map +1 -1
- package/agent/AgentPicker.js +3 -3
- package/agent/AgentPicker.js.map +1 -1
- package/api-key/ApiKeyCreatedAlert.js +1 -1
- package/api-key/ApiKeyCreatedAlert.js.map +1 -1
- package/api-key/ApiKeyListPanel.js +4 -4
- package/api-key/ApiKeyListPanel.js.map +1 -1
- package/api-key/CreateApiKeyForm.js +1 -1
- package/api-key/CreateApiKeyForm.js.map +1 -1
- package/attachment/AttachmentChipList.js +2 -2
- package/attachment/AttachmentChipList.js.map +1 -1
- package/color-mode.d.ts +48 -0
- package/color-mode.d.ts.map +1 -0
- package/color-mode.js +53 -0
- package/color-mode.js.map +1 -0
- package/composer/ComposerToolbar.d.ts +6 -2
- package/composer/ComposerToolbar.d.ts.map +1 -1
- package/composer/ComposerToolbar.js +5 -3
- package/composer/ComposerToolbar.js.map +1 -1
- package/composer/ConfigureMenu.js +3 -3
- package/composer/ConfigureMenu.js.map +1 -1
- package/composer/ContextChip.js +1 -1
- package/composer/ContextChip.js.map +1 -1
- package/composer/ContextPopover.js +1 -1
- package/composer/ContextPopover.js.map +1 -1
- package/composer/SessionComposer.d.ts +24 -3
- package/composer/SessionComposer.d.ts.map +1 -1
- package/composer/SessionComposer.js +5 -4
- package/composer/SessionComposer.js.map +1 -1
- package/environment/CreateEnvironmentForm.js +1 -1
- package/environment/CreateEnvironmentForm.js.map +1 -1
- package/environment/EnvVarForm.js +2 -2
- package/environment/EnvVarForm.js.map +1 -1
- package/environment/EnvironmentListPanel.js +2 -2
- package/environment/EnvironmentListPanel.js.map +1 -1
- package/environment/EnvironmentVariableEditor.js +6 -6
- package/environment/EnvironmentVariableEditor.js.map +1 -1
- package/error/ErrorMessage.js +1 -1
- package/error/ErrorMessage.js.map +1 -1
- package/execution/ApprovalCard.js +4 -4
- package/execution/ApprovalCard.js.map +1 -1
- package/execution/ArtifactCard.js +1 -1
- package/execution/ArtifactCard.js.map +1 -1
- package/execution/ArtifactPreviewModal.js +4 -4
- package/execution/ArtifactPreviewModal.js.map +1 -1
- package/execution/FollowUpInput.js +1 -1
- package/execution/FollowUpInput.js.map +1 -1
- package/execution/McpToolDetail.js +4 -4
- package/execution/McpToolDetail.js.map +1 -1
- package/execution/MessageEntry.js +1 -1
- package/execution/MessageEntry.js.map +1 -1
- package/execution/MessageThread.js +1 -1
- package/execution/MessageThread.js.map +1 -1
- package/execution/SessionVariablesInput.js +4 -4
- package/execution/SessionVariablesInput.js.map +1 -1
- package/execution/SubAgentSection.js +2 -2
- package/execution/SubAgentSection.js.map +1 -1
- package/execution/ToolCallDetail.js +2 -2
- package/execution/ToolCallDetail.js.map +1 -1
- package/execution/ToolCallGroup.js +1 -1
- package/execution/ToolCallGroup.js.map +1 -1
- package/execution/ToolCallItem.js +2 -2
- package/execution/ToolCallItem.js.map +1 -1
- package/execution/WriteBackCard.js +3 -3
- package/execution/WriteBackCard.js.map +1 -1
- package/execution/tool-rendering-primitives.js +3 -3
- package/execution/tool-rendering-primitives.js.map +1 -1
- package/github/GitHubRepoPicker.js +5 -5
- package/github/GitHubRepoPicker.js.map +1 -1
- package/iam-policy/GrantAccessForm.js +1 -1
- package/iam-policy/GrantAccessForm.js.map +1 -1
- package/iam-policy/OrgMembersPanel.js +5 -5
- package/iam-policy/OrgMembersPanel.js.map +1 -1
- package/identity-provider/CreateIdentityProviderForm.js +3 -3
- package/identity-provider/CreateIdentityProviderForm.js.map +1 -1
- package/identity-provider/IdentityProviderDetailPanel.js +5 -5
- package/identity-provider/IdentityProviderDetailPanel.js.map +1 -1
- package/identity-provider/IdentityProviderListPanel.js +3 -3
- package/identity-provider/IdentityProviderListPanel.js.map +1 -1
- package/identity-provider/IdentityProviderWizard.js +7 -7
- package/identity-provider/IdentityProviderWizard.js.map +1 -1
- package/identity-provider/ProviderPicker.js +2 -2
- package/identity-provider/ProviderPicker.js.map +1 -1
- package/index.d.ts +8 -4
- package/index.d.ts.map +1 -1
- package/index.js +7 -3
- package/index.js.map +1 -1
- package/internal/CloudFeatureNotice.js +1 -1
- package/internal/CloudFeatureNotice.js.map +1 -1
- package/internal/Tabs.js +1 -1
- package/internal/Tabs.js.map +1 -1
- package/internal/markdown-components.js +2 -2
- package/internal/markdown-components.js.map +1 -1
- package/invitation/InvitationCreatedAlert.js +1 -1
- package/invitation/InvitationCreatedAlert.js.map +1 -1
- package/invitation/InvitationManager.js +5 -5
- package/invitation/InvitationManager.js.map +1 -1
- package/invitation/InvitationRedemption.js +4 -4
- package/invitation/InvitationRedemption.js.map +1 -1
- package/library/ResourceCountCard.js +1 -1
- package/library/ResourceCountCard.js.map +1 -1
- package/library/ResourceListView.js +5 -5
- package/library/ResourceListView.js.map +1 -1
- package/mcp-server/McpServerConfigPanel.js +5 -5
- package/mcp-server/McpServerConfigPanel.js.map +1 -1
- package/mcp-server/McpServerConnectDialog.js +4 -4
- package/mcp-server/McpServerConnectDialog.js.map +1 -1
- package/mcp-server/McpServerDetailView.js +14 -14
- package/mcp-server/McpServerDetailView.js.map +1 -1
- package/mcp-server/McpServerPicker.js +4 -4
- package/mcp-server/McpServerPicker.js.map +1 -1
- package/mcp-server/McpToolSelector.js +3 -3
- package/mcp-server/McpToolSelector.js.map +1 -1
- package/mcp-server/OAuthAppForm.js +1 -1
- package/mcp-server/OAuthAppForm.js.map +1 -1
- package/models/ModelSelector.js +1 -1
- package/models/ModelSelector.js.map +1 -1
- package/oauth-app/CreateOAuthAppForm.js +1 -1
- package/oauth-app/CreateOAuthAppForm.js.map +1 -1
- package/oauth-app/OAuthAppDetailPanel.js +3 -3
- package/oauth-app/OAuthAppDetailPanel.js.map +1 -1
- package/oauth-app/OAuthAppListPanel.js +2 -2
- package/oauth-app/OAuthAppListPanel.js.map +1 -1
- package/organization/CreateOrganizationForm.js +1 -1
- package/organization/CreateOrganizationForm.js.map +1 -1
- package/organization/OrgProfilePanel.js +3 -3
- package/organization/OrgProfilePanel.js.map +1 -1
- package/package.json +4 -4
- package/platform-client/CreatePlatformClientForm.js +2 -2
- package/platform-client/CreatePlatformClientForm.js.map +1 -1
- package/platform-client/PlatformClientDetailPanel.js +4 -4
- package/platform-client/PlatformClientDetailPanel.js.map +1 -1
- package/platform-client/PlatformClientListPanel.js +3 -3
- package/platform-client/PlatformClientListPanel.js.map +1 -1
- package/platform-client/PlatformClientSecretAlert.js +2 -2
- package/platform-client/PlatformClientSecretAlert.js.map +1 -1
- package/provider.d.ts +39 -2
- package/provider.d.ts.map +1 -1
- package/provider.js +11 -3
- package/provider.js.map +1 -1
- package/runner/RunnerListPanel.d.ts +65 -0
- package/runner/RunnerListPanel.d.ts.map +1 -0
- package/runner/RunnerListPanel.js +237 -0
- package/runner/RunnerListPanel.js.map +1 -0
- package/runner/RunnerPicker.d.ts +54 -0
- package/runner/RunnerPicker.d.ts.map +1 -0
- package/runner/RunnerPicker.js +133 -0
- package/runner/RunnerPicker.js.map +1 -0
- package/runner/__tests__/useDeleteRunner.test.d.ts +2 -0
- package/runner/__tests__/useDeleteRunner.test.d.ts.map +1 -0
- package/runner/__tests__/useDeleteRunner.test.js +108 -0
- package/runner/__tests__/useDeleteRunner.test.js.map +1 -0
- package/runner/__tests__/useLaunchLocalRunner.test.d.ts +2 -0
- package/runner/__tests__/useLaunchLocalRunner.test.d.ts.map +1 -0
- package/runner/__tests__/useLaunchLocalRunner.test.js +143 -0
- package/runner/__tests__/useLaunchLocalRunner.test.js.map +1 -0
- package/runner/__tests__/useStopRunner.test.d.ts +2 -0
- package/runner/__tests__/useStopRunner.test.d.ts.map +1 -0
- package/runner/__tests__/useStopRunner.test.js +114 -0
- package/runner/__tests__/useStopRunner.test.js.map +1 -0
- package/runner/index.d.ts +14 -0
- package/runner/index.d.ts.map +1 -0
- package/runner/index.js +8 -0
- package/runner/index.js.map +1 -0
- package/runner/phase.d.ts +30 -0
- package/runner/phase.d.ts.map +1 -0
- package/runner/phase.js +58 -0
- package/runner/phase.js.map +1 -0
- package/runner/useDeleteRunner.d.ts +36 -0
- package/runner/useDeleteRunner.d.ts.map +1 -0
- package/runner/useDeleteRunner.js +42 -0
- package/runner/useDeleteRunner.js.map +1 -0
- package/runner/useLaunchLocalRunner.d.ts +84 -0
- package/runner/useLaunchLocalRunner.d.ts.map +1 -0
- package/runner/useLaunchLocalRunner.js +75 -0
- package/runner/useLaunchLocalRunner.js.map +1 -0
- package/runner/useRunnerList.d.ts +49 -0
- package/runner/useRunnerList.d.ts.map +1 -0
- package/runner/useRunnerList.js +70 -0
- package/runner/useRunnerList.js.map +1 -0
- package/runner/useStopRunner.d.ts +53 -0
- package/runner/useStopRunner.d.ts.map +1 -0
- package/runner/useStopRunner.js +50 -0
- package/runner/useStopRunner.js.map +1 -0
- package/session/draft.d.ts +53 -0
- package/session/draft.d.ts.map +1 -0
- package/session/draft.js +45 -0
- package/session/draft.js.map +1 -0
- package/session/index.d.ts +10 -0
- package/session/index.d.ts.map +1 -1
- package/session/index.js +5 -0
- package/session/index.js.map +1 -1
- package/session/useCreateSession.d.ts +8 -0
- package/session/useCreateSession.d.ts.map +1 -1
- package/session/useCreateSession.js +1 -0
- package/session/useCreateSession.js.map +1 -1
- package/session/useEditSessionPrep.d.ts +26 -0
- package/session/useEditSessionPrep.d.ts.map +1 -0
- package/session/useEditSessionPrep.js +83 -0
- package/session/useEditSessionPrep.js.map +1 -0
- package/session/useNewSessionFlow.d.ts +110 -0
- package/session/useNewSessionFlow.d.ts.map +1 -0
- package/session/useNewSessionFlow.js +184 -0
- package/session/useNewSessionFlow.js.map +1 -0
- package/session/usePersistedModel.d.ts +18 -0
- package/session/usePersistedModel.d.ts.map +1 -0
- package/session/usePersistedModel.js +31 -0
- package/session/usePersistedModel.js.map +1 -0
- package/session/useSessionPageFlow.d.ts +104 -0
- package/session/useSessionPageFlow.d.ts.map +1 -0
- package/session/useSessionPageFlow.js +172 -0
- package/session/useSessionPageFlow.js.map +1 -0
- package/skill/SkillDetailView.js +3 -3
- package/skill/SkillDetailView.js.map +1 -1
- package/skill/SkillPicker.js +3 -3
- package/skill/SkillPicker.js.map +1 -1
- package/src/agent/AgentDetailView.tsx +8 -8
- package/src/agent/AgentPicker.tsx +3 -3
- package/src/api-key/ApiKeyCreatedAlert.tsx +2 -2
- package/src/api-key/ApiKeyListPanel.tsx +6 -6
- package/src/api-key/CreateApiKeyForm.tsx +2 -2
- package/src/attachment/AttachmentChipList.tsx +3 -3
- package/src/color-mode.ts +75 -0
- package/src/composer/ComposerToolbar.tsx +29 -7
- package/src/composer/ConfigureMenu.tsx +6 -6
- package/src/composer/ContextChip.tsx +1 -1
- package/src/composer/ContextPopover.tsx +2 -2
- package/src/composer/SessionComposer.tsx +34 -5
- package/src/environment/CreateEnvironmentForm.tsx +3 -3
- package/src/environment/EnvVarForm.tsx +6 -6
- package/src/environment/EnvironmentListPanel.tsx +3 -3
- package/src/environment/EnvironmentVariableEditor.tsx +7 -7
- package/src/error/ErrorMessage.tsx +5 -5
- package/src/execution/ApprovalCard.tsx +5 -5
- package/src/execution/ArtifactCard.tsx +2 -2
- package/src/execution/ArtifactPreviewModal.tsx +4 -4
- package/src/execution/FollowUpInput.tsx +2 -2
- package/src/execution/McpToolDetail.tsx +4 -4
- package/src/execution/MessageEntry.tsx +1 -1
- package/src/execution/MessageThread.tsx +1 -1
- package/src/execution/SessionVariablesInput.tsx +7 -7
- package/src/execution/SubAgentSection.tsx +5 -5
- package/src/execution/ToolCallDetail.tsx +2 -2
- package/src/execution/ToolCallGroup.tsx +3 -3
- package/src/execution/ToolCallItem.tsx +4 -4
- package/src/execution/WriteBackCard.tsx +5 -5
- package/src/execution/tool-rendering-primitives.tsx +5 -5
- package/src/github/GitHubRepoPicker.tsx +5 -5
- package/src/iam-policy/GrantAccessForm.tsx +2 -2
- package/src/iam-policy/OrgMembersPanel.tsx +11 -11
- package/src/identity-provider/CreateIdentityProviderForm.tsx +4 -4
- package/src/identity-provider/IdentityProviderDetailPanel.tsx +7 -7
- package/src/identity-provider/IdentityProviderListPanel.tsx +7 -7
- package/src/identity-provider/IdentityProviderWizard.tsx +8 -8
- package/src/identity-provider/ProviderPicker.tsx +2 -2
- package/src/index.ts +46 -7
- package/src/internal/CloudFeatureNotice.tsx +1 -1
- package/src/internal/Tabs.tsx +1 -1
- package/src/internal/markdown-components.tsx +2 -2
- package/src/invitation/InvitationCreatedAlert.tsx +2 -2
- package/src/invitation/InvitationManager.tsx +9 -9
- package/src/invitation/InvitationRedemption.tsx +11 -11
- package/src/library/ResourceCountCard.tsx +1 -1
- package/src/library/ResourceListView.tsx +7 -7
- package/src/mcp-server/McpServerConfigPanel.tsx +7 -7
- package/src/mcp-server/McpServerConnectDialog.tsx +5 -5
- package/src/mcp-server/McpServerDetailView.tsx +19 -19
- package/src/mcp-server/McpServerPicker.tsx +6 -6
- package/src/mcp-server/McpToolSelector.tsx +4 -4
- package/src/mcp-server/OAuthAppForm.tsx +3 -3
- package/src/models/ModelSelector.tsx +1 -1
- package/src/oauth-app/CreateOAuthAppForm.tsx +3 -3
- package/src/oauth-app/OAuthAppDetailPanel.tsx +7 -7
- package/src/oauth-app/OAuthAppListPanel.tsx +3 -3
- package/src/organization/CreateOrganizationForm.tsx +3 -3
- package/src/organization/OrgProfilePanel.tsx +4 -5
- package/src/platform-client/CreatePlatformClientForm.tsx +6 -6
- package/src/platform-client/PlatformClientDetailPanel.tsx +19 -19
- package/src/platform-client/PlatformClientListPanel.tsx +7 -7
- package/src/platform-client/PlatformClientSecretAlert.tsx +2 -2
- package/src/provider.tsx +52 -2
- package/src/runner/RunnerListPanel.tsx +725 -0
- package/src/runner/RunnerPicker.tsx +319 -0
- package/src/runner/__tests__/useDeleteRunner.test.tsx +150 -0
- package/src/runner/__tests__/useLaunchLocalRunner.test.tsx +223 -0
- package/src/runner/__tests__/useStopRunner.test.tsx +154 -0
- package/src/runner/index.ts +34 -0
- package/src/runner/phase.ts +62 -0
- package/src/runner/useDeleteRunner.ts +67 -0
- package/src/runner/useLaunchLocalRunner.ts +139 -0
- package/src/runner/useRunnerList.ts +114 -0
- package/src/runner/useStopRunner.ts +92 -0
- package/src/session/draft.ts +82 -0
- package/src/session/index.ts +28 -0
- package/src/session/useCreateSession.ts +9 -0
- package/src/session/useEditSessionPrep.ts +111 -0
- package/src/session/useNewSessionFlow.ts +283 -0
- package/src/session/usePersistedModel.ts +41 -0
- package/src/session/useSessionPageFlow.ts +280 -0
- package/src/skill/SkillDetailView.tsx +5 -5
- package/src/skill/SkillPicker.tsx +3 -3
- package/src/styles.css +25 -1
- package/src/usage/OrgUsagePanel.tsx +4 -4
- package/src/workspace/WorkspaceEditor.tsx +78 -66
- package/src/workspace/index.ts +0 -8
- package/styles.css +1 -1
- package/usage/OrgUsagePanel.js +2 -2
- package/usage/OrgUsagePanel.js.map +1 -1
- package/workspace/WorkspaceEditor.d.ts +28 -3
- package/workspace/WorkspaceEditor.d.ts.map +1 -1
- package/workspace/WorkspaceEditor.js +24 -25
- package/workspace/WorkspaceEditor.js.map +1 -1
- package/workspace/index.d.ts +0 -4
- package/workspace/index.d.ts.map +1 -1
- package/workspace/index.js +0 -2
- package/workspace/index.js.map +1 -1
- package/src/workspace/FolderBrowser.tsx +0 -579
- package/src/workspace/useFolderListing.ts +0 -164
- package/workspace/FolderBrowser.d.ts +0 -37
- package/workspace/FolderBrowser.d.ts.map +0 -1
- package/workspace/FolderBrowser.js +0 -188
- package/workspace/FolderBrowser.js.map +0 -1
- package/workspace/useFolderListing.d.ts +0 -73
- package/workspace/useFolderListing.d.ts.map +0 -1
- package/workspace/useFolderListing.js +0 -110
- package/workspace/useFolderListing.js.map +0 -1
|
@@ -114,7 +114,7 @@ export function InvitationManager({
|
|
|
114
114
|
{Array.from({ length: 2 }, (_, i) => (
|
|
115
115
|
<div
|
|
116
116
|
key={i}
|
|
117
|
-
className="bg-muted
|
|
117
|
+
className="bg-muted-subtle h-14 animate-pulse rounded-lg"
|
|
118
118
|
/>
|
|
119
119
|
))}
|
|
120
120
|
</div>
|
|
@@ -353,7 +353,7 @@ function CreateInvitationForm({
|
|
|
353
353
|
disabled={!canSubmit}
|
|
354
354
|
className={cn(
|
|
355
355
|
"inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium",
|
|
356
|
-
"bg-primary text-primary-foreground hover:bg-primary
|
|
356
|
+
"bg-primary text-primary-foreground hover:bg-primary-hover",
|
|
357
357
|
"disabled:pointer-events-none disabled:opacity-40",
|
|
358
358
|
)}
|
|
359
359
|
>
|
|
@@ -367,7 +367,7 @@ function CreateInvitationForm({
|
|
|
367
367
|
disabled={isCreating}
|
|
368
368
|
className={cn(
|
|
369
369
|
"rounded-md px-3 py-1.5 text-xs",
|
|
370
|
-
"text-muted-foreground hover:text-foreground hover:bg-accent
|
|
370
|
+
"text-muted-foreground hover:text-foreground hover:bg-accent-hover",
|
|
371
371
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
372
372
|
)}
|
|
373
373
|
>
|
|
@@ -433,7 +433,7 @@ function InvitationRow({
|
|
|
433
433
|
return (
|
|
434
434
|
<div
|
|
435
435
|
role="listitem"
|
|
436
|
-
className="flex items-center gap-3 rounded-lg border border-border
|
|
436
|
+
className="flex items-center gap-3 rounded-lg border border-border-muted px-3 py-2.5 hover:border-border transition-colors"
|
|
437
437
|
>
|
|
438
438
|
{/* Icon */}
|
|
439
439
|
<LinkIcon active={isActive} />
|
|
@@ -484,7 +484,7 @@ function InvitationRow({
|
|
|
484
484
|
"shrink-0 rounded p-1 transition-colors",
|
|
485
485
|
copied
|
|
486
486
|
? "text-primary"
|
|
487
|
-
: "text-muted-foreground hover:text-foreground hover:bg-accent
|
|
487
|
+
: "text-muted-foreground hover:text-foreground hover:bg-accent-hover",
|
|
488
488
|
)}
|
|
489
489
|
>
|
|
490
490
|
{copied ? <CheckIcon /> : <CopyIcon />}
|
|
@@ -495,7 +495,7 @@ function InvitationRow({
|
|
|
495
495
|
type="button"
|
|
496
496
|
onClick={onStartRevoke}
|
|
497
497
|
aria-label={`Revoke ${label}`}
|
|
498
|
-
className="shrink-0 rounded p-1 text-muted-foreground hover:text-destructive hover:bg-destructive
|
|
498
|
+
className="shrink-0 rounded p-1 text-muted-foreground hover:text-destructive hover:bg-destructive-subtle transition-colors"
|
|
499
499
|
>
|
|
500
500
|
<RevokeIcon />
|
|
501
501
|
</button>
|
|
@@ -534,7 +534,7 @@ function RevokeConfirmation({
|
|
|
534
534
|
return (
|
|
535
535
|
<div
|
|
536
536
|
role="listitem"
|
|
537
|
-
className="flex items-center justify-between rounded-lg border border-destructive/30 bg-destructive
|
|
537
|
+
className="flex items-center justify-between rounded-lg border border-destructive/30 bg-destructive-subtle px-3 py-2.5"
|
|
538
538
|
>
|
|
539
539
|
<div className="min-w-0 flex-1">
|
|
540
540
|
<p className="text-xs text-foreground">
|
|
@@ -555,7 +555,7 @@ function RevokeConfirmation({
|
|
|
555
555
|
disabled={isRevoking}
|
|
556
556
|
className={cn(
|
|
557
557
|
"inline-flex items-center gap-1 rounded-md px-2.5 py-1 text-xs font-medium",
|
|
558
|
-
"bg-destructive text-destructive-foreground hover:bg-destructive
|
|
558
|
+
"bg-destructive text-destructive-foreground hover:bg-destructive-hover",
|
|
559
559
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
560
560
|
)}
|
|
561
561
|
>
|
|
@@ -568,7 +568,7 @@ function RevokeConfirmation({
|
|
|
568
568
|
disabled={isRevoking}
|
|
569
569
|
className={cn(
|
|
570
570
|
"rounded-md px-2.5 py-1 text-xs",
|
|
571
|
-
"text-muted-foreground hover:text-foreground hover:bg-accent
|
|
571
|
+
"text-muted-foreground hover:text-foreground hover:bg-accent-hover",
|
|
572
572
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
573
573
|
)}
|
|
574
574
|
>
|
|
@@ -218,7 +218,7 @@ export function InvitationRedemption({
|
|
|
218
218
|
disabled={isRedeeming}
|
|
219
219
|
className={cn(
|
|
220
220
|
"w-full inline-flex items-center justify-center gap-1.5 rounded-md px-4 py-2 text-sm font-medium",
|
|
221
|
-
"bg-primary text-primary-foreground hover:bg-primary
|
|
221
|
+
"bg-primary text-primary-foreground hover:bg-primary-hover",
|
|
222
222
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
223
223
|
"transition-colors",
|
|
224
224
|
)}
|
|
@@ -238,7 +238,7 @@ export function InvitationRedemption({
|
|
|
238
238
|
onClick={onAuthRequired}
|
|
239
239
|
className={cn(
|
|
240
240
|
"w-full inline-flex items-center justify-center gap-1.5 rounded-md px-4 py-2 text-sm font-medium",
|
|
241
|
-
"bg-primary text-primary-foreground hover:bg-primary
|
|
241
|
+
"bg-primary text-primary-foreground hover:bg-primary-hover",
|
|
242
242
|
"transition-colors",
|
|
243
243
|
)}
|
|
244
244
|
>
|
|
@@ -258,7 +258,7 @@ export function InvitationRedemption({
|
|
|
258
258
|
|
|
259
259
|
function InvalidNotice({ reason }: { reason: string }) {
|
|
260
260
|
return (
|
|
261
|
-
<div className="mt-4 rounded-md bg-muted
|
|
261
|
+
<div className="mt-4 rounded-md bg-muted-subtle px-3 py-2.5 text-center">
|
|
262
262
|
<WarningIcon />
|
|
263
263
|
<p className="mt-1 text-xs text-muted-foreground">
|
|
264
264
|
{reason || "This invitation is no longer valid."}
|
|
@@ -279,7 +279,7 @@ function ErrorCard({
|
|
|
279
279
|
onRetry?: () => void;
|
|
280
280
|
}) {
|
|
281
281
|
return (
|
|
282
|
-
<div className="rounded-lg border border-destructive/30 bg-destructive
|
|
282
|
+
<div className="rounded-lg border border-destructive/30 bg-destructive-subtle p-6 text-center">
|
|
283
283
|
<p className="text-sm text-destructive">{message}</p>
|
|
284
284
|
{onRetry && (
|
|
285
285
|
<button
|
|
@@ -287,7 +287,7 @@ function ErrorCard({
|
|
|
287
287
|
onClick={onRetry}
|
|
288
288
|
className={cn(
|
|
289
289
|
"mt-3 inline-flex items-center rounded-md px-3 py-1.5 text-xs font-medium",
|
|
290
|
-
"text-muted-foreground hover:text-foreground hover:bg-accent
|
|
290
|
+
"text-muted-foreground hover:text-foreground hover:bg-accent-hover",
|
|
291
291
|
"transition-colors",
|
|
292
292
|
)}
|
|
293
293
|
>
|
|
@@ -306,15 +306,15 @@ function LoadingSkeleton() {
|
|
|
306
306
|
return (
|
|
307
307
|
<div className="rounded-lg border border-border bg-card p-6 space-y-4">
|
|
308
308
|
<div className="flex flex-col items-center gap-3">
|
|
309
|
-
<div className="size-12 rounded-full bg-muted
|
|
310
|
-
<div className="h-5 w-40 rounded bg-muted
|
|
311
|
-
<div className="h-4 w-56 rounded bg-muted
|
|
309
|
+
<div className="size-12 rounded-full bg-muted-subtle animate-pulse" />
|
|
310
|
+
<div className="h-5 w-40 rounded bg-muted-subtle animate-pulse" />
|
|
311
|
+
<div className="h-4 w-56 rounded bg-muted-subtle animate-pulse" />
|
|
312
312
|
</div>
|
|
313
313
|
<div className="flex justify-center gap-3">
|
|
314
|
-
<div className="h-4 w-24 rounded bg-muted
|
|
315
|
-
<div className="h-4 w-24 rounded bg-muted
|
|
314
|
+
<div className="h-4 w-24 rounded bg-muted-subtle animate-pulse" />
|
|
315
|
+
<div className="h-4 w-24 rounded bg-muted-subtle animate-pulse" />
|
|
316
316
|
</div>
|
|
317
|
-
<div className="h-10 w-full rounded-md bg-muted
|
|
317
|
+
<div className="h-10 w-full rounded-md bg-muted-subtle animate-pulse" />
|
|
318
318
|
</div>
|
|
319
319
|
);
|
|
320
320
|
}
|
|
@@ -121,7 +121,7 @@ export function ResourceCountCard({
|
|
|
121
121
|
const rootClasses = cn(
|
|
122
122
|
"flex flex-col rounded-lg border border-border bg-card p-4 text-left no-underline",
|
|
123
123
|
isInteractive && [
|
|
124
|
-
"cursor-pointer transition-colors hover:bg-accent
|
|
124
|
+
"cursor-pointer transition-colors hover:bg-accent-hover",
|
|
125
125
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
126
126
|
],
|
|
127
127
|
className,
|
|
@@ -352,7 +352,7 @@ export function ResourceListView({
|
|
|
352
352
|
<div role="search" className="flex items-center gap-2">
|
|
353
353
|
{onSearchChange && (
|
|
354
354
|
<div className="relative flex-1">
|
|
355
|
-
<SearchIcon className="pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground
|
|
355
|
+
<SearchIcon className="pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground-subtle" />
|
|
356
356
|
<input
|
|
357
357
|
type="text"
|
|
358
358
|
value={inputValue}
|
|
@@ -361,7 +361,7 @@ export function ResourceListView({
|
|
|
361
361
|
aria-label={searchPlaceholder}
|
|
362
362
|
className={cn(
|
|
363
363
|
"w-full rounded-md border border-input bg-background py-1.5 pl-8 pr-3 text-sm",
|
|
364
|
-
"placeholder:text-muted-foreground
|
|
364
|
+
"placeholder:text-muted-foreground-subtle",
|
|
365
365
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
366
366
|
)}
|
|
367
367
|
/>
|
|
@@ -421,12 +421,12 @@ export function ResourceListView({
|
|
|
421
421
|
isGrid
|
|
422
422
|
? [
|
|
423
423
|
"flex h-full rounded-lg border border-border bg-card p-4",
|
|
424
|
-
"cursor-pointer hover:border-primary/40 hover:bg-accent
|
|
424
|
+
"cursor-pointer hover:border-primary/40 hover:bg-accent-hover",
|
|
425
425
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
426
426
|
]
|
|
427
427
|
: [
|
|
428
428
|
"rounded-lg px-3 py-2.5",
|
|
429
|
-
"cursor-pointer hover:bg-accent
|
|
429
|
+
"cursor-pointer hover:bg-accent-hover",
|
|
430
430
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring",
|
|
431
431
|
],
|
|
432
432
|
)}
|
|
@@ -511,7 +511,7 @@ function DefaultResourceRow({
|
|
|
511
511
|
</span>
|
|
512
512
|
))}
|
|
513
513
|
{item.tags.length > MAX_VISIBLE_TAGS && (
|
|
514
|
-
<span className="text-[10px] text-muted-foreground
|
|
514
|
+
<span className="text-[10px] text-muted-foreground-subtle">
|
|
515
515
|
+{item.tags.length - MAX_VISIBLE_TAGS} more
|
|
516
516
|
</span>
|
|
517
517
|
)}
|
|
@@ -712,9 +712,9 @@ function EmptyState({
|
|
|
712
712
|
role="status"
|
|
713
713
|
className="flex flex-col items-center gap-2 py-8 text-center"
|
|
714
714
|
>
|
|
715
|
-
{icon && <div className="text-muted-foreground
|
|
715
|
+
{icon && <div className="text-muted-foreground-faint">{icon}</div>}
|
|
716
716
|
<p className="text-sm font-medium text-muted-foreground">{title}</p>
|
|
717
|
-
<p className="text-xs text-muted-foreground
|
|
717
|
+
<p className="text-xs text-muted-foreground-subtle">{description}</p>
|
|
718
718
|
</div>
|
|
719
719
|
);
|
|
720
720
|
}
|
|
@@ -286,7 +286,7 @@ export function McpServerConfigPanel({
|
|
|
286
286
|
disabled={credentials?.isSubmitting || isOAuthBusy}
|
|
287
287
|
className={cn(
|
|
288
288
|
"mt-0.5 shrink-0 rounded p-0.5",
|
|
289
|
-
"text-muted-foreground hover:text-foreground hover:bg-accent
|
|
289
|
+
"text-muted-foreground hover:text-foreground hover:bg-accent-hover",
|
|
290
290
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
291
291
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
292
292
|
)}
|
|
@@ -374,7 +374,7 @@ export function McpServerConfigPanel({
|
|
|
374
374
|
{error && (
|
|
375
375
|
<div
|
|
376
376
|
role="alert"
|
|
377
|
-
className="rounded-md border border-destructive/30 bg-destructive
|
|
377
|
+
className="rounded-md border border-destructive/30 bg-destructive-subtle px-2.5 py-2 text-xs text-destructive"
|
|
378
378
|
>
|
|
379
379
|
{getUserMessage(error)}
|
|
380
380
|
</div>
|
|
@@ -535,7 +535,7 @@ function InlineOAuthSignIn({
|
|
|
535
535
|
}}
|
|
536
536
|
className={cn(
|
|
537
537
|
"inline-flex items-center gap-1 rounded px-2 py-0.5 text-[0.65rem] font-medium",
|
|
538
|
-
"bg-destructive text-destructive-foreground hover:bg-destructive
|
|
538
|
+
"bg-destructive text-destructive-foreground hover:bg-destructive-hover",
|
|
539
539
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
540
540
|
)}
|
|
541
541
|
>
|
|
@@ -551,7 +551,7 @@ function InlineOAuthSignIn({
|
|
|
551
551
|
}}
|
|
552
552
|
className={cn(
|
|
553
553
|
"inline-flex items-center rounded px-2 py-0.5 text-[0.65rem] font-medium",
|
|
554
|
-
"text-muted-foreground hover:text-foreground hover:bg-accent
|
|
554
|
+
"text-muted-foreground hover:text-foreground hover:bg-accent-hover",
|
|
555
555
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
556
556
|
)}
|
|
557
557
|
>
|
|
@@ -598,7 +598,7 @@ function InlineOAuthSignIn({
|
|
|
598
598
|
}}
|
|
599
599
|
className={cn(
|
|
600
600
|
"inline-flex items-center gap-1 rounded px-2 py-0.5 text-[0.65rem] font-medium",
|
|
601
|
-
"bg-destructive text-destructive-foreground hover:bg-destructive
|
|
601
|
+
"bg-destructive text-destructive-foreground hover:bg-destructive-hover",
|
|
602
602
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
603
603
|
)}
|
|
604
604
|
>
|
|
@@ -611,7 +611,7 @@ function InlineOAuthSignIn({
|
|
|
611
611
|
onClick={() => setRemoveOrgAppPhase("idle")}
|
|
612
612
|
className={cn(
|
|
613
613
|
"inline-flex items-center rounded px-2 py-0.5 text-[0.65rem] font-medium",
|
|
614
|
-
"text-muted-foreground hover:text-foreground hover:bg-accent
|
|
614
|
+
"text-muted-foreground hover:text-foreground hover:bg-accent-hover",
|
|
615
615
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
616
616
|
)}
|
|
617
617
|
>
|
|
@@ -669,7 +669,7 @@ function InlineOAuthSignIn({
|
|
|
669
669
|
className={cn(
|
|
670
670
|
"inline-flex items-center gap-1 rounded px-2 py-0.5 text-[0.65rem] font-medium",
|
|
671
671
|
isConnected && !needsReAuth
|
|
672
|
-
? "text-muted-foreground hover:text-foreground hover:bg-accent
|
|
672
|
+
? "text-muted-foreground hover:text-foreground hover:bg-accent-hover"
|
|
673
673
|
: "bg-primary text-primary-foreground hover:bg-primary-hover",
|
|
674
674
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
675
675
|
)}
|
|
@@ -252,7 +252,7 @@ function ConnectDialogContent({
|
|
|
252
252
|
className={cn(
|
|
253
253
|
"mt-2 inline-flex items-center rounded-md px-4 py-2 text-sm font-medium",
|
|
254
254
|
"bg-primary text-primary-foreground",
|
|
255
|
-
"hover:bg-primary
|
|
255
|
+
"hover:bg-primary-hover",
|
|
256
256
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
257
257
|
)}
|
|
258
258
|
>
|
|
@@ -331,7 +331,7 @@ function ConnectDialogContent({
|
|
|
331
331
|
className={cn(
|
|
332
332
|
"mt-4 inline-flex w-full items-center justify-center gap-2 rounded-md px-4 py-2 text-sm font-medium",
|
|
333
333
|
"bg-primary text-primary-foreground",
|
|
334
|
-
"hover:bg-primary
|
|
334
|
+
"hover:bg-primary-hover",
|
|
335
335
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
336
336
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
337
337
|
)}
|
|
@@ -349,7 +349,7 @@ function ConnectDialogContent({
|
|
|
349
349
|
className={cn(
|
|
350
350
|
"mt-4 inline-flex w-full items-center justify-center gap-2 rounded-md px-4 py-2 text-sm font-medium",
|
|
351
351
|
"bg-primary text-primary-foreground",
|
|
352
|
-
"hover:bg-primary
|
|
352
|
+
"hover:bg-primary-hover",
|
|
353
353
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
354
354
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
355
355
|
)}
|
|
@@ -413,7 +413,7 @@ function OAuthSection({
|
|
|
413
413
|
}) {
|
|
414
414
|
if (isConnected) {
|
|
415
415
|
return (
|
|
416
|
-
<div className="flex items-center gap-2 rounded-md border border-border bg-muted
|
|
416
|
+
<div className="flex items-center gap-2 rounded-md border border-border bg-muted-faint px-3 py-2">
|
|
417
417
|
<span className="size-2 shrink-0 rounded-full bg-green-500" />
|
|
418
418
|
<span className="text-sm text-foreground">OAuth connected</span>
|
|
419
419
|
</div>
|
|
@@ -437,7 +437,7 @@ function OAuthSection({
|
|
|
437
437
|
className={cn(
|
|
438
438
|
"inline-flex w-full items-center justify-center gap-2 rounded-md px-4 py-2 text-sm font-medium",
|
|
439
439
|
"bg-primary text-primary-foreground",
|
|
440
|
-
"hover:bg-primary
|
|
440
|
+
"hover:bg-primary-hover",
|
|
441
441
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
442
442
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
443
443
|
)}
|
|
@@ -490,7 +490,7 @@ function healthPillProps(
|
|
|
490
490
|
};
|
|
491
491
|
case OAuthConnectionHealth.OAUTH_CONNECTION_HEALTH_TOKEN_EXPIRED:
|
|
492
492
|
return {
|
|
493
|
-
pillClass: "bg-destructive
|
|
493
|
+
pillClass: "bg-destructive-subtle text-destructive",
|
|
494
494
|
dotClass: "bg-destructive",
|
|
495
495
|
label: "Re-auth needed",
|
|
496
496
|
};
|
|
@@ -681,7 +681,7 @@ function ConnectBar({
|
|
|
681
681
|
}}
|
|
682
682
|
className={cn(
|
|
683
683
|
"inline-flex items-center gap-1 rounded-md px-2.5 py-1 text-xs font-medium",
|
|
684
|
-
"bg-destructive text-destructive-foreground hover:bg-destructive
|
|
684
|
+
"bg-destructive text-destructive-foreground hover:bg-destructive-hover",
|
|
685
685
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
686
686
|
)}
|
|
687
687
|
>
|
|
@@ -706,7 +706,7 @@ function ConnectBar({
|
|
|
706
706
|
</div>
|
|
707
707
|
</div>
|
|
708
708
|
{disconnectError && (
|
|
709
|
-
<div className="flex items-start gap-2 border-t border-destructive/20 bg-destructive
|
|
709
|
+
<div className="flex items-start gap-2 border-t border-destructive/20 bg-destructive-subtle px-3 py-2">
|
|
710
710
|
<WarningIcon className="mt-0.5 size-3.5 shrink-0 text-destructive" />
|
|
711
711
|
<p className="flex-1 text-xs text-destructive">
|
|
712
712
|
{getUserMessage(disconnectError)}
|
|
@@ -714,7 +714,7 @@ function ConnectBar({
|
|
|
714
714
|
<button
|
|
715
715
|
type="button"
|
|
716
716
|
onClick={onClearDisconnectError}
|
|
717
|
-
className="shrink-0 text-xs text-destructive
|
|
717
|
+
className="shrink-0 text-xs text-destructive-muted hover:text-destructive"
|
|
718
718
|
aria-label="Dismiss error"
|
|
719
719
|
>
|
|
720
720
|
Dismiss
|
|
@@ -751,7 +751,7 @@ function ConnectBar({
|
|
|
751
751
|
}}
|
|
752
752
|
className={cn(
|
|
753
753
|
"inline-flex items-center gap-1 rounded-md px-2.5 py-1 text-xs font-medium",
|
|
754
|
-
"bg-destructive text-destructive-foreground hover:bg-destructive
|
|
754
|
+
"bg-destructive text-destructive-foreground hover:bg-destructive-hover",
|
|
755
755
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
756
756
|
)}
|
|
757
757
|
>
|
|
@@ -776,7 +776,7 @@ function ConnectBar({
|
|
|
776
776
|
</div>
|
|
777
777
|
</div>
|
|
778
778
|
{removeOrgAppError && (
|
|
779
|
-
<div className="flex items-start gap-2 border-t border-destructive/20 bg-destructive
|
|
779
|
+
<div className="flex items-start gap-2 border-t border-destructive/20 bg-destructive-subtle px-3 py-2">
|
|
780
780
|
<WarningIcon className="mt-0.5 size-3.5 shrink-0 text-destructive" />
|
|
781
781
|
<p className="flex-1 text-xs text-destructive">
|
|
782
782
|
{getUserMessage(removeOrgAppError)}
|
|
@@ -784,7 +784,7 @@ function ConnectBar({
|
|
|
784
784
|
<button
|
|
785
785
|
type="button"
|
|
786
786
|
onClick={onClearRemoveOrgAppError}
|
|
787
|
-
className="shrink-0 text-xs text-destructive
|
|
787
|
+
className="shrink-0 text-xs text-destructive-muted hover:text-destructive"
|
|
788
788
|
aria-label="Dismiss error"
|
|
789
789
|
>
|
|
790
790
|
Dismiss
|
|
@@ -925,7 +925,7 @@ function ConnectBar({
|
|
|
925
925
|
|
|
926
926
|
{connectionError && (
|
|
927
927
|
<div
|
|
928
|
-
className="flex items-start gap-2 border-t border-destructive/20 bg-destructive
|
|
928
|
+
className="flex items-start gap-2 border-t border-destructive/20 bg-destructive-subtle px-3 py-2"
|
|
929
929
|
role="alert"
|
|
930
930
|
>
|
|
931
931
|
<WarningIcon className="mt-0.5 size-3.5 shrink-0 text-destructive" />
|
|
@@ -948,7 +948,7 @@ function ConnectBar({
|
|
|
948
948
|
<button
|
|
949
949
|
type="button"
|
|
950
950
|
onClick={onClearConnectionError}
|
|
951
|
-
className="text-xs text-destructive
|
|
951
|
+
className="text-xs text-destructive-muted hover:text-destructive"
|
|
952
952
|
aria-label="Dismiss error"
|
|
953
953
|
>
|
|
954
954
|
Dismiss
|
|
@@ -1004,14 +1004,14 @@ function ValidationBanner({ message }: { readonly message: string }) {
|
|
|
1004
1004
|
return (
|
|
1005
1005
|
<div
|
|
1006
1006
|
role="alert"
|
|
1007
|
-
className="flex items-start gap-2.5 rounded-lg border border-destructive/30 bg-destructive
|
|
1007
|
+
className="flex items-start gap-2.5 rounded-lg border border-destructive/30 bg-destructive-subtle px-4 py-3"
|
|
1008
1008
|
>
|
|
1009
1009
|
<WarningIcon className="mt-0.5 size-4 shrink-0 text-destructive" />
|
|
1010
1010
|
<div className="min-w-0 flex-1">
|
|
1011
1011
|
<p className="text-sm font-medium text-destructive">
|
|
1012
1012
|
Invalid Configuration
|
|
1013
1013
|
</p>
|
|
1014
|
-
<p className="mt-0.5 text-xs text-destructive
|
|
1014
|
+
<p className="mt-0.5 text-xs text-destructive-muted">{message}</p>
|
|
1015
1015
|
</div>
|
|
1016
1016
|
</div>
|
|
1017
1017
|
);
|
|
@@ -1301,12 +1301,12 @@ function EnvSection({
|
|
|
1301
1301
|
{env.isSecret ? "secret" : "config"}
|
|
1302
1302
|
</span>
|
|
1303
1303
|
{isOAuthManaged && (
|
|
1304
|
-
<span className="shrink-0 rounded bg-primary
|
|
1304
|
+
<span className="shrink-0 rounded bg-primary-subtle px-1.5 py-0.5 text-[10px] font-medium text-primary">
|
|
1305
1305
|
oauth
|
|
1306
1306
|
</span>
|
|
1307
1307
|
)}
|
|
1308
1308
|
{env.optional && (
|
|
1309
|
-
<span className="shrink-0 rounded bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground
|
|
1309
|
+
<span className="shrink-0 rounded bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground-subtle">
|
|
1310
1310
|
optional
|
|
1311
1311
|
</span>
|
|
1312
1312
|
)}
|
|
@@ -1352,7 +1352,7 @@ function ToolsTabContent({
|
|
|
1352
1352
|
if (tools.length === 0) {
|
|
1353
1353
|
return (
|
|
1354
1354
|
<div className="px-3 py-8 text-center">
|
|
1355
|
-
<ConnectIcon className="mx-auto mb-2 size-6 text-muted-foreground
|
|
1355
|
+
<ConnectIcon className="mx-auto mb-2 size-6 text-muted-foreground-faint" />
|
|
1356
1356
|
<p className="text-xs text-muted-foreground">
|
|
1357
1357
|
Connect to this MCP server to discover its available tools.
|
|
1358
1358
|
</p>
|
|
@@ -1394,7 +1394,7 @@ function PoliciesTabContent({
|
|
|
1394
1394
|
if (!hasAnyPolicies) {
|
|
1395
1395
|
return (
|
|
1396
1396
|
<div className="px-3 py-8 text-center">
|
|
1397
|
-
<ShieldIcon className="mx-auto mb-2 size-6 text-muted-foreground
|
|
1397
|
+
<ShieldIcon className="mx-auto mb-2 size-6 text-muted-foreground-faint" />
|
|
1398
1398
|
<p className="text-xs text-muted-foreground">
|
|
1399
1399
|
{hasDiscoveredTools
|
|
1400
1400
|
? "No approval policies yet. Reconnect to reclassify tools."
|
|
@@ -1435,7 +1435,7 @@ function PolicyGroup({
|
|
|
1435
1435
|
}) {
|
|
1436
1436
|
return (
|
|
1437
1437
|
<div className="flex flex-col">
|
|
1438
|
-
<div className="flex items-center gap-1.5 border-b border-border bg-muted
|
|
1438
|
+
<div className="flex items-center gap-1.5 border-b border-border bg-muted-faint px-3 py-1.5">
|
|
1439
1439
|
<span className="text-muted-foreground">{icon}</span>
|
|
1440
1440
|
<span className="text-[10px] font-medium uppercase tracking-wider text-muted-foreground">
|
|
1441
1441
|
{label}
|
|
@@ -1519,7 +1519,7 @@ function LoadingSkeleton({ className }: { readonly className?: string }) {
|
|
|
1519
1519
|
<div key={i} className="space-y-2">
|
|
1520
1520
|
<div className="h-3 w-28 animate-pulse rounded bg-muted" />
|
|
1521
1521
|
<div
|
|
1522
|
-
className="animate-pulse rounded-lg border border-border bg-muted
|
|
1522
|
+
className="animate-pulse rounded-lg border border-border bg-muted-faint"
|
|
1523
1523
|
style={{ height: `${h * 4}px` }}
|
|
1524
1524
|
/>
|
|
1525
1525
|
</div>
|
|
@@ -1537,11 +1537,11 @@ function NotFoundState({ className }: { readonly className?: string }) {
|
|
|
1537
1537
|
className,
|
|
1538
1538
|
)}
|
|
1539
1539
|
>
|
|
1540
|
-
<McpServerIcon className="size-10 text-muted-foreground
|
|
1540
|
+
<McpServerIcon className="size-10 text-muted-foreground-faint" />
|
|
1541
1541
|
<p className="text-sm font-medium text-muted-foreground">
|
|
1542
1542
|
MCP Server not found
|
|
1543
1543
|
</p>
|
|
1544
|
-
<p className="text-xs text-muted-foreground
|
|
1544
|
+
<p className="text-xs text-muted-foreground-subtle">
|
|
1545
1545
|
This MCP server doesn't exist or you don't have access to it.
|
|
1546
1546
|
</p>
|
|
1547
1547
|
</div>
|
|
@@ -617,7 +617,7 @@ export function McpServerPicker({
|
|
|
617
617
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
618
618
|
idx === focusIndex
|
|
619
619
|
? "bg-accent text-foreground"
|
|
620
|
-
: "text-foreground hover:bg-accent
|
|
620
|
+
: "text-foreground hover:bg-accent-hover",
|
|
621
621
|
)}
|
|
622
622
|
role="option"
|
|
623
623
|
aria-selected={idx === focusIndex}
|
|
@@ -667,7 +667,7 @@ function SimpleServerRow({
|
|
|
667
667
|
readonly disabled?: boolean;
|
|
668
668
|
}) {
|
|
669
669
|
return (
|
|
670
|
-
<div className="flex items-center gap-2 rounded-md bg-muted
|
|
670
|
+
<div className="flex items-center gap-2 rounded-md bg-muted-faint px-2 py-1 text-xs">
|
|
671
671
|
<McpServerIcon />
|
|
672
672
|
<span className="min-w-0 flex-1 truncate text-foreground">{slug}</span>
|
|
673
673
|
<button
|
|
@@ -711,7 +711,7 @@ function SetupServerRow({
|
|
|
711
711
|
<div
|
|
712
712
|
className={cn(
|
|
713
713
|
"flex items-center gap-2 rounded-md px-2 py-1 text-xs",
|
|
714
|
-
hasError ? "bg-destructive
|
|
714
|
+
hasError ? "bg-destructive-subtle" : "bg-muted-faint",
|
|
715
715
|
)}
|
|
716
716
|
>
|
|
717
717
|
<StatusIndicator status={entry.status} hasError={hasError} />
|
|
@@ -731,7 +731,7 @@ function SetupServerRow({
|
|
|
731
731
|
disabled={disabled}
|
|
732
732
|
className={cn(
|
|
733
733
|
"shrink-0 rounded px-1.5 py-0.5 text-[0.6rem] font-medium",
|
|
734
|
-
"text-destructive hover:bg-destructive
|
|
734
|
+
"text-destructive hover:bg-destructive-subtle",
|
|
735
735
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
736
736
|
)}
|
|
737
737
|
>
|
|
@@ -767,7 +767,7 @@ function SetupServerRow({
|
|
|
767
767
|
disabled={disabled}
|
|
768
768
|
className={cn(
|
|
769
769
|
"shrink-0 flex items-center gap-0.5 rounded px-1.5 py-0.5 text-[0.6rem] font-medium",
|
|
770
|
-
"text-muted-foreground hover:text-foreground hover:bg-accent
|
|
770
|
+
"text-muted-foreground hover:text-foreground hover:bg-accent-hover",
|
|
771
771
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
772
772
|
)}
|
|
773
773
|
>
|
|
@@ -872,7 +872,7 @@ function LoadingSkeleton() {
|
|
|
872
872
|
style={{ width: `${w}%` }}
|
|
873
873
|
/>
|
|
874
874
|
<div
|
|
875
|
-
className="h-2 rounded bg-muted
|
|
875
|
+
className="h-2 rounded bg-muted-subtle animate-pulse"
|
|
876
876
|
style={{ width: `${Math.min(w + 15, 90)}%` }}
|
|
877
877
|
/>
|
|
878
878
|
</div>
|
|
@@ -97,7 +97,7 @@ export function McpToolSelector({
|
|
|
97
97
|
<p className="text-xs text-muted-foreground">
|
|
98
98
|
Tools have not been discovered yet.
|
|
99
99
|
</p>
|
|
100
|
-
<p className="mt-1 text-[0.65rem] text-muted-foreground
|
|
100
|
+
<p className="mt-1 text-[0.65rem] text-muted-foreground-subtle">
|
|
101
101
|
All tools will be enabled by default.
|
|
102
102
|
</p>
|
|
103
103
|
</div>
|
|
@@ -119,7 +119,7 @@ export function McpToolSelector({
|
|
|
119
119
|
disabled={disabled}
|
|
120
120
|
className={cn(
|
|
121
121
|
"rounded px-1.5 py-0.5 text-[0.6rem] font-medium",
|
|
122
|
-
"text-muted-foreground hover:text-foreground hover:bg-accent
|
|
122
|
+
"text-muted-foreground hover:text-foreground hover:bg-accent-hover",
|
|
123
123
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
124
124
|
)}
|
|
125
125
|
>
|
|
@@ -131,7 +131,7 @@ export function McpToolSelector({
|
|
|
131
131
|
disabled={disabled}
|
|
132
132
|
className={cn(
|
|
133
133
|
"rounded px-1.5 py-0.5 text-[0.6rem] font-medium",
|
|
134
|
-
"text-muted-foreground hover:text-foreground hover:bg-accent
|
|
134
|
+
"text-muted-foreground hover:text-foreground hover:bg-accent-hover",
|
|
135
135
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
136
136
|
)}
|
|
137
137
|
>
|
|
@@ -163,7 +163,7 @@ export function McpToolSelector({
|
|
|
163
163
|
key={tool.name}
|
|
164
164
|
className={cn(
|
|
165
165
|
"group rounded-md px-2 py-1.5 transition-colors",
|
|
166
|
-
isEnabled ? "bg-accent
|
|
166
|
+
isEnabled ? "bg-accent-hover" : "hover:bg-accent-hover",
|
|
167
167
|
)}
|
|
168
168
|
>
|
|
169
169
|
<label
|
|
@@ -185,7 +185,7 @@ export function OAuthAppForm({
|
|
|
185
185
|
{error && (
|
|
186
186
|
<div
|
|
187
187
|
role="alert"
|
|
188
|
-
className="rounded-md border border-destructive/30 bg-destructive
|
|
188
|
+
className="rounded-md border border-destructive/30 bg-destructive-subtle px-2.5 py-2 text-xs text-destructive"
|
|
189
189
|
>
|
|
190
190
|
{getUserMessage(error)}
|
|
191
191
|
</div>
|
|
@@ -199,7 +199,7 @@ export function OAuthAppForm({
|
|
|
199
199
|
disabled={isDisabled}
|
|
200
200
|
className={cn(
|
|
201
201
|
"rounded-md px-3 py-1.5 text-xs",
|
|
202
|
-
"text-muted-foreground hover:text-foreground hover:bg-accent
|
|
202
|
+
"text-muted-foreground hover:text-foreground hover:bg-accent-hover",
|
|
203
203
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
204
204
|
)}
|
|
205
205
|
>
|
|
@@ -210,7 +210,7 @@ export function OAuthAppForm({
|
|
|
210
210
|
disabled={!canSubmit || isDisabled}
|
|
211
211
|
className={cn(
|
|
212
212
|
"inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium",
|
|
213
|
-
"bg-primary text-primary-foreground hover:bg-primary
|
|
213
|
+
"bg-primary text-primary-foreground hover:bg-primary-hover",
|
|
214
214
|
"disabled:pointer-events-none disabled:opacity-40",
|
|
215
215
|
)}
|
|
216
216
|
>
|
|
@@ -68,7 +68,7 @@ export function ModelSelector({
|
|
|
68
68
|
className={[
|
|
69
69
|
"inline-flex items-center gap-1.5 rounded-md border border-border",
|
|
70
70
|
"bg-background px-2.5 py-1.5 text-xs text-foreground",
|
|
71
|
-
"hover:bg-accent
|
|
71
|
+
"hover:bg-accent-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
72
72
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
73
73
|
"transition-colors",
|
|
74
74
|
className,
|
|
@@ -226,7 +226,7 @@ export function CreateOAuthAppForm({
|
|
|
226
226
|
</button>
|
|
227
227
|
|
|
228
228
|
{showAdvanced && (
|
|
229
|
-
<div className="mt-2 space-y-3 border-l-2 border-border
|
|
229
|
+
<div className="mt-2 space-y-3 border-l-2 border-border-muted pl-3">
|
|
230
230
|
<FormField
|
|
231
231
|
id="stgm-oauth-scopes"
|
|
232
232
|
label="Scopes"
|
|
@@ -315,7 +315,7 @@ export function CreateOAuthAppForm({
|
|
|
315
315
|
disabled={!canSubmit}
|
|
316
316
|
className={cn(
|
|
317
317
|
"inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium",
|
|
318
|
-
"bg-primary text-primary-foreground hover:bg-primary
|
|
318
|
+
"bg-primary text-primary-foreground hover:bg-primary-hover",
|
|
319
319
|
"disabled:pointer-events-none disabled:opacity-40",
|
|
320
320
|
)}
|
|
321
321
|
>
|
|
@@ -330,7 +330,7 @@ export function CreateOAuthAppForm({
|
|
|
330
330
|
disabled={isCreating}
|
|
331
331
|
className={cn(
|
|
332
332
|
"rounded-md px-3 py-1.5 text-xs",
|
|
333
|
-
"text-muted-foreground hover:text-foreground hover:bg-accent
|
|
333
|
+
"text-muted-foreground hover:text-foreground hover:bg-accent-hover",
|
|
334
334
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
335
335
|
)}
|
|
336
336
|
>
|