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

Function handleUpdateSkillModes

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

Source from the content-addressed store, hash-verified

145 * Handles the updateSkillModes message - updates the mode associations for a skill
146 */
147export async function handleUpdateSkillModes(
148 provider: ClineProvider,
149 message: WebviewMessage,
150): Promise<SkillMetadata[] | undefined> {
151 try {
152 const skillName = message.skillName
153 const source = message.source as SkillSource
154 const newModeSlugs = message.newSkillModeSlugs
155
156 if (!skillName || !source) {
157 throw new Error(t("skills:errors.missing_update_modes_fields"))
158 }
159
160 const skillsManager = provider.getSkillsManager()
161 if (!skillsManager) {
162 throw new Error(t("skills:errors.manager_unavailable"))
163 }
164
165 await skillsManager.updateSkillModes(skillName, source, newModeSlugs)
166
167 // Send updated skills list
168 const skills = skillsManager.getSkillsMetadata()
169 await provider.postMessageToWebview({ type: "skills", skills })
170 return skills
171 } catch (error) {
172 const errorMessage = error instanceof Error ? error.message : String(error)
173 provider.log(`Error updating skill modes: ${errorMessage}`)
174 vscode.window.showErrorMessage(`Failed to update skill modes: ${errorMessage}`)
175 return undefined
176 }
177}
178
179/**
180 * Handles the openSkillFile message - opens a skill file in the editor

Callers 1

webviewMessageHandlerFunction · 0.90

Calls 8

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

Tested by

no test coverage detected