mirror of
https://github.com/claude-code-best/claude-code.git
synced 2026-06-17 13:55:50 +00:00
feat: 完成第二版类型清理
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -408,7 +408,7 @@ export async function installResolvedPlugin({
|
||||
allowedCrossMarketplaces,
|
||||
)
|
||||
if (!resolution.ok) {
|
||||
return { ok: false, reason: 'resolution-failed', resolution }
|
||||
return { ok: false, reason: 'resolution-failed', resolution: resolution as ResolutionResult & { ok: false } }
|
||||
}
|
||||
|
||||
// ── Policy guard for transitive dependencies ──
|
||||
@@ -525,31 +525,32 @@ export async function installPluginFromMarketplace({
|
||||
})
|
||||
|
||||
if (!result.ok) {
|
||||
switch (result.reason) {
|
||||
const failedResult = result as Exclude<InstallCoreResult, { ok: true }>
|
||||
switch (failedResult.reason) {
|
||||
case 'local-source-no-location':
|
||||
return {
|
||||
success: false,
|
||||
error: `Cannot install local plugin "${result.pluginName}" without marketplace install location`,
|
||||
error: `Cannot install local plugin "${failedResult.pluginName}" without marketplace install location`,
|
||||
}
|
||||
case 'settings-write-failed':
|
||||
return {
|
||||
success: false,
|
||||
error: `Failed to update settings: ${result.message}`,
|
||||
error: `Failed to update settings: ${failedResult.message}`,
|
||||
}
|
||||
case 'resolution-failed':
|
||||
return {
|
||||
success: false,
|
||||
error: formatResolutionError(result.resolution),
|
||||
error: formatResolutionError(failedResult.resolution),
|
||||
}
|
||||
case 'blocked-by-policy':
|
||||
return {
|
||||
success: false,
|
||||
error: `Plugin "${result.pluginName}" is blocked by your organization's policy and cannot be installed`,
|
||||
error: `Plugin "${failedResult.pluginName}" is blocked by your organization's policy and cannot be installed`,
|
||||
}
|
||||
case 'dependency-blocked-by-policy':
|
||||
return {
|
||||
success: false,
|
||||
error: `Cannot install "${result.pluginName}": dependency "${result.blockedDependency}" is blocked by your organization's policy`,
|
||||
error: `Cannot install "${failedResult.pluginName}": dependency "${failedResult.blockedDependency}" is blocked by your organization's policy`,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -585,7 +586,7 @@ export async function installPluginFromMarketplace({
|
||||
|
||||
return {
|
||||
success: true,
|
||||
message: `✓ Installed ${entry.name}${result.depNote}. Run /reload-plugins to activate.`,
|
||||
message: `✓ Installed ${entry.name}${(result as Extract<InstallCoreResult, { ok: true }>).depNote}. Run /reload-plugins to activate.`,
|
||||
}
|
||||
} catch (err) {
|
||||
const errorMessage = err instanceof Error ? err.message : String(err)
|
||||
|
||||
Reference in New Issue
Block a user