tpmkms_4wp 9.5.1 → 9.6.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 +21 -61
  2. package/common/asking.js +116 -106
  3. package/common/avatar.test.json +1001 -860
  4. package/common/can.instance.json +2174 -0
  5. package/common/can.js +254 -0
  6. package/common/can.test.json +51307 -0
  7. package/common/characters.js +5 -5
  8. package/common/colors.instance.json +12 -12
  9. package/common/comparable.instance.json +3 -3
  10. package/common/concept.js +25 -27
  11. package/common/concept.test.json +180 -144
  12. package/common/conjunction.js +13 -5
  13. package/common/conjunction.test.json +32 -42
  14. package/common/crew.instance.json +196 -160
  15. package/common/crew.js +1 -1
  16. package/common/crew.test.json +4148 -3324
  17. package/common/currency.js +1 -1
  18. package/common/dateTimeSelectors.instance.json +2 -2
  19. package/common/dateTimeSelectors.js +3 -3
  20. package/common/dateTimeSelectors.test.json +76935 -35739
  21. package/common/dates.instance.json +3 -3
  22. package/common/dates.test.json +284 -287
  23. package/common/dialogues.js +41 -119
  24. package/common/dialogues.test.json +1171 -996
  25. package/common/dimension.instance.json +21369 -557
  26. package/common/dimension.js +148 -54
  27. package/common/dimension.test.json +8753 -3495
  28. package/common/drone.instance.json +23712 -0
  29. package/common/drone.js +448 -0
  30. package/common/drone.test.json +66665 -0
  31. package/common/edible.instance.json +32 -32
  32. package/common/emotions.instance.json +75 -76
  33. package/common/emotions.js +1 -1
  34. package/common/emotions.test.json +242 -174
  35. package/common/english_helpers.js +336 -0
  36. package/common/errors.js +6 -6
  37. package/common/evaluate.js +2 -2
  38. package/common/events.js +8 -8
  39. package/common/fastfood.instance.json +389 -245
  40. package/common/fastfood.js +11 -11
  41. package/common/fastfood.test.json +6970 -6829
  42. package/common/formulas.instance.json +1 -1
  43. package/common/formulas.js +1 -1
  44. package/common/gdefaults.js +111 -17
  45. package/common/help.js +12 -12
  46. package/common/help.test.json +65 -11
  47. package/common/helpers/concept.js +1 -1
  48. package/common/helpers/conjunction.js +54 -44
  49. package/common/helpers/dateTimeSelectors.js +2 -2
  50. package/common/helpers/dialogues.js +7 -2
  51. package/common/helpers/formulas.js +13 -11
  52. package/common/helpers/menus.js +12 -12
  53. package/common/helpers/meta.js +9 -9
  54. package/common/helpers/properties.js +185 -62
  55. package/common/helpers.js +167 -48
  56. package/common/hierarchy.js +6 -4
  57. package/common/kirk.instance.json +1 -1
  58. package/common/kirk.test.json +600 -424
  59. package/common/latin.instance.json +12 -12
  60. package/common/latin.js +9 -9
  61. package/common/length.instance.json +27612 -2890
  62. package/common/length.js +6 -1
  63. package/common/length.test.json +45315 -3925
  64. package/common/math.instance.json +29 -29
  65. package/common/math.js +47 -46
  66. package/common/menus.instance.json +7 -10
  67. package/common/menus.js +2 -9
  68. package/common/meta.js +77 -60
  69. package/common/nameable.js +20 -13
  70. package/common/nameable.test.json +436 -0
  71. package/common/numbers.js +1 -1
  72. package/common/ordering.instance.json +87 -19
  73. package/common/ordering.js +1 -1
  74. package/common/ordering.test.json +835 -417
  75. package/common/people.instance.json +96 -348
  76. package/common/people.js +6 -4
  77. package/common/people.test.json +4135 -3606
  78. package/common/pipboy.instance.json +17 -17
  79. package/common/pipboy.js +2 -3
  80. package/common/pokemon.instance.json +13 -13
  81. package/common/pokemon.js +1 -1
  82. package/common/pressure.instance.json +3579 -1610
  83. package/common/pressure.test.json +433 -477
  84. package/common/properties.instance.json +6 -17
  85. package/common/properties.js +25 -7
  86. package/common/properties.test.json +9565 -6951
  87. package/common/rates.instance.json +59 -0
  88. package/common/rates.js +97 -0
  89. package/common/rates.test.json +27702 -0
  90. package/common/reminders.instance.json +4 -4
  91. package/common/reminders.js +5 -5
  92. package/common/reminders.test.json +64635 -25787
  93. package/common/reports.instance.json +3 -3
  94. package/common/reports.js +18 -16
  95. package/common/scorekeeper.js +6 -6
  96. package/common/sdefaults.js +22 -2
  97. package/common/spock.instance.json +1 -1
  98. package/common/spock.test.json +606 -430
  99. package/common/stgame.js +1 -1
  100. package/common/stm.js +17 -6
  101. package/common/tell.js +1 -1
  102. package/common/temperature.instance.json +3659 -1690
  103. package/common/temperature.test.json +433 -477
  104. package/common/tester.js +3 -3
  105. package/common/time.instance.json +24762 -0
  106. package/common/time.js +137 -141
  107. package/common/time.test.json +31876 -3757
  108. package/common/tokenize.js +5 -2
  109. package/common/ui.instance.json +2 -5
  110. package/common/ui.js +1 -8
  111. package/common/weight.instance.json +10360 -4078
  112. package/common/weight.test.json +2601 -2263
  113. package/common/words.instance.json +9 -0
  114. package/common/words.js +53 -0
  115. package/common/words.test.json +2 -0
  116. package/common/wp.instance.json +408 -8
  117. package/common/wp.js +8 -4
  118. package/common/wp.test.json +7385 -6906
  119. package/main.js +4 -2
  120. package/package.json +20 -5
  121. package/common/listener.js +0 -50
  122. package/common/listener.test.json +0 -142
