@stigmer/react 0.0.91 → 0.0.93
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
|
@@ -68,7 +68,7 @@ export function WriteBackCard({ writeBack, className }: WriteBackCardProps) {
|
|
|
68
68
|
<div className="mt-0.5 truncate font-mono text-xs text-muted-foreground">
|
|
69
69
|
{writeBack.branchName}
|
|
70
70
|
{writeBack.baseBranch && (
|
|
71
|
-
<span className="text-muted-foreground
|
|
71
|
+
<span className="text-muted-foreground-subtle">
|
|
72
72
|
{" \u2190 "}
|
|
73
73
|
{writeBack.baseBranch}
|
|
74
74
|
</span>
|
|
@@ -87,7 +87,7 @@ export function WriteBackCard({ writeBack, className }: WriteBackCardProps) {
|
|
|
87
87
|
|
|
88
88
|
{/* Error message */}
|
|
89
89
|
{isFailed && writeBack.error && (
|
|
90
|
-
<div className="mt-1.5 rounded bg-destructive
|
|
90
|
+
<div className="mt-1.5 rounded bg-destructive-subtle px-2 py-1 text-xs text-destructive">
|
|
91
91
|
{writeBack.error}
|
|
92
92
|
</div>
|
|
93
93
|
)}
|
|
@@ -100,7 +100,7 @@ export function WriteBackCard({ writeBack, className }: WriteBackCardProps) {
|
|
|
100
100
|
target="_blank"
|
|
101
101
|
rel="noopener noreferrer"
|
|
102
102
|
className={cn(
|
|
103
|
-
"inline-flex items-center gap-1 text-xs font-medium text-primary transition-colors hover:text-primary
|
|
103
|
+
"inline-flex items-center gap-1 text-xs font-medium text-primary transition-colors hover:text-primary-muted",
|
|
104
104
|
FOCUS_RING_CLASSES,
|
|
105
105
|
)}
|
|
106
106
|
>
|
|
@@ -131,11 +131,11 @@ const PHASE_CONFIG: Record<
|
|
|
131
131
|
},
|
|
132
132
|
[WorkspaceWriteBackPhase.WORKSPACE_WRITE_BACK_PR_CREATED]: {
|
|
133
133
|
label: "PR Created",
|
|
134
|
-
className: "bg-primary
|
|
134
|
+
className: "bg-primary-subtle text-primary",
|
|
135
135
|
},
|
|
136
136
|
[WorkspaceWriteBackPhase.WORKSPACE_WRITE_BACK_FAILED]: {
|
|
137
137
|
label: "Failed",
|
|
138
|
-
className: "bg-destructive
|
|
138
|
+
className: "bg-destructive-subtle text-destructive",
|
|
139
139
|
},
|
|
140
140
|
};
|
|
141
141
|
|
|
@@ -44,14 +44,14 @@ export function CollapsibleCode({ label, content, className }: CollapsibleCodePr
|
|
|
44
44
|
return (
|
|
45
45
|
<div className={cn("space-y-1", className)}>
|
|
46
46
|
<span className="font-medium text-muted-foreground">{label}</span>
|
|
47
|
-
<pre className="max-h-80 overflow-auto whitespace-pre-wrap break-words rounded-md border border-border bg-muted
|
|
47
|
+
<pre className="max-h-80 overflow-auto whitespace-pre-wrap break-words rounded-md border border-border bg-muted-subtle p-2 font-mono text-foreground">
|
|
48
48
|
{displayContent}
|
|
49
49
|
</pre>
|
|
50
50
|
{needsTruncation && (
|
|
51
51
|
<button
|
|
52
52
|
type="button"
|
|
53
53
|
onClick={() => setIsExpanded((v) => !v)}
|
|
54
|
-
className="text-xs font-medium text-primary transition-colors hover:text-primary
|
|
54
|
+
className="text-xs font-medium text-primary transition-colors hover:text-primary-muted"
|
|
55
55
|
>
|
|
56
56
|
{isExpanded ? "Show less" : `Show all ${lines.length} lines`}
|
|
57
57
|
</button>
|
|
@@ -100,7 +100,7 @@ export function CollapsiblePre({ content, className }: CollapsiblePreProps) {
|
|
|
100
100
|
<button
|
|
101
101
|
type="button"
|
|
102
102
|
onClick={() => setIsExpanded((v) => !v)}
|
|
103
|
-
className="mt-1 text-xs font-medium text-primary transition-colors hover:text-primary
|
|
103
|
+
className="mt-1 text-xs font-medium text-primary transition-colors hover:text-primary-muted"
|
|
104
104
|
>
|
|
105
105
|
{isExpanded ? "Show less" : `Show all ${lines.length} lines`}
|
|
106
106
|
</button>
|
|
@@ -157,13 +157,13 @@ export function CollapsibleJsonBlock({ label, content }: CollapsibleJsonBlockPro
|
|
|
157
157
|
</svg>
|
|
158
158
|
{label}
|
|
159
159
|
{!isExpanded && isLong && (
|
|
160
|
-
<span className="font-normal text-muted-foreground
|
|
160
|
+
<span className="font-normal text-muted-foreground-subtle">
|
|
161
161
|
({lines.length} lines)
|
|
162
162
|
</span>
|
|
163
163
|
)}
|
|
164
164
|
</button>
|
|
165
165
|
{isExpanded && (
|
|
166
|
-
<pre className="max-h-80 overflow-auto whitespace-pre-wrap break-words rounded-md border border-border bg-muted
|
|
166
|
+
<pre className="max-h-80 overflow-auto whitespace-pre-wrap break-words rounded-md border border-border bg-muted-subtle p-2 font-mono text-foreground">
|
|
167
167
|
{content}
|
|
168
168
|
</pre>
|
|
169
169
|
)}
|
|
@@ -428,7 +428,7 @@ export function GitHubRepoPicker({
|
|
|
428
428
|
type="button"
|
|
429
429
|
onClick={handleAdd}
|
|
430
430
|
disabled={!selectedBranch}
|
|
431
|
-
className="rounded-md bg-primary px-2.5 py-1 text-xs text-primary-foreground hover:bg-primary
|
|
431
|
+
className="rounded-md bg-primary px-2.5 py-1 text-xs text-primary-foreground hover:bg-primary-hover transition-colors disabled:opacity-40"
|
|
432
432
|
>
|
|
433
433
|
Add
|
|
434
434
|
</button>
|
|
@@ -479,7 +479,7 @@ export function GitHubRepoPicker({
|
|
|
479
479
|
type="button"
|
|
480
480
|
onClick={handleManualAdd}
|
|
481
481
|
disabled={!manualUrl.trim()}
|
|
482
|
-
className="rounded-md bg-primary px-2.5 py-1 text-xs text-primary-foreground hover:bg-primary
|
|
482
|
+
className="rounded-md bg-primary px-2.5 py-1 text-xs text-primary-foreground hover:bg-primary-hover transition-colors disabled:opacity-40"
|
|
483
483
|
>
|
|
484
484
|
Add
|
|
485
485
|
</button>
|
|
@@ -502,7 +502,7 @@ export function GitHubRepoPicker({
|
|
|
502
502
|
className={["space-y-1.5", className].filter(Boolean).join(" ")}
|
|
503
503
|
>
|
|
504
504
|
{/* Mode toggle */}
|
|
505
|
-
<div className="flex rounded-md border border-border bg-muted
|
|
505
|
+
<div className="flex rounded-md border border-border bg-muted-faint p-0.5">
|
|
506
506
|
<button
|
|
507
507
|
type="button"
|
|
508
508
|
onClick={() => handleModeSwitch("my-repos")}
|
|
@@ -672,7 +672,7 @@ function MyReposList({
|
|
|
672
672
|
<>
|
|
673
673
|
{groups.map((group, gi) => (
|
|
674
674
|
<div key={group.key}>
|
|
675
|
-
<div className="sticky top-0 z-[1] bg-card
|
|
675
|
+
<div className="sticky top-0 z-[1] bg-card px-2 py-1 text-[0.65rem] font-medium text-muted-foreground backdrop-blur-sm">
|
|
676
676
|
{group.label}
|
|
677
677
|
{!group.isRecent && (
|
|
678
678
|
<span className="ml-1 opacity-50">
|
|
@@ -818,7 +818,7 @@ function RepoRow({
|
|
|
818
818
|
"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-xs transition-colors",
|
|
819
819
|
flatIdx === focusIndex
|
|
820
820
|
? "bg-accent text-foreground"
|
|
821
|
-
: "text-foreground hover:bg-accent
|
|
821
|
+
: "text-foreground hover:bg-accent-hover",
|
|
822
822
|
].join(" ")}
|
|
823
823
|
role="option"
|
|
824
824
|
aria-selected={flatIdx === focusIndex}
|
|
@@ -152,7 +152,7 @@ export function GrantAccessForm({
|
|
|
152
152
|
disabled={!canSubmit}
|
|
153
153
|
className={cn(
|
|
154
154
|
"inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium",
|
|
155
|
-
"bg-primary text-primary-foreground hover:bg-primary
|
|
155
|
+
"bg-primary text-primary-foreground hover:bg-primary-hover",
|
|
156
156
|
"disabled:pointer-events-none disabled:opacity-40",
|
|
157
157
|
)}
|
|
158
158
|
>
|
|
@@ -167,7 +167,7 @@ export function GrantAccessForm({
|
|
|
167
167
|
disabled={isCreating}
|
|
168
168
|
className={cn(
|
|
169
169
|
"rounded-md px-3 py-1.5 text-xs",
|
|
170
|
-
"text-muted-foreground hover:text-foreground hover:bg-accent
|
|
170
|
+
"text-muted-foreground hover:text-foreground hover:bg-accent-hover",
|
|
171
171
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
172
172
|
)}
|
|
173
173
|
>
|
|
@@ -86,7 +86,7 @@ export function OrgMembersPanel({
|
|
|
86
86
|
{Array.from({ length: 3 }, (_, i) => (
|
|
87
87
|
<div
|
|
88
88
|
key={i}
|
|
89
|
-
className="bg-muted
|
|
89
|
+
className="bg-muted-subtle h-14 animate-pulse rounded-lg"
|
|
90
90
|
/>
|
|
91
91
|
))}
|
|
92
92
|
</div>
|
|
@@ -215,7 +215,7 @@ function MemberRow({
|
|
|
215
215
|
return (
|
|
216
216
|
<div
|
|
217
217
|
role="listitem"
|
|
218
|
-
className="flex items-center gap-3 rounded-lg border border-border
|
|
218
|
+
className="flex items-center gap-3 rounded-lg border border-border-muted px-3 py-2.5 hover:border-border transition-colors"
|
|
219
219
|
>
|
|
220
220
|
{/* Avatar */}
|
|
221
221
|
<div className="flex size-8 shrink-0 items-center justify-center rounded-full bg-muted text-xs font-medium text-muted-foreground">
|
|
@@ -255,7 +255,7 @@ function MemberRow({
|
|
|
255
255
|
type="button"
|
|
256
256
|
onClick={() => startAction("change-role")}
|
|
257
257
|
aria-label={`Change role for ${name}`}
|
|
258
|
-
className="shrink-0 rounded p-1 text-muted-foreground hover:text-foreground hover:bg-accent
|
|
258
|
+
className="shrink-0 rounded p-1 text-muted-foreground hover:text-foreground hover:bg-accent-hover transition-colors"
|
|
259
259
|
>
|
|
260
260
|
<EditIcon />
|
|
261
261
|
</button>
|
|
@@ -263,7 +263,7 @@ function MemberRow({
|
|
|
263
263
|
type="button"
|
|
264
264
|
onClick={() => startAction("remove")}
|
|
265
265
|
aria-label={`Remove ${name}`}
|
|
266
|
-
className="shrink-0 rounded p-1 text-muted-foreground hover:text-destructive hover:bg-destructive
|
|
266
|
+
className="shrink-0 rounded p-1 text-muted-foreground hover:text-destructive hover:bg-destructive-subtle transition-colors"
|
|
267
267
|
>
|
|
268
268
|
<TrashIcon />
|
|
269
269
|
</button>
|
|
@@ -284,7 +284,7 @@ function RoleBadge({ grant }: { grant: RoleGrant }) {
|
|
|
284
284
|
className={cn(
|
|
285
285
|
"inline-flex items-center rounded-md border px-2 py-0.5 text-[0.65rem] font-medium",
|
|
286
286
|
grant.isInherited
|
|
287
|
-
? "border-border
|
|
287
|
+
? "border-border-muted text-muted-foreground bg-muted-subtle italic"
|
|
288
288
|
: "border-border bg-muted text-foreground",
|
|
289
289
|
)}
|
|
290
290
|
title={
|
|
@@ -334,7 +334,7 @@ function RemoveConfirmation({
|
|
|
334
334
|
return (
|
|
335
335
|
<div
|
|
336
336
|
role="listitem"
|
|
337
|
-
className="flex items-center justify-between rounded-lg border border-destructive/30 bg-destructive
|
|
337
|
+
className="flex items-center justify-between rounded-lg border border-destructive/30 bg-destructive-subtle px-3 py-2.5"
|
|
338
338
|
>
|
|
339
339
|
<div className="min-w-0 flex-1">
|
|
340
340
|
<p className="text-xs text-foreground">
|
|
@@ -355,7 +355,7 @@ function RemoveConfirmation({
|
|
|
355
355
|
disabled={isRevoking}
|
|
356
356
|
className={cn(
|
|
357
357
|
"inline-flex items-center gap-1 rounded-md px-2.5 py-1 text-xs font-medium",
|
|
358
|
-
"bg-destructive text-destructive-foreground hover:bg-destructive
|
|
358
|
+
"bg-destructive text-destructive-foreground hover:bg-destructive-hover",
|
|
359
359
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
360
360
|
)}
|
|
361
361
|
>
|
|
@@ -368,7 +368,7 @@ function RemoveConfirmation({
|
|
|
368
368
|
disabled={isRevoking}
|
|
369
369
|
className={cn(
|
|
370
370
|
"rounded-md px-2.5 py-1 text-xs",
|
|
371
|
-
"text-muted-foreground hover:text-foreground hover:bg-accent
|
|
371
|
+
"text-muted-foreground hover:text-foreground hover:bg-accent-hover",
|
|
372
372
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
373
373
|
)}
|
|
374
374
|
>
|
|
@@ -460,7 +460,7 @@ function ChangeRoleRow({
|
|
|
460
460
|
return (
|
|
461
461
|
<div
|
|
462
462
|
role="listitem"
|
|
463
|
-
className="rounded-lg border border-primary/30 bg-primary
|
|
463
|
+
className="rounded-lg border border-primary/30 bg-primary-subtle px-3 py-2.5 space-y-2"
|
|
464
464
|
>
|
|
465
465
|
<p className="text-xs text-foreground">
|
|
466
466
|
Change role for <span className="font-medium">{memberName}</span>
|
|
@@ -486,7 +486,7 @@ function ChangeRoleRow({
|
|
|
486
486
|
disabled={!canConfirm}
|
|
487
487
|
className={cn(
|
|
488
488
|
"inline-flex items-center gap-1 rounded-md px-2.5 py-1 text-xs font-medium",
|
|
489
|
-
"bg-primary text-primary-foreground hover:bg-primary
|
|
489
|
+
"bg-primary text-primary-foreground hover:bg-primary-hover",
|
|
490
490
|
"disabled:pointer-events-none disabled:opacity-40",
|
|
491
491
|
)}
|
|
492
492
|
>
|
|
@@ -499,7 +499,7 @@ function ChangeRoleRow({
|
|
|
499
499
|
disabled={isWorking}
|
|
500
500
|
className={cn(
|
|
501
501
|
"rounded-md px-2.5 py-1 text-xs",
|
|
502
|
-
"text-muted-foreground hover:text-foreground hover:bg-accent
|
|
502
|
+
"text-muted-foreground hover:text-foreground hover:bg-accent-hover",
|
|
503
503
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
504
504
|
)}
|
|
505
505
|
>
|
|
@@ -261,7 +261,7 @@ export function CreateIdentityProviderForm({
|
|
|
261
261
|
disabled={!canSubmit}
|
|
262
262
|
className={cn(
|
|
263
263
|
"inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium",
|
|
264
|
-
"bg-primary text-primary-foreground hover:bg-primary
|
|
264
|
+
"bg-primary text-primary-foreground hover:bg-primary-hover",
|
|
265
265
|
"disabled:pointer-events-none disabled:opacity-40",
|
|
266
266
|
)}
|
|
267
267
|
>
|
|
@@ -276,7 +276,7 @@ export function CreateIdentityProviderForm({
|
|
|
276
276
|
disabled={isCreating}
|
|
277
277
|
className={cn(
|
|
278
278
|
"rounded-md px-3 py-1.5 text-xs",
|
|
279
|
-
"text-muted-foreground hover:text-foreground hover:bg-accent
|
|
279
|
+
"text-muted-foreground hover:text-foreground hover:bg-accent-hover",
|
|
280
280
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
281
281
|
)}
|
|
282
282
|
>
|
|
@@ -374,7 +374,7 @@ function JitSection({
|
|
|
374
374
|
}) {
|
|
375
375
|
if (isSso) {
|
|
376
376
|
return (
|
|
377
|
-
<div className="rounded-md border border-border
|
|
377
|
+
<div className="rounded-md border border-border-muted bg-muted-faint px-3 py-2">
|
|
378
378
|
<p className="text-[0.65rem] text-muted-foreground">
|
|
379
379
|
SSO providers automatically provision accounts and grant the{" "}
|
|
380
380
|
<span className="font-medium text-foreground">viewer</span> role on
|
|
@@ -386,7 +386,7 @@ function JitSection({
|
|
|
386
386
|
|
|
387
387
|
return (
|
|
388
388
|
<fieldset className="space-y-2.5" disabled={disabled}>
|
|
389
|
-
<hr className="border-border
|
|
389
|
+
<hr className="border-border-muted" />
|
|
390
390
|
<legend className="text-xs font-medium text-foreground">
|
|
391
391
|
JIT provisioning
|
|
392
392
|
</legend>
|
|
@@ -210,7 +210,7 @@ export function IdentityProviderDetailPanel({
|
|
|
210
210
|
onClick={enterEdit}
|
|
211
211
|
className={cn(
|
|
212
212
|
"shrink-0 rounded-md px-2.5 py-1.5 text-xs font-medium",
|
|
213
|
-
"text-muted-foreground hover:text-foreground hover:bg-accent
|
|
213
|
+
"text-muted-foreground hover:text-foreground hover:bg-accent-hover",
|
|
214
214
|
"transition-colors",
|
|
215
215
|
)}
|
|
216
216
|
>
|
|
@@ -341,7 +341,7 @@ export function IdentityProviderDetailPanel({
|
|
|
341
341
|
disabled={!canSave}
|
|
342
342
|
className={cn(
|
|
343
343
|
"inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium",
|
|
344
|
-
"bg-primary text-primary-foreground hover:bg-primary
|
|
344
|
+
"bg-primary text-primary-foreground hover:bg-primary-hover",
|
|
345
345
|
"disabled:pointer-events-none disabled:opacity-40",
|
|
346
346
|
)}
|
|
347
347
|
>
|
|
@@ -354,7 +354,7 @@ export function IdentityProviderDetailPanel({
|
|
|
354
354
|
disabled={isUpdating}
|
|
355
355
|
className={cn(
|
|
356
356
|
"rounded-md px-2.5 py-1.5 text-xs",
|
|
357
|
-
"text-muted-foreground hover:text-foreground hover:bg-accent
|
|
357
|
+
"text-muted-foreground hover:text-foreground hover:bg-accent-hover",
|
|
358
358
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
359
359
|
)}
|
|
360
360
|
>
|
|
@@ -414,7 +414,7 @@ function ViewMode({
|
|
|
414
414
|
{/* JIT provisioning fields */}
|
|
415
415
|
{!spec?.isSsoProvider && spec?.autoProvisionAccounts && (
|
|
416
416
|
<>
|
|
417
|
-
<hr className="border-border
|
|
417
|
+
<hr className="border-border-muted" />
|
|
418
418
|
<Field
|
|
419
419
|
label="Auto-provision accounts"
|
|
420
420
|
value={spec.autoProvisionAccounts ? "Enabled" : "Disabled"}
|
|
@@ -537,7 +537,7 @@ function CopyableField({
|
|
|
537
537
|
onClick={handleCopy}
|
|
538
538
|
className={cn(
|
|
539
539
|
"shrink-0 rounded px-1.5 py-0.5 text-[0.6rem]",
|
|
540
|
-
"text-muted-foreground hover:text-foreground hover:bg-accent
|
|
540
|
+
"text-muted-foreground hover:text-foreground hover:bg-accent-hover",
|
|
541
541
|
"transition-colors",
|
|
542
542
|
)}
|
|
543
543
|
aria-label={`Copy ${label}`}
|
|
@@ -671,7 +671,7 @@ function JitEditSection({
|
|
|
671
671
|
}) {
|
|
672
672
|
if (isSso) {
|
|
673
673
|
return (
|
|
674
|
-
<div className="rounded-md border border-border
|
|
674
|
+
<div className="rounded-md border border-border-muted bg-muted-faint px-3 py-2">
|
|
675
675
|
<p className="text-[0.65rem] text-muted-foreground">
|
|
676
676
|
SSO providers automatically provision accounts and grant the{" "}
|
|
677
677
|
<span className="font-medium text-foreground">viewer</span> role on
|
|
@@ -683,7 +683,7 @@ function JitEditSection({
|
|
|
683
683
|
|
|
684
684
|
return (
|
|
685
685
|
<fieldset className="space-y-2.5" disabled={disabled}>
|
|
686
|
-
<hr className="border-border
|
|
686
|
+
<hr className="border-border-muted" />
|
|
687
687
|
<legend className="text-xs font-medium text-foreground">
|
|
688
688
|
JIT provisioning
|
|
689
689
|
</legend>
|
|
@@ -71,7 +71,7 @@ export function IdentityProviderListPanel({
|
|
|
71
71
|
{Array.from({ length: 2 }, (_, i) => (
|
|
72
72
|
<div
|
|
73
73
|
key={i}
|
|
74
|
-
className="bg-muted
|
|
74
|
+
className="bg-muted-subtle h-14 animate-pulse rounded-lg"
|
|
75
75
|
/>
|
|
76
76
|
))}
|
|
77
77
|
</div>
|
|
@@ -172,7 +172,7 @@ function IdpRow({
|
|
|
172
172
|
return (
|
|
173
173
|
<div
|
|
174
174
|
role="listitem"
|
|
175
|
-
className="flex items-center justify-between rounded-lg border border-destructive/30 bg-destructive
|
|
175
|
+
className="flex items-center justify-between rounded-lg border border-destructive/30 bg-destructive-subtle px-3 py-2.5"
|
|
176
176
|
>
|
|
177
177
|
<div className="min-w-0 flex-1">
|
|
178
178
|
<p className="text-xs text-foreground">
|
|
@@ -192,7 +192,7 @@ function IdpRow({
|
|
|
192
192
|
disabled={isDeleting}
|
|
193
193
|
className={cn(
|
|
194
194
|
"inline-flex items-center gap-1 rounded-md px-2.5 py-1 text-xs font-medium",
|
|
195
|
-
"bg-destructive text-destructive-foreground hover:bg-destructive
|
|
195
|
+
"bg-destructive text-destructive-foreground hover:bg-destructive-hover",
|
|
196
196
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
197
197
|
)}
|
|
198
198
|
>
|
|
@@ -205,7 +205,7 @@ function IdpRow({
|
|
|
205
205
|
disabled={isDeleting}
|
|
206
206
|
className={cn(
|
|
207
207
|
"rounded-md px-2.5 py-1 text-xs",
|
|
208
|
-
"text-muted-foreground hover:text-foreground hover:bg-accent
|
|
208
|
+
"text-muted-foreground hover:text-foreground hover:bg-accent-hover",
|
|
209
209
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
210
210
|
)}
|
|
211
211
|
>
|
|
@@ -219,7 +219,7 @@ function IdpRow({
|
|
|
219
219
|
return (
|
|
220
220
|
<div
|
|
221
221
|
role="listitem"
|
|
222
|
-
className="flex items-center gap-3 rounded-lg border border-border
|
|
222
|
+
className="flex items-center gap-3 rounded-lg border border-border-muted px-3 py-2.5 hover:border-border transition-colors"
|
|
223
223
|
>
|
|
224
224
|
<ShieldIcon />
|
|
225
225
|
|
|
@@ -260,7 +260,7 @@ function IdpRow({
|
|
|
260
260
|
aria-label={`Edit ${name}`}
|
|
261
261
|
className={cn(
|
|
262
262
|
"shrink-0 rounded p-1",
|
|
263
|
-
"text-muted-foreground hover:text-foreground hover:bg-accent
|
|
263
|
+
"text-muted-foreground hover:text-foreground hover:bg-accent-hover",
|
|
264
264
|
"transition-colors",
|
|
265
265
|
)}
|
|
266
266
|
>
|
|
@@ -273,7 +273,7 @@ function IdpRow({
|
|
|
273
273
|
aria-label={`Delete ${name}`}
|
|
274
274
|
className={cn(
|
|
275
275
|
"shrink-0 rounded p-1",
|
|
276
|
-
"text-muted-foreground hover:text-destructive hover:bg-destructive
|
|
276
|
+
"text-muted-foreground hover:text-destructive hover:bg-destructive-subtle",
|
|
277
277
|
"transition-colors",
|
|
278
278
|
)}
|
|
279
279
|
>
|
|
@@ -294,7 +294,7 @@ function StepIndicator({ current }: { current: WizardStep }) {
|
|
|
294
294
|
<span
|
|
295
295
|
className={cn(
|
|
296
296
|
"h-px w-4",
|
|
297
|
-
state === "upcoming" ? "bg-border" : "bg-primary
|
|
297
|
+
state === "upcoming" ? "bg-border" : "bg-primary-subtle",
|
|
298
298
|
)}
|
|
299
299
|
/>
|
|
300
300
|
)}
|
|
@@ -305,7 +305,7 @@ function StepIndicator({ current }: { current: WizardStep }) {
|
|
|
305
305
|
? "text-primary"
|
|
306
306
|
: state === "done"
|
|
307
307
|
? "text-muted-foreground"
|
|
308
|
-
: "text-muted-foreground
|
|
308
|
+
: "text-muted-foreground-faint",
|
|
309
309
|
)}
|
|
310
310
|
>
|
|
311
311
|
{s.label}
|
|
@@ -381,7 +381,7 @@ function ConfigureStep({
|
|
|
381
381
|
/>
|
|
382
382
|
))}
|
|
383
383
|
|
|
384
|
-
<hr className="border-border
|
|
384
|
+
<hr className="border-border-muted" />
|
|
385
385
|
|
|
386
386
|
{/* Common fields */}
|
|
387
387
|
<FieldInput
|
|
@@ -417,7 +417,7 @@ function ConfigureStep({
|
|
|
417
417
|
disabled={!canContinue}
|
|
418
418
|
className={cn(
|
|
419
419
|
"inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium",
|
|
420
|
-
"bg-primary text-primary-foreground hover:bg-primary
|
|
420
|
+
"bg-primary text-primary-foreground hover:bg-primary-hover",
|
|
421
421
|
"disabled:pointer-events-none disabled:opacity-40",
|
|
422
422
|
)}
|
|
423
423
|
>
|
|
@@ -590,7 +590,7 @@ function ReviewStep({
|
|
|
590
590
|
disabled={!canSubmit}
|
|
591
591
|
className={cn(
|
|
592
592
|
"inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium",
|
|
593
|
-
"bg-primary text-primary-foreground hover:bg-primary
|
|
593
|
+
"bg-primary text-primary-foreground hover:bg-primary-hover",
|
|
594
594
|
"disabled:pointer-events-none disabled:opacity-40",
|
|
595
595
|
)}
|
|
596
596
|
>
|
|
@@ -718,7 +718,7 @@ function JitProvisioningSection({
|
|
|
718
718
|
}) {
|
|
719
719
|
if (isSso) {
|
|
720
720
|
return (
|
|
721
|
-
<div className="rounded-md border border-border
|
|
721
|
+
<div className="rounded-md border border-border-muted bg-muted-faint px-3 py-2">
|
|
722
722
|
<p className="text-[0.65rem] text-muted-foreground">
|
|
723
723
|
SSO providers automatically provision accounts and grant the{" "}
|
|
724
724
|
<span className="font-medium text-foreground">viewer</span> role on
|
|
@@ -730,7 +730,7 @@ function JitProvisioningSection({
|
|
|
730
730
|
|
|
731
731
|
return (
|
|
732
732
|
<fieldset className="space-y-2.5" disabled={disabled}>
|
|
733
|
-
<hr className="border-border
|
|
733
|
+
<hr className="border-border-muted" />
|
|
734
734
|
<legend className="text-xs font-medium text-foreground">
|
|
735
735
|
JIT provisioning
|
|
736
736
|
</legend>
|
|
@@ -848,7 +848,7 @@ function TextButton({
|
|
|
848
848
|
disabled={disabled}
|
|
849
849
|
className={cn(
|
|
850
850
|
"rounded-md px-2.5 py-1.5 text-xs",
|
|
851
|
-
"text-muted-foreground hover:text-foreground hover:bg-accent
|
|
851
|
+
"text-muted-foreground hover:text-foreground hover:bg-accent-hover",
|
|
852
852
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
853
853
|
)}
|
|
854
854
|
>
|
|
@@ -45,11 +45,11 @@ export function ProviderPicker({ onSelect, className }: ProviderPickerProps) {
|
|
|
45
45
|
onClick={() => onSelect(preset)}
|
|
46
46
|
className={cn(
|
|
47
47
|
"flex flex-col items-start gap-2 rounded-lg px-3 py-3 text-left transition-colors",
|
|
48
|
-
"border hover:border-primary/60 hover:bg-accent
|
|
48
|
+
"border hover:border-primary/60 hover:bg-accent-hover",
|
|
49
49
|
"focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
|
|
50
50
|
preset.id === "custom"
|
|
51
51
|
? "border-dashed border-border"
|
|
52
|
-
: "border-border
|
|
52
|
+
: "border-border-muted",
|
|
53
53
|
)}
|
|
54
54
|
>
|
|
55
55
|
<ProviderIcon presetId={preset.id} />
|
package/src/index.ts
CHANGED
|
@@ -5,6 +5,10 @@ export { StigmerContext } from "./context";
|
|
|
5
5
|
// Hooks
|
|
6
6
|
export { useStigmer } from "./hooks";
|
|
7
7
|
|
|
8
|
+
// Color mode
|
|
9
|
+
export { ColorModeContext, useColorMode } from "./color-mode";
|
|
10
|
+
export type { ColorMode, ResolvedColorMode } from "./color-mode";
|
|
11
|
+
|
|
8
12
|
// Deployment mode and resource availability
|
|
9
13
|
export {
|
|
10
14
|
DeploymentModeContext,
|
|
@@ -29,22 +33,16 @@ export type {
|
|
|
29
33
|
ModelSelectorProps,
|
|
30
34
|
} from "./models";
|
|
31
35
|
|
|
32
|
-
// Workspace — behavior hooks
|
|
36
|
+
// Workspace — behavior hooks and styled components
|
|
33
37
|
export {
|
|
34
38
|
useWorkspaceEntries,
|
|
35
39
|
WorkspaceEditor,
|
|
36
|
-
useFolderListing,
|
|
37
|
-
FolderBrowser,
|
|
38
40
|
WorkspaceSummary,
|
|
39
41
|
} from "./workspace";
|
|
40
42
|
export type {
|
|
41
43
|
WorkspaceEntry,
|
|
42
44
|
UseWorkspaceEntriesReturn,
|
|
43
45
|
WorkspaceEditorProps,
|
|
44
|
-
FolderEntry,
|
|
45
|
-
FolderListing,
|
|
46
|
-
UseFolderListingReturn,
|
|
47
|
-
FolderBrowserProps,
|
|
48
46
|
WorkspaceSummaryProps,
|
|
49
47
|
} from "./workspace";
|
|
50
48
|
|
|
@@ -60,6 +58,13 @@ export {
|
|
|
60
58
|
useSessionWriteBacks,
|
|
61
59
|
useSessionUsage,
|
|
62
60
|
useAgentRefFromSession,
|
|
61
|
+
useNewSessionFlow,
|
|
62
|
+
useSessionPageFlow,
|
|
63
|
+
usePersistedModel,
|
|
64
|
+
useEditSessionPrep,
|
|
65
|
+
CREATOR_AGENTS,
|
|
66
|
+
parseDraftType,
|
|
67
|
+
parseDraftParams,
|
|
63
68
|
groupSessionsByTime,
|
|
64
69
|
PENDING_SUBJECT,
|
|
65
70
|
resolvedSubject,
|
|
@@ -83,6 +88,14 @@ export type {
|
|
|
83
88
|
ModelCostEntry,
|
|
84
89
|
UseSessionUsageReturn,
|
|
85
90
|
UseAgentRefFromSessionReturn,
|
|
91
|
+
UseNewSessionFlowOptions,
|
|
92
|
+
UseNewSessionFlowReturn,
|
|
93
|
+
UseSessionPageFlowOptions,
|
|
94
|
+
UseSessionPageFlowReturn,
|
|
95
|
+
UsePersistedModelReturn,
|
|
96
|
+
UseEditSessionPrepReturn,
|
|
97
|
+
DraftResourceType,
|
|
98
|
+
DraftParams,
|
|
86
99
|
SessionGroup,
|
|
87
100
|
} from "./session";
|
|
88
101
|
|
|
@@ -633,3 +646,29 @@ export type {
|
|
|
633
646
|
UsePersonalAgentInstanceReturn,
|
|
634
647
|
UseCreateAgentInstanceReturn,
|
|
635
648
|
} from "./agent-instance";
|
|
649
|
+
|
|
650
|
+
// Runner — data hooks, action hooks, styled picker, admin list panel, and phase utilities
|
|
651
|
+
export {
|
|
652
|
+
useRunnerList,
|
|
653
|
+
useLaunchLocalRunner,
|
|
654
|
+
useStopRunner,
|
|
655
|
+
useDeleteRunner,
|
|
656
|
+
RunnerPicker,
|
|
657
|
+
RunnerListPanel,
|
|
658
|
+
phaseLabel,
|
|
659
|
+
phaseDotColor,
|
|
660
|
+
isActivePhase,
|
|
661
|
+
PHASE_SORT_ORDER,
|
|
662
|
+
} from "./runner";
|
|
663
|
+
export type {
|
|
664
|
+
UseRunnerListOptions,
|
|
665
|
+
UseRunnerListReturn,
|
|
666
|
+
UseLaunchLocalRunnerOptions,
|
|
667
|
+
UseLaunchLocalRunnerReturn,
|
|
668
|
+
LaunchLocalRunnerResult,
|
|
669
|
+
StopRunnerInput,
|
|
670
|
+
UseStopRunnerReturn,
|
|
671
|
+
UseDeleteRunnerReturn,
|
|
672
|
+
RunnerPickerProps,
|
|
673
|
+
RunnerListPanelProps,
|
|
674
|
+
} from "./runner";
|
|
@@ -42,7 +42,7 @@ export function CloudFeatureNotice({
|
|
|
42
42
|
<div
|
|
43
43
|
role="status"
|
|
44
44
|
className={cn(
|
|
45
|
-
"bg-muted
|
|
45
|
+
"bg-muted-subtle text-muted-foreground flex items-start gap-2.5 rounded-lg border border-transparent px-4 py-3",
|
|
46
46
|
className,
|
|
47
47
|
)}
|
|
48
48
|
>
|
package/src/internal/Tabs.tsx
CHANGED
|
@@ -134,7 +134,7 @@ export function Tabs({
|
|
|
134
134
|
className={cn(
|
|
135
135
|
"inline-flex min-w-[1.25rem] items-center justify-center rounded-full px-1 py-px text-[10px] font-medium leading-none",
|
|
136
136
|
isActive
|
|
137
|
-
? "bg-primary
|
|
137
|
+
? "bg-primary-subtle text-primary"
|
|
138
138
|
: "bg-muted text-muted-foreground",
|
|
139
139
|
)}
|
|
140
140
|
>
|
|
@@ -48,7 +48,7 @@ export const MARKDOWN_COMPONENTS: Components = {
|
|
|
48
48
|
return (
|
|
49
49
|
<a
|
|
50
50
|
href={href}
|
|
51
|
-
className="text-primary underline underline-offset-2 hover:text-primary
|
|
51
|
+
className="text-primary underline underline-offset-2 hover:text-primary-muted"
|
|
52
52
|
target="_blank"
|
|
53
53
|
rel="noopener noreferrer"
|
|
54
54
|
{...props}
|
|
@@ -174,7 +174,7 @@ export const MARKDOWN_COMPONENTS: Components = {
|
|
|
174
174
|
th({ children, ...props }: MdProps<"th">) {
|
|
175
175
|
return (
|
|
176
176
|
<th
|
|
177
|
-
className="border border-border px-3 py-1.5 text-left font-medium text-foreground bg-muted
|
|
177
|
+
className="border border-border px-3 py-1.5 text-left font-medium text-foreground bg-muted-subtle"
|
|
178
178
|
{...props}
|
|
179
179
|
>
|
|
180
180
|
{children}
|
|
@@ -89,7 +89,7 @@ export function InvitationCreatedAlert({
|
|
|
89
89
|
aria-label="Dismiss"
|
|
90
90
|
className={cn(
|
|
91
91
|
"shrink-0 rounded p-1",
|
|
92
|
-
"text-muted-foreground hover:text-foreground hover:bg-accent
|
|
92
|
+
"text-muted-foreground hover:text-foreground hover:bg-accent-hover",
|
|
93
93
|
"transition-colors",
|
|
94
94
|
)}
|
|
95
95
|
>
|
|
@@ -114,7 +114,7 @@ export function InvitationCreatedAlert({
|
|
|
114
114
|
onClick={handleCopy}
|
|
115
115
|
className={cn(
|
|
116
116
|
"inline-flex shrink-0 items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium",
|
|
117
|
-
"bg-primary text-primary-foreground hover:bg-primary
|
|
117
|
+
"bg-primary text-primary-foreground hover:bg-primary-hover",
|
|
118
118
|
"transition-colors",
|
|
119
119
|
)}
|
|
120
120
|
>
|