tpmkms 8.0.0-beta.41 → 8.0.0-beta.43
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.js +17 -20
- package/common/articles.js +6 -11
- package/common/avatar.js +5 -9
- package/common/characters.js +22 -26
- package/common/colors.instance.json +28 -0
- package/common/colors.js +4 -8
- package/common/comparable.js +5 -9
- package/common/concept.js +120 -124
- package/common/countable.js +5 -9
- package/common/crew.js +36 -41
- package/common/currency.js +25 -43
- package/common/dialogues.js +46 -49
- package/common/dimension.instance.json +8 -8
- package/common/dimension.js +7 -13
- package/common/edible.instance.json +112 -0
- package/common/edible.js +3 -8
- package/common/emotions.js +35 -38
- package/common/evaluate.js +5 -11
- package/common/events.js +6 -10
- package/common/fastfood.instance.json +401 -317
- package/common/fastfood.js +53 -63
- package/common/formulas.instance.json +10 -10
- package/common/formulas.js +7 -14
- package/common/gdefaults.js +8 -10
- package/common/help.js +7 -12
- package/common/hierarchy.js +8 -12
- package/common/javascript.js +7 -14
- package/common/kirk.js +5 -8
- package/common/length.js +4 -8
- package/common/listener.js +5 -11
- package/common/math.instance.json +16 -16
- package/common/math.js +6 -10
- package/common/meta.js +5 -22
- package/common/nameable.js +6 -13
- package/common/negation.js +5 -5
- package/common/numbers.js +5 -9
- package/common/ordering.instance.json +68 -0
- package/common/ordering.js +80 -86
- package/common/people.js +8 -12
- package/common/percentages.js +5 -9
- package/common/pipboy.instance.json +84 -28
- package/common/pipboy.js +7 -15
- package/common/pokemon.js +7 -20
- package/common/pos.js +4 -5
- package/common/pressure.js +4 -8
- package/common/properties.js +6 -12
- package/common/punctuation.js +5 -5
- package/common/reports.instance.json +1 -1
- package/common/reports.js +9 -14
- package/common/scorekeeper.js +8 -12
- package/common/sdefaults.js +4 -5
- package/common/sizeable.js +5 -9
- package/common/spock.js +5 -8
- package/common/stgame.js +18 -23
- package/common/stm.js +9 -15
- package/common/tell.js +9 -13
- package/common/temperature.instance.json +0 -112
- package/common/temperature.js +4 -8
- package/common/tester.js +1 -1
- package/common/testing.js +5 -9
- package/common/time.js +18 -23
- package/common/tokenize.js +4 -5
- package/common/ui.js +6 -12
- package/common/weight.js +4 -8
- package/common/yesno.js +5 -5
- package/package.json +2 -2
package/common/animals.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
const { defaultContextCheck } = require('./helpers')
|
2
|
-
const {
|
2
|
+
const { knowledgeModule, where } = require('./runtime').theprogrammablemind
|
3
3
|
const hierarchy = require('./hierarchy')
|
4
4
|
const animals_tests = require('./animals.test.json')
|
5
5
|
const animals_instance = require('./animals.instance.json')
|
@@ -25,26 +25,23 @@ const template = {
|
|
25
25
|
],
|
26
26
|
}
|
27
27
|
|
28
|
-
const createConfig = async () => {
|
29
|
-
const config = new Config({ name: 'animals' }, module)
|
30
|
-
await config.add(hierarchy)
|
31
|
-
return config
|
32
|
-
}
|
33
|
-
|
34
28
|
knowledgeModule( {
|
35
|
-
|
36
|
-
|
37
|
-
createConfig, newWay: true,
|
38
|
-
test: {
|
39
|
-
name: './animals.test.json',
|
40
|
-
contents: animals_tests,
|
41
|
-
checks: {
|
42
|
-
context: defaultContextCheck,
|
43
|
-
},
|
29
|
+
config: { name: 'animals' },
|
30
|
+
includes: [hierarchy],
|
44
31
|
|
32
|
+
module,
|
33
|
+
description: 'animals related concepts',
|
34
|
+
newWay: true,
|
35
|
+
test: {
|
36
|
+
name: './animals.test.json',
|
37
|
+
contents: animals_tests,
|
38
|
+
checks: {
|
39
|
+
context: defaultContextCheck,
|
45
40
|
},
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
41
|
+
|
42
|
+
},
|
43
|
+
template: {
|
44
|
+
template,
|
45
|
+
instance: animals_instance
|
46
|
+
}
|
50
47
|
})
|
package/common/articles.js
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
const {
|
1
|
+
const { knowledgeModule, where, stableId } = require('./runtime').theprogrammablemind
|
2
2
|
const gdefaults = require('./gdefaults.js')
|
3
3
|
const pos = require('./pos.js')
|
4
4
|
const { defaultContextCheck } = require('./helpers')
|
5
5
|
const tests = require('./articles.test.json')
|
6
6
|
|
7
|
-
let
|
7
|
+
let config = {
|
8
8
|
name: 'articles',
|
9
9
|
operators: [
|
10
10
|
"([thisitthat|])",
|
@@ -84,18 +84,13 @@ let configStruct = {
|
|
84
84
|
|
85
85
|
};
|
86
86
|
|
87
|
-
const createConfig = async () => {
|
88
|
-
const config = new Config(configStruct, module)
|
89
|
-
config.stop_auto_rebuild()
|
90
|
-
await config.add(pos, gdefaults)
|
91
|
-
await config.restart_auto_rebuild()
|
92
|
-
return config
|
93
|
-
}
|
94
|
-
|
95
87
|
knowledgeModule( {
|
88
|
+
config,
|
89
|
+
includes: [pos, gdefaults],
|
90
|
+
|
96
91
|
module,
|
97
92
|
description: 'articles',
|
98
|
-
|
93
|
+
newWay: true,
|
99
94
|
test: {
|
100
95
|
name: './articles.test.json',
|
101
96
|
contents: tests,
|
package/common/avatar.js
CHANGED
@@ -1,11 +1,11 @@
|
|
1
|
-
const {
|
1
|
+
const { knowledgeModule, where } = require('./runtime').theprogrammablemind
|
2
2
|
const { defaultContextCheck } = require('./helpers')
|
3
3
|
const dialogues = require('./dialogues')
|
4
4
|
const hierarchy = require('./hierarchy')
|
5
5
|
const emotions = require('./emotions')
|
6
6
|
const avatar_tests = require('./avatar.test.json')
|
7
7
|
|
8
|
-
let
|
8
|
+
let config = {
|
9
9
|
name: 'avatar',
|
10
10
|
|
11
11
|
// TODO make different response for answerNotKnown based on emotions
|
@@ -68,16 +68,12 @@ let configStruct = {
|
|
68
68
|
|
69
69
|
};
|
70
70
|
|
71
|
-
const createConfig = async () => {
|
72
|
-
const config = new Config(configStruct, module)
|
73
|
-
await config.add(hierarchy, emotions)
|
74
|
-
return config
|
75
|
-
}
|
76
|
-
|
77
71
|
knowledgeModule( {
|
72
|
+
config,
|
73
|
+
includes: [hierarchy, emotions],
|
74
|
+
|
78
75
|
module,
|
79
76
|
description: 'avatar for dialogues',
|
80
|
-
createConfig,
|
81
77
|
test: {
|
82
78
|
name: './avatar.test.json',
|
83
79
|
contents: avatar_tests,
|
package/common/characters.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
const {
|
1
|
+
const { knowledgeModule, where, process:clientProcess } = require('./runtime').theprogrammablemind
|
2
2
|
const { defaultContextCheck } = require('./helpers')
|
3
3
|
const gdefaults = require('./gdefaults.js')
|
4
4
|
const createCurrencyKM = require('./currency.js')
|
@@ -28,7 +28,7 @@ const getHelp = (config, indent=2) => {
|
|
28
28
|
-> get response back: sally said: blah
|
29
29
|
*/
|
30
30
|
|
31
|
-
let
|
31
|
+
let config = {
|
32
32
|
name: 'characters',
|
33
33
|
|
34
34
|
operators: [
|
@@ -126,7 +126,8 @@ class Sally {
|
|
126
126
|
}
|
127
127
|
*/
|
128
128
|
this.timeKM.server(config.getServer(), config.getAPIKey())
|
129
|
-
return this.timeKM.process(utterance)
|
129
|
+
// return this.timeKM.process(utterance)
|
130
|
+
return clientProcess(this.timeKM, utterance)
|
130
131
|
}
|
131
132
|
|
132
133
|
response({context, result}) {
|
@@ -150,7 +151,9 @@ class Bob {
|
|
150
151
|
|
151
152
|
process(config, utterance) {
|
152
153
|
this.currencyKM.server(config.getServer(), config.getAPIKey())
|
153
|
-
return this.currencyKM.process(utterance, { credentials: this.credentials })
|
154
|
+
// return this.currencyKM.process(utterance, { credentials: this.credentials })
|
155
|
+
// return clientProcess(this.currencyKM.process, utterance, { credentials: this.credentials })
|
156
|
+
return clientProcess(this.currencyKM, utterance)
|
154
157
|
}
|
155
158
|
|
156
159
|
response({context, result}) {
|
@@ -173,34 +176,27 @@ const initializeApi = (config, api) => {
|
|
173
176
|
}
|
174
177
|
|
175
178
|
|
176
|
-
const
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
await config.setMultiApi(initializeApi)
|
187
|
-
config.initializer( async ({isModule, km}) => {
|
188
|
-
if (!isModule) {
|
189
|
-
const config = km('characters')
|
190
|
-
await config.setApi(api2)
|
191
|
-
await config.setApi(api)
|
192
|
-
}
|
193
|
-
})
|
194
|
-
await config.restart_auto_rebuild()
|
195
|
-
return config
|
179
|
+
const initializer = async ({isModule, km}) => {
|
180
|
+
if (!isModule) {
|
181
|
+
const timeKM = await createTimeKM()
|
182
|
+
const currencyKM = await createCurrencyKM()
|
183
|
+
const config = km('characters')
|
184
|
+
const api = new Sally(timeKM)
|
185
|
+
const api2 = new Bob(currencyKM)
|
186
|
+
await config.setApi(api2)
|
187
|
+
await config.setApi(api)
|
188
|
+
}
|
196
189
|
}
|
197
|
-
|
198
190
|
// mode this to non-module init only
|
199
191
|
knowledgeModule({
|
192
|
+
config,
|
193
|
+
includes: [gdefaults],
|
194
|
+
initializer,
|
195
|
+
multiApiInitializer: initializeApi,
|
196
|
+
|
200
197
|
module,
|
201
198
|
description: 'this module is for creating a team of characters that can respond to commands',
|
202
199
|
demo: "https://youtu.be/eA25GZ0ZAHo",
|
203
|
-
createConfig,
|
204
200
|
test: {
|
205
201
|
name: './characters.test.json',
|
206
202
|
contents: characters_tests,
|
@@ -3210,6 +3210,20 @@
|
|
3210
3210
|
1
|
3211
3211
|
]
|
3212
3212
|
],
|
3213
|
+
[
|
3214
|
+
[
|
3215
|
+
"is",
|
3216
|
+
0
|
3217
|
+
],
|
3218
|
+
[
|
3219
|
+
"list",
|
3220
|
+
1
|
3221
|
+
],
|
3222
|
+
[
|
3223
|
+
"unknown",
|
3224
|
+
1
|
3225
|
+
]
|
3226
|
+
],
|
3213
3227
|
[
|
3214
3228
|
[
|
3215
3229
|
"is",
|
@@ -25552,6 +25566,20 @@
|
|
25552
25566
|
1
|
25553
25567
|
]
|
25554
25568
|
],
|
25569
|
+
[
|
25570
|
+
[
|
25571
|
+
"is",
|
25572
|
+
0
|
25573
|
+
],
|
25574
|
+
[
|
25575
|
+
"list",
|
25576
|
+
1
|
25577
|
+
],
|
25578
|
+
[
|
25579
|
+
"unknown",
|
25580
|
+
1
|
25581
|
+
]
|
25582
|
+
],
|
25555
25583
|
[
|
25556
25584
|
[
|
25557
25585
|
"is",
|
package/common/colors.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
const {
|
1
|
+
const { knowledgeModule, where } = require('./runtime').theprogrammablemind
|
2
2
|
const { defaultContextCheck } = require('./helpers')
|
3
3
|
const colors_tests = require('./colors.test.json')
|
4
4
|
const colors_instance = require('./colors.instance.json')
|
@@ -46,15 +46,11 @@ const template = {
|
|
46
46
|
],
|
47
47
|
}
|
48
48
|
|
49
|
-
const createConfig = async () => {
|
50
|
-
const config = new Config({ name: 'colors' }, module)
|
51
|
-
await config.add(hierarchy)
|
52
|
-
return config
|
53
|
-
}
|
54
|
-
|
55
49
|
knowledgeModule( {
|
50
|
+
config: { name: 'colors' },
|
51
|
+
includes: [hierarchy],
|
52
|
+
|
56
53
|
module,
|
57
|
-
createConfig,
|
58
54
|
description: 'talking about colors',
|
59
55
|
test: {
|
60
56
|
name: './colors.test.json',
|
package/common/comparable.js
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
const {
|
1
|
+
const { knowledgeModule, where, Digraph } = require('./runtime').theprogrammablemind
|
2
2
|
const { defaultContextCheck } = require('./helpers')
|
3
3
|
const dialogues = require("./dialogues")
|
4
4
|
const numbers = require("./numbers")
|
5
5
|
const comparable_tests = require('./comparable.test.json')
|
6
6
|
|
7
|
-
let
|
7
|
+
let config = {
|
8
8
|
name: 'comparable',
|
9
9
|
operators: [
|
10
10
|
"([condition|])",
|
@@ -47,16 +47,12 @@ let configStruct = {
|
|
47
47
|
],
|
48
48
|
};
|
49
49
|
|
50
|
-
const createConfig = async () => {
|
51
|
-
const config = new Config(configStruct, module)
|
52
|
-
await config.add(dialogues, numbers)
|
53
|
-
return config
|
54
|
-
}
|
55
|
-
|
56
50
|
knowledgeModule({
|
51
|
+
config,
|
52
|
+
includes: [dialogues, numbers],
|
53
|
+
|
57
54
|
module,
|
58
55
|
description: 'Comparable things',
|
59
|
-
createConfig,
|
60
56
|
test: {
|
61
57
|
name: './comparable.test.json',
|
62
58
|
contents: comparable_tests,
|
package/common/concept.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
const {
|
1
|
+
const { knowledgeModule, flatten, where, Digraph } = require('./runtime').theprogrammablemind
|
2
2
|
const { defaultContextCheck } = require('./helpers')
|
3
3
|
const { API }= require('./helpers/concept')
|
4
4
|
const dialogues = require('./dialogues.js')
|
@@ -14,141 +14,137 @@ const concept_instance = require('./concept.instance.json')
|
|
14
14
|
plain and regular fries mean the same thing
|
15
15
|
*/
|
16
16
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
{
|
48
|
-
"
|
49
|
-
|
50
|
-
|
51
|
-
"word": "water"
|
52
|
-
},
|
53
|
-
"marker": "water_type",
|
54
|
-
"modifiers": [
|
55
|
-
"water"
|
56
|
-
],
|
57
|
-
"types": [
|
58
|
-
"water_type"
|
59
|
-
],
|
60
|
-
"value": "water_type",
|
61
|
-
"word": "type",
|
62
|
-
"paraphrase": true
|
17
|
+
config = {
|
18
|
+
name: 'concept',
|
19
|
+
operators: [
|
20
|
+
"((context.punctuation != true)* [modifies|] (concept))",
|
21
|
+
"([concept])",
|
22
|
+
"([literally] (modifies/0))",
|
23
|
+
],
|
24
|
+
bridges: [
|
25
|
+
{
|
26
|
+
id: "modifies",
|
27
|
+
isA: ['verby'],
|
28
|
+
words: [{ word: 'modifies', number: 'one', flatten: false }, { word: 'modify', number: 'many', flatten: true }],
|
29
|
+
// bridge: "{ ...next(operator), modifiers: before, concept: after[0], flatten: true }"
|
30
|
+
bridge: "{ ...next(operator), modifiers: before, concept: after[0] }"
|
31
|
+
},
|
32
|
+
{ id: "literally", bridge: "{ ...after[0], flatten: false, literally: true }" },
|
33
|
+
{ id: "concept", bridge: "{ ...next(operator) }" },
|
34
|
+
],
|
35
|
+
priorities: [
|
36
|
+
{ "context": [['literally', 0], ['modifies', 0], ], "choose": [0] },
|
37
|
+
],
|
38
|
+
hierarchy: [
|
39
|
+
['concept', 'theAble'],
|
40
|
+
['concept', 'queryable'],
|
41
|
+
],
|
42
|
+
generators: [
|
43
|
+
{
|
44
|
+
notes: '"fire type, water type and earth type" to "fire water and earth type"',
|
45
|
+
/*
|
46
|
+
{
|
47
|
+
"water": {
|
48
|
+
"marker": "water",
|
49
|
+
"value": "water",
|
50
|
+
"word": "water"
|
63
51
|
},
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
return
|
75
|
-
}
|
76
|
-
if (!context.value[0].word) {
|
77
|
-
return
|
78
|
-
}
|
79
|
-
const word = context.value[0].word
|
80
|
-
|
81
|
-
for (let value of context.value) {
|
82
|
-
if (!(value.modifiers && value.modifiers.length == 1 && value.word == word)) {
|
83
|
-
return
|
84
|
-
}
|
85
|
-
}
|
86
|
-
return true
|
52
|
+
"marker": "water_type",
|
53
|
+
"modifiers": [
|
54
|
+
"water"
|
55
|
+
],
|
56
|
+
"types": [
|
57
|
+
"water_type"
|
58
|
+
],
|
59
|
+
"value": "water_type",
|
60
|
+
"word": "type",
|
61
|
+
"paraphrase": true
|
87
62
|
},
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
context.modifier = {
|
94
|
-
marker: 'list',
|
95
|
-
paraphrase: true,
|
96
|
-
value: modifiers
|
97
|
-
}
|
98
|
-
context.paraphrase = true
|
99
|
-
return await g(context)
|
63
|
+
*/
|
64
|
+
where: where(),
|
65
|
+
match: ({context}) => {
|
66
|
+
if (!context.paraphrase) {
|
67
|
+
return
|
100
68
|
}
|
101
|
-
|
102
|
-
|
103
|
-
where: where(),
|
104
|
-
match: ({context}) => context.marker == 'modifies' && context.paraphrase,
|
105
|
-
apply: async ({context, gp, gw}) => {
|
106
|
-
const modifiers = []
|
107
|
-
for (modifier of context.modifiers) {
|
108
|
-
modifiers.push(await gp(modifier))
|
109
|
-
}
|
110
|
-
if (context.literally) {
|
111
|
-
return `${modifiers.join(" ")} literally ${await gw(context, { number: context.modifiers[context.modifiers.length - 1] })} ${await gp(context.concept)}`
|
112
|
-
} else {
|
113
|
-
return `${modifiers.join(" ")} ${await gw(context, { number: context.modifiers[context.modifiers.length - 1] })} ${await gp(context.concept)}`
|
114
|
-
}
|
69
|
+
if (context.marker !== 'list') {
|
70
|
+
return
|
115
71
|
}
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
literalModifiers = context.modifiers[0]
|
128
|
-
// modifiers = literalModifiers.value.map(modifier => modifier.value)
|
129
|
-
modifiers = literalModifiers.value
|
130
|
-
modifiers = modifiers.slice(0, -1).concat([literalModifiers.marker]).concat(modifiers.slice(-1))
|
131
|
-
} else {
|
132
|
-
modifiers = context.modifiers
|
133
|
-
// modifiers = context.modifiers.map(modifier => modifier.value)
|
72
|
+
if ((context.value || []).length < 2) {
|
73
|
+
return
|
74
|
+
}
|
75
|
+
if (!context.value[0].word) {
|
76
|
+
return
|
77
|
+
}
|
78
|
+
const word = context.value[0].word
|
79
|
+
|
80
|
+
for (let value of context.value) {
|
81
|
+
if (!(value.modifiers && value.modifiers.length == 1 && value.word == word)) {
|
82
|
+
return
|
134
83
|
}
|
135
|
-
// km('concept').api.kindOfConcept({ config, modifiers, object: context.concept.value || context.concept.marker })
|
136
|
-
km('concept').api.kindOfConcept({ config, modifiers, object: context.concept })
|
137
84
|
}
|
85
|
+
return true
|
138
86
|
},
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
87
|
+
apply: async ({g, context}) => {
|
88
|
+
const modifiers = context.value.map( (p) => p[p.modifiers[0]] )
|
89
|
+
context.word = context.value[0].word
|
90
|
+
context.value = null
|
91
|
+
context.modifiers = ['modifier']
|
92
|
+
context.modifier = {
|
93
|
+
marker: 'list',
|
94
|
+
paraphrase: true,
|
95
|
+
value: modifiers
|
96
|
+
}
|
97
|
+
context.paraphrase = true
|
98
|
+
return await g(context)
|
99
|
+
}
|
100
|
+
},
|
101
|
+
{
|
102
|
+
where: where(),
|
103
|
+
match: ({context}) => context.marker == 'modifies' && context.paraphrase,
|
104
|
+
apply: async ({context, gp, gw}) => {
|
105
|
+
const modifiers = []
|
106
|
+
for (modifier of context.modifiers) {
|
107
|
+
modifiers.push(await gp(modifier))
|
108
|
+
}
|
109
|
+
if (context.literally) {
|
110
|
+
return `${modifiers.join(" ")} literally ${await gw(context, { number: context.modifiers[context.modifiers.length - 1] })} ${await gp(context.concept)}`
|
111
|
+
} else {
|
112
|
+
return `${modifiers.join(" ")} ${await gw(context, { number: context.modifiers[context.modifiers.length - 1] })} ${await gp(context.concept)}`
|
113
|
+
}
|
114
|
+
}
|
115
|
+
// const chosen = chooseNumber(context, word.singular, word.plural)
|
116
|
+
},
|
117
|
+
],
|
118
|
+
semantics: [
|
119
|
+
{
|
120
|
+
notes: 'define a modifier',
|
121
|
+
where: where(),
|
122
|
+
match: ({context}) => context.marker == 'modifies',
|
123
|
+
apply: ({config, query, km, context}) => {
|
124
|
+
let modifiers
|
125
|
+
if (context.literally) {
|
126
|
+
literalModifiers = context.modifiers[0]
|
127
|
+
// modifiers = literalModifiers.value.map(modifier => modifier.value)
|
128
|
+
modifiers = literalModifiers.value
|
129
|
+
modifiers = modifiers.slice(0, -1).concat([literalModifiers.marker]).concat(modifiers.slice(-1))
|
130
|
+
} else {
|
131
|
+
modifiers = context.modifiers
|
132
|
+
// modifiers = context.modifiers.map(modifier => modifier.value)
|
133
|
+
}
|
134
|
+
// km('concept').api.kindOfConcept({ config, modifiers, object: context.concept.value || context.concept.marker })
|
135
|
+
km('concept').api.kindOfConcept({ config, modifiers, object: context.concept })
|
136
|
+
}
|
137
|
+
},
|
138
|
+
],
|
146
139
|
}
|
147
140
|
|
148
141
|
knowledgeModule({
|
142
|
+
config,
|
143
|
+
includes: [dialogues],
|
144
|
+
api: () => new API(),
|
145
|
+
|
149
146
|
module,
|
150
147
|
description: 'The idea of a concept whatever that might end up being',
|
151
|
-
createConfig,
|
152
148
|
test: {
|
153
149
|
name: './concept.test.json',
|
154
150
|
contents: concept_tests,
|
package/common/countable.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 dialogues = require("./hierarchy")
|
4
4
|
const numbers = require("./numbers")
|
@@ -11,7 +11,7 @@ const countable_tests = require('./countable.test.json')
|
|
11
11
|
2 6 and 3 10 piece nuggets
|
12
12
|
*/
|
13
13
|
|
14
|
-
let
|
14
|
+
let config = {
|
15
15
|
name: 'countable',
|
16
16
|
operators: [
|
17
17
|
"(([quantifier|]) [counting] ([countable]))",
|
@@ -75,16 +75,12 @@ let configStruct = {
|
|
75
75
|
]
|
76
76
|
};
|
77
77
|
|
78
|
-
const createConfig = async () => {
|
79
|
-
const config = new Config(configStruct, module)
|
80
|
-
await config.add(dialogues, numbers)
|
81
|
-
return config
|
82
|
-
}
|
83
|
-
|
84
78
|
knowledgeModule({
|
79
|
+
config,
|
80
|
+
includes: [dialogues, numbers],
|
81
|
+
|
85
82
|
module,
|
86
83
|
description: 'Countable things',
|
87
|
-
createConfig,
|
88
84
|
test: {
|
89
85
|
name: './countable.test.json',
|
90
86
|
contents: countable_tests,
|