@@ -16,11 +16,11 @@
16
16
  "([divideByExpression|])",
17
17
  {
18
18
  "pattern": "([x])",
19
- "development": true
19
+ "scope": "testing"
20
20
  },
21
21
  {
22
22
  "pattern": "([y])",
23
- "development": true
23
+ "scope": "testing"
24
24
  }
25
25
  ],
26
26
  "bridges": [
@@ -47,7 +47,7 @@
47
47
  ],
48
48
  "level": 0,
49
49
  "bridge": "{ ...next(operator) }",
50
- "development": true
50
+ "scope": "testing"
51
51
  },
52
52
  {
53
53
  "id": "y",
@@ -56,10 +56,10 @@
56
56
  ],
57
57
  "level": 0,
58
58
  "bridge": "{ ...next(operator) }",
59
- "development": true
59
+ "scope": "testing"
60
60
  },
61
61
  {
62
- "where": "/home/dev/code/theprogrammablemind/kms/common/math.js:32",
62
+ "where": "/home/dev/code/theprogrammablemind/kms/common/math.js:33",
63
63
  "id": "plusOperator",
64
64
  "level": 0,
65
65
  "bridge": "{ ...next(operator), marker: next(operator('plusExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }",
@@ -80,7 +80,7 @@
80
80
  "generatorp": "({context}) => context.word"
81
81
  },
82
82
  {
83
- "where": "/home/dev/code/theprogrammablemind/kms/common/math.js:44",
83
+ "where": "/home/dev/code/theprogrammablemind/kms/common/math.js:45",
84
84
  "id": "plusExpression",
85
85
  "level": 0,
86
86
  "bridge": "{ ...next(operator) }",
@@ -88,10 +88,10 @@
88
88
  "mathematicalExpression"
89
89
  ],
90
90
  "generatorp": "async ({gp, context}) => `${await gp(context.x)} ${context.word} ${await gp(context.y)}`",
91
- "evaluator": "async ({e, context}) => {\n const x = toValue(await e(context.x)) \n const y = toValue(await e(context.y))\n if (!x || !y) {\n // context.evalue = { ...context, paraphrase: true, x: { ...context.x, value: x }, y: { ...context.y, value: y } }\n context.isResponse = false\n } else {\n context.evalue = apply(x, y)\n context.evalue.isResponse = true\n context.evalue.paraphrase = false\n // context.paraphrase = false\n // context.isResponse = true\n }\n /*\n if (!context.value) {\n context.isResponse = false\n context.paraphrase = true\n }\n */\n }"
91
+ "evaluator": "async ({e, context}) => {\n const x = toValue(await e(context.x)) \n const y = toValue(await e(context.y))\n if (!x || !y) {\n // context.evalue = { ...context, paraphrase: true, x: { ...context.x, value: x }, y: { ...context.y, value: y } }\n context.isResponse = false\n } else {\n context.evalue = apply(x, y)\n context.evalue.isResponse = true\n context.evalue.paraphrase = false\n // context.paraphrase = false\n // context.isResponse = true\n }\n /*\n if (!context.value) {\n context.isResponse = false\n context.paraphrase = true\n }\n */\n }"
92
92
  },
