К сожалению, без перечисленных фактических ошибок я не могу помочь их решить, но могу направить вас к цели botskills connect
.
Под капотом botskills connect запускает серию проверок на манифестных и когнитивных моделях ваших навыков. Как только они будут разрешены, он создает новый объект ConnectSkills и вызывает для него .connectSkills. 1
Эта функция выполняет еще пару проверок, а затем запускает .connectSkillsManifest 2
Эта новая функция обновляет Dispatch, чтобы охватить новые когнитивные модели в вашем навыке, и, наконец, создает «проявление навыка» в вашем боте VA и добавляет туда ваш новый навык: 3
private async connectSkillManifest(cognitiveModelsFile: ICognitiveModel, skillManifest: IManifest): Promise<void> {
try {
// Take VA Skills configurations
const assistantSkillsFile: IAppSetting = JSON.parse(readFileSync(this.configuration.appSettingsFile, 'UTF8'));
const assistantSkills: ISkill[] = assistantSkillsFile.botFrameworkSkills !== undefined ? assistantSkillsFile.botFrameworkSkills : [];
// Check if the skill is already connected to the assistant
if (assistantSkills.find((assistantSkill: ISkill): boolean => assistantSkill.id === skillManifest.id)) {
this.logger.warning(`The skill with ID '${ skillManifest.id }' is already registered.`);
return;
}
// Validate cultures
await this.validateCultures(cognitiveModelsFile, skillManifest.luisDictionary);
// Updating Dispatch
this.logger.message('Updating Dispatch');
await this.updateModel(skillManifest.luisDictionary, skillManifest.id);
// Adding the skill manifest to the assistant skills array
this.logger.message(`Appending '${ skillManifest.name }' manifest to your assistant's skills configuration file.`);
// Updating the assistant skills file's skills property with the assistant skills array
// Writing (and overriding) the assistant skills file
//writeFileSync(this.configuration.skillsFile, JSON.stringify(assistantSkillsFile, undefined, 4));
await this.AddSkill(assistantSkillsFile, assistantSkills, skillManifest);
this.logger.success(`Successfully appended '${ skillManifest.name }' manifest to your assistant's skills configuration file!`);
// Configuring bot auth settings
//this.logger.message('Configuring bot auth settings');
//await this.authenticationUtils.authenticate(this.configuration, skillManifest, this.logger);
} catch (err) {
this.logger.error(`There was an error while connecting the Skill to the Assistant:\n${ err }`);
}
}
Мои навыки машинописного текста немного устарели, но это все находится в TS, и вам, возможно, будет легче разобрать его теперь, когда вы знаете, где все это скрывается.