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.
Files changed (122) hide show
  1. package/common/animals.instance.json +3003 -1651
  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 -30
  10. package/common/colors.instance.json +25513 -0
  11. package/common/colors.js +67 -0
  12. package/common/colors.test.json +4425 -0
  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 +16855 -9731
  23. package/common/crew.js +39 -42
  24. package/common/crew.test.json +714 -452
  25. package/common/currency.js +28 -46
  26. package/common/dialogues.js +177 -426
  27. package/common/dialogues.test.json +684 -450
  28. package/common/dimension.instance.json +508 -289
  29. package/common/dimension.js +22 -24
  30. package/common/dimension.test.json +727 -1944
  31. package/common/edible.instance.json +20548 -10848
  32. package/common/edible.js +4 -9
  33. package/common/emotions.instance.json +255 -123
  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 +223039 -113390
  40. package/common/fastfood.js +77 -87
  41. package/common/fastfood.test.json +8205 -3733
  42. package/common/formulas.instance.json +444 -244
  43. package/common/formulas.js +20 -27
  44. package/common/formulas.test.json +1027 -955
  45. package/common/gdefaults.js +40 -27
  46. package/common/help.js +9 -14
  47. package/common/help.test.json +71 -18
  48. package/common/helpers/concept.js +33 -10
  49. package/common/helpers/dialogues.js +22 -4
  50. package/common/helpers/formulas.js +0 -14
  51. package/common/helpers/meta.js +0 -1
  52. package/common/helpers/properties.js +72 -76
  53. package/common/helpers.js +35 -24
  54. package/common/hierarchy.js +17 -25
  55. package/common/javascript.js +12 -19
  56. package/common/kirk.instance.json +586 -298
  57. package/common/kirk.js +6 -9
  58. package/common/length.instance.json +9158 -5124
  59. package/common/length.js +5 -9
  60. package/common/listener.js +48 -0
  61. package/common/listener.test.json +104 -0
  62. package/common/math.instance.json +409 -1202
  63. package/common/math.js +17 -21
  64. package/common/meta.js +24 -50
  65. package/common/nameable.instance.json +2 -0
  66. package/common/nameable.js +144 -0
  67. package/common/nameable.test.json +3191 -0
  68. package/common/negation.instance.json +2 -0
  69. package/common/negation.js +38 -0
  70. package/common/negation.test.json +308 -0
  71. package/common/numbers.js +28 -32
  72. package/common/ordering.instance.json +449 -273
  73. package/common/ordering.js +81 -87
  74. package/common/ordinals.instance.json +2 -0
  75. package/common/ordinals.js +60 -0
  76. package/common/ordinals.test.json +306 -0
  77. package/common/people.instance.json +2176 -1141
  78. package/common/people.js +9 -14
  79. package/common/percentages.instance.json +2 -0
  80. package/common/percentages.js +53 -0
  81. package/common/percentages.test.json +751 -0
  82. package/common/pipboy.instance.json +12120 -6879
  83. package/common/pipboy.js +53 -62
  84. package/common/pipboy.test.json +2835 -0
  85. package/common/pokemon.instance.json +4415 -2351
  86. package/common/pokemon.js +8 -21
  87. package/common/pos.js +16 -14
  88. package/common/pressure.instance.json +2348 -1373
  89. package/common/pressure.js +5 -9
  90. package/common/properties.instance.json +151 -87
  91. package/common/properties.js +156 -167
  92. package/common/properties.test.json +17605 -4030
  93. package/common/punctuation.js +24 -8
  94. package/common/punctuation.test.json +233 -5
  95. package/common/reports.instance.json +1027 -551
  96. package/common/reports.js +77 -103
  97. package/common/reports.test.json +15623 -10458
  98. package/common/scorekeeper.js +19 -31
  99. package/common/sdefaults.js +17 -8
  100. package/common/sizeable.js +13 -12
  101. package/common/spock.instance.json +585 -297
  102. package/common/spock.js +6 -9
  103. package/common/stgame.js +20 -20
  104. package/common/stm.js +182 -29
  105. package/common/stm.test.json +1734 -1
  106. package/common/tell.js +15 -19
  107. package/common/temperature.instance.json +2480 -1493
  108. package/common/temperature.js +5 -9
  109. package/common/tester.js +15 -4
  110. package/common/testing.js +8 -13
  111. package/common/time.js +21 -26
  112. package/common/tokenize.js +8 -8
  113. package/common/tokenize.test.json +86 -1
  114. package/common/ui.instance.json +151 -460
  115. package/common/ui.js +22 -34
  116. package/common/ui.test.json +641 -5357
  117. package/common/weight.instance.json +8072 -4490
  118. package/common/weight.js +5 -9
  119. package/common/weight.test.json +242 -238
  120. package/common/yesno.js +6 -6
  121. package/main.js +68 -45
  122. package/package.json +44 -6
package/common/ui.js CHANGED
@@ -1,7 +1,7 @@
1
- const { Config, knowledgeModule, where, Digraph } = require('./runtime').theprogrammablemind
1
+ const { knowledgeModule, where, Digraph } = require('./runtime').theprogrammablemind
2
2
  const { defaultContextCheck } = require('./helpers')
3
3
  const dialogues = require('./dialogues')
