mirror of
https://github.com/stablyai/orca.git
synced 2026-10-24 16:03:45 +00:00
refactor(skills): extract install error messages
This commit is contained in:
@@ -32,6 +32,7 @@ import { useSkillInstallProgress } from './skill-install-progress-state'
|
||||
import { translate } from '@/i18n/i18n'
|
||||
import { resolveSkillShareForInstall } from './skill-warning-preview-gate'
|
||||
import { useSkillInstallRisk } from './use-skill-install-risk'
|
||||
import { getSkillInstallErrorMessage } from './skill-install-error-copy'
|
||||
|
||||
export function SkillInstallDialog({
|
||||
open,
|
||||
@@ -91,12 +92,7 @@ export function SkillInstallDialog({
|
||||
const resolveLink = useCallback(async (value: string): Promise<void> => {
|
||||
const shareId = parseSkillShareId(value)
|
||||
if (!shareId) {
|
||||
setError(
|
||||
translate(
|
||||
'auto.components.skills.install.enterShareLink',
|
||||
'Enter an Orca skill share link.'
|
||||
)
|
||||
)
|
||||
setError(getSkillInstallErrorMessage('enterShareLink'))
|
||||
return
|
||||
}
|
||||
setBusy(true)
|
||||
@@ -108,22 +104,14 @@ export function SkillInstallDialog({
|
||||
setError(
|
||||
operation.status === 'unconfigured'
|
||||
? operation.message
|
||||
: translate(
|
||||
'auto.components.skills.install.shareUnavailable',
|
||||
'This share is unavailable. The link may be invalid, expired, or revoked.'
|
||||
)
|
||||
: getSkillInstallErrorMessage('shareUnavailable')
|
||||
)
|
||||
return
|
||||
}
|
||||
setPreview({ shareId, version: operation.value.version })
|
||||
} catch (cause) {
|
||||
console.warn('[skills] share resolution failed:', cause)
|
||||
setError(
|
||||
translate(
|
||||
'auto.components.skills.install.shareUnavailable',
|
||||
'This share is unavailable. The link may be invalid, expired, or revoked.'
|
||||
)
|
||||
)
|
||||
setError(getSkillInstallErrorMessage('shareUnavailable'))
|
||||
} finally {
|
||||
setBusy(false)
|
||||
}
|
||||
@@ -217,10 +205,7 @@ export function SkillInstallDialog({
|
||||
if (operation.status !== 'ok') {
|
||||
setError(
|
||||
operation.status === 'reconnect-required'
|
||||
? translate(
|
||||
'auto.components.skills.install.reconnectBeforeInstalling',
|
||||
'Reconnect your Orca account before installing.'
|
||||
)
|
||||
? getSkillInstallErrorMessage('reconnectBeforeInstalling')
|
||||
: operation.message
|
||||
)
|
||||
return
|
||||
@@ -231,12 +216,7 @@ export function SkillInstallDialog({
|
||||
}
|
||||
} catch (cause) {
|
||||
console.warn('[skills] install failed:', cause)
|
||||
setError(
|
||||
translate(
|
||||
'auto.components.skills.install.requestedVersionVerificationFailed',
|
||||
'Installation failed before Orca could verify the requested version.'
|
||||
)
|
||||
)
|
||||
setError(getSkillInstallErrorMessage('requestedVersionVerificationFailed'))
|
||||
} finally {
|
||||
installProgress.finish()
|
||||
setBusy(false)
|
||||
@@ -252,12 +232,7 @@ export function SkillInstallDialog({
|
||||
...(environmentId === 'local' || environmentId.startsWith('ssh:') ? {} : { environmentId })
|
||||
})
|
||||
if (!cancelled.cancelled) {
|
||||
setError(
|
||||
translate(
|
||||
'auto.components.skills.install.destinationAlreadyFinished',
|
||||
'The destination had already finished this installation.'
|
||||
)
|
||||
)
|
||||
setError(getSkillInstallErrorMessage('destinationAlreadyFinished'))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ import {
|
||||
} from './skill-managed-install-groups'
|
||||
import { SkillInstallMachineSelect } from './SkillInstallMachineSelect'
|
||||
import { SkillInstallManagementStatus } from './SkillInstallManagementStatus'
|
||||
import { translate } from '@/i18n/i18n'
|
||||
import { getSkillInstallErrorMessage } from './skill-install-error-copy'
|
||||
|
||||
export function SkillInstallManagementDialog({
|
||||
open,
|
||||
@@ -91,12 +91,7 @@ export function SkillInstallManagementDialog({
|
||||
return
|
||||
}
|
||||
console.warn('[skills] managed install listing failed:', cause)
|
||||
setError(
|
||||
translate(
|
||||
'auto.components.skills.install.inspectManagedFailed',
|
||||
'Orca could not inspect managed installs on this machine.'
|
||||
)
|
||||
)
|
||||
setError(getSkillInstallErrorMessage('inspectManagedFailed'))
|
||||
} finally {
|
||||
if (generation === loadGeneration.current) {
|
||||
setBusy(false)
|
||||
@@ -126,10 +121,7 @@ export function SkillInstallManagementDialog({
|
||||
if (operation.status !== 'ok') {
|
||||
setError(
|
||||
operation.status === 'reconnect-required'
|
||||
? translate(
|
||||
'auto.components.skills.install.reconnectForVersionHistory',
|
||||
'Reconnect your Orca account to load version history.'
|
||||
)
|
||||
? getSkillInstallErrorMessage('reconnectForVersionHistory')
|
||||
: operation.message
|
||||
)
|
||||
return
|
||||
@@ -141,12 +133,7 @@ export function SkillInstallManagementDialog({
|
||||
return
|
||||
}
|
||||
console.warn('[skills] package history failed:', cause)
|
||||
setError(
|
||||
translate(
|
||||
'auto.components.skills.install.versionHistoryUnavailable',
|
||||
'Version history is unavailable for this skill.'
|
||||
)
|
||||
)
|
||||
setError(getSkillInstallErrorMessage('versionHistoryUnavailable'))
|
||||
} finally {
|
||||
if (generation === detailGeneration.current) {
|
||||
setBusy(false)
|
||||
@@ -182,12 +169,7 @@ export function SkillInstallManagementDialog({
|
||||
installedNames.has(skill.name)
|
||||
)
|
||||
if (selectedSkills.length === 0) {
|
||||
setError(
|
||||
translate(
|
||||
'auto.components.skills.install.bundleSkillsMissing',
|
||||
'This version does not contain any of the installed bundle skills.'
|
||||
)
|
||||
)
|
||||
setError(getSkillInstallErrorMessage('bundleSkillsMissing'))
|
||||
return
|
||||
}
|
||||
const operation = await window.api.skills.installBundlePackageVersion({
|
||||
@@ -212,10 +194,7 @@ export function SkillInstallManagementDialog({
|
||||
if (operation.status !== 'ok') {
|
||||
setError(
|
||||
operation.status === 'reconnect-required'
|
||||
? translate(
|
||||
'auto.components.skills.install.reconnectBeforeVersionChange',
|
||||
'Reconnect your Orca account before changing versions.'
|
||||
)
|
||||
? getSkillInstallErrorMessage('reconnectBeforeVersionChange')
|
||||
: operation.message
|
||||
)
|
||||
return
|
||||
@@ -241,10 +220,7 @@ export function SkillInstallManagementDialog({
|
||||
if (operation.status !== 'ok') {
|
||||
setError(
|
||||
operation.status === 'reconnect-required'
|
||||
? translate(
|
||||
'auto.components.skills.install.reconnectBeforeVersionChange',
|
||||
'Reconnect your Orca account before changing versions.'
|
||||
)
|
||||
? getSkillInstallErrorMessage('reconnectBeforeVersionChange')
|
||||
: operation.message
|
||||
)
|
||||
return
|
||||
@@ -258,12 +234,7 @@ export function SkillInstallManagementDialog({
|
||||
}
|
||||
} catch (cause) {
|
||||
console.warn('[skills] version installation failed:', cause)
|
||||
setError(
|
||||
translate(
|
||||
'auto.components.skills.install.versionVerificationFailed',
|
||||
'Orca could not verify the requested version.'
|
||||
)
|
||||
)
|
||||
setError(getSkillInstallErrorMessage('versionVerificationFailed'))
|
||||
} finally {
|
||||
installProgress.finish()
|
||||
setBusy(false)
|
||||
@@ -279,12 +250,7 @@ export function SkillInstallManagementDialog({
|
||||
...(environmentId === 'local' || environmentId.startsWith('ssh:') ? {} : { environmentId })
|
||||
})
|
||||
if (!cancelled.cancelled) {
|
||||
setError(
|
||||
translate(
|
||||
'auto.components.skills.install.destinationAlreadyFinished',
|
||||
'The destination had already finished this installation.'
|
||||
)
|
||||
)
|
||||
setError(getSkillInstallErrorMessage('destinationAlreadyFinished'))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -329,12 +295,7 @@ export function SkillInstallManagementDialog({
|
||||
}
|
||||
} catch (cause) {
|
||||
console.warn('[skills] managed removal failed:', cause)
|
||||
setError(
|
||||
translate(
|
||||
'auto.components.skills.install.removeFailed',
|
||||
'Orca could not safely remove this skill.'
|
||||
)
|
||||
)
|
||||
setError(getSkillInstallErrorMessage('removeFailed'))
|
||||
} finally {
|
||||
setBusy(false)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
import { translate } from '@/i18n/i18n'
|
||||
|
||||
const ERROR_MESSAGES = {
|
||||
enterShareLink: () =>
|
||||
translate('auto.components.skills.install.enterShareLink', 'Enter an Orca skill share link.'),
|
||||
shareUnavailable: () =>
|
||||
translate(
|
||||
'auto.components.skills.install.shareUnavailable',
|
||||
'This share is unavailable. The link may be invalid, expired, or revoked.'
|
||||
),
|
||||
requestedVersionVerificationFailed: () =>
|
||||
translate(
|
||||
'auto.components.skills.install.requestedVersionVerificationFailed',
|
||||
'Installation failed before Orca could verify the requested version.'
|
||||
),
|
||||
reconnectBeforeInstalling: () =>
|
||||
translate(
|
||||
'auto.components.skills.install.reconnectBeforeInstalling',
|
||||
'Reconnect your Orca account before installing.'
|
||||
),
|
||||
destinationAlreadyFinished: () =>
|
||||
translate(
|
||||
'auto.components.skills.install.destinationAlreadyFinished',
|
||||
'The destination had already finished this installation.'
|
||||
),
|
||||
inspectManagedFailed: () =>
|
||||
translate(
|
||||
'auto.components.skills.install.inspectManagedFailed',
|
||||
'Orca could not inspect managed installs on this machine.'
|
||||
),
|
||||
reconnectForVersionHistory: () =>
|
||||
translate(
|
||||
'auto.components.skills.install.reconnectForVersionHistory',
|
||||
'Reconnect your Orca account to load version history.'
|
||||
),
|
||||
versionHistoryUnavailable: () =>
|
||||
translate(
|
||||
'auto.components.skills.install.versionHistoryUnavailable',
|
||||
'Version history is unavailable for this skill.'
|
||||
),
|
||||
bundleSkillsMissing: () =>
|
||||
translate(
|
||||
'auto.components.skills.install.bundleSkillsMissing',
|
||||
'This version does not contain any of the installed bundle skills.'
|
||||
),
|
||||
reconnectBeforeVersionChange: () =>
|
||||
translate(
|
||||
'auto.components.skills.install.reconnectBeforeVersionChange',
|
||||
'Reconnect your Orca account before changing versions.'
|
||||
),
|
||||
versionVerificationFailed: () =>
|
||||
translate(
|
||||
'auto.components.skills.install.versionVerificationFailed',
|
||||
'Orca could not verify the requested version.'
|
||||
),
|
||||
removeFailed: () =>
|
||||
translate(
|
||||
'auto.components.skills.install.removeFailed',
|
||||
'Orca could not safely remove this skill.'
|
||||
)
|
||||
} as const
|
||||
|
||||
export function getSkillInstallErrorMessage(name: keyof typeof ERROR_MESSAGES): string {
|
||||
return ERROR_MESSAGES[name]()
|
||||
}
|
||||
Reference in New Issue
Block a user