ekms 8.0.0-beta.9 → 8.0.0-beta.91

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.
Files changed (113) hide show
  1. package/common/animals.instance.json +2915 -1553
  2. package/common/animals.js +17 -20
  3. package/common/articles.js +103 -0
  4. package/common/articles.test.json +310 -0
  5. package/common/asking.instance.json +2 -0
  6. package/common/asking.js +253 -0
  7. package/common/asking.test.json +2290 -0
  8. package/common/avatar.js +6 -10
  9. package/common/characters.js +23 -29
  10. package/common/colors.instance.json +7487 -4114
  11. package/common/colors.js +5 -9
  12. package/common/colors.test.json +345 -780
  13. package/common/comparable.instance.json +1750 -0
  14. package/common/comparable.js +36 -28
  15. package/common/comparable.test.json +1196 -2
  16. package/common/concept.js +121 -119
  17. package/common/conjunction.instance.json +2 -0
  18. package/common/conjunction.js +104 -0
  19. package/common/conjunction.test.json +322 -0
  20. package/common/countable.js +20 -14
  21. package/common/countable.test.json +1050 -0
  22. package/common/crew.instance.json +13553 -7026
  23. package/common/crew.js +37 -42
  24. package/common/crew.test.json +714 -452
  25. package/common/currency.js +28 -46
  26. package/common/dialogues.js +150 -426
  27. package/common/dialogues.test.json +0 -786
  28. package/common/dimension.instance.json +491 -262
  29. package/common/dimension.js +22 -24
  30. package/common/dimension.test.json +508 -1702
  31. package/common/edible.instance.json +20446 -10806
  32. package/common/edible.js +4 -9
  33. package/common/emotions.instance.json +192 -124
  34. package/common/emotions.js +36 -39
  35. package/common/evaluate.instance.json +2 -0
  36. package/common/evaluate.js +53 -0
  37. package/common/evaluate.test.json +574 -0
  38. package/common/events.js +11 -15
  39. package/common/fastfood.instance.json +222642 -113618
  40. package/common/fastfood.js +76 -86
  41. package/common/fastfood.test.json +268 -90
  42. package/common/formulas.instance.json +443 -247
  43. package/common/formulas.js +20 -27
  44. package/common/gdefaults.js +40 -27
  45. package/common/help.js +9 -14
  46. package/common/help.test.json +65 -16
  47. package/common/helpers/concept.js +10 -7
  48. package/common/helpers/dialogues.js +5 -3
  49. package/common/helpers/properties.js +67 -64
  50. package/common/helpers.js +35 -24
  51. package/common/hierarchy.js +17 -25
  52. package/common/javascript.js +12 -19
  53. package/common/kirk.instance.json +583 -299
  54. package/common/kirk.js +6 -9
  55. package/common/length.instance.json +9005 -5001
  56. package/common/length.js +5 -9
  57. package/common/listener.js +48 -0
  58. package/common/listener.test.json +104 -0
  59. package/common/math.instance.json +406 -1178
  60. package/common/math.js +17 -21
  61. package/common/meta.js +24 -48
  62. package/common/nameable.instance.json +2 -0
  63. package/common/nameable.js +144 -0
  64. package/common/nameable.test.json +3191 -0
  65. package/common/negation.js +11 -7
  66. package/common/numbers.js +28 -32
  67. package/common/ordering.instance.json +443 -343
  68. package/common/ordering.js +81 -87
  69. package/common/ordinals.instance.json +2 -0
  70. package/common/ordinals.js +60 -0
  71. package/common/ordinals.test.json +306 -0
  72. package/common/people.instance.json +2210 -1150
  73. package/common/people.js +9 -14
  74. package/common/percentages.instance.json +2 -0
  75. package/common/percentages.js +53 -0
  76. package/common/percentages.test.json +751 -0
  77. package/common/pipboy.instance.json +11845 -6590
  78. package/common/pipboy.js +53 -62
  79. package/common/pipboy.test.json +2835 -0
  80. package/common/pokemon.instance.json +4300 -2285
  81. package/common/pokemon.js +8 -21
  82. package/common/pos.js +16 -14
  83. package/common/pressure.instance.json +2325 -1340
  84. package/common/pressure.js +5 -9
  85. package/common/properties.instance.json +148 -88
  86. package/common/properties.js +149 -160
  87. package/common/punctuation.js +16 -8
  88. package/common/reports.instance.json +1019 -551
  89. package/common/reports.js +77 -101
  90. package/common/reports.test.json +15623 -10458
  91. package/common/scorekeeper.js +19 -31
  92. package/common/sdefaults.js +17 -8
  93. package/common/sizeable.js +7 -11
  94. package/common/spock.instance.json +582 -298
  95. package/common/spock.js +6 -9
  96. package/common/stgame.js +20 -20
  97. package/common/stm.js +173 -31
  98. package/common/stm.test.json +1734 -1
  99. package/common/tell.js +15 -19
  100. package/common/temperature.instance.json +2430 -1429
  101. package/common/temperature.js +5 -9
  102. package/common/tester.js +15 -4
  103. package/common/testing.js +8 -12
  104. package/common/time.js +21 -26
  105. package/common/tokenize.js +6 -7
  106. package/common/ui.instance.json +150 -463
  107. package/common/ui.js +22 -33
  108. package/common/ui.test.json +641 -5357
  109. package/common/weight.instance.json +8034 -4503
  110. package/common/weight.js +5 -9
  111. package/common/yesno.js +6 -6
  112. package/main.js +20 -4
  113. package/package.json +37 -6
