Files
2026-07-13 12:44:08 +08:00

48 lines
1.2 KiB
JavaScript

import path from 'node:path'
import { LoaderHelper } from '@/helpers/loader-helper'
import { LogHelper } from '@/helpers/log-helper'
import { SkillDomainHelper } from '@/helpers/skill-domain-helper'
import syncSkillDependencies from './setup/setup-skills/sync-skill-dependencies'
/**
* Sync a skill's local dependencies on demand.
*/
;(async () => {
LoaderHelper.start()
try {
const givenSkill = process.argv
.slice(2)
.find((argument) => argument !== '--')
?.toLowerCase()
if (!givenSkill) {
LogHelper.error(
'Missing skill name. The command should be: "npm run sync-skill-deps -- {skill}"'
)
process.exit(1)
}
const currentSkill = await SkillDomainHelper.getNewSkillConfig(givenSkill)
const currentSkillConfigPath =
SkillDomainHelper.getNewSkillConfigPath(givenSkill)
if (!currentSkill || !currentSkillConfigPath) {
LogHelper.error(`Unknown skill "${givenSkill}"`)
process.exit(1)
}
await syncSkillDependencies(givenSkill, {
path: path.dirname(currentSkillConfigPath),
bridge: currentSkill.bridge
})
} catch (e) {
LogHelper.error(`Failed to sync skill dependencies: ${e}`)
process.exit(1)
} finally {
LoaderHelper.stop()
}
})()