@cat-factory/app 0.310.1 → 0.310.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -0
- package/app/app.config.ts +11 -0
- package/app/components/assistant/AssistantModal.vue +0 -1
- package/app/components/auth/BackendMisconfiguredScreen.vue +1 -1
- package/app/components/auth/LoginScreen.vue +2 -18
- package/app/components/auth/ResetPasswordScreen.vue +2 -3
- package/app/components/board/AddTaskModal.vue +0 -1
- package/app/components/board/BoardCanvas.vue +0 -2
- package/app/components/board/CreateInitiativeModal.vue +0 -1
- package/app/components/board/RecurringPipelineModal.vue +1 -7
- package/app/components/board/ReviewFrictionDialog.vue +1 -7
- package/app/components/board/nodes/InitiativeCard.vue +0 -4
- package/app/components/board/nodes/TaskCard.vue +1 -8
- package/app/components/bootstrap/AdoptionReviewModal.vue +0 -1
- package/app/components/bootstrap/BootstrapModal.vue +1 -7
- package/app/components/brainstorm/BrainstormWindow.vue +0 -5
- package/app/components/bugFishing/BugFishingWindow.vue +0 -2
- package/app/components/clarity/ClarityReviewWindow.vue +0 -4
- package/app/components/common/AsyncViewError.vue +1 -1
- package/app/components/common/ClarificationItem.vue +0 -2
- package/app/components/context/ContextAttachmentFields.vue +1 -1
- package/app/components/docs/DocInterviewWindow.vue +0 -1
- package/app/components/documents/DocumentImportModal.vue +0 -3
- package/app/components/documents/DocumentSourceConnectModal.vue +2 -9
- package/app/components/documents/DocumentTemplatesModal.vue +1 -7
- package/app/components/documents/SpawnPreviewModal.vue +0 -1
- package/app/components/documents/StartFromDesignModal.vue +0 -1
- package/app/components/environments/steps/EnvPreflightStep.vue +0 -2
- package/app/components/environments/steps/EnvReviewStep.vue +1 -4
- package/app/components/environments/steps/EnvSaveStep.vue +0 -1
- package/app/components/focus/BlockFocusView.vue +0 -2
- package/app/components/followUp/FollowUpWindow.vue +0 -2
- package/app/components/forkDecision/ForkDecisionWindow.vue +1 -2
- package/app/components/foundational/FoundationalServiceCatalogList.vue +2 -0
- package/app/components/foundational/FoundationalServiceRegistry.vue +9 -2
- package/app/components/foundational/FoundationalServiceSources.vue +2 -0
- package/app/components/foundational/FoundationalSuppressions.vue +1 -0
- package/app/components/fragments/FragmentLibraryManager.vue +4 -0
- package/app/components/fragments/FragmentSelector.vue +0 -1
- package/app/components/gates/GateResultView.vue +0 -1
- package/app/components/github/AddServiceFromRepoModal.vue +0 -2
- package/app/components/github/GitHubConnect.vue +1 -2
- package/app/components/github/GitHubPanel.vue +0 -2
- package/app/components/github/RepoTreeBrowser.vue +3 -3
- package/app/components/guidedReview/GuidedReviewDraftCard.vue +17 -5
- package/app/components/guidedReview/GuidedReviewModal.vue +1 -0
- package/app/components/guidedReview/GuidedReviewOverview.vue +1 -0
- package/app/components/guidedReview/GuidedReviewPicker.vue +0 -1
- package/app/components/guidedReview/GuidedReviewThread.vue +0 -2
- package/app/components/humanTest/HumanTestWindow.vue +3 -3
- package/app/components/initiative/InitiativePlanDecision.vue +0 -1
- package/app/components/initiative/InitiativePlanReview.vue +0 -1
- package/app/components/initiative/InitiativePlanningWindow.vue +2 -3
- package/app/components/initiative/InitiativeTrackerWindow.vue +1 -1
- package/app/components/inputGate/InputGateNotice.vue +0 -1
- package/app/components/judge/JudgeResultView.vue +1 -1
- package/app/components/layout/AccountDeploymentSettings.vue +13 -43
- package/app/components/layout/AccountModelPolicySettings.vue +0 -1
- package/app/components/layout/AccountPlatformAlertSettings.vue +0 -1
- package/app/components/layout/AccountRunCredentialSettings.vue +0 -1
- package/app/components/layout/AccountTeamSettings.vue +4 -4
- package/app/components/layout/AiProvidersBanner.vue +1 -7
- package/app/components/layout/BoardSwitcher.vue +1 -1
- package/app/components/layout/DefaultTestEnvBanner.vue +0 -1
- package/app/components/layout/GitHubPatBanner.vue +0 -1
- package/app/components/layout/GitHubPatPermissionsBanner.vue +0 -1
- package/app/components/layout/InfraSetupBanner.vue +0 -1
- package/app/components/layout/IntegrationsHub.vue +0 -2
- package/app/components/layout/ModelProvidersHub.vue +1 -6
- package/app/components/layout/ProviderConfigBanner.vue +0 -1
- package/app/components/layout/SideBar.vue +0 -1
- package/app/components/layout/SpendWarningBanner.vue +0 -1
- package/app/components/layout/WorkspaceMembersSettings.vue +0 -1
- package/app/components/notifications/NotificationSettingsPanel.vue +0 -1
- package/app/components/outcome/OutcomeSummaryWindow.vue +0 -3
- package/app/components/panels/AgentStepDetail.vue +2 -5
- package/app/components/panels/DecisionModal.vue +0 -1
- package/app/components/panels/InspectorPanel.vue +1 -1
- package/app/components/panels/inspector/ContainerSummary.vue +1 -1
- package/app/components/panels/inspector/FrontendConfig.vue +0 -4
- package/app/components/panels/inspector/InitiativeInspector.vue +1 -6
- package/app/components/panels/inspector/RecurringScheduleSettings.vue +1 -3
- package/app/components/panels/inspector/ServiceReleaseHealthConfig.vue +2 -9
- package/app/components/panels/inspector/ServiceSelfTests.vue +0 -2
- package/app/components/panels/inspector/ServiceTestConfig.vue +1 -4
- package/app/components/panels/inspector/ServiceTestSecrets.vue +1 -2
- package/app/components/panels/inspector/ServiceTestingContext.vue +0 -1
- package/app/components/panels/inspector/ServiceValidationConfig.vue +1 -2
- package/app/components/panels/inspector/TaskExecution.vue +1 -5
- package/app/components/panels/inspector/TaskReviewTarget.vue +0 -2
- package/app/components/panels/inspector/TaskRunSettings.vue +2 -14
- package/app/components/panels/inspector/TaskTypeFields.vue +0 -1
- package/app/components/pipeline/AgentPromptEditor.vue +0 -2
- package/app/components/pipeline/IterationCapPrompt.vue +0 -1
- package/app/components/pipeline/PipelineBuilder.vue +2 -11
- package/app/components/pipeline/PipelineHealthModal.vue +2 -6
- package/app/components/prReview/PrReviewWindow.vue +0 -4
- package/app/components/providers/AiPresetMismatchDialog.vue +1 -1
- package/app/components/providers/AiProviderOnboardingModal.vue +2 -8
- package/app/components/providers/VendorCredentialsModal.vue +1 -7
- package/app/components/provisioning/ProvisioningLogsDrawer.vue +1 -0
- package/app/components/requirements/RequirementsReviewWindow.vue +0 -7
- package/app/components/sandbox/SandboxPanel.vue +1 -3
- package/app/components/settings/BudgetSettings.vue +1 -9
- package/app/components/settings/ComposeEnvironmentSetupSection.vue +0 -1
- package/app/components/settings/ConsensusGroupsSection.vue +0 -1
- package/app/components/settings/CustomManifestTypeEditor.vue +1 -1
- package/app/components/settings/DefaultProvisionTypeSection.vue +0 -1
- package/app/components/settings/InfraHandlersConfigurator.vue +2 -2
- package/app/components/settings/IssueTrackerPanel.vue +1 -8
- package/app/components/settings/KubernetesEngineForm.vue +1 -7
- package/app/components/settings/KubernetesEnvironmentForm.vue +1 -7
- package/app/components/settings/LocalContainerPoolSettings.vue +1 -1
- package/app/components/settings/LocalModelEndpointsPanel.vue +0 -1
- package/app/components/settings/McpAuthorizeScreen.vue +0 -1
- package/app/components/settings/McpOAuthCallbackScreen.vue +1 -1
- package/app/components/settings/ModelConfigurationPanel.vue +3 -10
- package/app/components/settings/ModelPresetHealthModal.vue +0 -3
- package/app/components/settings/OpenRouterCatalogPanel.vue +1 -9
- package/app/components/settings/ProviderConnectionTab.vue +2 -7
- package/app/components/settings/ProviderManifestEditor.vue +0 -1
- package/app/components/settings/RiskPolicyCreateForm.vue +0 -1
- package/app/components/settings/RiskPolicyEditorRow.vue +1 -2
- package/app/components/settings/RiskPolicyHealthModal.vue +0 -3
- package/app/components/settings/ServiceFragmentDefaultsPanel.vue +0 -3
- package/app/components/settings/ToolServerChecklist.vue +1 -1
- package/app/components/settings/UserSecretsSection.vue +1 -7
- package/app/components/settings/WorkspaceMetadataSettings.vue +0 -1
- package/app/components/settings/WorkspaceSettingsPanel.vue +1 -7
- package/app/components/skills/ReviewSkillQueue.vue +0 -1
- package/app/components/skills/SkillLibraryManager.vue +2 -0
- package/app/components/slack/SlackPanel.vue +1 -5
- package/app/components/spec/ServiceSpecWindow.vue +0 -1
- package/app/components/tasks/BugHuntModal.vue +0 -3
- package/app/components/tasks/TaskImportModal.vue +0 -2
- package/app/components/tasks/TaskSourceConnectModal.vue +2 -9
- package/app/components/testing/TestReportWindow.vue +2 -0
- package/app/components/tutorial/TutorialCatalogue.vue +0 -1
- package/app/components/tutorial/TutorialNudge.vue +0 -1
- package/app/components/tutorial/TutorialOverlay.vue +0 -2
- package/app/components/tutorial/TutorialPrompt.vue +0 -1
- package/app/components/vcs/GitLabConnect.vue +0 -1
- package/app/components/visualConfirm/VisualConfirmationWindow.vue +1 -1
- package/app/pages/index.vue +1 -1
- package/package.json +1 -1
|
@@ -588,7 +588,6 @@ const { requestClose } = useUnsavedGuard({
|
|
|
588
588
|
{{ t('prReview.selectedCount', { count: activeSelectedIds.length }) }}
|
|
589
589
|
</span>
|
|
590
590
|
<UButton
|
|
591
|
-
color="primary"
|
|
592
591
|
variant="link"
|
|
593
592
|
class="p-0 text-2xs text-primary hover:underline"
|
|
594
593
|
@click="selectAll"
|
|
@@ -596,7 +595,6 @@ const { requestClose } = useUnsavedGuard({
|
|
|
596
595
|
{{ t('prReview.selectAll') }}
|
|
597
596
|
</UButton>
|
|
598
597
|
<UButton
|
|
599
|
-
color="primary"
|
|
600
598
|
variant="link"
|
|
601
599
|
class="p-0 text-2xs text-primary hover:underline"
|
|
602
600
|
@click="clearAll"
|
|
@@ -760,7 +758,6 @@ const { requestClose } = useUnsavedGuard({
|
|
|
760
758
|
class="mt-1.5 flex items-center gap-3 text-2xs"
|
|
761
759
|
>
|
|
762
760
|
<UButton
|
|
763
|
-
color="primary"
|
|
764
761
|
variant="link"
|
|
765
762
|
v-if="!isRetracted(f)"
|
|
766
763
|
data-testid="pr-review-finding-challenge"
|
|
@@ -880,7 +877,6 @@ const { requestClose } = useUnsavedGuard({
|
|
|
880
877
|
{{ postReport ? t('prReview.postReport.retry') : t('prReview.post') }}
|
|
881
878
|
</UButton>
|
|
882
879
|
<UButton
|
|
883
|
-
color="primary"
|
|
884
880
|
:loading="prReview.resolving"
|
|
885
881
|
:disabled="!canResolve || !hasSelection || !access.canExecuteRuns.value"
|
|
886
882
|
:title="access.canExecuteRuns.value ? undefined : t('access.noRunExecute')"
|
|
@@ -97,7 +97,7 @@ function go(action: () => void) {
|
|
|
97
97
|
>
|
|
98
98
|
{{ t('providers.presetMismatch.configureVendors') }}
|
|
99
99
|
</UButton>
|
|
100
|
-
<UButton
|
|
100
|
+
<UButton size="sm" icon="i-lucide-cpu" @click="go(ui.openModelConfig)">
|
|
101
101
|
{{ t('providers.presetMismatch.editPresets') }}
|
|
102
102
|
</UButton>
|
|
103
103
|
</div>
|
|
@@ -100,19 +100,13 @@ const routes = computed<Route[]>(() => [
|
|
|
100
100
|
<div class="min-w-0 flex-1">
|
|
101
101
|
<div class="flex items-center gap-2">
|
|
102
102
|
<p class="text-sm font-semibold text-app-100">{{ r.title }}</p>
|
|
103
|
-
<UBadge v-if="r.badge"
|
|
103
|
+
<UBadge v-if="r.badge" variant="subtle" size="sm">
|
|
104
104
|
{{ r.badge }}
|
|
105
105
|
</UBadge>
|
|
106
106
|
</div>
|
|
107
107
|
<p class="mt-0.5 text-sm leading-relaxed text-muted">{{ r.body }}</p>
|
|
108
108
|
</div>
|
|
109
|
-
<UButton
|
|
110
|
-
size="sm"
|
|
111
|
-
color="primary"
|
|
112
|
-
variant="subtle"
|
|
113
|
-
class="shrink-0"
|
|
114
|
-
@click="r.onSelect()"
|
|
115
|
-
>
|
|
109
|
+
<UButton size="sm" variant="subtle" class="shrink-0" @click="r.onSelect()">
|
|
116
110
|
{{ r.cta }}
|
|
117
111
|
</UButton>
|
|
118
112
|
</div>
|
|
@@ -206,13 +206,7 @@ function vendorLabel(v: SubscriptionVendor): string {
|
|
|
206
206
|
<p class="min-w-0 flex-1 text-sm text-toned">
|
|
207
207
|
{{ t('providers.vendorCredentials.personalCallout.text') }}
|
|
208
208
|
</p>
|
|
209
|
-
<UButton
|
|
210
|
-
size="xs"
|
|
211
|
-
color="primary"
|
|
212
|
-
variant="subtle"
|
|
213
|
-
class="shrink-0"
|
|
214
|
-
@click="activeTab = 'personal'"
|
|
215
|
-
>
|
|
209
|
+
<UButton size="xs" variant="subtle" class="shrink-0" @click="activeTab = 'personal'">
|
|
216
210
|
{{ t('providers.vendorCredentials.personalCallout.cta') }}
|
|
217
211
|
</UButton>
|
|
218
212
|
</div>
|
|
@@ -921,7 +921,6 @@ async function resolveExceeded(choice: 'extra-round' | 'proceed' | 'stop-reset')
|
|
|
921
921
|
v-if="autoDefaults.get(item.id)!.groundedInFragment"
|
|
922
922
|
size="xs"
|
|
923
923
|
variant="subtle"
|
|
924
|
-
color="primary"
|
|
925
924
|
>
|
|
926
925
|
{{
|
|
927
926
|
t('requirements.currentStandard', {
|
|
@@ -1027,7 +1026,6 @@ async function resolveExceeded(choice: 'extra-round' | 'proceed' | 'stop-reset')
|
|
|
1027
1026
|
</p>
|
|
1028
1027
|
<div class="mt-2 flex flex-wrap items-center gap-2">
|
|
1029
1028
|
<UButton
|
|
1030
|
-
color="primary"
|
|
1031
1029
|
variant="soft"
|
|
1032
1030
|
size="xs"
|
|
1033
1031
|
icon="i-lucide-check"
|
|
@@ -1231,7 +1229,6 @@ async function resolveExceeded(choice: 'extra-round' | 'proceed' | 'stop-reset')
|
|
|
1231
1229
|
class="border-t border-default pt-4"
|
|
1232
1230
|
>
|
|
1233
1231
|
<UButton
|
|
1234
|
-
color="primary"
|
|
1235
1232
|
variant="soft"
|
|
1236
1233
|
size="sm"
|
|
1237
1234
|
block
|
|
@@ -1255,7 +1252,6 @@ async function resolveExceeded(choice: 'extra-round' | 'proceed' | 'stop-reset')
|
|
|
1255
1252
|
<div v-if="review && status === 'ready'" class="space-y-2 border-t border-default pt-4">
|
|
1256
1253
|
<UButton
|
|
1257
1254
|
v-if="canProceed"
|
|
1258
|
-
color="primary"
|
|
1259
1255
|
size="sm"
|
|
1260
1256
|
block
|
|
1261
1257
|
icon="i-lucide-arrow-right"
|
|
@@ -1270,7 +1266,6 @@ async function resolveExceeded(choice: 'extra-round' | 'proceed' | 'stop-reset')
|
|
|
1270
1266
|
</UButton>
|
|
1271
1267
|
<UButton
|
|
1272
1268
|
v-else
|
|
1273
|
-
color="primary"
|
|
1274
1269
|
size="sm"
|
|
1275
1270
|
block
|
|
1276
1271
|
icon="i-lucide-wand-sparkles"
|
|
@@ -1296,7 +1291,6 @@ async function resolveExceeded(choice: 'extra-round' | 'proceed' | 'stop-reset')
|
|
|
1296
1291
|
<!-- action: merged (inspect → re-review / redo) -->
|
|
1297
1292
|
<div v-if="review && merged" class="space-y-2 border-t border-default pt-4">
|
|
1298
1293
|
<UButton
|
|
1299
|
-
color="primary"
|
|
1300
1294
|
size="sm"
|
|
1301
1295
|
block
|
|
1302
1296
|
icon="i-lucide-sparkles"
|
|
@@ -1333,7 +1327,6 @@ async function resolveExceeded(choice: 'extra-round' | 'proceed' | 'stop-reset')
|
|
|
1333
1327
|
:placeholder="t('requirements.redoPlaceholder')"
|
|
1334
1328
|
/>
|
|
1335
1329
|
<UButton
|
|
1336
|
-
color="primary"
|
|
1337
1330
|
variant="soft"
|
|
1338
1331
|
size="xs"
|
|
1339
1332
|
block
|
|
@@ -457,7 +457,6 @@ async function archive(prompt: SandboxPromptVersion) {
|
|
|
457
457
|
</span>
|
|
458
458
|
</span>
|
|
459
459
|
<UButton
|
|
460
|
-
color="primary"
|
|
461
460
|
icon="i-lucide-play"
|
|
462
461
|
size="sm"
|
|
463
462
|
:loading="store.launching"
|
|
@@ -630,9 +629,9 @@ async function archive(prompt: SandboxPromptVersion) {
|
|
|
630
629
|
Offered on a graded candidate and on an older workspace revision (rolling
|
|
631
630
|
back), but not on the one already live, where it would be a no-op. -->
|
|
632
631
|
<IconButton
|
|
632
|
+
color="neutral"
|
|
633
633
|
v-if="canPromote(p)"
|
|
634
634
|
icon="i-lucide-rocket"
|
|
635
|
-
color="primary"
|
|
636
635
|
variant="ghost"
|
|
637
636
|
size="xs"
|
|
638
637
|
:loading="promoting === p.id"
|
|
@@ -674,7 +673,6 @@ async function archive(prompt: SandboxPromptVersion) {
|
|
|
674
673
|
{{ t('common.cancel') }}
|
|
675
674
|
</UButton>
|
|
676
675
|
<UButton
|
|
677
|
-
color="primary"
|
|
678
676
|
icon="i-lucide-save"
|
|
679
677
|
size="sm"
|
|
680
678
|
:loading="savingPrompt"
|
|
@@ -167,13 +167,7 @@ function saveUser() {
|
|
|
167
167
|
}}
|
|
168
168
|
</div>
|
|
169
169
|
<div class="flex justify-end">
|
|
170
|
-
<UButton
|
|
171
|
-
color="primary"
|
|
172
|
-
icon="i-lucide-save"
|
|
173
|
-
size="sm"
|
|
174
|
-
:loading="savingWorkspace"
|
|
175
|
-
@click="saveWorkspace"
|
|
176
|
-
>
|
|
170
|
+
<UButton icon="i-lucide-save" size="sm" :loading="savingWorkspace" @click="saveWorkspace">
|
|
177
171
|
{{ t('settings.workspaceSettings.budget.saveTier') }}
|
|
178
172
|
</UButton>
|
|
179
173
|
</div>
|
|
@@ -222,7 +216,6 @@ function saveUser() {
|
|
|
222
216
|
</p>
|
|
223
217
|
<div v-if="canEditAccount" class="flex justify-end">
|
|
224
218
|
<UButton
|
|
225
|
-
color="primary"
|
|
226
219
|
icon="i-lucide-save"
|
|
227
220
|
size="sm"
|
|
228
221
|
:loading="savingAccount"
|
|
@@ -273,7 +266,6 @@ function saveUser() {
|
|
|
273
266
|
</div>
|
|
274
267
|
<div class="flex justify-end">
|
|
275
268
|
<UButton
|
|
276
|
-
color="primary"
|
|
277
269
|
icon="i-lucide-save"
|
|
278
270
|
size="sm"
|
|
279
271
|
:loading="savingUser"
|
|
@@ -192,7 +192,7 @@ async function remove(type: CustomManifestType) {
|
|
|
192
192
|
<UButton v-if="editing" color="neutral" variant="ghost" size="sm" @click="startAdd">
|
|
193
193
|
{{ t('common.cancel') }}
|
|
194
194
|
</UButton>
|
|
195
|
-
<UButton
|
|
195
|
+
<UButton size="sm" :loading="busy" :disabled="!canSave" @click="save">
|
|
196
196
|
{{ editing ? t('common.save') : t('settings.infrastructure.customType.add') }}
|
|
197
197
|
</UButton>
|
|
198
198
|
</div>
|
|
@@ -527,7 +527,7 @@ function toastRemoved() {
|
|
|
527
527
|
class="h-3.5 w-3.5"
|
|
528
528
|
/>
|
|
529
529
|
{{ t('settings.infrastructure.handler.personalOverride') }}
|
|
530
|
-
<UBadge v-if="kubeUserHandler"
|
|
530
|
+
<UBadge v-if="kubeUserHandler" variant="subtle" size="sm">
|
|
531
531
|
{{ t('settings.infrastructure.handler.overrideActive') }}
|
|
532
532
|
</UBadge>
|
|
533
533
|
</SectionLabel>
|
|
@@ -540,7 +540,7 @@ function toastRemoved() {
|
|
|
540
540
|
<UButton
|
|
541
541
|
icon="i-lucide-trash-2"
|
|
542
542
|
color="error"
|
|
543
|
-
variant="
|
|
543
|
+
variant="soft"
|
|
544
544
|
size="xs"
|
|
545
545
|
:disabled="busy"
|
|
546
546
|
@click="removeKubeOverride"
|
|
@@ -437,14 +437,7 @@ async function checkSetup(source: TaskSourceKind) {
|
|
|
437
437
|
</section>
|
|
438
438
|
|
|
439
439
|
<div class="flex justify-end">
|
|
440
|
-
<UButton
|
|
441
|
-
color="primary"
|
|
442
|
-
icon="i-lucide-save"
|
|
443
|
-
size="sm"
|
|
444
|
-
:loading="saving"
|
|
445
|
-
:disabled="!canSave"
|
|
446
|
-
@click="save"
|
|
447
|
-
>
|
|
440
|
+
<UButton icon="i-lucide-save" size="sm" :loading="saving" :disabled="!canSave" @click="save">
|
|
448
441
|
{{ t('common.save') }}
|
|
449
442
|
</UButton>
|
|
450
443
|
</div>
|
|
@@ -604,13 +604,7 @@ async function copyAutoSetupCommand() {
|
|
|
604
604
|
<p v-if="connectBlockedReason" class="flex-1 text-left text-xs text-app-error-400">
|
|
605
605
|
{{ connectBlockedReason }}
|
|
606
606
|
</p>
|
|
607
|
-
<UButton
|
|
608
|
-
color="primary"
|
|
609
|
-
size="sm"
|
|
610
|
-
:loading="busy"
|
|
611
|
-
:disabled="!canSave"
|
|
612
|
-
@click="emit('save', buildPayload())"
|
|
613
|
-
>
|
|
607
|
+
<UButton size="sm" :loading="busy" :disabled="!canSave" @click="emit('save', buildPayload())">
|
|
614
608
|
{{ connected ? t('common.save') : t('settings.providerConnection.form.connect') }}
|
|
615
609
|
</UButton>
|
|
616
610
|
</div>
|
|
@@ -458,13 +458,7 @@ function optional(label: string): string {
|
|
|
458
458
|
<p v-if="connectBlockedReason" class="flex-1 text-left text-xs text-app-error-400">
|
|
459
459
|
{{ connectBlockedReason }}
|
|
460
460
|
</p>
|
|
461
|
-
<UButton
|
|
462
|
-
color="primary"
|
|
463
|
-
size="sm"
|
|
464
|
-
:loading="busy"
|
|
465
|
-
:disabled="!canSave"
|
|
466
|
-
@click="emit('save', buildPayload())"
|
|
467
|
-
>
|
|
461
|
+
<UButton size="sm" :loading="busy" :disabled="!canSave" @click="emit('save', buildPayload())">
|
|
468
462
|
{{
|
|
469
463
|
connection?.kind === 'kubernetes'
|
|
470
464
|
? t('common.save')
|
|
@@ -164,7 +164,7 @@ async function save() {
|
|
|
164
164
|
</section>
|
|
165
165
|
|
|
166
166
|
<div class="flex justify-end">
|
|
167
|
-
<UButton
|
|
167
|
+
<UButton icon="i-lucide-save" :loading="saving" @click="save">
|
|
168
168
|
{{ t('common.save') }}
|
|
169
169
|
</UButton>
|
|
170
170
|
</div>
|
|
@@ -86,7 +86,7 @@ function backToApp() {
|
|
|
86
86
|
<p class="mb-6 text-sm text-muted">
|
|
87
87
|
{{ t('settings.toolServers.oauth.callback.doneHint') }}
|
|
88
88
|
</p>
|
|
89
|
-
<UButton block
|
|
89
|
+
<UButton block @click="backToApp">
|
|
90
90
|
{{ t('settings.toolServers.oauth.callback.back') }}
|
|
91
91
|
</UButton>
|
|
92
92
|
</template>
|
|
@@ -365,13 +365,7 @@ async function save() {
|
|
|
365
365
|
</template>
|
|
366
366
|
</i18n-t>
|
|
367
367
|
</p>
|
|
368
|
-
<UButton
|
|
369
|
-
icon="i-lucide-plus"
|
|
370
|
-
color="primary"
|
|
371
|
-
size="sm"
|
|
372
|
-
class="shrink-0"
|
|
373
|
-
@click="startCreate"
|
|
374
|
-
>
|
|
368
|
+
<UButton icon="i-lucide-plus" size="sm" class="shrink-0" @click="startCreate">
|
|
375
369
|
{{ t('settings.modelConfiguration.list.newPreset') }}
|
|
376
370
|
</UButton>
|
|
377
371
|
</div>
|
|
@@ -388,7 +382,7 @@ async function save() {
|
|
|
388
382
|
>
|
|
389
383
|
<div class="flex items-center gap-2">
|
|
390
384
|
<span class="truncate text-sm font-semibold text-app-100">{{ p.name }}</span>
|
|
391
|
-
<UBadge v-if="p.isDefault"
|
|
385
|
+
<UBadge v-if="p.isDefault" variant="subtle" size="xs">
|
|
392
386
|
{{ t('settings.modelConfiguration.list.default') }}
|
|
393
387
|
</UBadge>
|
|
394
388
|
<div class="ms-auto flex items-center gap-1">
|
|
@@ -483,7 +477,6 @@ async function save() {
|
|
|
483
477
|
>
|
|
484
478
|
<UButton
|
|
485
479
|
size="sm"
|
|
486
|
-
color="primary"
|
|
487
480
|
variant="subtle"
|
|
488
481
|
trailing-icon="i-lucide-chevron-down"
|
|
489
482
|
class="w-full justify-between"
|
|
@@ -576,7 +569,7 @@ async function save() {
|
|
|
576
569
|
>
|
|
577
570
|
{{ t('common.cancel') }}
|
|
578
571
|
</UButton>
|
|
579
|
-
<UButton
|
|
572
|
+
<UButton size="sm" :loading="busy" @click="save">
|
|
580
573
|
{{
|
|
581
574
|
editor.id
|
|
582
575
|
? t('settings.modelConfiguration.editor.saveChanges')
|
|
@@ -87,7 +87,6 @@ const reseedableCount = computed(
|
|
|
87
87
|
</div>
|
|
88
88
|
<UButton
|
|
89
89
|
size="xs"
|
|
90
|
-
color="primary"
|
|
91
90
|
variant="subtle"
|
|
92
91
|
icon="i-lucide-plus"
|
|
93
92
|
:loading="isBusy(i.id)"
|
|
@@ -130,7 +129,6 @@ const reseedableCount = computed(
|
|
|
130
129
|
</div>
|
|
131
130
|
<UButton
|
|
132
131
|
size="xs"
|
|
133
|
-
color="primary"
|
|
134
132
|
variant="subtle"
|
|
135
133
|
icon="i-lucide-rotate-ccw"
|
|
136
134
|
:loading="isBusy(i.id)"
|
|
@@ -149,7 +147,6 @@ const reseedableCount = computed(
|
|
|
149
147
|
<div class="flex w-full items-center justify-between gap-2">
|
|
150
148
|
<UButton
|
|
151
149
|
v-if="reseedableCount > 1"
|
|
152
|
-
color="primary"
|
|
153
150
|
variant="ghost"
|
|
154
151
|
icon="i-lucide-rotate-ccw"
|
|
155
152
|
:loading="anyBusy"
|
|
@@ -332,7 +332,6 @@ function manageKeys() {
|
|
|
332
332
|
</UButton>
|
|
333
333
|
<UButton
|
|
334
334
|
v-if="recommendedAvailable.length"
|
|
335
|
-
color="primary"
|
|
336
335
|
variant="soft"
|
|
337
336
|
size="sm"
|
|
338
337
|
icon="i-lucide-sparkles"
|
|
@@ -397,14 +396,7 @@ function manageKeys() {
|
|
|
397
396
|
<span class="text-xs text-dimmed">{{
|
|
398
397
|
t('settings.openRouterCatalog.enabledCount', { count: selectedCount }, selectedCount)
|
|
399
398
|
}}</span>
|
|
400
|
-
<UButton
|
|
401
|
-
color="primary"
|
|
402
|
-
variant="soft"
|
|
403
|
-
size="sm"
|
|
404
|
-
icon="i-lucide-save"
|
|
405
|
-
:loading="busy"
|
|
406
|
-
@click="save()"
|
|
407
|
-
>
|
|
399
|
+
<UButton variant="soft" size="sm" icon="i-lucide-save" :loading="busy" @click="save()">
|
|
408
400
|
{{ t('common.save') }}
|
|
409
401
|
</UButton>
|
|
410
402
|
</div>
|
|
@@ -356,6 +356,7 @@ function fieldHelp(key: string): string | undefined {
|
|
|
356
356
|
<div class="flex items-start justify-between gap-3">
|
|
357
357
|
<p class="text-xs text-muted">{{ blurb }}</p>
|
|
358
358
|
<UButton
|
|
359
|
+
color="neutral"
|
|
359
360
|
:icon="showLogs ? 'i-lucide-chevron-up' : 'i-lucide-scroll-text'"
|
|
360
361
|
variant="ghost"
|
|
361
362
|
size="xs"
|
|
@@ -506,13 +507,7 @@ function fieldHelp(key: string): string | undefined {
|
|
|
506
507
|
<ConnectionWarnings :warnings="testResult?.warnings" />
|
|
507
508
|
|
|
508
509
|
<div class="flex justify-end">
|
|
509
|
-
<UButton
|
|
510
|
-
color="primary"
|
|
511
|
-
size="sm"
|
|
512
|
-
:loading="busy"
|
|
513
|
-
:disabled="!canSave"
|
|
514
|
-
@click="saveNative()"
|
|
515
|
-
>
|
|
510
|
+
<UButton size="sm" :loading="busy" :disabled="!canSave" @click="saveNative()">
|
|
516
511
|
{{ connection ? t('common.save') : t('settings.providerConnection.form.connect') }}
|
|
517
512
|
</UButton>
|
|
518
513
|
</div>
|
|
@@ -130,7 +130,7 @@ const deleteBlocked = computed(
|
|
|
130
130
|
>
|
|
131
131
|
{{ t('settings.riskPolicy.makeUnattendedDefaultShort') }}
|
|
132
132
|
</UButton>
|
|
133
|
-
<UBadge v-if="policy.isDefault"
|
|
133
|
+
<UBadge v-if="policy.isDefault" variant="subtle" size="sm">
|
|
134
134
|
{{ t('settings.riskPolicy.default') }}
|
|
135
135
|
</UBadge>
|
|
136
136
|
<UButton
|
|
@@ -314,7 +314,6 @@ const deleteBlocked = computed(
|
|
|
314
314
|
"
|
|
315
315
|
/>
|
|
316
316
|
<UButton
|
|
317
|
-
color="primary"
|
|
318
317
|
variant="soft"
|
|
319
318
|
size="xs"
|
|
320
319
|
icon="i-lucide-save"
|
|
@@ -78,7 +78,6 @@ const reseedableCount = computed(
|
|
|
78
78
|
</div>
|
|
79
79
|
<UButton
|
|
80
80
|
size="xs"
|
|
81
|
-
color="primary"
|
|
82
81
|
variant="subtle"
|
|
83
82
|
icon="i-lucide-plus"
|
|
84
83
|
:loading="isBusy(i.id)"
|
|
@@ -121,7 +120,6 @@ const reseedableCount = computed(
|
|
|
121
120
|
</div>
|
|
122
121
|
<UButton
|
|
123
122
|
size="xs"
|
|
124
|
-
color="primary"
|
|
125
123
|
variant="subtle"
|
|
126
124
|
icon="i-lucide-rotate-ccw"
|
|
127
125
|
:loading="isBusy(i.id)"
|
|
@@ -140,7 +138,6 @@ const reseedableCount = computed(
|
|
|
140
138
|
<div class="flex w-full items-center justify-between gap-2">
|
|
141
139
|
<UButton
|
|
142
140
|
v-if="reseedableCount > 1"
|
|
143
|
-
color="primary"
|
|
144
141
|
variant="ghost"
|
|
145
142
|
icon="i-lucide-rotate-ccw"
|
|
146
143
|
:loading="anyBusy"
|
|
@@ -81,7 +81,6 @@ function remove(id: string) {
|
|
|
81
81
|
<UBadge
|
|
82
82
|
v-for="f in selected"
|
|
83
83
|
:key="f.id"
|
|
84
|
-
color="primary"
|
|
85
84
|
variant="subtle"
|
|
86
85
|
size="sm"
|
|
87
86
|
class="cursor-pointer"
|
|
@@ -100,7 +99,6 @@ function remove(id: string) {
|
|
|
100
99
|
{{ t('settings.serviceFragmentDefaults.footer.question') }}
|
|
101
100
|
</span>
|
|
102
101
|
<UButton
|
|
103
|
-
color="primary"
|
|
104
102
|
variant="link"
|
|
105
103
|
class="p-0 text-2xs font-medium text-primary hover:underline"
|
|
106
104
|
@click="ui.openFragmentLibrary()"
|
|
@@ -108,7 +106,6 @@ function remove(id: string) {
|
|
|
108
106
|
{{ t('settings.serviceFragmentDefaults.footer.manageBoard') }}
|
|
109
107
|
</UButton>
|
|
110
108
|
<UButton
|
|
111
|
-
color="primary"
|
|
112
109
|
variant="link"
|
|
113
110
|
class="p-0 text-2xs font-medium text-primary hover:underline"
|
|
114
111
|
@click="ui.openAccountSettings('fragments')"
|
|
@@ -242,13 +242,7 @@ async function remove() {
|
|
|
242
242
|
/>
|
|
243
243
|
|
|
244
244
|
<div class="flex justify-end">
|
|
245
|
-
<UButton
|
|
246
|
-
color="primary"
|
|
247
|
-
size="sm"
|
|
248
|
-
:loading="busy"
|
|
249
|
-
:disabled="!buildPayload()"
|
|
250
|
-
@click="save()"
|
|
251
|
-
>
|
|
245
|
+
<UButton size="sm" :loading="busy" :disabled="!buildPayload()" @click="save()">
|
|
252
246
|
{{ status ? t('common.save') : t('settings.userSecrets.addToken') }}
|
|
253
247
|
</UButton>
|
|
254
248
|
</div>
|
|
@@ -706,13 +706,7 @@ async function save() {
|
|
|
706
706
|
</section>
|
|
707
707
|
|
|
708
708
|
<div class="flex justify-end">
|
|
709
|
-
<UButton
|
|
710
|
-
color="primary"
|
|
711
|
-
icon="i-lucide-save"
|
|
712
|
-
size="sm"
|
|
713
|
-
:loading="saving"
|
|
714
|
-
@click="save"
|
|
715
|
-
>
|
|
709
|
+
<UButton icon="i-lucide-save" size="sm" :loading="saving" @click="save">
|
|
716
710
|
{{ t('common.save') }}
|
|
717
711
|
</UButton>
|
|
718
712
|
</div>
|
|
@@ -236,6 +236,7 @@ async function unlinkSource(id: string) {
|
|
|
236
236
|
</UBadge>
|
|
237
237
|
<div class="ms-auto flex gap-1">
|
|
238
238
|
<IconButton
|
|
239
|
+
color="neutral"
|
|
239
240
|
icon="i-lucide-search-check"
|
|
240
241
|
size="xs"
|
|
241
242
|
variant="ghost"
|
|
@@ -244,6 +245,7 @@ async function unlinkSource(id: string) {
|
|
|
244
245
|
@click="checkSource(s.id)"
|
|
245
246
|
/>
|
|
246
247
|
<IconButton
|
|
248
|
+
color="neutral"
|
|
247
249
|
icon="i-lucide-refresh-cw"
|
|
248
250
|
size="xs"
|
|
249
251
|
variant="ghost"
|