ekms 8.0.0-beta.5 → 8.0.0-beta.50
Sign up to get free protection for your applications and to get access to all the features.
- package/common/animals.instance.json +2855 -1363
- package/common/animals.js +17 -20
- package/common/articles.js +103 -0
- package/common/articles.test.json +310 -0
- package/common/avatar.js +5 -9
- package/common/characters.js +22 -28
- package/common/colors.instance.json +6978 -3493
- package/common/colors.js +4 -8
- package/common/colors.test.json +345 -780
- package/common/comparable.js +5 -22
- package/common/concept.js +120 -118
- package/common/countable.js +18 -12
- package/common/countable.test.json +1050 -0
- package/common/crew.instance.json +13032 -6570
- package/common/crew.js +36 -41
- package/common/crew.test.json +714 -452
- package/common/currency.js +27 -45
- package/common/dialogues.js +158 -282
- package/common/dimension.instance.json +273 -272
- package/common/dimension.js +16 -22
- package/common/dimension.test.json +446 -1640
- package/common/edible.instance.json +19911 -9877
- package/common/edible.js +3 -8
- package/common/emotions.instance.json +146 -128
- package/common/emotions.js +35 -38
- package/common/evaluate.instance.json +2 -0
- package/common/evaluate.js +49 -0
- package/common/evaluate.test.json +574 -0
- package/common/events.js +9 -13
- package/common/fastfood.instance.json +221141 -111240
- package/common/fastfood.js +70 -80
- package/common/formulas.instance.json +251 -265
- package/common/formulas.js +17 -24
- package/common/gdefaults.js +24 -26
- package/common/help.js +7 -12
- package/common/help.test.json +22 -22
- package/common/helpers/concept.js +9 -6
- package/common/helpers/dialogues.js +2 -3
- package/common/helpers/properties.js +52 -58
- package/common/helpers.js +1 -1
- package/common/hierarchy.js +16 -24
- package/common/javascript.js +11 -18
- package/common/kirk.instance.json +583 -289
- package/common/kirk.js +5 -8
- package/common/length.instance.json +5530 -4754
- package/common/length.js +4 -8
- package/common/listener.js +48 -0
- package/common/listener.test.json +104 -0
- package/common/math.instance.json +192 -1184
- package/common/math.js +15 -19
- package/common/meta.js +23 -47
- package/common/nameable.instance.json +2 -0
- package/common/nameable.js +135 -0
- package/common/nameable.test.json +2121 -0
- package/common/negation.instance.json +2 -0
- package/common/negation.js +38 -0
- package/common/negation.test.json +308 -0
- package/common/numbers.js +6 -10
- package/common/ordering.instance.json +340 -160
- package/common/ordering.js +80 -86
- package/common/people.instance.json +2066 -1014
- package/common/people.js +8 -13
- package/common/percentages.instance.json +2 -0
- package/common/percentages.js +53 -0
- package/common/percentages.test.json +751 -0
- package/common/pipboy.instance.json +7999 -6269
- package/common/pipboy.js +32 -43
- package/common/pokemon.instance.json +4207 -2069
- package/common/pokemon.js +7 -20
- package/common/pos.js +4 -5
- package/common/pressure.instance.json +1341 -1189
- package/common/pressure.js +4 -8
- package/common/properties.instance.json +130 -60
- package/common/properties.js +56 -133
- package/common/punctuation.js +6 -6
- package/common/reports.instance.json +595 -557
- package/common/reports.js +64 -89
- package/common/scorekeeper.js +18 -30
- package/common/sdefaults.js +16 -7
- package/common/sizeable.js +5 -9
- package/common/spock.instance.json +583 -289
- package/common/spock.js +5 -8
- package/common/stgame.js +19 -19
- package/common/stm.js +163 -26
- package/common/stm.test.json +1734 -1
- package/common/tell.js +14 -18
- package/common/temperature.instance.json +1461 -1293
- package/common/temperature.js +4 -8
- package/common/tester.js +3 -3
- package/common/testing.js +8 -12
- package/common/time.js +20 -25
- package/common/tokenize.js +4 -5
- package/common/ui.instance.json +257 -258
- package/common/ui.js +11 -17
- package/common/weight.instance.json +5212 -4233
- package/common/weight.js +4 -8
- package/common/yesno.js +5 -5
- package/main.js +59 -46
- package/package.json +27 -5
package/common/pipboy.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
const {
|
1
|
+
const { knowledgeModule, where, Digraph } = require('./runtime').theprogrammablemind
|
2
2
|
const { defaultContextCheck } = require('./helpers')
|
3
3
|
const hierarchy = require('./hierarchy')
|
4
4
|
const countable = require('./countable')
|
@@ -100,7 +100,7 @@ class API {
|
|
100
100
|
}
|
101
101
|
const api = new API()
|
102
102
|
|
103
|
-
let
|
103
|
+
let config = {
|
104
104
|
name: 'pipboy',
|
105
105
|
// TODO mark default as local scope
|
106
106
|
operators: [
|
@@ -155,7 +155,7 @@ let configStruct = {
|
|
155
155
|
isA: ['verby'],
|
156
156
|
level: 0,
|
157
157
|
bridge: "{ ...next(operator) }",
|
158
|
-
generatorp: ({context
|
158
|
+
generatorp: ({context}) => `put on`,
|
159
159
|
},
|
160
160
|
{
|
161
161
|
where: where(),
|
@@ -171,7 +171,7 @@ let configStruct = {
|
|
171
171
|
isA: ['preposition'],
|
172
172
|
level: 0,
|
173
173
|
bridge: "{ ...before, marker: operator('putOn', 0), dead: false }",
|
174
|
-
generatorp: ({context, g}) => `put on ${g(context.item)}`,
|
174
|
+
generatorp: async ({context, g}) => `put on ${await g(context.item)}`,
|
175
175
|
semantic: ({api, context}) => {
|
176
176
|
api.change(context.item.marker)
|
177
177
|
}
|
@@ -183,7 +183,7 @@ let configStruct = {
|
|
183
183
|
level: 0,
|
184
184
|
bridge: "{ ...next(operator), item: after[0] }",
|
185
185
|
localHierarchy: [ ['weapon', 'changeable'] ],
|
186
|
-
generatorp: ({context, g}) => `change ${g(context.item)}`,
|
186
|
+
generatorp: async ({context, g}) => `change ${await g(context.item)}`,
|
187
187
|
semantic: ({api, context}) => {
|
188
188
|
api.change(context.item.marker)
|
189
189
|
}
|
@@ -194,7 +194,7 @@ let configStruct = {
|
|
194
194
|
isA: ['verby'],
|
195
195
|
level: 0,
|
196
196
|
bridge: "{ ...next(operator) }",
|
197
|
-
generatorp: ({context
|
197
|
+
generatorp: ({context}) => `disarm`,
|
198
198
|
semantic: ({api, context}) => {
|
199
199
|
api.disarm()
|
200
200
|
}
|
@@ -205,7 +205,7 @@ let configStruct = {
|
|
205
205
|
isA: ['verby'],
|
206
206
|
level: 0,
|
207
207
|
bridge: "{ ...next(operator) }",
|
208
|
-
generatorp: ({context
|
208
|
+
generatorp: ({context}) => `strip`,
|
209
209
|
semantic: ({api, context}) => {
|
210
210
|
api.strip()
|
211
211
|
}
|
@@ -216,7 +216,7 @@ let configStruct = {
|
|
216
216
|
isA: ['verby'],
|
217
217
|
level: 0,
|
218
218
|
bridge: "{ ...next(operator), item: after[0], name: after[1] }",
|
219
|
-
generatorp: ({context, g}) => `call ${g(context.item)} ${g(context.name)}`,
|
219
|
+
generatorp: async ({context, g}) => `call ${await g(context.item)} ${await g(context.name)}`,
|
220
220
|
semantic: ({api, context}) => {
|
221
221
|
api.setName(context.item, context.name.name.value)
|
222
222
|
}
|
@@ -227,7 +227,7 @@ let configStruct = {
|
|
227
227
|
isA: ['verby'],
|
228
228
|
level: 0,
|
229
229
|
bridge: "{ ...next(operator), item: after[0] }",
|
230
|
-
generatorp: ({context, g}) => `put on ${g(context.item)}`,
|
230
|
+
generatorp: async ({context, g}) => `put on ${await g(context.item)}`,
|
231
231
|
semantic: ({api, context}) => {
|
232
232
|
if (context.item.name) {
|
233
233
|
api.wear({ name: context.item.name.value, type: 'outfit' })
|
@@ -243,7 +243,7 @@ let configStruct = {
|
|
243
243
|
words: ['where'], // the speech recognizer hears 'where' not 'wear'
|
244
244
|
level: 0,
|
245
245
|
bridge: "{ ...next(operator), item: after[0] }",
|
246
|
-
generatorp: ({context, g}) => `wear ${g(context.item)}`,
|
246
|
+
generatorp: async ({context, g}) => `wear ${await g(context.item)}`,
|
247
247
|
semantic: ({api, context}) => {
|
248
248
|
if (context.item.name) {
|
249
249
|
api.wear({ name: context.item.name.value, type: 'outfit' })
|
@@ -259,9 +259,8 @@ let configStruct = {
|
|
259
259
|
level: 0,
|
260
260
|
localHierarchy: [ ['weapon', 'equipable'], ['thisitthat', 'equipable'] ],
|
261
261
|
bridge: "{ ...next(operator), item: after[0] }",
|
262
|
-
generatorp: ({context, g}) => `equip ${g(context.item)}`,
|
263
|
-
semantic: ({api, context
|
264
|
-
// const value = e(context.item)
|
262
|
+
generatorp: async ({context, g}) => `equip ${await g(context.item)}`,
|
263
|
+
semantic: async ({api, context}) => {
|
265
264
|
let condition
|
266
265
|
if (context.item.condition) {
|
267
266
|
condition = { selector: context.item.condition.marker, property: context.item.condition.property[0].marker }
|
@@ -275,9 +274,9 @@ let configStruct = {
|
|
275
274
|
isA: ['verby'],
|
276
275
|
level: 0,
|
277
276
|
bridge: "{ ...next(operator), item: after[0] }",
|
278
|
-
generatorp: ({context, g}) => `drink ${g(context.item)}`,
|
279
|
-
semantic: ({api, context, e}) => {
|
280
|
-
const value = e(context.item)
|
277
|
+
generatorp: async ({context, g}) => `drink ${await g(context.item)}`,
|
278
|
+
semantic: async ({api, context, e}) => {
|
279
|
+
const value = await e(context.item)
|
281
280
|
api.drink(value.value)
|
282
281
|
}
|
283
282
|
},
|
@@ -287,10 +286,8 @@ let configStruct = {
|
|
287
286
|
isA: ['verby'],
|
288
287
|
level: 0,
|
289
288
|
bridge: "{ ...next(operator), item: after[0] }",
|
290
|
-
generatorp: ({context, g}) => `eat ${g(context.item)}`,
|
291
|
-
semantic: ({api, context
|
292
|
-
// const value = e(context.item)
|
293
|
-
// api.eat(value.value)
|
289
|
+
generatorp: async ({context, g}) => `eat ${await g(context.item)}`,
|
290
|
+
semantic: async ({api, context}) => {
|
294
291
|
api.eat(context.item.value)
|
295
292
|
}
|
296
293
|
},
|
@@ -300,9 +297,9 @@ let configStruct = {
|
|
300
297
|
isA: ['verby'],
|
301
298
|
level: 0,
|
302
299
|
bridge: "{ ...next(operator), item: after[0] }",
|
303
|
-
generatorp: ({context, g}) => `take ${g(context.item)}`,
|
304
|
-
semantic: ({api, context, e}) => {
|
305
|
-
const value = e(context.item)
|
300
|
+
generatorp: async ({context, g}) => `take ${await g(context.item)}`,
|
301
|
+
semantic: async ({api, context, e}) => {
|
302
|
+
const value = await e(context.item)
|
306
303
|
api.take(value.value)
|
307
304
|
}
|
308
305
|
},
|
@@ -374,10 +371,10 @@ let configStruct = {
|
|
374
371
|
isA: ['verby'],
|
375
372
|
level: 0,
|
376
373
|
bridge: "{ ...next(operator), item: after[0] }",
|
377
|
-
generatorp: ({context, g}) => `apply ${g(context.item)}`,
|
378
|
-
semantic: ({api, context, e}) => {
|
374
|
+
generatorp: async ({context, g}) => `apply ${await g(context.item)}`,
|
375
|
+
semantic: async ({api, context, e}) => {
|
379
376
|
// { item: 'stimpak', quantity: <number>, to?: [ { part: ['arm', 'leg', 'torso', head'], side?: ['left', 'right'] } ] }
|
380
|
-
const quantity = context.item.quantity ? e(context.item.quantity).value : 1
|
377
|
+
const quantity = context.item.quantity ? (await e(context.item.quantity)).value : 1
|
381
378
|
api.apply({ item: 'stimpak', quantity })
|
382
379
|
}
|
383
380
|
},
|
@@ -386,7 +383,7 @@ let configStruct = {
|
|
386
383
|
isA: ['verby'],
|
387
384
|
level: 0,
|
388
385
|
bridge: "{ ...next(operator), showable: after[0].showable }",
|
389
|
-
generatorp: ({context, g}) => `go to ${g(context.showable)}`,
|
386
|
+
generatorp: async ({context, g}) => `go to ${await g(context.showable)}`,
|
390
387
|
semantic: ({api, context}) => {
|
391
388
|
api.setDisplay(context.showable.value)
|
392
389
|
}
|
@@ -396,14 +393,14 @@ let configStruct = {
|
|
396
393
|
isA: ['preposition'],
|
397
394
|
level: 0,
|
398
395
|
bridge: "{ ...next(operator), showable: after[0] }",
|
399
|
-
generatorp: ({context, g}) => `to ${g(context.showable)}`,
|
396
|
+
generatorp: async ({context, g}) => `to ${await g(context.showable)}`,
|
400
397
|
},
|
401
398
|
{
|
402
399
|
id: "showWeapons",
|
403
400
|
isA: ['verby'],
|
404
401
|
level: 0,
|
405
402
|
bridge: "{ ...next(operator), showable: after[0] }",
|
406
|
-
generatorp: ({context, g}) => `show ${g(context.showable)}`,
|
403
|
+
generatorp: async ({context, g}) => `show ${await g(context.showable)}`,
|
407
404
|
semantic: ({api, context}) => {
|
408
405
|
if (context.showable.quantity && context.showable.quantity.value == 'all') {
|
409
406
|
api.showWeapons('all')
|
@@ -417,7 +414,7 @@ let configStruct = {
|
|
417
414
|
isA: ['verby'],
|
418
415
|
level: 0,
|
419
416
|
bridge: "{ ...next(operator), showable: after[0] }",
|
420
|
-
generatorp: ({context, g}) => `show ${g(context.showable)}`,
|
417
|
+
generatorp: async ({context, g}) => `show ${await g(context.showable)}`,
|
421
418
|
semantic: ({api, context}) => {
|
422
419
|
api.setDisplay(context.showable.value)
|
423
420
|
}
|
@@ -524,25 +521,17 @@ const template = {
|
|
524
521
|
"medicine and stimpaks are takeable",
|
525
522
|
"item modifies properties",
|
526
523
|
"damage luck hp rads value ap charisma range and accuracy are item properties",
|
527
|
-
|
524
|
+
config,
|
528
525
|
]
|
529
526
|
}
|
530
527
|
|
531
|
-
const createConfig = () => {
|
532
|
-
const config = new Config({ name: 'pipboy' }, module)
|
533
|
-
config.stop_auto_rebuild()
|
534
|
-
config.add(hierarchy(), countable(), comparable(), help(), math())
|
535
|
-
// console.log('config.config.hierarchy', JSON.stringify(config.config.hierarchy, null, 2))
|
536
|
-
// console.log('config.hierarchy', config.hierarchy)
|
537
|
-
config.api = api
|
538
|
-
config.restart_auto_rebuild()
|
539
|
-
return config
|
540
|
-
}
|
541
|
-
|
542
528
|
knowledgeModule({
|
529
|
+
config: { name: 'pipboy' },
|
530
|
+
includes: [hierarchy, countable, comparable, help, math],
|
531
|
+
api: () => new API(),
|
532
|
+
|
543
533
|
module,
|
544
534
|
description: 'Control a pipboy with speech',
|
545
|
-
createConfig,
|
546
535
|
template: { template, instance },
|
547
536
|
test: {
|
548
537
|
name: './pipboy.test.json',
|