ekms 8.0.0 → 8.1.0
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/common/animals.instance.json +3003 -1651
- package/common/animals.js +17 -20
- package/common/articles.js +103 -0
- package/common/articles.test.json +310 -0
- package/common/asking.instance.json +2 -0
- package/common/asking.js +253 -0
- package/common/asking.test.json +2290 -0
- package/common/avatar.js +6 -10
- package/common/characters.js +23 -30
- package/common/colors.instance.json +25513 -0
- package/common/colors.js +67 -0
- package/common/colors.test.json +4425 -0
- package/common/comparable.instance.json +1750 -0
- package/common/comparable.js +36 -28
- package/common/comparable.test.json +1196 -2
- package/common/concept.js +121 -119
- package/common/conjunction.instance.json +2 -0
- package/common/conjunction.js +104 -0
- package/common/conjunction.test.json +322 -0
- package/common/countable.js +20 -14
- package/common/countable.test.json +1050 -0
- package/common/crew.instance.json +16855 -9731
- package/common/crew.js +39 -42
- package/common/crew.test.json +714 -452
- package/common/currency.js +28 -46
- package/common/dialogues.js +177 -426
- package/common/dialogues.test.json +684 -450
- package/common/dimension.instance.json +508 -289
- package/common/dimension.js +22 -24
- package/common/dimension.test.json +727 -1944
- package/common/edible.instance.json +20548 -10848
- package/common/edible.js +4 -9
- package/common/emotions.instance.json +255 -123
- package/common/emotions.js +36 -39
- package/common/evaluate.instance.json +2 -0
- package/common/evaluate.js +53 -0
- package/common/evaluate.test.json +574 -0
- package/common/events.js +11 -15
- package/common/fastfood.instance.json +223039 -113390
- package/common/fastfood.js +77 -87
- package/common/fastfood.test.json +8205 -3733
- package/common/formulas.instance.json +444 -244
- package/common/formulas.js +20 -27
- package/common/formulas.test.json +1027 -955
- package/common/gdefaults.js +40 -27
- package/common/help.js +9 -14
- package/common/help.test.json +71 -18
- package/common/helpers/concept.js +33 -10
- package/common/helpers/dialogues.js +22 -4
- package/common/helpers/formulas.js +0 -14
- package/common/helpers/meta.js +0 -1
- package/common/helpers/properties.js +72 -76
- package/common/helpers.js +35 -24
- package/common/hierarchy.js +17 -25
- package/common/javascript.js +12 -19
- package/common/kirk.instance.json +586 -298
- package/common/kirk.js +6 -9
- package/common/length.instance.json +9158 -5124
- package/common/length.js +5 -9
- package/common/listener.js +48 -0
- package/common/listener.test.json +104 -0
- package/common/math.instance.json +409 -1202
- package/common/math.js +17 -21
- package/common/meta.js +24 -50
- package/common/nameable.instance.json +2 -0
- package/common/nameable.js +144 -0
- package/common/nameable.test.json +3191 -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 +28 -32
- package/common/ordering.instance.json +449 -273
- package/common/ordering.js +81 -87
- package/common/ordinals.instance.json +2 -0
- package/common/ordinals.js +60 -0
- package/common/ordinals.test.json +306 -0
- package/common/people.instance.json +2176 -1141
- package/common/people.js +9 -14
- 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 +12120 -6879
- package/common/pipboy.js +53 -62
- package/common/pipboy.test.json +2835 -0
- package/common/pokemon.instance.json +4415 -2351
- package/common/pokemon.js +8 -21
- package/common/pos.js +16 -14
- package/common/pressure.instance.json +2348 -1373
- package/common/pressure.js +5 -9
- package/common/properties.instance.json +151 -87
- package/common/properties.js +156 -167
- package/common/properties.test.json +17605 -4030
- package/common/punctuation.js +24 -8
- package/common/punctuation.test.json +233 -5
- package/common/reports.instance.json +1027 -551
- package/common/reports.js +77 -103
- package/common/reports.test.json +15623 -10458
- package/common/scorekeeper.js +19 -31
- package/common/sdefaults.js +17 -8
- package/common/sizeable.js +13 -12
- package/common/spock.instance.json +585 -297
- package/common/spock.js +6 -9
- package/common/stgame.js +20 -20
- package/common/stm.js +182 -29
- package/common/stm.test.json +1734 -1
- package/common/tell.js +15 -19
- package/common/temperature.instance.json +2480 -1493
- package/common/temperature.js +5 -9
- package/common/tester.js +15 -4
- package/common/testing.js +8 -13
- package/common/time.js +21 -26
- package/common/tokenize.js +8 -8
- package/common/tokenize.test.json +86 -1
- package/common/ui.instance.json +151 -460
- package/common/ui.js +22 -34
- package/common/ui.test.json +641 -5357
- package/common/weight.instance.json +8072 -4490
- package/common/weight.js +5 -9
- package/common/weight.test.json +242 -238
- package/common/yesno.js +6 -6
- package/main.js +68 -45
- package/package.json +44 -6
package/common/dimension.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.js')
|
4
4
|
const formulas = require('./formulas.js')
|
@@ -36,7 +36,7 @@ class API {
|
|
36
36
|
config.addBridge({
|
37
37
|
id: dimension,
|
38
38
|
isA: ['dimension'],
|
39
|
-
generatorp: ({context, g}) => context.amount ? `${g(context.amount)} ${g(context.unit)}` : context.word,
|
39
|
+
generatorp: async ({context, g}) => context.amount ? `${await g(context.amount)} ${await g(context.unit)}` : context.word,
|
40
40
|
})
|
41
41
|
|
42
42
|
// for example, celcius and fahrenheit
|
@@ -52,7 +52,7 @@ class API {
|
|
52
52
|
|
53
53
|
const api = new API()
|
54
54
|
|
55
|
-
let
|
55
|
+
let config = {
|
56
56
|
name: 'dimension',
|
57
57
|
operators: [
|
58
58
|
"([dimension])",
|
@@ -76,7 +76,7 @@ let configStruct = {
|
|
76
76
|
{
|
77
77
|
where: where(),
|
78
78
|
match: ({context}) => context.marker == 'noconversion',
|
79
|
-
apply: ({context, gp}) => `there is no conversion between ${gp(context.from)} and ${gp(context.to)}`,
|
79
|
+
apply: async ({context, gp}) => `there is no conversion between ${await gp(context.from)} and ${await gp(context.to)}`,
|
80
80
|
},
|
81
81
|
],
|
82
82
|
bridges: [
|
@@ -86,7 +86,7 @@ let configStruct = {
|
|
86
86
|
isA: [],
|
87
87
|
generatorpr: {
|
88
88
|
match: ({context}) => context.amount,
|
89
|
-
apply: ({context,
|
89
|
+
apply: async ({context, gp, gr}) => `${await gr(context.amount)} ${await gp(context.unit)}`,
|
90
90
|
},
|
91
91
|
},
|
92
92
|
{ id: "length", isA: ['dimension'], development: true },
|
@@ -105,7 +105,7 @@ let configStruct = {
|
|
105
105
|
id: "degree",
|
106
106
|
words: [{ word: 'degrees', number: 'many' }],
|
107
107
|
isA: ['amount'],
|
108
|
-
generatorp: ({context, g}) => (context.amount) ? `${g(context.amount)} ${context.word}` : context.word,
|
108
|
+
generatorp: async ({context, g}) => (context.amount) ? `${await g(context.amount)} ${context.word}` : context.word,
|
109
109
|
bridge: "{ ...next(operator), value: before[0].value, amount: before[0] }",
|
110
110
|
},
|
111
111
|
{
|
@@ -118,10 +118,11 @@ let configStruct = {
|
|
118
118
|
id: "convertToUnits",
|
119
119
|
bridge: "{ ...next(operator), from: before[0], to: after[0] }",
|
120
120
|
isA: ['expression', 'queryable'],
|
121
|
+
localHierarchy: [['unknown', 'dimension']],
|
121
122
|
after: [['possession', 0], ['possession', 1]],
|
122
|
-
generatorp: ({context, g}) => `${g(context.from)} ${context.word} ${g(context.to)}`,
|
123
|
+
generatorp: async ({context, g}) => `${await g(context.from)} ${context.word} ${await g(context.to)}`,
|
123
124
|
// evaluator: ({context, kms, error}) => {
|
124
|
-
evaluator: ({context, kms, e, error}) => {
|
125
|
+
evaluator: async ({context, kms, e, error}) => {
|
125
126
|
/*
|
126
127
|
error(({context, e}) => {
|
127
128
|
context.evalue = 'dont know...'
|
@@ -132,7 +133,7 @@ let configStruct = {
|
|
132
133
|
let evalue;
|
133
134
|
let efrom = from
|
134
135
|
if (!from.unit) {
|
135
|
-
efrom = e(from).evalue
|
136
|
+
efrom = (await e(from)).evalue
|
136
137
|
}
|
137
138
|
if (to.value == efrom.unit.value) {
|
138
139
|
evalue = efrom.amount
|
@@ -140,11 +141,11 @@ let configStruct = {
|
|
140
141
|
const formula = kms.formulas.api.get(to, [efrom.unit])
|
141
142
|
if (!formula) {
|
142
143
|
const reason = { marker: 'reason', focusableForPhrase: true, evalue: { marker: 'noconversion', from: efrom.unit, to } }
|
143
|
-
kms.stm.api.mentioned(reason)
|
144
|
+
kms.stm.api.mentioned({ context: reason })
|
144
145
|
error(reason)
|
145
146
|
}
|
146
147
|
kms.stm.api.setVariable(efrom.unit.value, efrom.amount)
|
147
|
-
evalue = e(formula)
|
148
|
+
evalue = await e(formula)
|
148
149
|
}
|
149
150
|
/*
|
150
151
|
'{
|
@@ -163,30 +164,27 @@ let configStruct = {
|
|
163
164
|
}
|
164
165
|
},
|
165
166
|
},
|
166
|
-
{
|
167
|
+
{
|
168
|
+
id: "unit",
|
169
|
+
isA: ['number'],
|
170
|
+
},
|
167
171
|
]
|
168
172
|
};
|
169
173
|
|
170
174
|
const template = {
|
171
175
|
configs: [
|
172
176
|
"dimension and unit are concepts",
|
173
|
-
|
177
|
+
config,
|
174
178
|
],
|
175
179
|
}
|
176
180
|
|
177
|
-
const createConfig = () => {
|
178
|
-
const config = new Config({ name: 'dimension' }, module)
|
179
|
-
config.stop_auto_rebuild()
|
180
|
-
config.add(hierarchy(), formulas(), testing())
|
181
|
-
config.api = api
|
182
|
-
config.restart_auto_rebuild()
|
183
|
-
return config
|
184
|
-
}
|
185
|
-
|
186
181
|
knowledgeModule({
|
182
|
+
config: { name: 'dimension' },
|
183
|
+
includes: [hierarchy, formulas, testing],
|
184
|
+
api: () => new API(),
|
185
|
+
|
187
186
|
module,
|
188
187
|
description: 'Used to define numeric temperature such as currency, temperature or weight',
|
189
|
-
createConfig,
|
190
188
|
template: { template, instance },
|
191
189
|
test: {
|
192
190
|
name: './dimension.test.json',
|
@@ -194,7 +192,7 @@ knowledgeModule({
|
|
194
192
|
checks: {
|
195
193
|
objects: [{ km: 'properties' }],
|
196
194
|
checks: {
|
197
|
-
context: defaultContextCheck,
|
195
|
+
context: defaultContextCheck(),
|
198
196
|
},
|
199
197
|
},
|
200
198
|
},
|