4
- const math = require('./math')
4
+ const ordinals = require('./ordinals')
5
5
  const ui_tests = require('./ui.test.json')
6
6
  const ui_instance = require('./ui.instance.json')
7
7
 
@@ -39,13 +39,13 @@ class API {
39
39
  again
40
40
  stop/start listening
41
41
  */
42
- const configStruct = {
42
+ const config = {
43
43
  name: 'ui',
44
44
  operators: [
45
45
  "([select])",
46
46
  "([unselect])",
47
47
  "([cancel])",
48
- "([move] ([direction]))",
48
+ "([move] ([moveable])? ([direction]))",
49
49
  "([down])",
50
50
  "([up])",
51
51
  "([left])",
@@ -58,7 +58,7 @@ const configStruct = {
58
58
  {
59
59
  where: where(),
60
60
  match: ({context, isA}) => isA(context, 'direction'),
61
- apply: ({context, insert, s, fragments}) => {
61
+ apply: async ({context, insert, s, fragments}) => {
62
62
  const direction = context
63
63
  const fragment = fragments("move direction")
64
64
  const mappings = [{
@@ -66,8 +66,8 @@ const configStruct = {
66
66
  match: ({context}) => context.value == 'direction',
67
67
  apply: ({context}) => Object.assign(context, direction),
68
68
  }]
69
- const instantiation = fragment.instantiate(mappings)
70
- s(instantiation)
69
+ const instantiation = await fragment.instantiate(mappings)
70
+ await s(instantiation)
71
71
  }
72
72
  },
73
73
  ],
@@ -75,7 +75,7 @@ const configStruct = {
75
75
  {
76
76
  where: where(),
77
77
  id: "select",
78
- isA: ['verby'],
78
+ isA: ['verb'],
79
79
  level: 0,
80
80
  bridge: "{ ...next(operator) }",
81
81
  semantic: ({api, context}) => {
@@ -85,7 +85,7 @@ const configStruct = {
85
85
  {
86
86
  where: where(),
87
87
  id: "unselect",
88
- isA: ['verby'],
88
+ isA: ['verb'],
89
89
  level: 0,
90
90
  bridge: "{ ...next(operator) }",
91
91
  semantic: ({api, context}) => {
@@ -103,7 +103,7 @@ const configStruct = {
103
103
  {
104
104
  where: where(),
105
105
  id: "cancel",
106
- isA: ['verby'],
106
+ isA: ['verb'],
107
107
  level: 0,
108
108
  words: ['close'],
109
109
  bridge: "{ ...next(operator) }",
@@ -114,36 +114,30 @@ const configStruct = {
114
114
  {
115
115
  where: where(),
116
116
  id: "stop",
117
- isA: ['verby'],
117
+ isA: ['verb'],
118
118
  level: 0,
119
119
  bridge: "{ ...next(operator), action: after[0] }",
120
- generatorp: ({context, g}) => `stop ${g(context.action)}`,
120
+ generatorp: async ({context, g}) => `stop ${await g(context.action)}`,
121
121
  semantic: ({api, context}) => {
122
- debugger
123
122
  api.stop(context.action.value)
124
123
  }
125
124
  },
126
125
  {
127
126
  where: where(),
128
127
  id: "move",
129
- isA: ['verby'],
128
+ isA: ['verb'],
130
129
  level: 0,
131
- bridge: "{ ...next(operator), direction: after[0] }",
132
- generatorp: ({context, g}) => `move ${g(context.direction)}`,
130
+ optional: { 1: "{ marker: 'moveable', pullFromContext: true, default: true, skipDefault: true }" },
131
+ bridge: "{ ...next(operator), operator: operator, moveable: after[0], direction: after[1], generate: ['operator', 'moveable', 'direction' ] }",
133
132
  semantic: ({api, context}) => {
134
133
  api.move(context.direction.value, context.direction.steps ? context.direction.steps.value : 1)
135
134
  }
136
135
  },
137
- {
138
- id: "direction",
139
- level: 0,
140
- bridge: "{ ...next(operator) }"
141
- },
136
+ { id: "moveable", },
137
+ { id: "direction", },
142
138
  {
143
139
  id: "up",
144
- level: 0,
145
140
  isA: ['direction'],
146
- bridge: "{ ...next(operator) }"
147
141
  },
148
142
  {
149
143
  id: "down",
@@ -184,27 +178,21 @@ const template = {
184
178
  ],
185
179
  }
186
180
 
187
- const createConfig = () => {
188
- const config = new Config(configStruct, module)
189
- config.stop_auto_rebuild()
190
- config.add(dialogues(), math())
191
- config.api = new API()
192
- config.restart_auto_rebuild()
193
- return config
194
- }
195
-
196
181
  // const config = createConfig()
197
182
 
198
183
  knowledgeModule({
184
+ config,
185
+ includes: [dialogues, ordinals],
186
+ api: () => new API(),
187
+
199
188
  module,
200
189
  description: 'Control a ui with speech',
201
- createConfig,
202
190
  test: {
203
191
  name: './ui.test.json',
204
192
  contents: ui_tests,
205
193
  checks: {
206
194
  objects: ['move', 'select', 'unselect', 'cancel', 'stop'],
207
- context: defaultContextCheck,
195
+ context: defaultContextCheck(['operator', 'direction', 'moveable']),
208
196
  },
209
197
  },
210
198
  template: {