@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
|
@@ -265,7 +265,6 @@ function dismissMenu(card: AreaCard): DropdownMenuItem[][] {
|
|
|
265
265
|
<div class="mt-4">
|
|
266
266
|
<UButton
|
|
267
267
|
:color="card.kind === 'outage' ? 'error' : 'warning'"
|
|
268
|
-
variant="solid"
|
|
269
268
|
icon="i-lucide-settings"
|
|
270
269
|
:data-testid="`infra-setup-configure-${card.area}`"
|
|
271
270
|
@click="AREA_META[card.area].onConfigure()"
|
|
@@ -400,7 +400,6 @@ const filteredGroups = computed<IntegrationGroup[]>(() => {
|
|
|
400
400
|
v-for="item in recommendedActions"
|
|
401
401
|
:key="`rec:${item.key}`"
|
|
402
402
|
size="xs"
|
|
403
|
-
color="primary"
|
|
404
403
|
variant="soft"
|
|
405
404
|
:icon="item.icon"
|
|
406
405
|
@click="item.onClick()"
|
|
@@ -450,7 +449,6 @@ const filteredGroups = computed<IntegrationGroup[]>(() => {
|
|
|
450
449
|
}}</span>
|
|
451
450
|
<UBadge
|
|
452
451
|
v-if="!anyConnected && item.recommended && !item.connected"
|
|
453
|
-
color="primary"
|
|
454
452
|
variant="subtle"
|
|
455
453
|
size="sm"
|
|
456
454
|
>
|
|
@@ -225,12 +225,7 @@ const filteredGroups = computed<ProviderGroup[]>(() => {
|
|
|
225
225
|
<span v-else class="text-2xs text-dimmed">{{
|
|
226
226
|
t('layout.modelProvidersHub.status.notConnected')
|
|
227
227
|
}}</span>
|
|
228
|
-
<UBadge
|
|
229
|
-
v-if="!anyConnected && item.recommended"
|
|
230
|
-
color="primary"
|
|
231
|
-
variant="subtle"
|
|
232
|
-
size="sm"
|
|
233
|
-
>
|
|
228
|
+
<UBadge v-if="!anyConnected && item.recommended" variant="subtle" size="sm">
|
|
234
229
|
{{ t('layout.modelProvidersHub.status.recommended') }}
|
|
235
230
|
</UBadge>
|
|
236
231
|
</div>
|
|
@@ -234,7 +234,6 @@ function memberLabel(userId: string, name?: string | null, email?: string | null
|
|
|
234
234
|
<USelect v-model="addRole" :items="ROLE_ITEMS" value-key="value" class="w-32" />
|
|
235
235
|
<UButton
|
|
236
236
|
type="submit"
|
|
237
|
-
color="primary"
|
|
238
237
|
icon="i-lucide-user-plus"
|
|
239
238
|
:loading="busy"
|
|
240
239
|
:disabled="!addUserId"
|
|
@@ -427,7 +427,6 @@ function openTestReport() {
|
|
|
427
427
|
<UBadge
|
|
428
428
|
:color="DISPOSITION_COLOR[disposition]"
|
|
429
429
|
variant="subtle"
|
|
430
|
-
size="md"
|
|
431
430
|
data-testid="outcome-disposition"
|
|
432
431
|
:data-disposition="disposition"
|
|
433
432
|
>
|
|
@@ -535,7 +534,6 @@ function openTestReport() {
|
|
|
535
534
|
<UBadge
|
|
536
535
|
v-if="outcome.requirements.regressions > 0"
|
|
537
536
|
color="error"
|
|
538
|
-
variant="solid"
|
|
539
537
|
size="sm"
|
|
540
538
|
icon="i-lucide-triangle-alert"
|
|
541
539
|
data-testid="outcome-regressions"
|
|
@@ -780,7 +778,6 @@ function openTestReport() {
|
|
|
780
778
|
target="_blank"
|
|
781
779
|
rel="noopener"
|
|
782
780
|
external
|
|
783
|
-
color="primary"
|
|
784
781
|
variant="soft"
|
|
785
782
|
size="xs"
|
|
786
783
|
class="mt-1.5"
|
|
@@ -614,7 +614,6 @@ async function copyOutput() {
|
|
|
614
614
|
</p>
|
|
615
615
|
<UButton
|
|
616
616
|
class="mt-3"
|
|
617
|
-
color="primary"
|
|
618
617
|
size="sm"
|
|
619
618
|
:icon="parkPresentation.icon"
|
|
620
619
|
data-testid="dedicated-park-open"
|
|
@@ -658,6 +657,7 @@ async function copyOutput() {
|
|
|
658
657
|
provider error, behind a toggle (most useful on a failed-to-start run) -->
|
|
659
658
|
<div v-if="executionId">
|
|
660
659
|
<UButton
|
|
660
|
+
color="neutral"
|
|
661
661
|
:icon="showProvisioning ? 'i-lucide-chevron-up' : 'i-lucide-scroll-text'"
|
|
662
662
|
variant="ghost"
|
|
663
663
|
size="xs"
|
|
@@ -686,6 +686,7 @@ async function copyOutput() {
|
|
|
686
686
|
superseded and the FAILED attempts, scoped to the step being looked at -->
|
|
687
687
|
<div v-if="hasStepHistory">
|
|
688
688
|
<UButton
|
|
689
|
+
color="neutral"
|
|
689
690
|
:icon="showHistory ? 'i-lucide-chevron-up' : 'i-lucide-history'"
|
|
690
691
|
variant="ghost"
|
|
691
692
|
size="xs"
|
|
@@ -899,7 +900,6 @@ async function copyOutput() {
|
|
|
899
900
|
{{ t('common.cancel') }}
|
|
900
901
|
</UButton>
|
|
901
902
|
<UButton
|
|
902
|
-
color="primary"
|
|
903
903
|
size="xs"
|
|
904
904
|
data-testid="step-review-comment-add"
|
|
905
905
|
:disabled="!draftBody.trim()"
|
|
@@ -962,7 +962,6 @@ async function copyOutput() {
|
|
|
962
962
|
class="space-y-2 border-t border-default px-4 pt-3 pb-[calc(0.75rem+env(safe-area-inset-bottom))]"
|
|
963
963
|
>
|
|
964
964
|
<UButton
|
|
965
|
-
color="primary"
|
|
966
965
|
size="sm"
|
|
967
966
|
icon="i-lucide-check"
|
|
968
967
|
block
|
|
@@ -988,7 +987,6 @@ async function copyOutput() {
|
|
|
988
987
|
class="space-y-2 border-t border-default px-4 pt-3 pb-[calc(0.75rem+env(safe-area-inset-bottom))]"
|
|
989
988
|
>
|
|
990
989
|
<UButton
|
|
991
|
-
color="primary"
|
|
992
990
|
data-testid="step-approve"
|
|
993
991
|
size="sm"
|
|
994
992
|
icon="i-lucide-check"
|
|
@@ -1001,7 +999,6 @@ async function copyOutput() {
|
|
|
1001
999
|
</UButton>
|
|
1002
1000
|
<UButton
|
|
1003
1001
|
v-if="proposalEditableNow"
|
|
1004
|
-
color="primary"
|
|
1005
1002
|
variant="soft"
|
|
1006
1003
|
size="sm"
|
|
1007
1004
|
icon="i-lucide-pencil"
|
|
@@ -60,7 +60,7 @@ function addTask() {
|
|
|
60
60
|
>
|
|
61
61
|
<template #actions>
|
|
62
62
|
<ReviewDebtBadge />
|
|
63
|
-
<UButton size="xs" variant="soft"
|
|
63
|
+
<UButton size="xs" variant="soft" icon="i-lucide-plus" @click="addTask">
|
|
64
64
|
{{ t('inspector.container.addTask') }}
|
|
65
65
|
</UButton>
|
|
66
66
|
</template>
|
|
@@ -238,7 +238,6 @@ onUnmounted(() => preview.stopPolling(props.block.id))
|
|
|
238
238
|
<UButton
|
|
239
239
|
size="xs"
|
|
240
240
|
variant="soft"
|
|
241
|
-
color="primary"
|
|
242
241
|
icon="i-lucide-wand-sparkles"
|
|
243
242
|
:loading="detecting"
|
|
244
243
|
data-testid="frontend-detect-button"
|
|
@@ -285,7 +284,6 @@ onUnmounted(() => preview.stopPolling(props.block.id))
|
|
|
285
284
|
<UButton
|
|
286
285
|
size="xs"
|
|
287
286
|
variant="soft"
|
|
288
|
-
color="primary"
|
|
289
287
|
icon="i-lucide-check"
|
|
290
288
|
data-testid="frontend-detect-apply"
|
|
291
289
|
@click="applyDetection"
|
|
@@ -627,7 +625,6 @@ onUnmounted(() => preview.stopPolling(props.block.id))
|
|
|
627
625
|
rel="noopener"
|
|
628
626
|
size="xs"
|
|
629
627
|
variant="soft"
|
|
630
|
-
color="primary"
|
|
631
628
|
trailing-icon="i-lucide-external-link"
|
|
632
629
|
data-testid="preview-url"
|
|
633
630
|
>
|
|
@@ -640,7 +637,6 @@ onUnmounted(() => preview.stopPolling(props.block.id))
|
|
|
640
637
|
v-if="previewStatus === 'stopped' || previewStatus === 'failed'"
|
|
641
638
|
size="xs"
|
|
642
639
|
variant="soft"
|
|
643
|
-
color="primary"
|
|
644
640
|
icon="i-lucide-play"
|
|
645
641
|
:loading="previewBusy"
|
|
646
642
|
data-testid="preview-start"
|
|
@@ -49,7 +49,7 @@ function control(action: 'pause' | 'resume' | 'cancel') {
|
|
|
49
49
|
<template>
|
|
50
50
|
<div class="space-y-3" data-testid="initiative-inspector">
|
|
51
51
|
<div class="flex items-center gap-2">
|
|
52
|
-
<UBadge
|
|
52
|
+
<UBadge variant="subtle" size="sm">
|
|
53
53
|
{{ t(INITIATIVE_STATUS_LABEL_KEYS[status]) }}
|
|
54
54
|
</UBadge>
|
|
55
55
|
<span v-if="progress" class="text-2xs text-muted">
|
|
@@ -70,7 +70,6 @@ function control(action: 'pause' | 'resume' | 'cancel') {
|
|
|
70
70
|
data-testid="initiative-review"
|
|
71
71
|
:data-attention="attention.kind"
|
|
72
72
|
color="warning"
|
|
73
|
-
variant="solid"
|
|
74
73
|
size="sm"
|
|
75
74
|
:icon="INITIATIVE_ATTENTION_ICONS[attention.kind]"
|
|
76
75
|
@click="attention.open()"
|
|
@@ -80,8 +79,6 @@ function control(action: 'pause' | 'resume' | 'cancel') {
|
|
|
80
79
|
<UButton
|
|
81
80
|
v-else-if="awaitingAnswers"
|
|
82
81
|
data-testid="initiative-answer-planning"
|
|
83
|
-
color="primary"
|
|
84
|
-
variant="solid"
|
|
85
82
|
size="sm"
|
|
86
83
|
icon="i-lucide-messages-square"
|
|
87
84
|
@click="openPlanning"
|
|
@@ -104,7 +101,6 @@ function control(action: 'pause' | 'resume' | 'cancel') {
|
|
|
104
101
|
</UButton>
|
|
105
102
|
<UButton
|
|
106
103
|
data-testid="initiative-run-planning"
|
|
107
|
-
color="primary"
|
|
108
104
|
variant="soft"
|
|
109
105
|
size="sm"
|
|
110
106
|
icon="i-lucide-play"
|
|
@@ -143,7 +139,6 @@ function control(action: 'pause' | 'resume' | 'cancel') {
|
|
|
143
139
|
<UButton
|
|
144
140
|
v-if="isPaused"
|
|
145
141
|
data-testid="initiative-resume"
|
|
146
|
-
color="primary"
|
|
147
142
|
variant="soft"
|
|
148
143
|
size="sm"
|
|
149
144
|
icon="i-lucide-play"
|
|
@@ -206,9 +206,7 @@ function fmtTime(ms: number) {
|
|
|
206
206
|
"
|
|
207
207
|
>{{ t('common.cancel') }}</UButton
|
|
208
208
|
>
|
|
209
|
-
<UButton size="xs"
|
|
210
|
-
t('common.save')
|
|
211
|
-
}}</UButton>
|
|
209
|
+
<UButton size="xs" :loading="busy" @click="saveEdit">{{ t('common.save') }}</UButton>
|
|
212
210
|
</div>
|
|
213
211
|
</template>
|
|
214
212
|
|
|
@@ -101,7 +101,7 @@ async function clear() {
|
|
|
101
101
|
<UButton
|
|
102
102
|
v-if="saved"
|
|
103
103
|
color="error"
|
|
104
|
-
variant="
|
|
104
|
+
variant="soft"
|
|
105
105
|
size="xs"
|
|
106
106
|
icon="i-lucide-trash-2"
|
|
107
107
|
:loading="busy"
|
|
@@ -145,14 +145,7 @@ async function clear() {
|
|
|
145
145
|
<UInput v-model="draft.envTag" placeholder="prod" size="sm" class="w-full" />
|
|
146
146
|
</UFormField>
|
|
147
147
|
<div class="flex justify-end">
|
|
148
|
-
<UButton
|
|
149
|
-
color="primary"
|
|
150
|
-
variant="soft"
|
|
151
|
-
size="xs"
|
|
152
|
-
icon="i-lucide-save"
|
|
153
|
-
:loading="busy"
|
|
154
|
-
@click="save"
|
|
155
|
-
>
|
|
148
|
+
<UButton variant="soft" size="xs" icon="i-lucide-save" :loading="busy" @click="save">
|
|
156
149
|
{{ t('inspector.releaseHealth.saveMonitoring') }}
|
|
157
150
|
</UButton>
|
|
158
151
|
</div>
|
|
@@ -204,7 +204,6 @@ async function stop(mode: EnvironmentTestMode) {
|
|
|
204
204
|
v-if="!isRunning('provision')"
|
|
205
205
|
icon="i-lucide-flask-conical"
|
|
206
206
|
size="xs"
|
|
207
|
-
color="primary"
|
|
208
207
|
variant="soft"
|
|
209
208
|
data-testid="env-test-start"
|
|
210
209
|
:loading="starting.provision"
|
|
@@ -291,7 +290,6 @@ async function stop(mode: EnvironmentTestMode) {
|
|
|
291
290
|
v-if="!isRunning('agent-probe')"
|
|
292
291
|
icon="i-lucide-bot"
|
|
293
292
|
size="xs"
|
|
294
|
-
color="primary"
|
|
295
293
|
variant="soft"
|
|
296
294
|
data-testid="env-probe-start"
|
|
297
295
|
:loading="starting['agent-probe']"
|
|
@@ -467,7 +467,6 @@ function setSize(value: InstanceSize) {
|
|
|
467
467
|
<UButton
|
|
468
468
|
size="xs"
|
|
469
469
|
variant="soft"
|
|
470
|
-
color="primary"
|
|
471
470
|
icon="i-lucide-flask-conical"
|
|
472
471
|
data-testid="env-setup-nudge-open"
|
|
473
472
|
@click="ui.openEnvironmentSetup(props.block.id)"
|
|
@@ -484,7 +483,6 @@ function setSize(value: InstanceSize) {
|
|
|
484
483
|
<UButton
|
|
485
484
|
size="xs"
|
|
486
485
|
variant="soft"
|
|
487
|
-
color="primary"
|
|
488
486
|
icon="i-lucide-wand-sparkles"
|
|
489
487
|
:loading="detecting"
|
|
490
488
|
@click="detectFromRepo"
|
|
@@ -811,7 +809,6 @@ function setSize(value: InstanceSize) {
|
|
|
811
809
|
<UButton
|
|
812
810
|
size="xs"
|
|
813
811
|
variant="soft"
|
|
814
|
-
color="primary"
|
|
815
812
|
icon="i-lucide-file-cog"
|
|
816
813
|
:loading="generating"
|
|
817
814
|
:disabled="!customManifestPath && !selectedCustomType?.defaultManifestPath"
|
|
@@ -877,7 +874,7 @@ function setSize(value: InstanceSize) {
|
|
|
877
874
|
</template>
|
|
878
875
|
<template v-else>{{ t('inspector.testConfig.noFileSelected') }}</template>
|
|
879
876
|
</p>
|
|
880
|
-
<UButton size="xs"
|
|
877
|
+
<UButton size="xs" :disabled="!pickedPath" @click="applyPicked">
|
|
881
878
|
{{ t('inspector.testConfig.useThisFile') }}
|
|
882
879
|
</UButton>
|
|
883
880
|
</div>
|
|
@@ -152,7 +152,7 @@ async function clearAll() {
|
|
|
152
152
|
<UButton
|
|
153
153
|
v-if="configured.length"
|
|
154
154
|
color="error"
|
|
155
|
-
variant="
|
|
155
|
+
variant="soft"
|
|
156
156
|
size="xs"
|
|
157
157
|
icon="i-lucide-trash-2"
|
|
158
158
|
:loading="busy"
|
|
@@ -250,7 +250,6 @@ async function clearAll() {
|
|
|
250
250
|
{{ t('inspector.testSecrets.addRow') }}
|
|
251
251
|
</UButton>
|
|
252
252
|
<UButton
|
|
253
|
-
color="primary"
|
|
254
253
|
variant="soft"
|
|
255
254
|
size="xs"
|
|
256
255
|
icon="i-lucide-save"
|
|
@@ -209,7 +209,7 @@ async function clear() {
|
|
|
209
209
|
<UButton
|
|
210
210
|
v-if="configured"
|
|
211
211
|
color="error"
|
|
212
|
-
variant="
|
|
212
|
+
variant="soft"
|
|
213
213
|
size="xs"
|
|
214
214
|
icon="i-lucide-trash-2"
|
|
215
215
|
:loading="busy"
|
|
@@ -319,7 +319,6 @@ async function clear() {
|
|
|
319
319
|
{{ t('inspector.validationChecks.addCheck') }}
|
|
320
320
|
</UButton>
|
|
321
321
|
<UButton
|
|
322
|
-
color="primary"
|
|
323
322
|
variant="soft"
|
|
324
323
|
size="xs"
|
|
325
324
|
icon="i-lucide-save"
|
|
@@ -347,7 +347,7 @@ async function mergePr() {
|
|
|
347
347
|
<UButton
|
|
348
348
|
icon="i-lucide-trash-2"
|
|
349
349
|
color="error"
|
|
350
|
-
variant="
|
|
350
|
+
variant="soft"
|
|
351
351
|
size="xs"
|
|
352
352
|
:loading="resetting"
|
|
353
353
|
:disabled="stopping || !access.canExecuteRuns.value"
|
|
@@ -496,7 +496,6 @@ async function mergePr() {
|
|
|
496
496
|
branch each is how the candidate park shipped with no button at all. -->
|
|
497
497
|
<UButton
|
|
498
498
|
v-else-if="s.approval && s.approval.status === 'pending' && redirectPark(s)"
|
|
499
|
-
color="primary"
|
|
500
499
|
variant="soft"
|
|
501
500
|
size="xs"
|
|
502
501
|
:icon="REDIRECT_PARK_PRESENTATION[redirectPark(s)!].icon"
|
|
@@ -514,7 +513,6 @@ async function mergePr() {
|
|
|
514
513
|
s.approval.status === 'pending' &&
|
|
515
514
|
s.prReview?.status === 'awaiting_selection'
|
|
516
515
|
"
|
|
517
|
-
color="primary"
|
|
518
516
|
variant="soft"
|
|
519
517
|
size="xs"
|
|
520
518
|
icon="i-lucide-clipboard-check"
|
|
@@ -630,7 +628,6 @@ async function mergePr() {
|
|
|
630
628
|
merged task whose run instance is long gone. -->
|
|
631
629
|
<UButton
|
|
632
630
|
v-if="outcomeReadable"
|
|
633
|
-
color="primary"
|
|
634
631
|
variant="soft"
|
|
635
632
|
size="sm"
|
|
636
633
|
icon="i-lucide-clipboard-check"
|
|
@@ -690,7 +687,6 @@ async function mergePr() {
|
|
|
690
687
|
<UButton
|
|
691
688
|
class="mt-2"
|
|
692
689
|
color="success"
|
|
693
|
-
variant="solid"
|
|
694
690
|
size="sm"
|
|
695
691
|
icon="i-lucide-git-merge"
|
|
696
692
|
block
|
|
@@ -133,7 +133,6 @@ function revert() {
|
|
|
133
133
|
</p>
|
|
134
134
|
<UButton
|
|
135
135
|
v-if="guidedTarget"
|
|
136
|
-
color="primary"
|
|
137
136
|
variant="soft"
|
|
138
137
|
size="sm"
|
|
139
138
|
icon="i-lucide-scan-search"
|
|
@@ -151,7 +150,6 @@ function revert() {
|
|
|
151
150
|
<div v-if="dirty" class="mt-2 flex items-center gap-2">
|
|
152
151
|
<UButton
|
|
153
152
|
size="xs"
|
|
154
|
-
color="primary"
|
|
155
153
|
variant="soft"
|
|
156
154
|
:loading="saving"
|
|
157
155
|
data-testid="inspector-review-skills-save"
|
|
@@ -305,13 +305,7 @@ const technicalLabel = computed(() => {
|
|
|
305
305
|
</PipelinePicker>
|
|
306
306
|
</div>
|
|
307
307
|
<div v-if="selectedPipeline" class="flex items-center gap-1">
|
|
308
|
-
<UBadge
|
|
309
|
-
color="primary"
|
|
310
|
-
variant="subtle"
|
|
311
|
-
size="sm"
|
|
312
|
-
class="cursor-pointer"
|
|
313
|
-
@click="setPipeline('')"
|
|
314
|
-
>
|
|
308
|
+
<UBadge variant="subtle" size="sm" class="cursor-pointer" @click="setPipeline('')">
|
|
315
309
|
{{ selectedPipeline.name }}<UIcon name="i-lucide-x" class="ms-0.5 h-3 w-3" />
|
|
316
310
|
</UBadge>
|
|
317
311
|
</div>
|
|
@@ -615,13 +609,7 @@ const technicalLabel = computed(() => {
|
|
|
615
609
|
</UDropdownMenu>
|
|
616
610
|
</div>
|
|
617
611
|
<div v-if="responsibleLabel" class="flex items-center gap-1">
|
|
618
|
-
<UBadge
|
|
619
|
-
color="primary"
|
|
620
|
-
variant="subtle"
|
|
621
|
-
size="sm"
|
|
622
|
-
class="cursor-pointer"
|
|
623
|
-
@click="setResponsible('')"
|
|
624
|
-
>
|
|
612
|
+
<UBadge variant="subtle" size="sm" class="cursor-pointer" @click="setResponsible('')">
|
|
625
613
|
{{ responsibleLabel }}<UIcon name="i-lucide-x" class="ms-0.5 h-3 w-3" />
|
|
626
614
|
</UBadge>
|
|
627
615
|
</div>
|
|
@@ -242,7 +242,6 @@ function revisionLabel(revision: AgentPromptRevision): string {
|
|
|
242
242
|
|
|
243
243
|
<div class="flex flex-wrap items-center gap-2">
|
|
244
244
|
<UButton
|
|
245
|
-
color="primary"
|
|
246
245
|
size="sm"
|
|
247
246
|
icon="i-lucide-save"
|
|
248
247
|
:loading="prompts.saving"
|
|
@@ -308,7 +307,6 @@ function revisionLabel(revision: AgentPromptRevision): string {
|
|
|
308
307
|
>
|
|
309
308
|
<UBadge
|
|
310
309
|
v-if="revision.revision === detail.revisions[0]?.revision"
|
|
311
|
-
color="primary"
|
|
312
310
|
variant="subtle"
|
|
313
311
|
size="sm"
|
|
314
312
|
>
|
|
@@ -41,7 +41,6 @@ const emit = defineEmits<{ resolve: [choice: IterationCapChoice] }>()
|
|
|
41
41
|
<p class="mt-1 text-xs text-app-warning-200/80">{{ detail }}</p>
|
|
42
42
|
<div class="mt-3 flex flex-wrap gap-2">
|
|
43
43
|
<UButton
|
|
44
|
-
color="primary"
|
|
45
44
|
variant="soft"
|
|
46
45
|
size="xs"
|
|
47
46
|
icon="i-lucide-rotate-cw"
|
|
@@ -428,13 +428,7 @@ const { toggleArchive, toggleDefault, edit, removePipeline, clone } = usePipelin
|
|
|
428
428
|
<SectionLabel as="h3">
|
|
429
429
|
{{ t('pipeline.builder.agentPalette') }}
|
|
430
430
|
</SectionLabel>
|
|
431
|
-
<UButton
|
|
432
|
-
color="primary"
|
|
433
|
-
variant="soft"
|
|
434
|
-
size="xs"
|
|
435
|
-
icon="i-lucide-plus"
|
|
436
|
-
@click="openAddAgent"
|
|
437
|
-
>
|
|
431
|
+
<UButton variant="soft" size="xs" icon="i-lucide-plus" @click="openAddAgent">
|
|
438
432
|
{{ t('pipeline.builder.addAgent') }}
|
|
439
433
|
</UButton>
|
|
440
434
|
</div>
|
|
@@ -1243,7 +1237,6 @@ const { toggleArchive, toggleDefault, edit, removePipeline, clone } = usePipelin
|
|
|
1243
1237
|
concealed-setting failure. -->
|
|
1244
1238
|
<UBadge
|
|
1245
1239
|
v-if="p.isDefault"
|
|
1246
|
-
color="primary"
|
|
1247
1240
|
variant="subtle"
|
|
1248
1241
|
size="xs"
|
|
1249
1242
|
class="shrink-0"
|
|
@@ -1347,7 +1340,7 @@ const { toggleArchive, toggleDefault, edit, removePipeline, clone } = usePipelin
|
|
|
1347
1340
|
<IconButton
|
|
1348
1341
|
v-if="!p.builtin"
|
|
1349
1342
|
icon="i-lucide-trash-2"
|
|
1350
|
-
color="
|
|
1343
|
+
color="error"
|
|
1351
1344
|
variant="ghost"
|
|
1352
1345
|
size="xs"
|
|
1353
1346
|
:label="t('pipeline.builder.delete')"
|
|
@@ -1396,7 +1389,6 @@ const { toggleArchive, toggleDefault, edit, removePipeline, clone } = usePipelin
|
|
|
1396
1389
|
{{ pipelines.editingId ? t('pipeline.builder.cancelEdit') : t('pipeline.builder.clear') }}
|
|
1397
1390
|
</UButton>
|
|
1398
1391
|
<UButton
|
|
1399
|
-
color="primary"
|
|
1400
1392
|
icon="i-lucide-save"
|
|
1401
1393
|
size="sm"
|
|
1402
1394
|
:disabled="pipelines.draft.length === 0 || stepsDisallowedByPurpose.length > 0"
|
|
@@ -1465,7 +1457,6 @@ const { toggleArchive, toggleDefault, edit, removePipeline, clone } = usePipelin
|
|
|
1465
1457
|
{{ t('common.cancel') }}
|
|
1466
1458
|
</UButton>
|
|
1467
1459
|
<UButton
|
|
1468
|
-
color="primary"
|
|
1469
1460
|
icon="i-lucide-plus"
|
|
1470
1461
|
size="sm"
|
|
1471
1462
|
:disabled="!newAgentName.trim()"
|
|
@@ -151,7 +151,6 @@ const reseedableCount = computed(
|
|
|
151
151
|
</div>
|
|
152
152
|
<UButton
|
|
153
153
|
size="xs"
|
|
154
|
-
color="primary"
|
|
155
154
|
variant="subtle"
|
|
156
155
|
icon="i-lucide-plus"
|
|
157
156
|
:loading="isBusy(p.id)"
|
|
@@ -207,7 +206,6 @@ const reseedableCount = computed(
|
|
|
207
206
|
<UButton
|
|
208
207
|
v-if="h.pipeline.builtin"
|
|
209
208
|
size="xs"
|
|
210
|
-
color="primary"
|
|
211
209
|
variant="subtle"
|
|
212
210
|
icon="i-lucide-rotate-ccw"
|
|
213
211
|
:loading="isBusy(h.pipeline.id)"
|
|
@@ -220,7 +218,7 @@ const reseedableCount = computed(
|
|
|
220
218
|
v-else
|
|
221
219
|
size="xs"
|
|
222
220
|
color="error"
|
|
223
|
-
variant="
|
|
221
|
+
variant="soft"
|
|
224
222
|
icon="i-lucide-trash-2"
|
|
225
223
|
:loading="isBusy(h.pipeline.id)"
|
|
226
224
|
:disabled="locked"
|
|
@@ -261,7 +259,7 @@ const reseedableCount = computed(
|
|
|
261
259
|
<UButton
|
|
262
260
|
size="xs"
|
|
263
261
|
color="error"
|
|
264
|
-
variant="
|
|
262
|
+
variant="soft"
|
|
265
263
|
icon="i-lucide-trash-2"
|
|
266
264
|
:loading="isBusy(r.pipeline.id)"
|
|
267
265
|
:disabled="locked"
|
|
@@ -296,7 +294,6 @@ const reseedableCount = computed(
|
|
|
296
294
|
</div>
|
|
297
295
|
<UButton
|
|
298
296
|
size="xs"
|
|
299
|
-
color="primary"
|
|
300
297
|
variant="subtle"
|
|
301
298
|
icon="i-lucide-rotate-ccw"
|
|
302
299
|
:loading="isBusy(h.pipeline.id)"
|
|
@@ -315,7 +312,6 @@ const reseedableCount = computed(
|
|
|
315
312
|
<div class="flex w-full items-center justify-between gap-2">
|
|
316
313
|
<UButton
|
|
317
314
|
v-if="reseedableCount > 1"
|
|
318
|
-
color="primary"
|
|
319
315
|
variant="ghost"
|
|
320
316
|
icon="i-lucide-rotate-ccw"
|
|
321
317
|
:loading="anyBusy"
|