MCPcopy Create free account
hub / github.com/Zoo-Code-Org/Zoo-Code / handleMoveSkill

Function handleMoveSkill

src/core/webview/skillsMessageHandler.ts:111–142  ·  view source on GitHub ↗
(
	provider: ClineProvider,
	message: WebviewMessage,
)

Source from the content-addressed store, hash-verified

109 * Handles the moveSkill message - moves a skill to a different mode
110 */
111export async function handleMoveSkill(
112 provider: ClineProvider,
113 message: WebviewMessage,
114): Promise<SkillMetadata[] | undefined> {
115 try {
116 const skillName = message.skillName
117 const source = message.source as SkillSource
118 const currentMode = message.skillMode
119 const newMode = message.newSkillMode
120
121 if (!skillName || !source) {
122 throw new Error(t("skills:errors.missing_move_fields"))
123 }
124
125 const skillsManager = provider.getSkillsManager()
126 if (!skillsManager) {
127 throw new Error(t("skills:errors.manager_unavailable"))
128 }
129
130 await skillsManager.moveSkill(skillName, source, currentMode, newMode)
131
132 // Send updated skills list
133 const skills = skillsManager.getSkillsMetadata()
134 await provider.postMessageToWebview({ type: "skills", skills })
135 return skills
136 } catch (error) {
137 const errorMessage = error instanceof Error ? error.message : String(error)
138 provider.log(`Error moving skill: ${errorMessage}`)
139 vscode.window.showErrorMessage(`Failed to move skill: ${errorMessage}`)
140 return undefined
141 }
142}
143
144/**
145 * Handles the updateSkillModes message - updates the mode associations for a skill

Callers 2

webviewMessageHandlerFunction · 0.90

Calls 8

tFunction · 0.90
getSkillsManagerMethod · 0.80
moveSkillMethod · 0.80
getSkillsMetadataMethod · 0.80
postMessageToWebviewMethod · 0.80
logMethod · 0.65
StringInterface · 0.50
showErrorMessageMethod · 0.45

Tested by

no test coverage detected