tpmkms 8.0.0 → 8.1.0-beta.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 (123) 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/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 +16539 -9727
  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 +177 -426
  28. package/common/dialogues.test.json +684 -450
  29. package/common/dimension.instance.json +508 -289
  30. package/common/dimension.js +22 -24
  31. package/common/dimension.test.json +727 -1944
  32. package/common/edible.instance.json +20548 -10848
  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 +223190 -112902
  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 +40 -27
  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 +72 -76
  54. package/common/helpers.js +35 -24
  55. package/common/hierarchy.js +17 -25
  56. package/common/javascript.js +12 -19
  57. package/common/kirk.instance.json +586 -298
  58. package/common/kirk.js +6 -9
  59. package/common/length.instance.json +9158 -5124
  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 +449 -273
  74. package/common/ordering.js +81 -87
  75. package/common/ordinals.instance.json +2 -0
  76. package/common/ordinals.js +60 -0
  77. package/common/ordinals.test.json +306 -0
  78. package/common/people.instance.json +2149 -1142
  79. package/common/people.js +9 -14
  80. package/common/percentages.instance.json +2 -0
  81. package/common/percentages.js +53 -0
  82. package/common/percentages.test.json +751 -0
  83. package/common/pipboy.instance.json +12163 -6898
  84. package/common/pipboy.js +53 -62
  85. package/common/pipboy.test.json +2835 -0
  86. package/common/pokemon.instance.json +4415 -2351
  87. package/common/pokemon.js +8 -21
  88. package/common/pos.js +16 -14
  89. package/common/pressure.instance.json +2348 -1373
  90. package/common/pressure.js +5 -9
  91. package/common/properties.instance.json +151 -87
  92. package/common/properties.js +156 -167
  93. package/common/properties.test.json +17605 -4030
  94. package/common/punctuation.js +24 -8
  95. package/common/punctuation.test.json +233 -5
  96. package/common/reports.instance.json +1027 -551
  97. package/common/reports.js +77 -103
  98. package/common/reports.test.json +15623 -10458
  99. package/common/scorekeeper.js +19 -31
  100. package/common/sdefaults.js +17 -8
  101. package/common/sizeable.js +13 -12
  102. package/common/spock.instance.json +585 -297
  103. package/common/spock.js +6 -9
  104. package/common/stgame.js +20 -20
  105. package/common/stm.js +182 -29
  106. package/common/stm.test.json +1734 -1
  107. package/common/tell.js +15 -19
  108. package/common/temperature.instance.json +2480 -1493
  109. package/common/temperature.js +5 -9
  110. package/common/tester.js +15 -4
  111. package/common/testing.js +8 -13
  112. package/common/time.js +21 -26
  113. package/common/tokenize.js +8 -8
  114. package/common/tokenize.test.json +86 -1
  115. package/common/ui.instance.json +151 -460
  116. package/common/ui.js +22 -34
  117. package/common/ui.test.json +641 -5357
  118. package/common/weight.instance.json +8072 -4490
  119. package/common/weight.js +5 -9
  120. package/common/weight.test.json +242 -238
  121. package/common/yesno.js +6 -6
  122. package/main.js +68 -45
  123. 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: {