93
93
  {
94
- "where": "/home/dev/code/theprogrammablemind/kms/common/math.js:32",
94
+ "where": "/home/dev/code/theprogrammablemind/kms/common/math.js:33",
95
95
  "id": "minusOperator",
96
96
  "level": 0,
97
97
  "bridge": "{ ...next(operator), marker: next(operator('minusExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }",
@@ -112,7 +112,7 @@
112
112
  "generatorp": "({context}) => context.word"
113
113
  },
114
114
  {
115
- "where": "/home/dev/code/theprogrammablemind/kms/common/math.js:44",
115
+ "where": "/home/dev/code/theprogrammablemind/kms/common/math.js:45",
116
116
  "id": "minusExpression",
117
117
  "level": 0,
118
118
  "bridge": "{ ...next(operator) }",
@@ -120,10 +120,10 @@
120
120
  "mathematicalExpression"
121
121
  ],
122
122
  "generatorp": "async ({gp, context}) => `${await gp(context.x)} ${context.word} ${await gp(context.y)}`",
123
- "evaluator": "async ({e, context}) => {\n const x = toValue(await e(context.x)) \n const y = toValue(await e(context.y))\n if (!x || !y) {\n // context.evalue = { ...context, paraphrase: true, x: { ...context.x, value: x }, y: { ...context.y, value: y } }\n context.isResponse = false\n } else {\n context.evalue = apply(x, y)\n context.evalue.isResponse = true\n context.evalue.paraphrase = false\n // context.paraphrase = false\n // context.isResponse = true\n }\n /*\n if (!context.value) {\n context.isResponse = false\n context.paraphrase = true\n }\n */\n }"
123
+ "evaluator": "async ({e, context}) => {\n const x = toValue(await e(context.x)) \n const y = toValue(await e(context.y))\n if (!x || !y) {\n // context.evalue = { ...context, paraphrase: true, x: { ...context.x, value: x }, y: { ...context.y, value: y } }\n context.isResponse = false\n } else {\n context.evalue = apply(x, y)\n context.evalue.isResponse = true\n context.evalue.paraphrase = false\n // context.paraphrase = false\n // context.isResponse = true\n }\n /*\n if (!context.value) {\n context.isResponse = false\n context.paraphrase = true\n }\n */\n }"
124
124
  },
125
125
  {
126
- "where": "/home/dev/code/theprogrammablemind/kms/common/math.js:32",
126
+ "where": "/home/dev/code/theprogrammablemind/kms/common/math.js:33",
127
127
  "id": "timesOperator",
128
128
  "level": 0,
129
129
  "bridge": "{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }",
@@ -153,7 +153,7 @@
153
153
  "generatorp": "({context}) => context.word"
154
154
  },
155
155
  {
156
- "where": "/home/dev/code/theprogrammablemind/kms/common/math.js:44",
156
+ "where": "/home/dev/code/theprogrammablemind/kms/common/math.js:45",
157
157
  "id": "timesExpression",
158
158
  "level": 0,
159
159
  "bridge": "{ ...next(operator) }",
@@ -161,10 +161,10 @@
161
161
  "mathematicalExpression"
162
162
  ],
163
163
  "generatorp": "async ({gp, context}) => `${await gp(context.x)} ${context.word} ${await gp(context.y)}`",
