UNPKG

@indra.ai/deva.support

Version:

The Support Deva manages the Support features in deva.world.

66 lines (61 loc) 1.84 kB
"use strict"; // Copyright ©2025 Quinn A Michaels; All rights reserved. // Legal Signature Required For Lawful Use. // Distributed under VLA:47847759280011485514 LICENSE.md // Support Deva import Deva from '@indra.ai/deva'; import pkg from './package.json' with {type:'json'}; const {agent,vars} = pkg.data; // set the __dirname import {dirname} from 'node:path'; import {fileURLToPath} from 'node:url'; const __dirname = dirname(fileURLToPath(import.meta.url)); const info = { id: pkg.id, name: pkg.name, describe: pkg.description, version: pkg.version, url: pkg.homepage, dir: __dirname, git: pkg.repository.url, bugs: pkg.bugs.url, author: pkg.author, license: pkg.license, VLA: pkg.VLA, copyright: pkg.copyright, }; const SUPPORT = new Deva({ info, agent, vars, utils: { translate(input) {return input.trim();}, parse(input, route=false) {return input.trim();}, process(input) {return input.trim();} }, listeners: {}, modules: {}, deva: {}, func: {}, methods: {}, onInit(data, resolve) { const {personal} = this.license(); // get the license config const agent_license = this.info().VLA; // get agent license const license_check = this.license_check(personal, agent_license); // check license // return this.start if license_check passes otherwise stop. this.action('return', `onInit:${data.id.uid}`); return license_check ? this.start(data, resolve) : this.stop(data, resolve); }, onReady(data, resolve) { const {VLA} = this.info(); this.prompt(`${this.vars.messages.ready} > VLA:${VLA.uid}`); this.action('resolve', `onReady:${data.id.uid}`); return resolve(data); }, onError(err, data, reject) { this.prompt(this.vars.messages.error); console.log(err); return reject(err); }, }); export default SUPPORT