mirror of
https://github.com/stablyai/orca.git
synced 2026-10-31 00:57:45 +00:00
refactor: group repository source-control AI settings (#34278)
This commit is contained in:
@@ -8744,7 +8744,7 @@
|
||||
"src/renderer/src/components/settings/RepositoryGitHubAccountSection.inventory-lifetime.test.tsx": 587,
|
||||
"src/renderer/src/components/settings/RepositoryGitHubAccountSection.test.tsx": 662,
|
||||
"src/renderer/src/components/settings/RepositoryPane.test.ts": 2778,
|
||||
"src/renderer/src/components/settings/RepositorySourceControlAiSection.test.ts": 365,
|
||||
"src/renderer/src/components/settings/repository/source-control/RepositorySourceControlAiSection.test.ts": 365,
|
||||
"src/renderer/src/components/settings/RuntimeEnvironmentsPane.test.ts": 201,
|
||||
"src/renderer/src/components/settings/RuntimeHostAccessForm.test.tsx": 307,
|
||||
"src/renderer/src/components/settings/RuntimePairingGeneratorForm.test.tsx": 306,
|
||||
@@ -8824,7 +8824,7 @@
|
||||
"src/renderer/src/components/settings/notification-host-pending-save.test.tsx": 1663,
|
||||
"src/renderer/src/components/settings/plugin-install-source.test.ts": 110,
|
||||
"src/renderer/src/components/settings/provider-account-visibility.test.ts": 49,
|
||||
"src/renderer/src/components/settings/repository-source-control-ai-global-ux.test.ts": 585,
|
||||
"src/renderer/src/components/settings/repository/source-control/repository-source-control-ai-global-ux.test.ts": 585,
|
||||
"src/renderer/src/components/settings/repository/RepositoryJiraProjectSection.test.tsx": 292,
|
||||
"src/renderer/src/components/settings/repository/RepositoryPaneDraftInput.test.tsx": 428,
|
||||
"src/renderer/src/components/settings/repository/execution/RepositoryHooksSection.test.ts": 715,
|
||||
|
||||
@@ -12,7 +12,7 @@ import { RepositoryHooksSection } from './repository/execution/RepositoryHooksSe
|
||||
import { McpConfigSection } from './McpConfigSection'
|
||||
import { WorktreeSymlinksSection } from './WorktreeSymlinksSection'
|
||||
import { SparsePresetSettingsSection } from './SparsePresetSettingsSection'
|
||||
import { RepositorySourceControlAiSection } from './RepositorySourceControlAiSection'
|
||||
import { RepositorySourceControlAiSection } from './repository/source-control/RepositorySourceControlAiSection'
|
||||
import { SearchableSetting } from './SearchableSetting'
|
||||
import { RepositoryRemoveProjectButton } from './RepositoryRemoveProjectButton'
|
||||
import { matchesSettingsSearch } from './settings-search'
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ import {
|
||||
normalizeRepoAiDraft,
|
||||
readCompleteRecipeForDraft,
|
||||
setActionOverride
|
||||
} from './repository-source-control-ai-draft'
|
||||
} from './repository/source-control/repository-source-control-ai-draft'
|
||||
|
||||
type RepoActionRecipe = NonNullable<
|
||||
NonNullable<RepoSourceControlAiOverrides['actionOverrides']>[SourceControlActionId]
|
||||
|
||||
@@ -12,9 +12,9 @@ import { liftActionPermissionArgs } from '../../../../shared/source-control-acti
|
||||
import {
|
||||
readActionRecipeTextDraft,
|
||||
type ActionRecipeTextDraft
|
||||
} from './repository-source-control-ai-draft'
|
||||
} from './repository/source-control/repository-source-control-ai-draft'
|
||||
import { retireActionLaunchPreferences } from './source-control-ai-action-recipe-draft'
|
||||
import { readInheritedCommandTemplate } from './repository-source-control-ai-labels'
|
||||
import { readInheritedCommandTemplate } from './repository/source-control/repository-source-control-ai-labels'
|
||||
|
||||
export function resetActionDraftLaunchPreferences(
|
||||
current: Partial<Record<SourceControlActionId, ActionRecipeTextDraft>>,
|
||||
|
||||
+24
-55
@@ -1,33 +1,31 @@
|
||||
import { useAppStore } from '@/store'
|
||||
import type { RepositorySourceControlAiActionRowsProps } from './repository-source-control-ai-action-rows-props'
|
||||
import { useAppStore } from '@/store/index'
|
||||
import { useAgentMenuObservation } from '@/components/tab-bar/use-new-tab-agent-menu-rows'
|
||||
import { sourceControlRepoAgentRows } from '@/lib/source-control-agent-picker'
|
||||
import {
|
||||
SourceControlActionAgentPickerView,
|
||||
sourceControlActionAgentPreview,
|
||||
canSaveSourceControlActionSurface
|
||||
} from './SourceControlActionAgentPicker'
|
||||
import { SourceControlActionArguments } from './SourceControlActionArguments'
|
||||
} from '../../SourceControlActionAgentPicker'
|
||||
import { SourceControlActionArguments } from '../../SourceControlActionArguments'
|
||||
import type React from 'react'
|
||||
import { Terminal } from 'lucide-react'
|
||||
import type { TuiAgent } from '../../../../shared/tui-agent'
|
||||
import { CUSTOM_AGENT_ID, isCustomAgentId } from '../../../../shared/commit-message-agent-spec'
|
||||
import type {
|
||||
RepoSourceControlAiOverrides,
|
||||
SourceControlAiSettings
|
||||
} from '../../../../shared/source-control-ai-types'
|
||||
|
||||
import {
|
||||
CUSTOM_AGENT_ID,
|
||||
isCustomAgentId
|
||||
} from '../../../../../../shared/commit-message-agent-spec'
|
||||
|
||||
import {
|
||||
SOURCE_CONTROL_ACTION_IDS,
|
||||
SOURCE_CONTROL_ACTION_LABELS,
|
||||
type SourceControlActionRecipe,
|
||||
type SourceControlActionId,
|
||||
type SourceControlActionLaunchPreferences
|
||||
} from '../../../../shared/source-control-ai-actions'
|
||||
import { Input } from '../ui/input'
|
||||
import { Label } from '../ui/label'
|
||||
import { Button } from '../ui/button'
|
||||
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../ui/select'
|
||||
SOURCE_CONTROL_ACTION_LABELS
|
||||
} from '../../../../../../shared/source-control-ai-actions'
|
||||
import { Input } from '../../../ui/input'
|
||||
import { Label } from '../../../ui/label'
|
||||
import { Button } from '../../../ui/button'
|
||||
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../../../ui/select'
|
||||
import { AgentIcon } from '@/lib/agent-catalog'
|
||||
import { SourceControlActionVariableChips } from '../source-control/SourceControlActionVariableChips'
|
||||
import { SourceControlActionVariableChips } from '../../../source-control/SourceControlActionVariableChips'
|
||||
import {
|
||||
getActionDescriptions,
|
||||
SOURCE_CONTROL_TEXT_ACTION_ID_SET,
|
||||
@@ -35,7 +33,7 @@ import {
|
||||
getSourceControlActionAgentSupportText,
|
||||
getSourceControlActionAgentWarningText,
|
||||
getSourceControlAgentArgsPlaceholder
|
||||
} from './source-control-action-recipe-options'
|
||||
} from '../../source-control-action-recipe-options'
|
||||
import {
|
||||
ACTION_MODE_INHERIT,
|
||||
ACTION_MODE_OVERRIDE,
|
||||
@@ -49,46 +47,17 @@ import {
|
||||
resolveAgentArgsPlaceholderAgent
|
||||
} from './repository-source-control-ai-labels'
|
||||
import { hasOwnActionOverride } from './repository-source-control-ai-draft'
|
||||
import { getRepositorySourceControlAiActionRecipeSectionId } from './repository-settings-targets'
|
||||
import { getRepositorySourceControlAiActionRecipeSectionId } from '../../repository-settings-targets'
|
||||
import { translate } from '@/i18n/i18n'
|
||||
import { SourceControlActionOptionField } from './SourceControlActionOptionField'
|
||||
import { SourceControlActionOptionField } from '../../SourceControlActionOptionField'
|
||||
import {
|
||||
useSourceControlActionAgentInventory,
|
||||
useSourceControlActionAgent
|
||||
} from './use-source-control-action-agent'
|
||||
import { resolveSourceControlActionRecipe } from '../../../../shared/source-control-ai-operation-policy'
|
||||
import { shouldShowSourceControlActionArguments } from './source-control-action-arguments-visibility'
|
||||
} from '../../use-source-control-action-agent'
|
||||
import { resolveSourceControlActionRecipe } from '../../../../../../shared/source-control-ai-operation-policy'
|
||||
import { shouldShowSourceControlActionArguments } from '../../source-control-action-arguments-visibility'
|
||||
import { chatProviderAgents, useHostStructuredAgentsVersion } from '@/lib/chat-provider-agents'
|
||||
import { LOCAL_EXECUTION_HOST_ID } from '../../../../shared/execution-host'
|
||||
|
||||
type RepositorySourceControlAiActionRowsProps = {
|
||||
repoId: string
|
||||
repoAi: RepoSourceControlAiOverrides
|
||||
source: SourceControlAiSettings
|
||||
defaultTuiAgent: TuiAgent | 'blank' | null | undefined
|
||||
onActionModeChange: (actionId: SourceControlActionId, mode: string) => void
|
||||
onActionAgentChange: (
|
||||
actionId: SourceControlActionId,
|
||||
value: string,
|
||||
choice?: Pick<SourceControlActionRecipe, 'surface'>
|
||||
) => void
|
||||
onActionLaunchPreferencesChange: (
|
||||
actionId: SourceControlActionId,
|
||||
value: SourceControlActionLaunchPreferences | undefined
|
||||
) => void
|
||||
onActionTemplateChange: (actionId: SourceControlActionId, value: string) => void
|
||||
onActionAgentArgsChange: (
|
||||
actionId: SourceControlActionId,
|
||||
value: string,
|
||||
commit?: boolean
|
||||
) => void
|
||||
onAppendVariable: (actionId: SourceControlActionId, variable: string) => void
|
||||
/** Per-action saving state for CLI args + command template (matches global recipes). */
|
||||
savingActionIds: Partial<Record<SourceControlActionId, boolean>>
|
||||
actionDirtyById: Record<SourceControlActionId, boolean>
|
||||
onActionDiscard: (actionId: SourceControlActionId) => void
|
||||
onActionSave: (actionId: SourceControlActionId) => void
|
||||
}
|
||||
import { LOCAL_EXECUTION_HOST_ID } from '../../../../../../shared/execution-host'
|
||||
|
||||
export function RepositorySourceControlAiActionRows({
|
||||
repoId,
|
||||
+4
-4
@@ -1,9 +1,9 @@
|
||||
import type React from 'react'
|
||||
import { useState } from 'react'
|
||||
import type { SourceControlAiSettings } from '../../../../shared/source-control-ai-types'
|
||||
import { Input } from '../ui/input'
|
||||
import { Label } from '../ui/label'
|
||||
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../ui/select'
|
||||
import type { SourceControlAiSettings } from '../../../../../../shared/source-control-ai-types'
|
||||
import { Input } from '../../../ui/input'
|
||||
import { Label } from '../../../ui/label'
|
||||
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../../../ui/select'
|
||||
import {
|
||||
CUSTOM_COMMAND_MODE_INHERIT,
|
||||
CUSTOM_COMMAND_MODE_REPO
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
import type React from 'react'
|
||||
import type { SourceControlAiSettings } from '../../../../shared/source-control-ai-types'
|
||||
import { Label } from '../ui/label'
|
||||
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../ui/select'
|
||||
import type { SourceControlAiSettings } from '../../../../../../shared/source-control-ai-types'
|
||||
import { Label } from '../../../ui/label'
|
||||
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../../../ui/select'
|
||||
import { translate } from '@/i18n/i18n'
|
||||
|
||||
type RepositorySourceControlAiEnablementProps = {
|
||||
+3
-3
@@ -2,9 +2,9 @@ import type React from 'react'
|
||||
import type {
|
||||
RepoSourceControlAiOverrides,
|
||||
SourceControlAiSettings
|
||||
} from '../../../../shared/source-control-ai-types'
|
||||
import { Label } from '../ui/label'
|
||||
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../ui/select'
|
||||
} from '../../../../../../shared/source-control-ai-types'
|
||||
import { Label } from '../../../ui/label'
|
||||
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../../../ui/select'
|
||||
import { triStateValue } from './repository-source-control-ai-draft'
|
||||
import { translate } from '@/i18n/i18n'
|
||||
|
||||
+16
-16
@@ -1,43 +1,43 @@
|
||||
// @vitest-environment happy-dom
|
||||
import { afterEach, describe, expect, it, vi } from 'vitest'
|
||||
import { act, render, cleanup, fireEvent } from '@testing-library/react'
|
||||
import './__fixtures__/settings-persistence-test-fixture'
|
||||
import '../../__fixtures__/settings-persistence-test-fixture'
|
||||
import React from 'react'
|
||||
import type { TuiAgent } from '../../../../shared/tui-agent'
|
||||
import type { TuiAgent } from '../../../../../../shared/tui-agent'
|
||||
import { renderToStaticMarkup } from 'react-dom/server'
|
||||
import { normalizeRepoSourceControlAiOverrides } from '../../../../shared/source-control-ai'
|
||||
import { normalizeRepoSourceControlAiOverrides } from '../../../../../../shared/source-control-ai-repo-settings'
|
||||
import type {
|
||||
RepoSourceControlAiOverrides,
|
||||
SourceControlAiSettings
|
||||
} from '../../../../shared/source-control-ai-types'
|
||||
} from '../../../../../../shared/source-control-ai-types'
|
||||
import {
|
||||
SOURCE_CONTROL_ACTION_IDS,
|
||||
setSourceControlActionAgentDefault,
|
||||
type SourceControlActionId
|
||||
} from '../../../../shared/source-control-ai-actions'
|
||||
} from '../../../../../../shared/source-control-ai-actions'
|
||||
import {
|
||||
computeActionDirtyById,
|
||||
dropRepoLegacyInstructionForAction,
|
||||
withRepoAiActionMode
|
||||
} from './repository-source-control-ai-draft'
|
||||
import { withRepoAiActionAgent } from './repository-source-control-ai-action-agent-draft'
|
||||
import { resolveSourceControlActionRecipe } from '../../../../shared/source-control-ai-operation-policy'
|
||||
import { withRepoAiActionAgent } from '../../repository-source-control-ai-action-agent-draft'
|
||||
import { resolveSourceControlActionRecipe } from '../../../../../../shared/source-control-ai-operation-policy'
|
||||
import {
|
||||
saveSourceControlActionRecipe,
|
||||
toSourceControlAiRepoUpdate
|
||||
} from '../../../../shared/source-control-ai-recipe-save'
|
||||
import { sourceControlActionRecipeMatchesTarget } from '../right-sidebar/source-control-action-recipe-match'
|
||||
import { SourceControlActionAgentPicker } from './SourceControlActionAgentPicker'
|
||||
} from '../../../../../../shared/source-control-ai-recipe-save'
|
||||
import { sourceControlActionRecipeMatchesTarget } from '../../../right-sidebar/source-control-action-recipe-match'
|
||||
import { SourceControlActionAgentPicker } from '../../SourceControlActionAgentPicker'
|
||||
import { RepositorySourceControlAiActionRows } from './RepositorySourceControlAiActionRows'
|
||||
import { RepositorySourceControlAiEnablement } from './RepositorySourceControlAiEnablement'
|
||||
import { SourceControlAiActionRecipeDefaults } from './SourceControlAiActionRecipeDefaults'
|
||||
import { useAppStore } from '../../store'
|
||||
import { TooltipProvider } from '../ui/tooltip'
|
||||
import { SourceControlAiActionRecipeDefaults } from '../../SourceControlAiActionRecipeDefaults'
|
||||
import { useAppStore } from '../../../../store/index'
|
||||
import { TooltipProvider } from '../../../ui/tooltip'
|
||||
import { setLocalRuntimeCapabilitiesForTests } from '@/runtime/local-runtime-capabilities'
|
||||
import { projectAgentLaunchSettings } from '../../../../shared/agent-launch-settings'
|
||||
import { projectAgentLaunchSettings } from '../../../../../../shared/agent-launch-settings'
|
||||
import { TEST_REPO } from '@/store/slices/worktrees-slice-test-fixtures'
|
||||
import { clearHostAgentMenuSettingsForTests } from './use-host-agent-launch-preferences'
|
||||
import { mutateHostAgentLaunchSettings } from './agent-launch-settings-transport'
|
||||
import { clearHostAgentMenuSettingsForTests } from '../../use-host-agent-launch-preferences'
|
||||
import { mutateHostAgentLaunchSettings } from '../../agent-launch-settings-transport'
|
||||
import { getRuntimeAgentInventoryKey } from '@/store/slices/runtime-agent-inventory-key'
|
||||
import { resetHostStructuredAgentsForTests } from '@/runtime/host-structured-agents'
|
||||
const rpc = vi.hoisted(() => vi.fn())
|
||||
+9
-11
@@ -1,19 +1,17 @@
|
||||
import { useMemo } from 'react'
|
||||
import type React from 'react'
|
||||
import type { Repo } from '../../../../shared/repo-types'
|
||||
import { normalizeSourceControlAiSettings } from '../../../../shared/source-control-ai'
|
||||
import type { SourceControlAiRepoUpdate } from '../../../../shared/source-control-ai-recipe-save'
|
||||
import { useAppStore } from '../../store'
|
||||
import { getRepositorySourceControlAiSectionId } from './repository-settings-targets'
|
||||
import type { Repo } from '../../../../../../shared/repo-types'
|
||||
import { normalizeSourceControlAiSettings } from '../../../../../../shared/source-control-ai-settings'
|
||||
import type { SourceControlAiRepoUpdate } from '../../../../../../shared/source-control-ai-recipe-save'
|
||||
import { useAppStore } from '../../../../store/index'
|
||||
import { getRepositorySourceControlAiSectionId } from '../../repository-settings-targets'
|
||||
import { RepositorySourceControlAiActionRows } from './RepositorySourceControlAiActionRows'
|
||||
import { RepositorySourceControlAiCustomCommand } from './RepositorySourceControlAiCustomCommand'
|
||||
import { RepositorySourceControlAiEnablement } from './RepositorySourceControlAiEnablement'
|
||||
import { RepositorySourceControlAiHostedReviewDefaults } from './RepositorySourceControlAiHostedReviewDefaults'
|
||||
import {
|
||||
normalizePersistedRepoAi,
|
||||
useRepositorySourceControlAiGlobalUx
|
||||
} from './repository-source-control-ai-global-ux'
|
||||
import { getSettingOwnershipSummary } from './setting-ownership'
|
||||
import { normalizeRepoAiDraft } from './repository-source-control-ai-draft'
|
||||
import { useRepositorySourceControlAiGlobalUx } from './repository-source-control-ai-global-ux'
|
||||
import { getSettingOwnershipSummary } from '../../setting-ownership'
|
||||
import { translate } from '@/i18n/i18n'
|
||||
|
||||
type RepositorySourceControlAiSectionProps = {
|
||||
@@ -33,7 +31,7 @@ export function RepositorySourceControlAiSection({
|
||||
settings?.commitMessageAi
|
||||
)
|
||||
const persistedRepoAi = useMemo(
|
||||
() => normalizePersistedRepoAi(repo.sourceControlAi),
|
||||
() => normalizeRepoAiDraft(repo.sourceControlAi),
|
||||
[repo.sourceControlAi]
|
||||
)
|
||||
const {
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
import type { TuiAgent } from '../../../../../../shared/tui-agent'
|
||||
import type {
|
||||
RepoSourceControlAiOverrides,
|
||||
SourceControlAiSettings
|
||||
} from '../../../../../../shared/source-control-ai-types'
|
||||
import type {
|
||||
SourceControlActionRecipe,
|
||||
SourceControlActionId,
|
||||
SourceControlActionLaunchPreferences
|
||||
} from '../../../../../../shared/source-control-ai-actions'
|
||||
|
||||
export type RepositorySourceControlAiActionRowsProps = {
|
||||
repoId: string
|
||||
repoAi: RepoSourceControlAiOverrides
|
||||
source: SourceControlAiSettings
|
||||
defaultTuiAgent: TuiAgent | 'blank' | null | undefined
|
||||
onActionModeChange: (actionId: SourceControlActionId, mode: string) => void
|
||||
onActionAgentChange: (
|
||||
actionId: SourceControlActionId,
|
||||
value: string,
|
||||
choice?: Pick<SourceControlActionRecipe, 'surface'>
|
||||
) => void
|
||||
onActionLaunchPreferencesChange: (
|
||||
actionId: SourceControlActionId,
|
||||
value: SourceControlActionLaunchPreferences | undefined
|
||||
) => void
|
||||
onActionTemplateChange: (actionId: SourceControlActionId, value: string) => void
|
||||
onActionAgentArgsChange: (
|
||||
actionId: SourceControlActionId,
|
||||
value: string,
|
||||
commit?: boolean
|
||||
) => void
|
||||
onAppendVariable: (actionId: SourceControlActionId, variable: string) => void
|
||||
/** Per-action saving state for CLI args + command template (matches global recipes). */
|
||||
savingActionIds: Partial<Record<SourceControlActionId, boolean>>
|
||||
actionDirtyById: Record<SourceControlActionId, boolean>
|
||||
onActionDiscard: (actionId: SourceControlActionId) => void
|
||||
onActionSave: (actionId: SourceControlActionId) => void
|
||||
}
|
||||
+6
-8
@@ -1,15 +1,13 @@
|
||||
import {
|
||||
normalizeRepoSourceControlAiOverrides,
|
||||
resolveSourceControlActionRecipe
|
||||
} from '../../../../shared/source-control-ai'
|
||||
import { normalizeRepoSourceControlAiOverrides } from '../../../../../../shared/source-control-ai-repo-settings'
|
||||
import { resolveSourceControlActionRecipe } from '../../../../../../shared/source-control-ai-operation-policy'
|
||||
import {
|
||||
SOURCE_CONTROL_ACTION_IDS,
|
||||
type SourceControlActionId
|
||||
} from '../../../../shared/source-control-ai-actions'
|
||||
import type { RepoSourceControlAiOverrides } from '../../../../shared/source-control-ai-types'
|
||||
import type { GlobalSettings } from '../../../../shared/global-settings-types'
|
||||
} from '../../../../../../shared/source-control-ai-actions'
|
||||
import type { RepoSourceControlAiOverrides } from '../../../../../../shared/source-control-ai-types'
|
||||
import type { GlobalSettings } from '../../../../../../shared/global-settings-types'
|
||||
import { completeRepoActionRecipe } from './repository-source-control-ai-labels'
|
||||
import { SOURCE_CONTROL_TEXT_ACTION_ID_SET } from './source-control-action-recipe-options'
|
||||
import { SOURCE_CONTROL_TEXT_ACTION_ID_SET } from '../../source-control-action-recipe-options'
|
||||
|
||||
type RepoActionRecipe = NonNullable<
|
||||
NonNullable<RepoSourceControlAiOverrides['actionOverrides']>[SourceControlActionId]
|
||||
+9
-11
@@ -1,22 +1,20 @@
|
||||
// @vitest-environment happy-dom
|
||||
import { act, renderHook } from '@testing-library/react'
|
||||
import { describe, expect, it, vi } from 'vitest'
|
||||
import {
|
||||
normalizeRepoSourceControlAiOverrides,
|
||||
normalizeSourceControlAiSettings
|
||||
} from '../../../../shared/source-control-ai'
|
||||
import type { RepoSourceControlAiOverrides } from '../../../../shared/source-control-ai-types'
|
||||
import type { SourceControlAiRepoUpdate } from '../../../../shared/source-control-ai-recipe-save'
|
||||
import { normalizeRepoSourceControlAiOverrides } from '../../../../../../shared/source-control-ai-repo-settings'
|
||||
import { normalizeSourceControlAiSettings } from '../../../../../../shared/source-control-ai-settings'
|
||||
import type { RepoSourceControlAiOverrides } from '../../../../../../shared/source-control-ai-types'
|
||||
import type { SourceControlAiRepoUpdate } from '../../../../../../shared/source-control-ai-recipe-save'
|
||||
import { useRepositorySourceControlAiGlobalUx } from './repository-source-control-ai-global-ux'
|
||||
import { withRepoAiActionLaunchPreferences } from './repository-source-control-ai-action-agent-draft'
|
||||
import { withRepoAiActionLaunchPreferences } from '../../repository-source-control-ai-action-agent-draft'
|
||||
import {
|
||||
readActionRecipeTextDraft,
|
||||
withRepoAiActionRecipeText
|
||||
} from './repository-source-control-ai-draft'
|
||||
import { toSourceControlAiRepoUpdate } from '../../../../shared/source-control-ai-recipe-save'
|
||||
import type { SourceControlActionId } from '../../../../shared/source-control-ai-actions'
|
||||
import { getDefaultSettings } from '../../../../shared/constants'
|
||||
import { resolveSourceControlActionRecipe } from '../../../../shared/source-control-ai-operation-policy'
|
||||
import { toSourceControlAiRepoUpdate } from '../../../../../../shared/source-control-ai-recipe-save'
|
||||
import type { SourceControlActionId } from '../../../../../../shared/source-control-ai-actions'
|
||||
import { getDefaultSettings } from '../../../../../../shared/constants'
|
||||
import { resolveSourceControlActionRecipe } from '../../../../../../shared/source-control-ai-operation-policy'
|
||||
|
||||
const source = normalizeSourceControlAiSettings(undefined, undefined)
|
||||
|
||||
+10
-12
@@ -1,17 +1,17 @@
|
||||
import { liftActionPermissionArgs } from '../../../../shared/source-control-action-permission-lift'
|
||||
import { liftActionPermissionArgs } from '../../../../../../shared/source-control-action-permission-lift'
|
||||
import { useEffect, useMemo, useRef, useState } from 'react'
|
||||
import type { GlobalSettings } from '../../../../shared/global-settings-types'
|
||||
import type { TuiAgent } from '../../../../shared/tui-agent'
|
||||
import { CUSTOM_AGENT_ID } from '../../../../shared/commit-message-agent-spec'
|
||||
import type { GlobalSettings } from '../../../../../../shared/global-settings-types'
|
||||
import type { TuiAgent } from '../../../../../../shared/tui-agent'
|
||||
import { CUSTOM_AGENT_ID } from '../../../../../../shared/commit-message-agent-spec'
|
||||
import type {
|
||||
RepoSourceControlAiOverrides,
|
||||
SourceControlAiSettings
|
||||
} from '../../../../shared/source-control-ai-types'
|
||||
import type { SourceControlAiRepoUpdate } from '../../../../shared/source-control-ai-recipe-save'
|
||||
} from '../../../../../../shared/source-control-ai-types'
|
||||
import type { SourceControlAiRepoUpdate } from '../../../../../../shared/source-control-ai-recipe-save'
|
||||
import type {
|
||||
SourceControlActionRecipe,
|
||||
SourceControlActionId
|
||||
} from '../../../../shared/source-control-ai-actions'
|
||||
} from '../../../../../../shared/source-control-ai-actions'
|
||||
import { useMountedRef } from '@/hooks/useMountedRef'
|
||||
import {
|
||||
clearActionTextDraftIfUnchanged,
|
||||
@@ -30,14 +30,12 @@ import {
|
||||
withRepoAiHostedReviewDefault
|
||||
} from './repository-source-control-ai-draft'
|
||||
import { ACTION_MODE_INHERIT, DEFAULT_AGENT_VALUE } from './repository-source-control-ai-labels'
|
||||
import { createRepoAiPersistQueue } from './repository/source-control/repository-source-control-ai-persist-queue'
|
||||
import { withRepoAiActionAgent } from './repository-source-control-ai-action-agent-draft'
|
||||
import { createRepoAiPersistQueue } from './repository-source-control-ai-persist-queue'
|
||||
import { withRepoAiActionAgent } from '../../repository-source-control-ai-action-agent-draft'
|
||||
import {
|
||||
createRepoActionTextDraftEditors,
|
||||
resetActionDraftLaunchPreferences
|
||||
} from './repository-source-control-ai-text-draft'
|
||||
|
||||
export { normalizeRepoAiDraft as normalizePersistedRepoAi } from './repository-source-control-ai-draft'
|
||||
} from '../../repository-source-control-ai-text-draft'
|
||||
|
||||
type HostedReviewDefaultKey = keyof NonNullable<RepoSourceControlAiOverrides['prCreationDefaults']>
|
||||
|
||||
+5
-5
@@ -1,16 +1,16 @@
|
||||
import type { TuiAgent } from '../../../../shared/tui-agent'
|
||||
import type { TuiAgent } from '../../../../../../shared/tui-agent'
|
||||
import {
|
||||
DEFAULT_SOURCE_CONTROL_ACTION_COMMAND_TEMPLATES,
|
||||
resolveSourceControlActionCommandTemplate,
|
||||
type SourceControlActionId,
|
||||
type SourceControlActionRecipe
|
||||
} from '../../../../shared/source-control-ai-actions'
|
||||
} from '../../../../../../shared/source-control-ai-actions'
|
||||
import type {
|
||||
RepoSourceControlAiOverrides,
|
||||
SourceControlAiSettings
|
||||
} from '../../../../shared/source-control-ai-types'
|
||||
import type { CustomAgentId } from '../../../../shared/commit-message-agent-spec'
|
||||
import { isCustomAgentId } from '../../../../shared/commit-message-agent-spec'
|
||||
} from '../../../../../../shared/source-control-ai-types'
|
||||
import type { CustomAgentId } from '../../../../../../shared/commit-message-agent-spec'
|
||||
import { isCustomAgentId } from '../../../../../../shared/commit-message-agent-spec'
|
||||
|
||||
export const ACTION_MODE_INHERIT = 'inherit'
|
||||
export const ACTION_MODE_OVERRIDE = 'override'
|
||||
+1
-1
@@ -15,7 +15,7 @@ import { liftActionPermissionArgs } from '../../../../shared/source-control-acti
|
||||
import { sourceControlActionAgentArgs } from '../../../../shared/source-control-action-launch-preferences'
|
||||
import { agentPermissionArgsForLaunch } from '../../../../shared/tui-agent-launch-defaults'
|
||||
import { SourceControlActionArguments } from './SourceControlActionArguments'
|
||||
import { useRepositorySourceControlAiGlobalUx } from './repository-source-control-ai-global-ux'
|
||||
import { useRepositorySourceControlAiGlobalUx } from './repository/source-control/repository-source-control-ai-global-ux'
|
||||
import { TooltipProvider } from '../ui/tooltip'
|
||||
|
||||
const model = { agentId: 'claude', model: 'sonnet', options: { effort: 'high' } } as const
|
||||
|
||||
Reference in New Issue
Block a user