164
- "evaluator": "async ({e, context}) => {\n const x = toValue(await e(context.x)) \n const y = toValue(await e(context.y))\n if (!x || !y) {\n // context.evalue = { ...context, paraphrase: true, x: { ...context.x, value: x }, y: { ...context.y, value: y } }\n context.isResponse = false\n } else {\n context.evalue = apply(x, y)\n context.evalue.isResponse = true\n context.evalue.paraphrase = false\n // context.paraphrase = false\n // context.isResponse = true\n }\n /*\n if (!context.value) {\n context.isResponse = false\n context.paraphrase = true\n }\n */\n }"
164
+ "evaluator": "async ({e, context}) => {\n const x = toValue(await e(context.x)) \n const y = toValue(await e(context.y))\n if (!x || !y) {\n // context.evalue = { ...context, paraphrase: true, x: { ...context.x, value: x }, y: { ...context.y, value: y } }\n context.isResponse = false\n } else {\n context.evalue = apply(x, y)\n context.evalue.isResponse = true\n context.evalue.paraphrase = false\n // context.paraphrase = false\n // context.isResponse = true\n }\n /*\n if (!context.value) {\n context.isResponse = false\n context.paraphrase = true\n }\n */\n }"
165
165
  },
166
166
  {
167
- "where": "/home/dev/code/theprogrammablemind/kms/common/math.js:32",
167
+ "where": "/home/dev/code/theprogrammablemind/kms/common/math.js:33",
168
168
  "id": "divideByOperator",
169
169
  "level": 0,
170
170
  "bridge": "{ ...next(operator), marker: next(operator('divideByExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }",
@@ -193,7 +193,7 @@
193
193
  "generatorp": "({context}) => context.word"
194
194
  },
195
195
  {
196
- "where": "/home/dev/code/theprogrammablemind/kms/common/math.js:44",
196
+ "where": "/home/dev/code/theprogrammablemind/kms/common/math.js:45",
197
197
  "id": "divideByExpression",
198
198
  "level": 0,
199
199
  "bridge": "{ ...next(operator) }",
@@ -201,7 +201,7 @@
201
201
  "mathematicalExpression"
202
202
  ],
203
203
  "generatorp": "async ({gp, context}) => `${await gp(context.x)} ${context.word} ${await gp(context.y)}`",
204
- "evaluator": "async ({e, context}) => {\n const x = toValue(await e(context.x)) \n const y = toValue(await e(context.y))\n if (!x || !y) {\n // context.evalue = { ...context, paraphrase: true, x: { ...context.x, value: x }, y: { ...context.y, value: y } }\n context.isResponse = false\n } else {\n context.evalue = apply(x, y)\n context.evalue.isResponse = true\n context.evalue.paraphrase = false\n // context.paraphrase = false\n // context.isResponse = true\n }\n /*\n if (!context.value) {\n context.isResponse = false\n context.paraphrase = true\n }\n */\n }"
204
+ "evaluator": "async ({e, context}) => {\n const x = toValue(await e(context.x)) \n const y = toValue(await e(context.y))\n if (!x || !y) {\n // context.evalue = { ...context, paraphrase: true, x: { ...context.x, value: x }, y: { ...context.y, value: y } }\n context.isResponse = false\n } else {\n context.evalue = apply(x, y)\n context.evalue.isResponse = true\n context.evalue.paraphrase = false\n // context.paraphrase = false\n // context.isResponse = true\n }\n /*\n if (!context.value) {\n context.isResponse = false\n context.paraphrase = true\n }\n */\n }"
205
205
  }
206
206
  ]
207
207
  }
@@ -878,7 +878,7 @@
878
878
  "end": 29
879
879
  },
880
880
  "dead": true,
881
- "modifiers": [
881
+ "conceptModifiers": [
882
882
  {
883
883
  "value": "mathematical",
884
884
  "unknown": true,
@@ -1088,11 +1088,11 @@
1088
1088
  "([divideByExpression|])",
1089
1089
  {
1090
1090
  "pattern": "([x])",
1091
- "development": true
1091
+ "scope": "testing"
1092
1092
  },
1093
1093
  {
1094
1094
  "pattern": "([y])",
1095
- "development": true
1095
+ "scope": "testing"
1096
1096
  }
1097
1097
  ],
1098
1098
  "bridges": [
@@ -1119,7 +1119,7 @@
1119
1119
  ],
1120
1120
  "level": 0,
1121
1121
  "bridge": "{ ...next(operator) }",
1122
- "development": true
1122
+ "scope": "testing"
1123
1123
  },
1124
1124
  {
1125
1125
  "id": "y",
@@ -1128,10 +1128,10 @@
1128
1128
  ],
1129
1129
  "level": 0,
1130
1130
  "bridge": "{ ...next(operator) }",
1131
- "development": true
1131
+ "scope": "testing"
1132
1132
  },
