@indra.ai/deva 1.29.16 → 1.29.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +21 -25
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -310,7 +310,7 @@ class Deva {
|
|
|
310
310
|
init, start, enter, done ready, finish, complete
|
|
311
311
|
usage: this.complete(data, resolve)
|
|
312
312
|
***************/
|
|
313
|
-
|
|
313
|
+
_invoke(opts) {
|
|
314
314
|
if (!this._active) return resolve(this._messages.offline);
|
|
315
315
|
const {key, data, resolve} = opts;
|
|
316
316
|
const {prev_key, next_key, onfunc, clear, load} = config.invoke[key];
|
|
@@ -360,13 +360,13 @@ class Deva {
|
|
|
360
360
|
this.action('return', `${onfunc}:${data.id.uid}`); // action return
|
|
361
361
|
this.state('valid', `${onfunc}:${data.id.uid}`); // state valid
|
|
362
362
|
this.intent('good', `${onfunc}:${data.id.uid}`); // intent good
|
|
363
|
-
return
|
|
363
|
+
return this[onfunc](data, resolve);
|
|
364
364
|
}
|
|
365
365
|
|
|
366
366
|
this.action('return', `${key}:${data.id.uid}`); // return action complete
|
|
367
367
|
this.state('valid', `${key}:${data.id.uid}`); // return state valid
|
|
368
368
|
this.intent('good', `${key}:${data.id.uid}`); // return intent good
|
|
369
|
-
return next_key ?
|
|
369
|
+
return next_key ? this[next_key](data, resolve) : resolve(data);
|
|
370
370
|
}
|
|
371
371
|
|
|
372
372
|
/**************
|
|
@@ -1346,7 +1346,7 @@ class Deva {
|
|
|
1346
1346
|
sequence. This design preserves language-agnostic interoperability and
|
|
1347
1347
|
deterministic state transitions across Deva systems.
|
|
1348
1348
|
***************/
|
|
1349
|
-
|
|
1349
|
+
start(data, resolve) {
|
|
1350
1350
|
if (!this._active) return resolve(this._messages.offline);
|
|
1351
1351
|
return this._invoke({key:'start',data,resolve});
|
|
1352
1352
|
}
|
|
@@ -1362,7 +1362,7 @@ class Deva {
|
|
|
1362
1362
|
If the Deva is offline it will return the offline message.
|
|
1363
1363
|
usage: this.enter('msg')
|
|
1364
1364
|
***************/
|
|
1365
|
-
|
|
1365
|
+
enter(data, resolve) {
|
|
1366
1366
|
if (!this._active) return resolve(this._messages.offline);
|
|
1367
1367
|
return this._invoke({key:'enter',data,resolve});
|
|
1368
1368
|
}
|
|
@@ -1378,26 +1378,9 @@ class Deva {
|
|
|
1378
1378
|
If the deva is offline it will return the offline message.
|
|
1379
1379
|
usage: this.done('msg')
|
|
1380
1380
|
***************/
|
|
1381
|
-
|
|
1381
|
+
done(data, resolve) {
|
|
1382
1382
|
if (!this._active) return resolve(this._messages.offline);
|
|
1383
|
-
|
|
1384
|
-
if (this.devas && Object.keys(this.devas).length) {
|
|
1385
|
-
for (let deva in this.devas) {
|
|
1386
|
-
await this.load(deva, data.client);
|
|
1387
|
-
// after the deva loads talk the event to set asset directory.
|
|
1388
|
-
const id = this.uid();
|
|
1389
|
-
const {dir} = this.devas[deva].info();
|
|
1390
|
-
const {key} = this.devas[deva].agent();
|
|
1391
|
-
this.talk(`deva:dir`, {id, key,dir});
|
|
1392
|
-
}
|
|
1393
|
-
// return immedate on async
|
|
1394
|
-
return setImmediate(() => {
|
|
1395
|
-
return this._invoke({key:'done',data,resolve});
|
|
1396
|
-
});
|
|
1397
|
-
}
|
|
1398
|
-
else {
|
|
1399
|
-
return this._invoke({key:'done',data,resolve});
|
|
1400
|
-
}
|
|
1383
|
+
return this._invoke({key:'done',data,resolve});
|
|
1401
1384
|
}
|
|
1402
1385
|
|
|
1403
1386
|
/**************
|
|
@@ -1427,7 +1410,20 @@ class Deva {
|
|
|
1427
1410
|
this.config.hash[agent.key][item] = this.hash(this_item, 'sha256');
|
|
1428
1411
|
}
|
|
1429
1412
|
}
|
|
1430
|
-
|
|
1413
|
+
const keys = Object.keys(this.devas);
|
|
1414
|
+
if (this.devas && keys.length) {
|
|
1415
|
+
for (let deva in this.devas) {
|
|
1416
|
+
await this.load(deva, data.client).then(entity => {
|
|
1417
|
+
const id = this.uid();
|
|
1418
|
+
const {dir} = this.devas[deva].info();
|
|
1419
|
+
const {key} = this.devas[deva].agent();
|
|
1420
|
+
this.talk(`deva:dir`, {id, key, dir});
|
|
1421
|
+
});
|
|
1422
|
+
}
|
|
1423
|
+
}
|
|
1424
|
+
else {
|
|
1425
|
+
return this._invoke({key,data,resolve});
|
|
1426
|
+
}
|
|
1431
1427
|
}
|
|
1432
1428
|
|
|
1433
1429
|
/**************
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "38159520729793885324",
|
|
3
3
|
"name": "@indra.ai/deva",
|
|
4
|
-
"version": "1.29.
|
|
4
|
+
"version": "1.29.18",
|
|
5
5
|
"description": "Deva Core a Vedic-inspired Event Based Context Aware Feature, Zone, Action, and State Machine integrated Artificial Intelligence Framework",
|
|
6
6
|
"main": "index.js",
|
|
7
7
|
"license": "VLA:38159520729793885324 LICENSE.md",
|