ekms 8.0.0 → 8.1.0-beta.1

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 (124) hide show
  1. package/common/animals.instance.json +3055 -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 +25666 -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/concept.test.json +688 -0
  18. package/common/conjunction.instance.json +2 -0
  19. package/common/conjunction.js +104 -0
  20. package/common/conjunction.test.json +322 -0
  21. package/common/countable.js +20 -14
  22. package/common/countable.test.json +1050 -0
  23. package/common/crew.instance.json +16432 -9850
  24. package/common/crew.js +39 -42
  25. package/common/crew.test.json +714 -452
  26. package/common/currency.js +28 -46
  27. package/common/dialogues.js +187 -429
  28. package/common/dialogues.test.json +684 -450
  29. package/common/dimension.instance.json +517 -289
  30. package/common/dimension.js +22 -24
  31. package/common/dimension.test.json +727 -1944
  32. package/common/edible.instance.json +20506 -10664
  33. package/common/edible.js +4 -9
  34. package/common/emotions.instance.json +195 -123
  35. package/common/emotions.js +36 -39
  36. package/common/evaluate.instance.json +2 -0
  37. package/common/evaluate.js +53 -0
  38. package/common/evaluate.test.json +574 -0
  39. package/common/events.js +11 -15
  40. package/common/fastfood.instance.json +223185 -113172
  41. package/common/fastfood.js +77 -87
  42. package/common/fastfood.test.json +8205 -3733
  43. package/common/formulas.instance.json +444 -244
  44. package/common/formulas.js +20 -27
  45. package/common/formulas.test.json +1027 -955
  46. package/common/gdefaults.js +45 -32
  47. package/common/help.js +9 -14
  48. package/common/help.test.json +71 -18
  49. package/common/helpers/concept.js +37 -10
  50. package/common/helpers/dialogues.js +22 -4
  51. package/common/helpers/formulas.js +0 -14
  52. package/common/helpers/meta.js +0 -1
  53. package/common/helpers/properties.js +92 -84
  54. package/common/helpers.js +35 -24
  55. package/common/hierarchy.js +18 -25
  56. package/common/javascript.js +12 -19
  57. package/common/kirk.instance.json +583 -300
  58. package/common/kirk.js +6 -9
  59. package/common/length.instance.json +8995 -4964
  60. package/common/length.js +5 -9
  61. package/common/listener.js +48 -0
  62. package/common/listener.test.json +104 -0
  63. package/common/math.instance.json +409 -1202
  64. package/common/math.js +17 -21
  65. package/common/meta.js +24 -50
  66. package/common/nameable.instance.json +2 -0
  67. package/common/nameable.js +144 -0
  68. package/common/nameable.test.json +3191 -0
  69. package/common/negation.instance.json +2 -0
  70. package/common/negation.js +38 -0
  71. package/common/negation.test.json +308 -0
  72. package/common/numbers.js +28 -32
  73. package/common/ordering.instance.json +459 -274
  74. package/common/ordering.js +81 -87
  75. package/common/ordinals.instance.json +2 -0
  76. package/common/ordinals.js +61 -0
  77. package/common/ordinals.test.json +412 -0
  78. package/common/people.instance.json +2138 -1321
  79. package/common/people.js +9 -14
  80. package/common/people.test.json +1815 -1073
  81. package/common/percentages.instance.json +2 -0
  82. package/common/percentages.js +53 -0
  83. package/common/percentages.test.json +751 -0
  84. package/common/pipboy.instance.json +12261 -6898
  85. package/common/pipboy.js +53 -62
  86. package/common/pipboy.test.json +2835 -0
  87. package/common/pokemon.instance.json +4432 -2351
  88. package/common/pokemon.js +8 -21
  89. package/common/pos.js +16 -14
  90. package/common/pressure.instance.json +2311 -1303
  91. package/common/pressure.js +5 -9
  92. package/common/properties.instance.json +151 -87
  93. package/common/properties.js +164 -167
  94. package/common/properties.test.json +17605 -4030
  95. package/common/punctuation.js +24 -8
  96. package/common/punctuation.test.json +233 -5
  97. package/common/reports.instance.json +1037 -551
  98. package/common/reports.js +77 -103
  99. package/common/reports.test.json +15623 -10458
  100. package/common/scorekeeper.js +19 -31
  101. package/common/sdefaults.js +17 -8
  102. package/common/sizeable.js +13 -12
  103. package/common/spock.instance.json +582 -299
  104. package/common/spock.js +6 -9
  105. package/common/stgame.js +20 -20
  106. package/common/stm.js +182 -29
  107. package/common/stm.test.json +1734 -1
  108. package/common/tell.js +15 -19
  109. package/common/temperature.instance.json +2379 -1355
  110. package/common/temperature.js +5 -9
  111. package/common/tester.js +15 -4
  112. package/common/testing.js +8 -13
  113. package/common/time.js +21 -26
  114. package/common/tokenize.js +8 -8
  115. package/common/tokenize.test.json +86 -1
  116. package/common/ui.instance.json +151 -460
  117. package/common/ui.js +22 -34
  118. package/common/ui.test.json +641 -5357
  119. package/common/weight.instance.json +7957 -4350
  120. package/common/weight.js +5 -9
  121. package/common/weight.test.json +242 -238
  122. package/common/yesno.js +6 -6
  123. package/main.js +68 -45
  124. 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: {