UNPKG

@indra.ai/deva.defense

Version:

The Defense Deva handles all the various defense in Deva.world.

56 lines (54 loc) 1.68 kB
export default { /************** method: Defense params: packet describe: The global service feature that installs with every agent ***************/ defense(packet) { this.context('feature'); return new Promise((resolve, reject) => { const defense = this.defense(); const agent = this.agent(); const global = []; defense.global.forEach((item,index) => { global.push(`::begin:${item.key}:${item.id}`); for (let x in item) { global.push(`${x}: ${item[x]}`); } const thehash = this.lib.hash(item); global.push(`hash: ${thehash}`); global.push(`::end:${item.key}:${thehash}`); }); const concerns = []; defense.concerns.forEach((item, index) => { concerns.push(`${index + 1}. ${item}`); }) const info = [ '::BEGIN:DEFENSE', `::begin:client`, '## Client', `id: ${defense.client_id}`, `client: ${defense.client_name}`, `::end:client}`, concerns.length ? `::begin:concerns` : '', concerns.length ? '## Concerns' : '', concerns.length ? concerns.join('\n') : '', concerns.length ? `::end:concerns` : '', '::begin:global', '## Global', global.join('\n'), '::end:global', '::END:DEFENSE', ].join('\n'); this.question(`${this.askChr}feecting parse ${info}`).then(feecting => { return resolve({ text: feecting.a.text, html: feecting.a.html, data: defense.concerns, }); }).catch(err => { return this.error(err, packet, reject); }) }); }, };