@@ -1,4 +1,4 @@
1
- const { Config, knowledgeModule, where } = require('./runtime').theprogrammablemind
1
+ const { knowledgeModule, where } = require('./runtime').theprogrammablemind
2
2
  const { defaultContextCheck } = require('./helpers')
3
3
  const hierarchy = require('./hierarchy')
4
4
  const ordering_tests = require('./ordering.test.json')
@@ -32,102 +32,96 @@ const api = new API();
32
32
 
33
33
  if a likes b then a wants b
34
34
  */
35
- const createConfig = () => {
36
- const config = new Config({ name: 'ordering' }, module)
37
- config.stop_auto_rebuild()
38
- config.api = api
39
- config.add(hierarchy())
40
- // config.load(template, ordering_instance)
41
-
42
- config.initializer(({config, km}) => {
43
- const oapi = km('ordering').api
44
- oapi.createOrdering({ name: 'preference', categories: [ ['love', 'like'], ['hate', 'dislike'] ], ordering: [ ['love', 'like'], ['like', 'dislike'], ['dislike', 'hate'] ] })
45
- const papi = km('properties').api
46
- // want is xfx between wanter and wantee
47
- // papi.createBinaryRelation(config, 'want', ['want', 'wants'], 'wanter', 'wantee')
48
- papi.createActionPrefix({
49
- operator: 'love',
50
- create: ['love'],
51
- before: [{tag: 'lover', id: 'object'}],
52
- after: [{tag: 'lovee', id: 'object'}],
53
- ordering: {
54
- name: 'preference',
55
- marker: 'love',
56
- object: 'lover',
57
- category: 'lovee',
58
- },
59
- doAble: true,
60
- config
61
- })
62
- papi.createActionPrefix({
63
- operator: 'like',
64
- create: ['like'],
65
- before: [{tag: 'liker', id: 'object'}],
66
- after: [{tag: 'likee', id: 'object'}],
67
- ordering: {
68
- name: 'preference',
69
- marker: 'like',
70
- object: 'liker',
71
- category: 'likee',
72
- },
73
- doAble: true,
74
- config
75
- })
76
- papi.createActionPrefix({
77
- operator: 'dislike',
78
- create: ['dislike'],
79
- before: [{tag: 'disliker', id: 'object'}],
80
- after: [{tag: 'dislikee', id: 'object'}],
81
- ordering: {
82
- name: 'preference',
83
- marker: 'dislike',
84
- object: 'disliker',
85
- category: 'dislikee',
86
- },
87
- doAble: true,
88
- config
89
- })
90
- papi.createActionPrefix({
91
- // pattern: [ {tag: 'hater', id: 'object'}, { operator, create: true, relation: true }, {tag: 'hatee', id: 'object'} ],
92
- operator: 'hate',
93
- create: ['hate'],
94
- before: [{tag: 'hater', id: 'object'}],
95
- after: [{tag: 'hatee', id: 'object'}],
96
- ordering: {
97
- name: 'preference',
98
- marker: 'hate',
99
- object: 'hater',
100
- category: 'hatee',
101
- },
102
- doAble: true,
103
- // negation: 'likes',
104
- config
105
- })
106
- /*
107
- papi.createActionPrefix({
108
- operator: 'own',
109
- create: ['own'],
110
- before: [{tag: 'owner', id: 'object'}],
111
- after: [{tag: 'ownee', id: 'object'}],
112
- relation: true,
113
- config
114
- })
115
- */
116
- })
117
- config.restart_auto_rebuild()
118
- return config
35
+ const initializer = ({config, km}) => {
36
+ const oapi = km('ordering').api
37
+ oapi.createOrdering({ name: 'preference', categories: [ ['love', 'like'], ['hate', 'dislike'] ], ordering: [ ['love', 'like'], ['like', 'dislike'], ['dislike', 'hate'] ] })
38
+ const papi = km('properties').api
39
+ // want is xfx between wanter and wantee
40
+ // papi.createBinaryRelation(config, 'want', ['want', 'wants'], 'wanter', 'wantee')
41
+ papi.createActionPrefix({
42
+ operator: 'love',
43
+ create: ['love'],
44
+ before: [{tag: 'lover', id: 'object'}],
45
+ after: [{tag: 'lovee', id: 'object'}],
46
+ ordering: {
47
+ name: 'preference',
48
+ marker: 'love',
49
+ object: 'lover',
50
+ category: 'lovee',
51
+ },
52
+ doAble: true,
53
+ config
54
+ })
55
+ papi.createActionPrefix({
56
+ operator: 'like',
57
+ create: ['like'],
58
+ before: [{tag: 'liker', id: 'object'}],
59
+ after: [{tag: 'likee', id: 'object'}],
60
+ ordering: {
61
+ name: 'preference',
62
+ marker: 'like',
63
+ object: 'liker',
64
+ category: 'likee',
65
+ },
66
+ doAble: true,
67
+ config
68
+ })
69
+ papi.createActionPrefix({
70
+ operator: 'dislike',
71
+ create: ['dislike'],
72
+ before: [{tag: 'disliker', id: 'object'}],
73
+ after: [{tag: 'dislikee', id: 'object'}],
74
+ ordering: {
75
+ name: 'preference',
76
+ marker: 'dislike',
77
+ object: 'disliker',
78
+ category: 'dislikee',
79
+ },
80
+ doAble: true,
81
+ config
82
+ })
83
+ papi.createActionPrefix({
84
+ // pattern: [ {tag: 'hater', id: 'object'}, { operator, create: true, relation: true }, {tag: 'hatee', id: 'object'} ],
85
+ operator: 'hate',
86
+ create: ['hate'],
87
+ before: [{tag: 'hater', id: 'object'}],
88
+ after: [{tag: 'hatee', id: 'object'}],
89
+ ordering: {
90
+ name: 'preference',
91
+ marker: 'hate',
92
+ object: 'hater',
93
+ category: 'hatee',
94
+ },
95
+ doAble: true,
96
+ // negation: 'likes',
97
+ config
98
+ })
99
+ /*
100
+ papi.createActionPrefix({
101
+ operator: 'own',
102
+ create: ['own'],
103
+ before: [{tag: 'owner', id: 'object'}],
104
+ after: [{tag: 'ownee', id: 'object'}],
105
+ relation: true,
106
+ config
107
+ })
108
+ */
119
109
  }
120
110
 
121
111
  knowledgeModule( {
112
+ config: { name: 'ordering' },
113
+ api: () => new API(),
114
+ includes: [hierarchy],
115
+ initializer,
116
+
122
117
  module,
123
118
  description: 'ordering related concepts',
124
- createConfig,
125
119
  test: {
126
120
  name: './ordering.test.json',
127
121
  heck: ['children', 'concept', 'parents', 'properties'],
128
122
  contents: ordering_tests,
129
123
  checks: {
130
- context: defaultContextCheck,
124
+ context: defaultContextCheck(),
131
125
  },
132
126
 
133
127
  },
@@ -0,0 +1,2 @@
1
+ {
2
+ }
@@ -0,0 +1,60 @@
1
+ const { knowledgeModule, where } = require('./runtime').theprogrammablemind
2
+ const { defaultContextCheck } = require('./helpers')
3
+ const ordinals_tests = require('./ordinals.test.json')
4
+ const numbers = require('./numbers')
5
+ const pos = require('./pos')
6
+
7
+ let config = {
8
+ name: 'ordinals',
9
+ operators: [
10
+ "([ordinal])",
11
+ "([orderable])",
12
+ "((ordinal/*) [ordinalOnOrdered|] (orderable/*))",
13
+ ],
14
+ bridges: [
15
+ {
16
+ id: "ordinal",
17
+ isA: ['number'],
18
+ bridge: "{ instance: false, ordinal: true, ...next(operator) }"
19
+ },
20
+ {
21
+ id: "orderable",
22
+ bridge: "{ ...next(operator) }"
23
+ },
24
+ {
25
+ id: "ordinalOnOrdered",
26
+ isA: ['adjective'],
27
+ convolution: true,
28
+ bridge: "{ ...after[0], ordinal: before[0], modifiers: append(['ordinal'], after[0].modifiers) }"
29
+ },
30
+ ],
31
+ words: {
32
+ "literals": {
33
+ "first": [{"id": "ordinal", "initial": "{ value: 1, ordinal: true, instance: true }" }],
34
+ "1st": [{"id": "ordinal", "initial": "{ value: 1, ordinal: true, instance: true }" }],
35
+ "second": [{"id": "ordinal", "initial": "{ value: 2, ordinal: true, instance: true }" }],
36
+ "2nd": [{"id": "ordinal", "initial": "{ value: 2, ordinal: true, instance: true }" }],
37
+ "third": [{"id": "ordinal", "initial": "{ value: 3, ordinal: true, instance: true }" }],
38
+ "3rd": [{"id": "ordinal", "initial": "{ value: 3, ordinal: true, instance: true }" }],
39
+ },
40
+ patterns: [
41
+ { "pattern": [{ type: 'digit' }, { repeat: true }, 'th'], defs: [{id: "ordinal", uuid: '1', initial: "{ value: int(substr(text, -2)), ordinal: true, instance: true }" }]},
42
+ ],
43
+ },
44
+ };
45
+
46
+ knowledgeModule( {
47
+ config,
48
+ includes: [pos, numbers],
49
+
50
+ module,
51
+ description: 'talking about ordinals',
52
+ test: {
53
+ name: './ordinals.test.json',
54
+ contents: ordinals_tests,
55
+ checks: {
56
+ context: defaultContextCheck(),
57
+ },
58
+
59
+ },
60
+ })
@@ -0,0 +1,306 @@
1
+ [
2
+ {
3
+ "associations": [
4
+ [
5
+ [
6
+ "orderable",
7
+ 0
8
+ ],
9
+ [
10
+ "ordinal",
11
+ 0
12
+ ]
13
+ ]
14
+ ],
15
+ "config": {
16
+ },
17
+ "contexts": [
18
+ {
19
+ "dead": true,
20
+ "default": true,
21
+ "level": 1,
22
+ "marker": "orderable",
23
+ "modifiers": [
24
+ "ordinal"
25
+ ],
26
+ "ordinal": {
27
+ "dead": true,
28
+ "instance": true,
29
+ "level": 1,
30
+ "marker": "ordinal",
31
+ "ordinal": true,
32
+ "range": {
33
+ "end": 2,
34
+ "start": 0
35
+ },
36
+ "text": "1st",
37
+ "types": [
38
+ "ordinal"
39
+ ],
40
+ "value": 1,
41
+ "word": "1st"
42
+ },
43
+ "range": {
44
+ "end": 12,
45
+ "start": 0
46
+ },
47
+ "text": "1st orderable",
48
+ "topLevel": true,
49
+ "types": [
50
+ "orderable"
51
+ ],
52
+ "value": "orderable",
53
+ "word": "orderable"
54
+ }
55
+ ],
56
+ "developerTest": false,
57
+ "generatedParenthesized": [
58
+ ""
59
+ ],
60
+ "metadata": {
61
+ "opChoices": [
62
+ {
63
+ "counter": 1,
64
+ "op": [
65
+ "ordinal",
66
+ 0
67
+ ],
68
+ "ops": [
69
+ [
70
+ "orderable",
71
+ 0
72
+ ],
73
+ [
74
+ "ordinal",
75
+ 0
76
+ ],
77
+ [
78
+ "ordinalOnOrdered",
79
+ 0
80
+ ]
81
+ ]
82
+ },
83
+ {
84
+ "counter": 2,
85
+ "op": [
86
+ "orderable",
87
+ 0
88
+ ],
89
+ "ops": [
90
+ [
91
+ "orderable",
92
+ 0
93
+ ],
94
+ [
95
+ "ordinalOnOrdered",
96
+ 0
97
+ ]
98
+ ]
99
+ },
100
+ {
101
+ "counter": 3,
102
+ "op": [
103
+ "ordinalOnOrdered",
104
+ 0
105
+ ],
106
+ "ops": [
107
+ [
108
+ "ordinalOnOrdered",
109
+ 0
110
+ ]
111
+ ]
112
+ }
113
+ ]
114
+ },
115
+ "objects": {
116
+ "nameToUUID": {
117
+ "gdefaults": "gdefaults2",
118
+ "numbers": "numbers2",
119
+ "ordinals": "ordinals1",
120
+ "pos": "pos2",
121
+ "punctuation": "punctuation2",
122
+ "sdefaults": "sdefaults2",
123
+ "tokenize": "tokenize2"
124
+ },
125
+ "namespaced": {
126
+ "gdefaults2": {
127
+ },
128
+ "numbers2": {
129
+ },
130
+ "ordinals1": {
131
+ },
132
+ "pos2": {
133
+ },
134
+ "punctuation2": {
135
+ },
136
+ "sdefaults2": {
137
+ },
138
+ "tokenize2": {
139
+ }
140
+ },
141
+ "processed": [
142
+ {
143
+ "context": {
144
+ "dead": true,
145
+ "default": true,
146
+ "level": 1,
147
+ "marker": "orderable",
148
+ "modifiers": [
149
+ "ordinal"
150
+ ],
151
+ "ordinal": {
152
+ "dead": true,
153
+ "instance": true,
154
+ "level": 1,
155
+ "marker": "ordinal",
156
+ "ordinal": true,
157
+ "range": {
158
+ "end": 2,
159
+ "start": 0
160
+ },
161
+ "text": "1st",
162
+ "types": [
163
+ "ordinal"
164
+ ],
165
+ "value": 1,
166
+ "word": "1st"
167
+ },
168
+ "range": {
169
+ "end": 12,
170
+ "start": 0
171
+ },
172
+ "text": "1st orderable",
173
+ "topLevel": true,
174
+ "types": [
175
+ "orderable"
176
+ ],
177
+ "value": "orderable",
178
+ "word": "orderable"
179
+ },
180
+ "generatedParenthesized": "",
181
+ "paraphrases": "1st orderable",
182
+ "paraphrasesParenthesized": "((1st) (orderable))",
183
+ "responses": [
184
+ ""
185
+ ]
186
+ }
187
+ ]
188
+ },
189
+ "paraphrases": [
190
+ "1st orderable"
191
+ ],
192
+ "paraphrasesParenthesized": [
193
+ "((1st) (orderable))"
194
+ ],
195
+ "query": "1st orderable",
196
+ "responses": [
197
+ ""
198
+ ]
199
+ },
200
+ {
201
+ "associations": [
202
+ ],
203
+ "config": {
204
+ },
205
+ "contexts": [
206
+ {
207
+ "dead": true,
208
+ "instance": true,
209
+ "level": 1,
210
+ "marker": "ordinal",
211
+ "ordinal": true,
212
+ "range": {
213
+ "end": 2,
214
+ "start": 0
215
+ },
216
+ "text": "4th",
217
+ "topLevel": true,
218
+ "value": 4,
219
+ "word": "4th"
220
+ }
221
+ ],
222
+ "developerTest": false,
223
+ "generatedParenthesized": [
224
+ ""
225
+ ],
226
+ "metadata": {
227
+ "opChoices": [
228
+ {
229
+ "counter": 1,
230
+ "op": [
231
+ "ordinal",
232
+ 0
233
+ ],
234
+ "ops": [
235
+ [
236
+ "ordinal",
237
+ 0
238
+ ]
239
+ ]
240
+ }
241
+ ]
242
+ },
243
+ "objects": {
244
+ "nameToUUID": {
245
+ "gdefaults": "gdefaults2",
246
+ "numbers": "numbers2",
247
+ "ordinals": "ordinals1",
248
+ "pos": "pos2",
249
+ "punctuation": "punctuation2",
250
+ "sdefaults": "sdefaults2",
251
+ "tokenize": "tokenize2"
252
+ },
253
+ "namespaced": {
254
+ "gdefaults2": {
255
+ },
256
+ "numbers2": {
257
+ },
258
+ "ordinals1": {
259
+ },
260
+ "pos2": {
261
+ },
262
+ "punctuation2": {
263
+ },
264
+ "sdefaults2": {
265
+ },
266
+ "tokenize2": {
267
+ }
268
+ },
269
+ "processed": [
270
+ {
271
+ "context": {
272
+ "dead": true,
273
+ "instance": true,
274
+ "level": 1,
275
+ "marker": "ordinal",
276
+ "ordinal": true,
277
+ "range": {
278
+ "end": 2,
279
+ "start": 0
280
+ },
281
+ "text": "4th",
282
+ "topLevel": true,
283
+ "value": 4,
284
+ "word": "4th"
285
+ },
286
+ "generatedParenthesized": "",
287
+ "paraphrases": "4th",
288
+ "paraphrasesParenthesized": "(4th)",
289
+ "responses": [
290
+ ""
291
+ ]
292
+ }
293
+ ]
294
+ },
295
+ "paraphrases": [
296
+ "4th"
297
+ ],
298
+ "paraphrasesParenthesized": [
299
+ "(4th)"
300
+ ],
301
+ "query": "4th",
302
+ "responses": [
303
+ ""
304
+ ]
305
+ }
306
+ ]