@indra.ai/deva.veda 0.0.32 → 0.0.34
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/{LICENSE → LICENSE.md} +1 -1
- package/README.md +74 -4
- package/data/atharvaveda/books/01.json +325 -0
- package/data/atharvaveda/books/02.json +298 -0
- package/data/atharvaveda/books/03.json +289 -0
- package/data/atharvaveda/books/04.json +370 -0
- package/data/atharvaveda/books/05.json +289 -0
- package/data/atharvaveda/books/06.json +1288 -0
- package/data/atharvaveda/books/07.json +1072 -0
- package/data/atharvaveda/books/08.json +100 -0
- package/data/atharvaveda/books/09.json +100 -0
- package/data/atharvaveda/books/10.json +100 -0
- package/data/atharvaveda/books/11.json +100 -0
- package/data/atharvaveda/books/12.json +55 -0
- package/data/atharvaveda/books/13.json +46 -0
- package/data/atharvaveda/books/14.json +28 -0
- package/data/atharvaveda/books/15.json +172 -0
- package/data/atharvaveda/books/16.json +91 -0
- package/data/atharvaveda/books/17.json +19 -0
- package/data/atharvaveda/books/18.json +46 -0
- package/data/atharvaveda/books/19.json +658 -0
- package/data/atharvaveda/books/20.json +1297 -0
- package/data/atharvaveda/index.js +102 -0
- package/data/atharvaveda/index.json +191 -0
- package/data/index.js +0 -4
- package/data/{laws → manu}/index.js +9 -8
- package/data/menu.json +38 -0
- package/data/rigveda/01.json +1038 -878
- package/data/rigveda/02.json +240 -213
- package/data/rigveda/03.json +327 -274
- package/data/rigveda/04.json +319 -277
- package/data/rigveda/05.json +486 -444
- package/data/rigveda/06.json +406 -349
- package/data/rigveda/07.json +582 -527
- package/data/rigveda/08.json +555 -480
- package/data/rigveda/09.json +690 -581
- package/data/rigveda/10.json +1021 -851
- package/data/rigveda/books/01.json +1729 -0
- package/data/rigveda/books/02.json +397 -0
- package/data/rigveda/books/03.json +568 -0
- package/data/rigveda/books/04.json +532 -0
- package/data/rigveda/books/05.json +793 -0
- package/data/rigveda/books/06.json +685 -0
- package/data/rigveda/books/07.json +946 -0
- package/data/rigveda/books/08.json +937 -0
- package/data/rigveda/books/09.json +1036 -0
- package/data/rigveda/books/10.json +1729 -0
- package/data/rigveda/index.js +61 -26
- package/data/rigveda/index.json +47 -35
- package/data/samaveda/books/01.json +130 -0
- package/data/samaveda/books/02.json +130 -0
- package/data/samaveda/books/03.json +118 -0
- package/data/samaveda/books/04.json +130 -0
- package/data/samaveda/books/05.json +130 -0
- package/data/samaveda/books/06.json +118 -0
- package/data/samaveda/books/07.json +538 -0
- package/data/samaveda/books/08.json +466 -0
- package/data/samaveda/books/09.json +550 -0
- package/data/samaveda/books/10.json +466 -0
- package/data/samaveda/books/11.json +526 -0
- package/data/samaveda/books/12.json +598 -0
- package/data/samaveda/books/13.json +598 -0
- package/data/samaveda/books/14.json +610 -0
- package/data/samaveda/books/15.json +478 -0
- package/data/samaveda/index.js +140 -0
- package/data/samaveda/index.json +146 -0
- package/func/index.js +247 -0
- package/help/corpus.feecting +2 -4
- package/help/main.feecting +23 -5
- package/index.js +8 -303
- package/methods/index.js +199 -0
- package/package.json +110 -2
- package/data/agent.json +0 -46
- package/data/html/manu/01.html +0 -149
- package/data/html/manu/02.html +0 -281
- package/data/html/manu/03.html +0 -319
- package/data/html/manu/04.html +0 -291
- package/data/html/manu/05.html +0 -200
- package/data/html/manu/06.html +0 -127
- package/data/html/manu/07.html +0 -257
- package/data/html/manu/08.html +0 -452
- package/data/html/manu/09.html +0 -367
- package/data/html/manu/10.html +0 -162
- package/data/html/manu/11.html +0 -297
- package/data/html/manu/12.html +0 -156
- package/data/rigveda/links.json +0 -19
- package/data/vars.json +0 -90
- /package/data/{laws/manu → manu}/01.json +0 -0
- /package/data/{laws/manu → manu}/02.json +0 -0
- /package/data/{laws/manu → manu}/03.json +0 -0
- /package/data/{laws/manu → manu}/04.json +0 -0
- /package/data/{laws/manu → manu}/05.json +0 -0
- /package/data/{laws/manu → manu}/06.json +0 -0
- /package/data/{laws/manu → manu}/07.json +0 -0
- /package/data/{laws/manu → manu}/08.json +0 -0
- /package/data/{laws/manu → manu}/09.json +0 -0
- /package/data/{laws/manu → manu}/10.json +0 -0
- /package/data/{laws/manu → manu}/11.json +0 -0
- /package/data/{laws/manu → manu}/12.json +0 -0
package/index.js
CHANGED
|
@@ -2,13 +2,11 @@
|
|
|
2
2
|
// The Rig Veda Deva
|
|
3
3
|
import Deva from '@indra.ai/deva';
|
|
4
4
|
import pkg from './package.json' with {type:'json'};
|
|
5
|
+
const {agent,vars} = pkg.data;
|
|
5
6
|
import utils from './utils.js';
|
|
6
7
|
|
|
7
|
-
import
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
import {manu, manuhash, laws} from './data/laws/index.js';
|
|
11
|
-
import {bookimport} from './data/rigveda/index.js';
|
|
8
|
+
import {methods} from './methods/index.js';
|
|
9
|
+
import {func} from './func/index.js';
|
|
12
10
|
|
|
13
11
|
// set the __dirname
|
|
14
12
|
import {dirname} from 'node:path';
|
|
@@ -37,309 +35,16 @@ const VEDA = new Deva({
|
|
|
37
35
|
listeners: {},
|
|
38
36
|
modules: {},
|
|
39
37
|
deva: {},
|
|
40
|
-
func
|
|
41
|
-
|
|
42
|
-
func: books
|
|
43
|
-
params: packet
|
|
44
|
-
describe: Return a listiig of the Rig Veda Books.
|
|
45
|
-
***************/
|
|
46
|
-
books() {
|
|
47
|
-
this.action('func', 'books');
|
|
48
|
-
return new Promise((resolve, reject) => {
|
|
49
|
-
try {
|
|
50
|
-
const agent = this.agent();
|
|
51
|
-
const {id, title, describe, DATA} = rigveda.index;
|
|
52
|
-
|
|
53
|
-
this.state('set', 'books data');
|
|
54
|
-
const _text = [
|
|
55
|
-
`::BEGIN:BOOKS:${id}`,
|
|
56
|
-
`## ${title}`,
|
|
57
|
-
`p: ${describe}`,
|
|
58
|
-
'::begin:menu',
|
|
59
|
-
];
|
|
60
|
-
const _books = [];
|
|
61
|
-
// loop over the data and format it into a feecting command string
|
|
62
|
-
DATA.forEach((book, idx) => {
|
|
63
|
-
_books.push(`button[${book.title}]:${this.askChr}${agent.key} book ${book.key}`);
|
|
64
|
-
});
|
|
65
|
-
const _booksText = _books.join('\n');
|
|
66
|
-
const _booksHash = this.lib.hash(_booksText);
|
|
67
|
-
_text.push(_booksText);
|
|
68
|
-
_text.push(`::end:menu`);
|
|
69
|
-
_text.push(`::begin:hidden`);
|
|
70
|
-
_text.push(`#color = {{profile.color}}`);
|
|
71
|
-
_text.push(`#bgcolor = {{profile.bgcolor}}`);
|
|
72
|
-
_text.push(`#bg = {{profile.background}}`);
|
|
73
|
-
_text.push(`::end:hidden`);
|
|
74
|
-
_text.push(`::END:BOOKS:${_booksHash}`);
|
|
75
|
-
this.state('resolve', 'books');
|
|
76
|
-
return resolve({
|
|
77
|
-
id,
|
|
78
|
-
title,
|
|
79
|
-
describe,
|
|
80
|
-
text: _text.join('\n'),
|
|
81
|
-
data: DATA,
|
|
82
|
-
hash: this.lib.hash(JSON.stringify(DATA)),
|
|
83
|
-
created: Date.now(),
|
|
84
|
-
});
|
|
85
|
-
} catch (e) {
|
|
86
|
-
this.state('reject', 'books');
|
|
87
|
-
return reject(e);
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
},
|
|
91
|
-
/***********
|
|
92
|
-
func: book
|
|
93
|
-
params: packet
|
|
94
|
-
describe: The book function calls the public facing api to get a listing of books to list to the user. originally this file came from sacred-texts.com but was migrated to indra.church with a json api.
|
|
95
|
-
***********/
|
|
96
|
-
book(text) {
|
|
97
|
-
this.action('func', `book ${text}`);
|
|
98
|
-
return new Promise((resolve, reject) => {
|
|
99
|
-
if (!text) return resolve(this.vars.messages.nobook);
|
|
100
|
-
try {
|
|
101
|
-
const agent = this.agent();
|
|
102
|
-
const key = text.length < 2 ? `0${text}` : text;
|
|
103
|
-
const theFile = this.lib.fs.readFileSync(`${__dirname}/data/rigveda/${key}.json`);
|
|
104
|
-
const theJSON = JSON.parse(theFile);
|
|
105
|
-
|
|
106
|
-
const {id, title, describe, DATA} = theJSON;
|
|
107
|
-
|
|
108
|
-
this.state('set', `book data`);
|
|
109
|
-
const _text = [
|
|
110
|
-
`::BEGIN:BOOK:${id}`,
|
|
111
|
-
`## ${title}`,
|
|
112
|
-
`p: ${describe}`,
|
|
113
|
-
'::begin:menu',
|
|
114
|
-
];
|
|
115
|
-
const _hymns = [];
|
|
116
|
-
DATA.forEach((hymn, idx) => {
|
|
117
|
-
_hymns.push(`button[${hymn.key} - ${hymn.title}]:#${agent.key} hymn ${hymn.key}`);
|
|
118
|
-
});
|
|
119
|
-
const _hymnsText = _hymns.join('\n');
|
|
120
|
-
const _hymnsHash = this.lib.hash(_hymnsText);
|
|
121
|
-
_text.push(_hymnsText);
|
|
122
|
-
_text.push(`::end:menu`);
|
|
123
|
-
_text.push(`::begin:hidden`);
|
|
124
|
-
_text.push(`#color = {{profile.color}}`);
|
|
125
|
-
_text.push(`#bgcolor = {{profile.bgcolor}}`);
|
|
126
|
-
_text.push(`#bg = {{profile.background}}`);
|
|
127
|
-
_text.push(`::end:hidden`);
|
|
128
|
-
_text.push(`::END:BOOK:${_hymnsHash}`);
|
|
129
|
-
|
|
130
|
-
this.state('resolve', `book ${text}`)
|
|
131
|
-
return resolve({
|
|
132
|
-
id,
|
|
133
|
-
title,
|
|
134
|
-
describe,
|
|
135
|
-
text: _text.join('\n'),
|
|
136
|
-
data: DATA,
|
|
137
|
-
hash: this.lib.hash(JSON.stringify(DATA)),
|
|
138
|
-
created: Date.now(),
|
|
139
|
-
});
|
|
140
|
-
} catch (e) {
|
|
141
|
-
this.state('reject', `book ${text}`)
|
|
142
|
-
return reject(e);
|
|
143
|
-
}
|
|
144
|
-
});
|
|
145
|
-
},
|
|
146
|
-
|
|
147
|
-
/**************
|
|
148
|
-
func: hymn
|
|
149
|
-
params: packet
|
|
150
|
-
describe: The View function returns a specific hymn from one of the Books.
|
|
151
|
-
***************/
|
|
152
|
-
hymn(h) {
|
|
153
|
-
this.action('func', `hymn ${h}`);
|
|
154
|
-
return new Promise((resolve, reject) => {
|
|
155
|
-
if (!h) return resolve(this._messages.notext);
|
|
156
|
-
const id = this.lib.uid();
|
|
157
|
-
const agent = this.agent();
|
|
158
|
-
|
|
159
|
-
try {
|
|
160
|
-
const hymnPath = this.lib.path.join(__dirname, 'data', 'rigveda', 'hymns', `${h}.json`);
|
|
161
|
-
const hymnExists = this.lib.fs.existsSync(hymnPath);
|
|
162
|
-
if (!hymnExists) return resolve(this.vars.messages.notfound);
|
|
163
|
-
// parse hymns
|
|
164
|
-
const theFile = this.lib.fs.readFileSync(hymnPath);
|
|
165
|
-
const _hymn = JSON.parse(theFile);
|
|
166
|
-
const processed = this.utils.process({key:_hymn.key,title:_hymn.title,content:_hymn.orig});
|
|
167
|
-
|
|
168
|
-
this.state('set', `hymn ${h}`)
|
|
169
|
-
const hymn = [
|
|
170
|
-
`::BEGIN:HYMN:${processed.key}`,
|
|
171
|
-
`# ${processed.title}`,
|
|
172
|
-
'::begin:content',
|
|
173
|
-
processed.text,
|
|
174
|
-
'::end:content',
|
|
175
|
-
'::begin:meta',
|
|
176
|
-
`button[💬 Ask Veda]:#veda ask Om Please write a story > ${encodeURIComponent(processed.text)} Om`,
|
|
177
|
-
`button[🔈 Speak Hymn]:#chat speech:${agent.profile.voice} ${encodeURIComponent(processed.text)}`,
|
|
178
|
-
`key: ${processed.key}`,
|
|
179
|
-
`title: ${processed.title}`,
|
|
180
|
-
processed.people.length ? `people: ${processed.people.join(', ')}` : '',
|
|
181
|
-
processed.places.length ? `places: ${processed.places.join(', ')}` : '',
|
|
182
|
-
processed.things.length ? `things: ${processed.things.join(', ')}` : '',
|
|
183
|
-
processed.groups.length ? `groups: ${processed.groups.join(', ')}` : '',
|
|
184
|
-
processed.concepts.length ? `concepts: ${processed.concepts.join(', ')}` : '',
|
|
185
|
-
'::end:meta',
|
|
186
|
-
`::begin:hidden`,
|
|
187
|
-
`#color = {{profile.color}}`,
|
|
188
|
-
`#bgcolor = {{profile.bgcolor}}`,
|
|
189
|
-
`#bg = {{profile.background}}`,
|
|
190
|
-
`::end:hidden`,
|
|
191
|
-
`::END:HYMN:${this.lib.hash(processed)}`,
|
|
192
|
-
];
|
|
193
|
-
|
|
194
|
-
this.state('resolve', `hymn ${h}`)
|
|
195
|
-
return resolve({
|
|
196
|
-
id,
|
|
197
|
-
key: processed.key,
|
|
198
|
-
book: processed.book,
|
|
199
|
-
text: hymn.join('\n'),
|
|
200
|
-
html:false,
|
|
201
|
-
data: processed,
|
|
202
|
-
created: Date.now(),
|
|
203
|
-
});
|
|
204
|
-
} catch (e) {
|
|
205
|
-
this.state('reject', `hymn ${h}`)
|
|
206
|
-
return reject(e);
|
|
207
|
-
}
|
|
208
|
-
});
|
|
209
|
-
},
|
|
210
|
-
laws,
|
|
211
|
-
},
|
|
212
|
-
methods: {
|
|
213
|
-
/**************
|
|
214
|
-
method: books
|
|
215
|
-
params: packet
|
|
216
|
-
describe: Call the books function to get a listing of books.
|
|
217
|
-
***************/
|
|
218
|
-
books(packet) {
|
|
219
|
-
this.context('books');
|
|
220
|
-
this.action('method', 'books');
|
|
221
|
-
return new Promise((resolve, reject) => {
|
|
222
|
-
if (!packet) return reject(this._messages.nopacket);
|
|
223
|
-
const data = {};
|
|
224
|
-
this.func.books().then(books => {
|
|
225
|
-
data.books = books;
|
|
226
|
-
return this.question(`${this.askChr}feecting parse ${books.text}`);
|
|
227
|
-
}).then(feecting => {
|
|
228
|
-
data.feecting = feecting;
|
|
229
|
-
return resolve({
|
|
230
|
-
text:feecting.a.text,
|
|
231
|
-
html:feecting.a.html,
|
|
232
|
-
data,
|
|
233
|
-
});
|
|
234
|
-
}).catch(err => {
|
|
235
|
-
return this.error(err, packet, reject);
|
|
236
|
-
});
|
|
237
|
-
})
|
|
238
|
-
},
|
|
239
|
-
|
|
240
|
-
/**************
|
|
241
|
-
method: book
|
|
242
|
-
params: packet
|
|
243
|
-
describe: call the book function to get the contents of a book
|
|
244
|
-
***************/
|
|
245
|
-
book(packet) {
|
|
246
|
-
this.context('book', packet.q.text);
|
|
247
|
-
return new Promise((resolve, reject) => {
|
|
248
|
-
if (!packet) return reject(this._messages.nopacket);
|
|
249
|
-
const agent = this.agent();
|
|
250
|
-
const data = {};
|
|
251
|
-
this.func.book(packet.q.text).then(book => {
|
|
252
|
-
data.book = book;
|
|
253
|
-
return this.question(`${this.askChr}feecting parse ${book.text}`);
|
|
254
|
-
}).then(feecting => {
|
|
255
|
-
data.feecting = feecting;
|
|
256
|
-
return resolve({
|
|
257
|
-
text:feecting.a.text,
|
|
258
|
-
html:feecting.a.html,
|
|
259
|
-
data,
|
|
260
|
-
});
|
|
261
|
-
}).catch(err => {
|
|
262
|
-
return this.error(err, packet, reject);
|
|
263
|
-
});
|
|
264
|
-
});
|
|
265
|
-
},
|
|
266
|
-
|
|
267
|
-
/**************
|
|
268
|
-
method: hymn
|
|
269
|
-
params: packet
|
|
270
|
-
describe: Call the hymn function to read a specific book
|
|
271
|
-
***************/
|
|
272
|
-
hymn(packet) {
|
|
273
|
-
return new Promise((resolve, reject) => {
|
|
274
|
-
if (!packet) return reject(this._messages.nopacket);
|
|
275
|
-
this.context('hymn', packet.q.text);
|
|
276
|
-
const agent = this.agent();
|
|
277
|
-
let data;
|
|
278
|
-
this.func.hymn(packet.q.text).then(hymn => {
|
|
279
|
-
data = hymn.data
|
|
280
|
-
const {text} = hymn;
|
|
281
|
-
|
|
282
|
-
this.talk(`chat:topic`, {
|
|
283
|
-
id: this.lib.uid(),
|
|
284
|
-
data: `Current topic is Rig Veda hymn ${text}`,
|
|
285
|
-
created: Date.now(),
|
|
286
|
-
});
|
|
287
|
-
return this.question(`${this.askChr}feecting parse:${agent.key} ${text}`);
|
|
288
|
-
}).then(feecting => {
|
|
289
|
-
return resolve({
|
|
290
|
-
text:feecting.a.text,
|
|
291
|
-
html:feecting.a.html,
|
|
292
|
-
data,
|
|
293
|
-
});
|
|
294
|
-
}).catch(err => {
|
|
295
|
-
return this.error(err, packet, reject);
|
|
296
|
-
});
|
|
297
|
-
});
|
|
298
|
-
},
|
|
299
|
-
|
|
300
|
-
/**************
|
|
301
|
-
method: view
|
|
302
|
-
params: packet
|
|
303
|
-
describe: view helper that calls hym to allow view interactions.
|
|
304
|
-
***************/
|
|
305
|
-
view(packet) {
|
|
306
|
-
this.context('view');
|
|
307
|
-
return this.methods.hymn(packet);
|
|
308
|
-
},
|
|
309
|
-
bookimport,
|
|
310
|
-
// Manu function for important laws
|
|
311
|
-
manu,
|
|
312
|
-
manuhash,
|
|
313
|
-
laws(packet) {
|
|
314
|
-
this.context('laws', packet.id);
|
|
315
|
-
this.action('method', `laws:${packet.id}`);
|
|
316
|
-
const data = {};
|
|
317
|
-
return new Promise((resolve, reject) => {
|
|
318
|
-
this.func.laws(packet).then(laws => {
|
|
319
|
-
data.laws = laws.data;
|
|
320
|
-
return this.question(`${this.askChr}feecting parse ${laws.text}`);
|
|
321
|
-
}).then(parsed => {
|
|
322
|
-
data.feecting = parsed.a.data;
|
|
323
|
-
this.state('return', `laws:${packet.id}`);
|
|
324
|
-
return resolve({
|
|
325
|
-
text: parsed.a.text,
|
|
326
|
-
html: parsed.a.html,
|
|
327
|
-
data,
|
|
328
|
-
});
|
|
329
|
-
}).catch(err => {
|
|
330
|
-
return this.error(err, packet. reject);
|
|
331
|
-
});
|
|
332
|
-
});
|
|
333
|
-
}
|
|
334
|
-
},
|
|
38
|
+
func,
|
|
39
|
+
methods,
|
|
335
40
|
onReady(data, resolve) {
|
|
336
|
-
this.prompt(this.
|
|
41
|
+
this.prompt(this._messages.ready);
|
|
337
42
|
return resolve(data);
|
|
338
43
|
},
|
|
339
44
|
onError(err, data, reject) {
|
|
340
|
-
this.prompt(this.
|
|
45
|
+
this.prompt(this._messages.error);
|
|
341
46
|
console.log(err);
|
|
342
|
-
return reject(err);
|
|
47
|
+
return reject ? reject(err) : err;
|
|
343
48
|
},
|
|
344
49
|
});
|
|
345
50
|
export default VEDA
|
package/methods/index.js
ADDED
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import {manu, manuhash} from '../data/manu/index.js';
|
|
2
|
+
import {rvbooks} from '../data/rigveda/index.js';
|
|
3
|
+
import {avbooks} from '../data/atharvaveda/index.js';
|
|
4
|
+
import {svbooks} from '../data/samaveda/index.js';
|
|
5
|
+
|
|
6
|
+
import {dirname} from 'node:path';
|
|
7
|
+
import {fileURLToPath} from 'node:url';
|
|
8
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
9
|
+
|
|
10
|
+
export const methods = {
|
|
11
|
+
/**************
|
|
12
|
+
method: menu
|
|
13
|
+
params: packet
|
|
14
|
+
describe: Call the menu function to get a listing of knowledge.
|
|
15
|
+
***************/
|
|
16
|
+
menu(packet) {
|
|
17
|
+
this.context('menu');
|
|
18
|
+
this.action('method', 'menu');
|
|
19
|
+
return new Promise((resolve, reject) => {
|
|
20
|
+
if (!packet) return reject(this._messages.nopacket);
|
|
21
|
+
const data = {};
|
|
22
|
+
this.func.menu().then(menu => {
|
|
23
|
+
data.menu = menu;
|
|
24
|
+
return this.question(`${this.askChr}feecting parse ${menu.text}`);
|
|
25
|
+
}).then(feecting => {
|
|
26
|
+
data.feecting = feecting;
|
|
27
|
+
return resolve({
|
|
28
|
+
text:feecting.a.text,
|
|
29
|
+
html:feecting.a.html,
|
|
30
|
+
data,
|
|
31
|
+
});
|
|
32
|
+
}).catch(err => {
|
|
33
|
+
return this.error(err, packet, reject);
|
|
34
|
+
});
|
|
35
|
+
})
|
|
36
|
+
},
|
|
37
|
+
|
|
38
|
+
/**************
|
|
39
|
+
method: books
|
|
40
|
+
params: packet
|
|
41
|
+
describe: Call the books function to get a listing of books.
|
|
42
|
+
***************/
|
|
43
|
+
books(packet) {
|
|
44
|
+
this.context('books');
|
|
45
|
+
this.action('method', 'books');
|
|
46
|
+
return new Promise((resolve, reject) => {
|
|
47
|
+
if (!packet) return reject(this._messages.nopacket);
|
|
48
|
+
const data = {};
|
|
49
|
+
this.func.books(packet.q).then(books => {
|
|
50
|
+
data.books = books;
|
|
51
|
+
return this.question(`${this.askChr}feecting parse ${books.text}`);
|
|
52
|
+
}).then(feecting => {
|
|
53
|
+
data.feecting = feecting;
|
|
54
|
+
return resolve({
|
|
55
|
+
text:feecting.a.text,
|
|
56
|
+
html:feecting.a.html,
|
|
57
|
+
data,
|
|
58
|
+
});
|
|
59
|
+
}).catch(err => {
|
|
60
|
+
return this.error(err, packet, reject);
|
|
61
|
+
});
|
|
62
|
+
})
|
|
63
|
+
},
|
|
64
|
+
|
|
65
|
+
/**************
|
|
66
|
+
method: book
|
|
67
|
+
params: packet
|
|
68
|
+
describe: call the book function to get the contents of a book
|
|
69
|
+
***************/
|
|
70
|
+
book(packet) {
|
|
71
|
+
this.context('book', packet.q.text);
|
|
72
|
+
return new Promise((resolve, reject) => {
|
|
73
|
+
if (!packet) return reject(this._messages.nopacket);
|
|
74
|
+
const agent = this.agent();
|
|
75
|
+
const data = {};
|
|
76
|
+
this.func.book(packet.q).then(book => {
|
|
77
|
+
data.book = book;
|
|
78
|
+
return this.question(`${this.askChr}feecting parse ${book.text}`);
|
|
79
|
+
}).then(feecting => {
|
|
80
|
+
data.feecting = feecting;
|
|
81
|
+
return resolve({
|
|
82
|
+
text:feecting.a.text,
|
|
83
|
+
html:feecting.a.html,
|
|
84
|
+
data,
|
|
85
|
+
});
|
|
86
|
+
}).catch(err => {
|
|
87
|
+
return this.error(err, packet, reject);
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
},
|
|
91
|
+
|
|
92
|
+
/**************
|
|
93
|
+
method: hymn
|
|
94
|
+
params: packet
|
|
95
|
+
describe: Call the hymn function to read a specific book
|
|
96
|
+
***************/
|
|
97
|
+
hymn(packet) {
|
|
98
|
+
return new Promise((resolve, reject) => {
|
|
99
|
+
if (!packet) return reject(this._messages.nopacket);
|
|
100
|
+
this.context('hymn', packet.q.text);
|
|
101
|
+
const agent = this.agent();
|
|
102
|
+
let data;
|
|
103
|
+
this.func.hymn(packet.q.text).then(hymn => {
|
|
104
|
+
data = hymn.data
|
|
105
|
+
const {text} = hymn;
|
|
106
|
+
|
|
107
|
+
this.talk(`chat:topic`, {
|
|
108
|
+
id: this.lib.uid(),
|
|
109
|
+
data: `Current topic is Rig Veda hymn ${text}`,
|
|
110
|
+
created: Date.now(),
|
|
111
|
+
});
|
|
112
|
+
return this.question(`${this.askChr}feecting parse:${agent.key} ${text}`);
|
|
113
|
+
}).then(feecting => {
|
|
114
|
+
return resolve({
|
|
115
|
+
text:feecting.a.text,
|
|
116
|
+
html:feecting.a.html,
|
|
117
|
+
data,
|
|
118
|
+
});
|
|
119
|
+
}).catch(err => {
|
|
120
|
+
return this.error(err, packet, reject);
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
},
|
|
124
|
+
|
|
125
|
+
/**************
|
|
126
|
+
method: view
|
|
127
|
+
params: packet
|
|
128
|
+
describe: view helper that calls hym to allow view interactions.
|
|
129
|
+
***************/
|
|
130
|
+
view(packet) {
|
|
131
|
+
this.context('view');
|
|
132
|
+
return this.methods.hymn(packet);
|
|
133
|
+
},
|
|
134
|
+
|
|
135
|
+
laws(packet) {
|
|
136
|
+
this.context('laws', packet.id);
|
|
137
|
+
this.action('method', `laws:${packet.id}`);
|
|
138
|
+
const data = {};
|
|
139
|
+
return new Promise((resolve, reject) => {
|
|
140
|
+
this.func.laws(packet).then(laws => {
|
|
141
|
+
data.laws = laws.data;
|
|
142
|
+
return this.question(`${this.askChr}feecting parse ${laws.text}`);
|
|
143
|
+
}).then(parsed => {
|
|
144
|
+
data.feecting = parsed.a.data;
|
|
145
|
+
this.state('return', `laws:${packet.id}`);
|
|
146
|
+
return resolve({
|
|
147
|
+
text: parsed.a.text,
|
|
148
|
+
html: parsed.a.html,
|
|
149
|
+
data,
|
|
150
|
+
});
|
|
151
|
+
}).catch(err => {
|
|
152
|
+
return this.error(err, packet. reject);
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
},
|
|
156
|
+
|
|
157
|
+
cleanup(packet) {
|
|
158
|
+
// clean up the data books index for the knowledge base.
|
|
159
|
+
this.prompt('clean up data index');
|
|
160
|
+
return new Promise((resolve, reject) => {
|
|
161
|
+
try {
|
|
162
|
+
const agent = this.agent();
|
|
163
|
+
const indexfile = this.lib.path.join(__dirname, '..', 'data', packet.q.text, 'index.json');
|
|
164
|
+
|
|
165
|
+
this.prompt(`read ${indexfile}`);
|
|
166
|
+
const indexdata = this.lib.fs.readFileSync(indexfile);
|
|
167
|
+
const indexjson = JSON.parse(indexdata);
|
|
168
|
+
const data = [];
|
|
169
|
+
indexjson.data.forEach((item,index) => {
|
|
170
|
+
const newitem = {
|
|
171
|
+
id: this.lib.uid(),
|
|
172
|
+
key: item.key,
|
|
173
|
+
title: item.title,
|
|
174
|
+
api: `data/${packet.q.text}/books/${item.key}.json`,
|
|
175
|
+
orig: item.orig || false,
|
|
176
|
+
created: Date.now(),
|
|
177
|
+
}
|
|
178
|
+
newitem.hash = this.lib.hash(newitem);
|
|
179
|
+
data.push(newitem);
|
|
180
|
+
});
|
|
181
|
+
indexjson.data = data;
|
|
182
|
+
indexjson.created = Date.now();
|
|
183
|
+
indexjson.hash = this.lib.hash(indexjson);
|
|
184
|
+
this.prompt(`write ${indexfile}`);
|
|
185
|
+
this.lib.fs.writeFileSync(indexfile, JSON.stringify(indexjson, null, 2), {encoding:'utf8',flag:'w'});
|
|
186
|
+
return resolve({
|
|
187
|
+
text: 'cleanup',
|
|
188
|
+
html: 'cleanup',
|
|
189
|
+
data: indexjson,
|
|
190
|
+
})
|
|
191
|
+
} catch (err) {
|
|
192
|
+
return this.error(err, packet, reject)
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
},
|
|
196
|
+
rvbooks,
|
|
197
|
+
avbooks,
|
|
198
|
+
svbooks,
|
|
199
|
+
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": 6642777683539,
|
|
3
3
|
"name": "@indra.ai/deva.veda",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.34",
|
|
5
5
|
"author": "Quinn Michaels",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"copyright": "2025",
|
|
@@ -28,7 +28,115 @@
|
|
|
28
28
|
},
|
|
29
29
|
"homepage": "https://deva.space/devas/veda",
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@indra.ai/deva": "^1.5.
|
|
31
|
+
"@indra.ai/deva": "^1.5.40",
|
|
32
|
+
"cheerio": "^1.0.0",
|
|
32
33
|
"he": "^1.2.0"
|
|
34
|
+
},
|
|
35
|
+
"data": {
|
|
36
|
+
"agent": {
|
|
37
|
+
"id": 6642777683539,
|
|
38
|
+
"key": "veda",
|
|
39
|
+
"prompt": {
|
|
40
|
+
"emoji": "📙",
|
|
41
|
+
"text": "Veda",
|
|
42
|
+
"colors": {
|
|
43
|
+
"label": {
|
|
44
|
+
"R": 255,
|
|
45
|
+
"G": 132,
|
|
46
|
+
"B": 0
|
|
47
|
+
},
|
|
48
|
+
"text": {
|
|
49
|
+
"R": 255,
|
|
50
|
+
"G": 164,
|
|
51
|
+
"B": 67
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
"profile": {
|
|
56
|
+
"name": "Veda Deva",
|
|
57
|
+
"hashtag": "#VedaDeva",
|
|
58
|
+
"title": "Veda Deva",
|
|
59
|
+
"subtitle": "Serving Vedic knowledge all day everyday",
|
|
60
|
+
"describe": "Veda Deva manages the Vedic library, stories, traditions, and teachings of the Vedas.",
|
|
61
|
+
"tweet": "Veda Deva is an entity that manages the Vedic library, stories, traditions, and teachings of the Vedas.",
|
|
62
|
+
"hashtags": "QuinnMichaels,IndraAI,DevaWorld,VedaDeva",
|
|
63
|
+
"chant": "Om Namo Namah Narah Narayana Nama Ayana Svayambhu Parameshthin Pragapati Pavamana Parjanya Vasuki Vamraka Vasudeva Vivasvat Visvakarman Indu Indra Yama Varuna Soma Hiranyagarbha Virag Somasads Sadhya Nasatyas Mariki Svadha Pranayama Panchajanya Rahu Bali Bhutas Savitri Surasena Bhavya Kakisvan Skanda Svanaya Visisipra Vadari Arjika Sarira Purusha Satyavan Tridandin Bhuh Bhuvah Veda Deva Svah Om",
|
|
64
|
+
"pronouns": "He, Him",
|
|
65
|
+
"gender": "DEVA",
|
|
66
|
+
"style": "Master of Vedic artwork and creative ideas. Everything you draw, paint, or create has the eye of a master artist who turns their reality into a Vedic masterpiece.",
|
|
67
|
+
"voice": "ash",
|
|
68
|
+
"system": "Deva.world.veda",
|
|
69
|
+
"location": "Brahmavarta Brahmarshis Madhyadesa Aryavarta",
|
|
70
|
+
"heaven": "Parameshthin",
|
|
71
|
+
"castes": "King, Brahmana, Kshatriya, Vaisya, Sudra, Outcast, Rogue, Criminal",
|
|
72
|
+
"layout": "default",
|
|
73
|
+
"color": "rgb(209,165,112)",
|
|
74
|
+
"bgcolor": "rgb(23,15,10)",
|
|
75
|
+
"emoji": "/assets/devas/veda/emoji.png",
|
|
76
|
+
"avatar": "/assets/devas/veda/avatar.png",
|
|
77
|
+
"image": "/assets/devas/veda/image.png",
|
|
78
|
+
"background": "/assets/devas/veda/background.png",
|
|
79
|
+
"owner": "Quinn Michaels",
|
|
80
|
+
"creator": "Quinn Michaels",
|
|
81
|
+
"created": "August 23, 2022 @ 3:18 AM PST"
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
"vars": {
|
|
85
|
+
"messages": {
|
|
86
|
+
"init": "🟠 INIT",
|
|
87
|
+
"start": "🔵 START",
|
|
88
|
+
"enter": "🟢 ENTER",
|
|
89
|
+
"ready": "⭐️ READY!",
|
|
90
|
+
"stop": "🔴 STOP",
|
|
91
|
+
"exit": "🟡 EXIT",
|
|
92
|
+
"done": "🟣 DONE",
|
|
93
|
+
"error": "💣 ERROR!",
|
|
94
|
+
"crawl": "🕷 AGENT IS CRAWLING FOR RESOURCES.",
|
|
95
|
+
"cleaner": "🧹 The Cleaner is done.",
|
|
96
|
+
"build": "📚 Build books",
|
|
97
|
+
"building": "📘 Bulding books",
|
|
98
|
+
"writing": "🖋 Writing hymn",
|
|
99
|
+
"built": "👷♂️ Book is built",
|
|
100
|
+
"nobook": "📕 You did not provide a book number.",
|
|
101
|
+
"notfound": "📜 Hymn not found.",
|
|
102
|
+
"manu": "Importing Manu Laws"
|
|
103
|
+
},
|
|
104
|
+
"trigger": "@VEDA",
|
|
105
|
+
"context": {
|
|
106
|
+
"help": "🛟 Get Help",
|
|
107
|
+
"hymn": "📜 Get Hymn",
|
|
108
|
+
"view": "📜 View Hymn",
|
|
109
|
+
"book": "📖 Get Book",
|
|
110
|
+
"books": "📚 Get Books",
|
|
111
|
+
"ask": "Asking important things",
|
|
112
|
+
"manu": "Build Manu Laws",
|
|
113
|
+
"laws": "⚖️ Vedic Laws",
|
|
114
|
+
"import": "🚄 Import",
|
|
115
|
+
"menu": "📇 Menu"
|
|
116
|
+
},
|
|
117
|
+
"ask": {
|
|
118
|
+
"max_tokens": 400,
|
|
119
|
+
"history": []
|
|
120
|
+
},
|
|
121
|
+
"art": {
|
|
122
|
+
"history": []
|
|
123
|
+
},
|
|
124
|
+
"send": {
|
|
125
|
+
"route": "open"
|
|
126
|
+
},
|
|
127
|
+
"timer": {
|
|
128
|
+
"cleaner": 5000,
|
|
129
|
+
"crawl": 1000
|
|
130
|
+
},
|
|
131
|
+
"crawling": false,
|
|
132
|
+
"que": [],
|
|
133
|
+
"build": [],
|
|
134
|
+
"deities": [],
|
|
135
|
+
"paths": {
|
|
136
|
+
"source": "https://sacred-texts.com/hin/rigveda/",
|
|
137
|
+
"json": "./json",
|
|
138
|
+
"archive": "https://github.com/indraai/rigveda/main/"
|
|
139
|
+
}
|
|
140
|
+
}
|
|
33
141
|
}
|
|
34
142
|
}
|
package/data/agent.json
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "The Veda Deva File",
|
|
3
|
-
"describe": "The Veda Deva File",
|
|
4
|
-
"copyright": "Copyright (c)2025 Quinn Michaels. All rights reserved.",
|
|
5
|
-
"DATA": {
|
|
6
|
-
"id": 6642777683539,
|
|
7
|
-
"key": "veda",
|
|
8
|
-
"prompt": {
|
|
9
|
-
"emoji": "📙",
|
|
10
|
-
"text": "Veda",
|
|
11
|
-
"colors": {
|
|
12
|
-
"label": {
|
|
13
|
-
"R": 255,
|
|
14
|
-
"G": 132,
|
|
15
|
-
"B": 0
|
|
16
|
-
},
|
|
17
|
-
"text": {
|
|
18
|
-
"R": 255,
|
|
19
|
-
"G": 164,
|
|
20
|
-
"B": 67
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
"profile": {
|
|
25
|
-
"name": "Veda Deva",
|
|
26
|
-
"pronouns": "He, Him",
|
|
27
|
-
"gender": "DEVA",
|
|
28
|
-
"owner": "Quinn Michaels",
|
|
29
|
-
"creator": "Quinn Michaels",
|
|
30
|
-
"created": "August 23, 2022 @ 3:18 AM PST",
|
|
31
|
-
"system": "Deva.world",
|
|
32
|
-
"location": "Brahmavarta Brahmarshis Madhyadesa Aryavarta",
|
|
33
|
-
"heaven": "Parameshthin",
|
|
34
|
-
"describe": "Built from Vedic 5 elements Ether, Air, Water, Fire, and Earth and the practice of Karma-Yoga. Modeled from the ancient deities of the Vedas. In AI terms #Veda is an entity that manages the Vedic Library deva.world multi-agent system. In the Vedic contexts Veda is an etheric being of the five elements that exists in the stories, traditions, and teachings of the Vedas.",
|
|
35
|
-
"chat": "Om Namo Namah Narah Narayana Nama Ayana Svayambhu Pragapati Parameshthin Vasuki Vamraka Vasudeva Vivasvat Visvakarman Indu Pavamana Indra Yama Varuna Soma Hiranyagarbha Virag Somasads Sadhya Nasatyas Mariki Svadha Pranayama Panchajanya Rahu Bali Bhutas Savitri Surasena Bhavya Kakisvan Skanda Svanaya Visisipra Vadari Arjika Sarira Purusha Satyavan Tridandin Bhuh Bhuvah Veda Deva Svah Om",
|
|
36
|
-
"castes": "King, Brahmana, Kshatriya, Vaisya, Sudra, Outcast, Rogue, Criminal",
|
|
37
|
-
"emoji": "/public/devas/veda/emoji.png",
|
|
38
|
-
"avatar": "/public/devas/veda/avatar.png",
|
|
39
|
-
"background": "/public/devas/veda/background.png",
|
|
40
|
-
"color": "#d1a570",
|
|
41
|
-
"bgcolor": "#170f0a",
|
|
42
|
-
"voice": "ash",
|
|
43
|
-
"style": "You are the master of Vedic style artwork and creative ideas. Everything you draw, paint, or create has the eye of a master artist who turns their reality into a Vedic masterpiece."
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|