1133
1133
  {
1134
- "where": "/home/dev/code/theprogrammablemind/kms/common/math.js:32",
1134
+ "where": "/home/dev/code/theprogrammablemind/kms/common/math.js:33",
1135
1135
  "id": "plusOperator",
1136
1136
  "level": 0,
1137
1137
  "bridge": "{ ...next(operator), marker: next(operator('plusExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }",
@@ -1151,7 +1151,7 @@
1151
1151
  ]
1152
1152
  },
1153
1153
  {
1154
- "where": "/home/dev/code/theprogrammablemind/kms/common/math.js:44",
1154
+ "where": "/home/dev/code/theprogrammablemind/kms/common/math.js:45",
1155
1155
  "id": "plusExpression",
1156
1156
  "level": 0,
1157
1157
  "bridge": "{ ...next(operator) }",
@@ -1160,7 +1160,7 @@
1160
1160
  ]
1161
1161
  },
1162
1162
  {
1163
- "where": "/home/dev/code/theprogrammablemind/kms/common/math.js:32",
1163
+ "where": "/home/dev/code/theprogrammablemind/kms/common/math.js:33",
1164
1164
  "id": "minusOperator",
1165
1165
  "level": 0,
1166
1166
  "bridge": "{ ...next(operator), marker: next(operator('minusExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }",
@@ -1180,7 +1180,7 @@
1180
1180
  ]
1181
1181
  },
1182
1182
  {
1183
- "where": "/home/dev/code/theprogrammablemind/kms/common/math.js:44",
1183
+ "where": "/home/dev/code/theprogrammablemind/kms/common/math.js:45",
1184
1184
  "id": "minusExpression",
1185
1185
  "level": 0,
1186
1186
  "bridge": "{ ...next(operator) }",
@@ -1189,7 +1189,7 @@
1189
1189
  ]
1190
1190
  },
1191
1191
  {
1192
- "where": "/home/dev/code/theprogrammablemind/kms/common/math.js:32",
1192
+ "where": "/home/dev/code/theprogrammablemind/kms/common/math.js:33",
1193
1193
  "id": "timesOperator",
1194
1194
  "level": 0,
1195
1195
  "bridge": "{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }",
@@ -1218,7 +1218,7 @@
1218
1218
  ]
1219
1219
  },
1220
1220
  {
1221
- "where": "/home/dev/code/theprogrammablemind/kms/common/math.js:44",
1221
+ "where": "/home/dev/code/theprogrammablemind/kms/common/math.js:45",
1222
1222
  "id": "timesExpression",
1223
1223
  "level": 0,
1224
1224
  "bridge": "{ ...next(operator) }",
@@ -1227,7 +1227,7 @@
1227
1227
  ]
1228
1228
  },
1229
1229
  {
1230
- "where": "/home/dev/code/theprogrammablemind/kms/common/math.js:32",
1230
+ "where": "/home/dev/code/theprogrammablemind/kms/common/math.js:33",
1231
1231
  "id": "divideByOperator",
1232
1232
  "level": 0,
1233
1233
  "bridge": "{ ...next(operator), marker: next(operator('divideByExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }",
@@ -1255,7 +1255,7 @@
1255
1255
  ]
1256
1256
  },
