48 lines
1.2 KiB
JavaScript
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()
|
|
}
|
|
})()
|