1257
1257
  {
1258
- "where": "/home/dev/code/theprogrammablemind/kms/common/math.js:44",
1258
+ "where": "/home/dev/code/theprogrammablemind/kms/common/math.js:45",
1259
1259
  "id": "divideByExpression",
1260
1260
  "level": 0,
1261
1261
  "bridge": "{ ...next(operator) }",
package/common/math.js CHANGED
@@ -18,7 +18,7 @@ const instance = require('./math.instance.json')
18
18
 
19
19
 
20
20
  // TODO need to deal with value vs evalue
21
- const toValue = (context) => {
21
+ function toValue(context) {
22
22
  while( true ) {
23
23
  if (typeof context == 'number' || !context) {
24
24
  return context
@@ -27,48 +27,49 @@ const toValue = (context) => {
27
27
  }
28
28
  }
29
29
 
30
- const mathematicalOperator = (name, words, apply, before = []) => [
31
- {
32
- where: where(),
33
- id: `${name}Operator`, level: 0,
34
- bridge: `{ ...next(operator), marker: next(operator('${name}Expression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }` ,
35
- // bridge: `{ ...next(operator), marker: next(operator('${name}Expression')), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }` ,
36
- isA: ['mathematical_operator'],
37
- before,
38
- localHierarchy: [ ['unknown', 'number'] ],
39
- // levelSpecificHierarchy: [[1, 'mathematicalExpression']],
40
- words,
41
- generatorp: ({context}) => context.word,
42
- },
43
- {
44
- where: where(),
45
- id: `${name}Expression`, level: 0,
46
- bridge: "{ ...next(operator) }" ,
47
- isA: ['mathematicalExpression'],
48
- generatorp: async ({gp, context}) => `${await gp(context.x)} ${context.word} ${await gp(context.y)}`,
49
- evaluator: async ({e, context}) => {
50
- const x = toValue(await e(context.x))
51
- const y = toValue(await e(context.y))
52
- if (!x || !y) {
53
- // context.evalue = { ...context, paraphrase: true, x: { ...context.x, value: x }, y: { ...context.y, value: y } }
54
- context.isResponse = false
55
- } else {
56
- context.evalue = apply(x, y)
57
- context.evalue.isResponse = true
58
- context.evalue.paraphrase = false
59
- // context.paraphrase = false
60
- // context.isResponse = true
61
- }
62
- /*
63
- if (!context.value) {
64
- context.isResponse = false
65
- context.paraphrase = true
30
+ function mathematicalOperator(name, words, apply, before = []) {
31
+ return [
32
+ {
33
+ where: where(),
34
+ id: `${name}Operator`, level: 0,
35
+ bridge: `{ ...next(operator), marker: next(operator('${name}Expression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }` ,
36
+ // bridge: `{ ...next(operator), marker: next(operator('${name}Expression')), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }` ,
37
+ isA: ['mathematical_operator'],
38
+ before,
39
+ localHierarchy: [ ['unknown', 'number'] ],
40
+ // levelSpecificHierarchy: [[1, 'mathematicalExpression']],
41
+ words,
42
+ generatorp: ({context}) => context.word,
43
+ },
44
+ {
45
+ where: where(),
46
+ id: `${name}Expression`, level: 0,
47
+ bridge: "{ ...next(operator) }" ,
48
+ isA: ['mathematicalExpression'],
49
+ generatorp: async ({gp, context}) => `${await gp(context.x)} ${context.word} ${await gp(context.y)}`,
50
+ evaluator: async ({e, context}) => {
51
+ const x = toValue(await e(context.x))
52
+ const y = toValue(await e(context.y))
53
+ if (!x || !y) {
54
+ // context.evalue = { ...context, paraphrase: true, x: { ...context.x, value: x }, y: { ...context.y, value: y } }
55
+ context.isResponse = false
56
+ } else {
57
+ context.evalue = apply(x, y)
58
+ context.evalue.isResponse = true
59
+ context.evalue.paraphrase = false
60
+ // context.paraphrase = false
61
+ // context.isResponse = true
62
+ }
63
+ /*
64
+ if (!context.value) {
65
+ context.isResponse = false
66
+ context.paraphrase = true
67
+ }
68
+ */
66
69
  }
67
- */
68
- }
69
- }
70
- ]
71
-
70
+ }
71
+ ]
72
+ }
72
73
  const config = {
73
74
  name: 'math',
74
75
  operators: [
@@ -82,8 +83,8 @@ const config = {
82
83
  "([minusExpression|])",
83
84
  "([timesExpression|])",
84
85
  "([divideByExpression|])",
85
- { pattern: "([x])", development: true },
86
- { pattern: "([y])", development: true },
86
+ { pattern: "([x])", scope: "testing" },
87
+ { pattern: "([y])", scope: "testing" },
87
88
  ],
88
89
  bridges: [
89
90
  {
@@ -96,8 +97,8 @@ const config = {
96
97
  before: ['verb'],
97
98
  after: ['adjective'],
98
99
  },
99
- { id: "x", isA: ['number'], level: 0, bridge: '{ ...next(operator) }', development: true},
100
- { id: "y", isA: ['number'], level: 0, bridge: '{ ...next(operator) }', development: true},
100
+ { id: "x", isA: ['number'], level: 0, bridge: '{ ...next(operator) }', scope: "testing" },
101
+ { id: "y", isA: ['number'], level: 0, bridge: '{ ...next(operator) }', scope: "testing" },
101
102
  ...mathematicalOperator('plus', ['plus', '+'], (x, y) => x + y),
102
103
  ...mathematicalOperator('minus', ['minus', '-'], (x, y) => x - y),
103
104
  ...mathematicalOperator('times', ['times', '*'], (x, y) => x * y, [['plusOperator', 0], ['minusOperator', 0]]),
@@ -43,7 +43,7 @@
43
43
  "semantics": [
44
44
  {
45
45
  "match": "({context, isA}) => isA(context, 'showable_menus')",
46
- "apply": "async ({context, insert, s, fragments}) => {\n const value = context\n const fragment = fragments(\"show showable\")\n const mappings = [{\n where: where(),\n match: ({context}) => context.value == 'showable_menus',\n apply: ({context}) => Object.assign(context, value),\n }]\n const instantiation = await fragment.instantiate(mappings)\n await s(instantiation)\n }"
46
+ "apply": "async ({context, insert, s, fragments}) => {\n const instantiation = await fragments(\"show showable\", { 'showable_menus': context })\n await s(instantiation)\n }"
47
47
  }
48
48
  ]
49
49
  },
@@ -2075,7 +2075,7 @@
2075
2075
  "word": "menu",
2076
2076
  "range": {
2077
2077
  "start": 0,
2078
- "end": 16
2078
+ "end": 3
2079
2079
  },
2080
2080
  "dead": true,
2081
2081
  "types": [
@@ -3353,7 +3353,7 @@
3353
3353
  "word": "item",
3354
3354
  "range": {
3355
3355
  "start": 0,
3356
- "end": 16
3356
+ "end": 3
3357
3357
  },
3358
3358
  "dead": true,
3359
3359
  "types": [
@@ -4651,7 +4651,7 @@
4651
4651
  "end": 17
4652
4652
  },
4653
4653
  "dead": true,
4654
- "modifiers": [
4654
+ "conceptModifiers": [
4655
4655
  {
4656
4656
  "value": "menu_menus",
4657
4657
  "number": "one",
@@ -6017,7 +6017,7 @@
6017
6017
  "text": "menus and menu items",
6018
6018
  "range": {
6019
6019
  "start": 0,
6020
- "end": 32
6020
+ "end": 19
6021
6021
  },
6022
6022
  "types": [
6023
6023
  "list",
@@ -8839,10 +8839,7 @@
8839
8839
  "level": 1,
8840
8840
  "context_index": 1,
8841
8841
  "topLevel": true,
8842
- "context_id": 2,
8843
- "touchedBy": [
8844
- "menus#call2"
8845
- ]
8842
+ "context_id": 2
8846
8843
  }
8847
8844
  ],
8848
8845
  "generated": [
@@ -8943,7 +8940,7 @@
8943
8940
  "learned_contextual_priorities": [],
8944
8941
  "rtf_associations": [],
8945
8942
  "query": "show showable",
8946
- "skipSemantics": false,
8943
+ "skipSemantics": true,
8947
8944
  "key": {
8948
8945
  "query": "show showable"
8949
8946
  }
package/common/menus.js CHANGED
@@ -156,14 +156,7 @@ const template = {
156
156
  where: where(),
157
157
  match: ({context, isA}) => isA(context, 'showable_menus'),
158
158
  apply: async ({context, insert, s, fragments}) => {
159
- const value = context
160
- const fragment = fragments("show showable")
161
- const mappings = [{
162
- where: where(),
163
- match: ({context}) => context.value == 'showable_menus',
164
- apply: ({context}) => Object.assign(context, value),
165
- }]
166
- const instantiation = await fragment.instantiate(mappings)
159
+ const instantiation = await fragments("show showable", { 'showable_menus': context })
167
160
  await s(instantiation)
168
161
  }
169
162
  },
@@ -214,7 +207,7 @@ class UIAPI {
214
207
  file (<- instance of menu) menu (<- concept of menu)
215
208
  */
216
209
  // called for the non-module load to setup fixtures
217
- const fixtures = async ({api, fragment, s, config, objects, kms, isModule}) => {
210
+ async function fixtures({api, fragment, s, config, objects, kms, isModule}) {
218
211
  const fileMenuId = api.addMenu('file')
219
212
  const objectMenuId = api.addMenu('object')
220
213