ekms 7.12.3 → 7.12.4-beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. package/common/animals.instance.json +52 -0
  2. package/common/avatar.js +1 -2
  3. package/common/comparable.js +1 -1
  4. package/common/concept.js +2 -0
  5. package/common/countable.js +1 -1
  6. package/common/crew.instance.json +348 -0
  7. package/common/crew.js +3 -2
  8. package/common/currency.js +2 -0
  9. package/common/dialogues.js +7 -3
  10. package/common/dimension.js +3 -1
  11. package/common/dimension.test.json +170 -26
  12. package/common/dimensionTemplate.instance.json +4 -0
  13. package/common/edible.instance.json +128 -0
  14. package/common/edible.js +1 -2
  15. package/common/emotions.instance.json +4 -0
  16. package/common/emotions.js +2 -0
  17. package/common/fastfood.instance.json +939 -435
  18. package/common/fastfood.js +149 -62
  19. package/common/fastfood.test.json +36474 -985
  20. package/common/formulas.js +3 -1
  21. package/common/formulasTemplate.instance.json +4 -0
  22. package/common/formulasTemplate.js +1 -1
  23. package/common/help.js +2 -0
  24. package/common/hierarchy.js +2 -0
  25. package/common/javascript.js +2 -0
  26. package/common/kirk.instance.json +4 -0
  27. package/common/length.instance.json +60 -0
  28. package/common/math.js +1 -4
  29. package/common/mathTemplate.instance.json +8 -0
  30. package/common/mathTemplate.js +1 -1
  31. package/common/ordering.instance.json +8 -0
  32. package/common/ordering.js +2 -0
  33. package/common/people.instance.json +32 -60
  34. package/common/people.js +2 -0
  35. package/common/pipboy.js +3 -1
  36. package/common/pipboy.test.json +13 -5
  37. package/common/pipboyTemplate.js +1 -1
  38. package/common/pokemon.instance.json +52 -0
  39. package/common/pokemon.js +2 -0
  40. package/common/pressure.instance.json +16 -0
  41. package/common/properties.instance.json +4 -0
  42. package/common/properties.js +3 -3
  43. package/common/reports.instance.json +9 -1
  44. package/common/reports.js +7 -3
  45. package/common/scorekeeper.js +3 -3
  46. package/common/sizeable.js +1 -1
  47. package/common/spock.instance.json +4 -0
  48. package/common/stgame.js +2 -0
  49. package/common/stm.js +21 -6
  50. package/common/tell.js +2 -0
  51. package/common/temperature.instance.json +16 -84
  52. package/common/time.js +2 -0
  53. package/common/ui.instance.json +4 -0
  54. package/common/ui.js +3 -1
  55. package/common/weight.instance.json +48 -0
  56. package/package.json +2 -2
@@ -193,6 +193,10 @@
193
193
  "thisitthat",
194
194
  "queryable"
195
195
  ],
196
+ [
197
+ "to",
198
+ "preposition"
199
+ ],
196
200
  [
197
201
  "toAble",
198
202
  "toAble"
@@ -667,6 +671,10 @@
667
671
  "thisitthat",
668
672
  "queryable"
669
673
  ],
674
+ [
675
+ "to",
676
+ "preposition"
677
+ ],
670
678
  [
671
679
  "toAble",
672
680
  "toAble"
@@ -1255,6 +1263,10 @@
1255
1263
  "thisitthat",
1256
1264
  "queryable"
1257
1265
  ],
1266
+ [
1267
+ "to",
1268
+ "preposition"
1269
+ ],
1258
1270
  [
1259
1271
  "toAble",
1260
1272
  "toAble"
@@ -2186,6 +2198,10 @@
2186
2198
  "thisitthat",
2187
2199
  "queryable"
2188
2200
  ],
2201
+ [
2202
+ "to",
2203
+ "preposition"
2204
+ ],
2189
2205
  [
2190
2206
  "toAble",
2191
2207
  "toAble"
@@ -2885,6 +2901,10 @@
2885
2901
  "thisitthat",
2886
2902
  "queryable"
2887
2903
  ],
2904
+ [
2905
+ "to",
2906
+ "preposition"
2907
+ ],
2888
2908
  [
2889
2909
  "toAble",
2890
2910
  "toAble"
@@ -3584,6 +3604,10 @@
3584
3604
  "thisitthat",
3585
3605
  "queryable"
3586
3606
  ],
3607
+ [
3608
+ "to",
3609
+ "preposition"
3610
+ ],
3587
3611
  [
3588
3612
  "toAble",
3589
3613
  "toAble"
@@ -4419,6 +4443,10 @@
4419
4443
  "thisitthat",
4420
4444
  "queryable"
4421
4445
  ],
4446
+ [
4447
+ "to",
4448
+ "preposition"
4449
+ ],
4422
4450
  [
4423
4451
  "toAble",
4424
4452
  "toAble"
@@ -5322,6 +5350,10 @@
5322
5350
  "thisitthat",
5323
5351
  "queryable"
5324
5352
  ],
5353
+ [
5354
+ "to",
5355
+ "preposition"
5356
+ ],
5325
5357
  [
5326
5358
  "toAble",
5327
5359
  "toAble"
@@ -6355,6 +6387,10 @@
6355
6387
  "thisitthat",
6356
6388
  "queryable"
6357
6389
  ],
6390
+ [
6391
+ "to",
6392
+ "preposition"
6393
+ ],
6358
6394
  [
6359
6395
  "toAble",
6360
6396
  "toAble"
@@ -7388,6 +7424,10 @@
7388
7424
  "thisitthat",
7389
7425
  "queryable"
7390
7426
  ],
7427
+ [
7428
+ "to",
7429
+ "preposition"
7430
+ ],
7391
7431
  [
7392
7432
  "toAble",
7393
7433
  "toAble"
@@ -8429,6 +8469,10 @@
8429
8469
  "thisitthat",
8430
8470
  "queryable"
8431
8471
  ],
8472
+ [
8473
+ "to",
8474
+ "preposition"
8475
+ ],
8432
8476
  [
8433
8477
  "toAble",
8434
8478
  "toAble"
@@ -9474,6 +9518,10 @@
9474
9518
  "thisitthat",
9475
9519
  "queryable"
9476
9520
  ],
9521
+ [
9522
+ "to",
9523
+ "preposition"
9524
+ ],
9477
9525
  [
9478
9526
  "toAble",
9479
9527
  "toAble"
@@ -10518,6 +10566,10 @@
10518
10566
  "thisitthat",
10519
10567
  "queryable"
10520
10568
  ],
10569
+ [
10570
+ "to",
10571
+ "preposition"
10572
+ ],
10521
10573
  [
10522
10574
  "toAble",
10523
10575
  "toAble"
package/common/pokemon.js CHANGED
@@ -39,6 +39,7 @@ const createConfig = () => {
39
39
  // ['pokemon', 'whatAble'],
40
40
  ],
41
41
  })
42
+ config.stop_auto_rebuild()
42
43
  config.add(hierarchy())
43
44
  config.initializer( ({config, apis}) => {
44
45
  const api = apis('properties')
@@ -61,6 +62,7 @@ const createConfig = () => {
61
62
  config
62
63
  })
63
64
  })
65
+ config.restart_auto_rebuild()
64
66
  // config.load(template, pokemon_instance)
65
67
  return config
66
68
  }
@@ -600,6 +600,10 @@
600
600
  "timesOperator",
601
601
  "mathematicalOperator"
602
602
  ],
603
+ [
604
+ "to",
605
+ "preposition"
606
+ ],
603
607
  [
604
608
  "toAble",
605
609
  "toAble"
@@ -1556,6 +1560,10 @@
1556
1560
  "timesOperator",
1557
1561
  "mathematicalOperator"
1558
1562
  ],
1563
+ [
1564
+ "to",
1565
+ "preposition"
1566
+ ],
1559
1567
  [
1560
1568
  "toAble",
1561
1569
  "toAble"
@@ -2891,6 +2899,10 @@
2891
2899
  "timesOperator",
2892
2900
  "mathematicalOperator"
2893
2901
  ],
2902
+ [
2903
+ "to",
2904
+ "preposition"
2905
+ ],
2894
2906
  [
2895
2907
  "toAble",
2896
2908
  "toAble"
@@ -3950,6 +3962,10 @@
3950
3962
  "timesOperator",
3951
3963
  "mathematicalOperator"
3952
3964
  ],
3965
+ [
3966
+ "to",
3967
+ "preposition"
3968
+ ],
3953
3969
  [
3954
3970
  "toAble",
3955
3971
  "toAble"
@@ -168,6 +168,10 @@
168
168
  "thisitthat",
169
169
  "queryable"
170
170
  ],
171
+ [
172
+ "to",
173
+ "preposition"
174
+ ],
171
175
  [
172
176
  "toAble",
173
177
  "toAble"
@@ -687,10 +687,10 @@ let configStruct = {
687
687
 
688
688
  const createConfig = () => {
689
689
  const config = new Config(configStruct, module)
690
+ config.stop_auto_rebuild()
690
691
  config.api = api
691
- config.add(concept())
692
- config.add(meta())
693
- config.add(dialogues())
692
+ config.add(concept(), meta(), dialogues())
693
+ config.restart_auto_rebuild()
694
694
  return config
695
695
  }
696
696
 
@@ -618,6 +618,10 @@
618
618
  "timesOperator",
619
619
  "mathematicalOperator"
620
620
  ],
621
+ [
622
+ "to",
623
+ "preposition"
624
+ ],
621
625
  [
622
626
  "toAble",
623
627
  "to_after_column_toAble"
@@ -780,7 +784,7 @@
780
784
  }
781
785
  ]
782
786
  },
783
- "trace": "\n\n>>>>>>>>>>>>> Counter 1\n 0. price/0 (1, 0) - \"price\"\n {\n default: true\n marker: Operator(price/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 1. list/0 (1, 1) - \"and\"\n {\n default: true\n marker: Operator(list/0, PASS, [\"Selector(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }'), , same/(), [Type(variable: 'type')]<==>[Type(variable: 'type')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({}) bridge(bridge))\n range: {'start': 6, 'end': 8}\n text: \"and\"\n word: \"and\"\n }\n 2. quantity/0 (1, 2) - \"quantity\"\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n 3. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 4. property/0 (1, 5) - \"properties\"\n {\n default: true\n marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=0) is Context({default: True, marker: Operator(price/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 0, 'end': 4}, text: price, value: price, word: price})\n\n>>>>>>>>>>>>> Counter 2\n *0. price/1 (dead) (2, 0) - \"price\"\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 1. list/0 (1, 1) - \"and\"\n {\n default: true\n marker: Operator(list/0, PASS, [\"Selector(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }'), , same/(), [Type(variable: 'type')]<==>[Type(variable: 'type')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({'type': ['quantity', 'object', 'number', 'queryable', 'hierarchyAble', 'quantifier', 'property', 'theAble', 'unknown', 'notAble']}) bridge(bridge))\n range: {'start': 6, 'end': 8}\n text: \"and\"\n types: [\n ]\n word: \"and\"\n }\n 2. quantity/0 (1, 2) - \"quantity\"\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n 3. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 4. property/0 (1, 5) - \"properties\"\n {\n default: true\n marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=1) is Context({default: True, marker: Operator(list/0, PASS, [\"Selector(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }'), , same/(), [Type(variable: 'type')]<==>[Type(variable: 'type')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({'type': ['quantity', 'object', 'number', 'queryable', 'hierarchyAble', 'quantifier', 'property', 'theAble', 'unknown', 'notAble']}) bridge(bridge)), range: {'start': 6, 'end': 8}, text: and, types: [], word: and})\n\n>>>>>>>>>>>>> Counter 3\n *0. list/1 (3, 0) - \"price and quantity\"\n {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['quantity', 'object', 'number', 'queryable', 'hierarchyAble', 'quantifier', 'property', 'theAble', 'unknown', 'notAble']}) bridge(bridge))\n range: {'start': 0, 'end': 17}\n text: \"price and quantity\"\n types: [\n ]\n value: [\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n 1. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 2. property/0 (1, 5) - \"properties\"\n {\n default: true\n marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=2) is Context({default: True, marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 23, 'end': 32}, text: properties, word: properties})\n\n>>>>>>>>>>>>> Counter 4\n 0. list/1 (3, 0) - \"price and quantity\"\n {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['quantity', 'object', 'number', 'queryable', 'hierarchyAble', 'quantifier', 'property', 'theAble', 'unknown', 'notAble']}) bridge(bridge))\n range: {'start': 0, 'end': 17}\n text: \"price and quantity\"\n types: [\n ]\n value: [\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n 1. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n *2. property/1 (dead) (2, 1) - \"properties\"\n {\n dead: true\n default: true\n marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=1) is Context({marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge)), number: many, range: {'start': 19, 'end': 21}, text: are, word: are})\n\n>>>>>>>>>>>>> Counter 5\n *0. is/1 (4, 0) - \"price and quantity are properties\"\n {\n marker: Operator(is/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n number: \"many\"\n one: {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['quantity', 'object', 'number', 'queryable', 'hierarchyAble', 'quantifier', 'property', 'theAble', 'unknown', 'notAble']}) bridge(bridge))\n number: \"many\"\n range: {'start': 0, 'end': 32}\n text: \"price and quantity\"\n types: [\n 'price'\n ]\n value: [\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n\n range: {'start': 0, 'end': 32}\n text: \"price and quantity are properties\"\n two: {\n dead: true\n default: true\n marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n types: [\n 'property'\n ]\n word: \"properties\"\n }\n\n word: \"are\"\n }\n<<<<<<<<<<<<<\nNext Op (index=0) is Context({marker: Operator(is/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), number: many, one: Context({default: True, isList: True, listable: True, marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['quantity', 'object', 'number', 'queryable', 'hierarchyAble', 'quantifier', 'property', 'theAble', 'unknown', 'notAble']}) bridge(bridge)), number: many, range: {'start': 0, 'end': 32}, text: price and quantity, types: ['price'], value: [Context({dead: True, default: True, marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)), range: {'start': 0, 'end': 4}, text: price, value: price, word: price}), Context({default: True, marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 10, 'end': 17}, text: quantity, value: quantity, word: quantity})], word: and}), range: {'start': 0, 'end': 32}, text: price and quantity are properties, two: Context({dead: True, default: True, marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)), range: {'start': 23, 'end': 32}, text: properties, types: ['property'], word: properties}), word: are})\n\n>>>>>>>>>>>>> Counter 6\n *0. is/2 (dead) (5, 0) - \"price and quantity are properties\"\n {\n dead: true\n marker: Operator(is/2, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n number: \"many\"\n one: {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['quantity', 'object', 'number', 'queryable', 'hierarchyAble', 'quantifier', 'property', 'theAble', 'unknown', 'notAble']}) bridge(bridge))\n number: \"many\"\n range: {'start': 0, 'end': 32}\n text: \"price and quantity\"\n types: [\n 'price'\n ]\n value: [\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n\n range: {'start': 0, 'end': 32}\n text: \"price and quantity are properties\"\n two: {\n dead: true\n default: true\n marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n types: [\n 'property'\n ]\n word: \"properties\"\n }\n\n word: \"are\"\n }\n<<<<<<<<<<<<<\n",
787
+ "trace": "\n\n>>>>>>>>>>>>> Counter 1\n 0. price/0 (1, 0) - \"price\"\n {\n default: true\n marker: Operator(price/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 1. list/0 (1, 1) - \"and\"\n {\n default: true\n marker: Operator(list/0, PASS, [\"Selector(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }'), , same/(), [Type(variable: 'type')]<==>[Type(variable: 'type')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({}) bridge(bridge))\n range: {'start': 6, 'end': 8}\n text: \"and\"\n word: \"and\"\n }\n 2. quantity/0 (1, 2) - \"quantity\"\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n 3. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 4. property/0 (1, 5) - \"properties\"\n {\n default: true\n marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=0) is Context({default: True, marker: Operator(price/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 0, 'end': 4}, text: price, value: price, word: price})\n\n>>>>>>>>>>>>> Counter 2\n *0. price/1 (dead) (2, 0) - \"price\"\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 1. list/0 (1, 1) - \"and\"\n {\n default: true\n marker: Operator(list/0, PASS, [\"Selector(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }'), , same/(), [Type(variable: 'type')]<==>[Type(variable: 'type')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({'type': ['unknown', 'quantifier', 'object', 'hierarchyAble', 'notAble', 'theAble', 'property', 'queryable', 'number', 'quantity']}) bridge(bridge))\n range: {'start': 6, 'end': 8}\n text: \"and\"\n types: [\n ]\n word: \"and\"\n }\n 2. quantity/0 (1, 2) - \"quantity\"\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n 3. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 4. property/0 (1, 5) - \"properties\"\n {\n default: true\n marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=1) is Context({default: True, marker: Operator(list/0, PASS, [\"Selector(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }'), , same/(), [Type(variable: 'type')]<==>[Type(variable: 'type')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({'type': ['unknown', 'quantifier', 'object', 'hierarchyAble', 'notAble', 'theAble', 'property', 'queryable', 'number', 'quantity']}) bridge(bridge)), range: {'start': 6, 'end': 8}, text: and, types: [], word: and})\n\n>>>>>>>>>>>>> Counter 3\n *0. list/1 (3, 0) - \"price and quantity\"\n {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['unknown', 'quantifier', 'object', 'hierarchyAble', 'notAble', 'theAble', 'property', 'queryable', 'number', 'quantity']}) bridge(bridge))\n range: {'start': 0, 'end': 17}\n text: \"price and quantity\"\n types: [\n ]\n value: [\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n 1. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 2. property/0 (1, 5) - \"properties\"\n {\n default: true\n marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=2) is Context({default: True, marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 23, 'end': 32}, text: properties, word: properties})\n\n>>>>>>>>>>>>> Counter 4\n 0. list/1 (3, 0) - \"price and quantity\"\n {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['unknown', 'quantifier', 'object', 'hierarchyAble', 'notAble', 'theAble', 'property', 'queryable', 'number', 'quantity']}) bridge(bridge))\n range: {'start': 0, 'end': 17}\n text: \"price and quantity\"\n types: [\n ]\n value: [\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n 1. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n *2. property/1 (dead) (2, 1) - \"properties\"\n {\n dead: true\n default: true\n marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=1) is Context({marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge)), number: many, range: {'start': 19, 'end': 21}, text: are, word: are})\n\n>>>>>>>>>>>>> Counter 5\n *0. is/1 (4, 0) - \"price and quantity are properties\"\n {\n marker: Operator(is/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n number: \"many\"\n one: {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['unknown', 'quantifier', 'object', 'hierarchyAble', 'notAble', 'theAble', 'property', 'queryable', 'number', 'quantity']}) bridge(bridge))\n number: \"many\"\n range: {'start': 0, 'end': 32}\n text: \"price and quantity\"\n types: [\n 'price'\n ]\n value: [\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n\n range: {'start': 0, 'end': 32}\n text: \"price and quantity are properties\"\n two: {\n dead: true\n default: true\n marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n types: [\n 'property'\n ]\n word: \"properties\"\n }\n\n word: \"are\"\n }\n<<<<<<<<<<<<<\nNext Op (index=0) is Context({marker: Operator(is/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), number: many, one: Context({default: True, isList: True, listable: True, marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['unknown', 'quantifier', 'object', 'hierarchyAble', 'notAble', 'theAble', 'property', 'queryable', 'number', 'quantity']}) bridge(bridge)), number: many, range: {'start': 0, 'end': 32}, text: price and quantity, types: ['price'], value: [Context({dead: True, default: True, marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)), range: {'start': 0, 'end': 4}, text: price, value: price, word: price}), Context({default: True, marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 10, 'end': 17}, text: quantity, value: quantity, word: quantity})], word: and}), range: {'start': 0, 'end': 32}, text: price and quantity are properties, two: Context({dead: True, default: True, marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)), range: {'start': 23, 'end': 32}, text: properties, types: ['property'], word: properties}), word: are})\n\n>>>>>>>>>>>>> Counter 6\n *0. is/2 (dead) (5, 0) - \"price and quantity are properties\"\n {\n dead: true\n marker: Operator(is/2, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n number: \"many\"\n one: {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['unknown', 'quantifier', 'object', 'hierarchyAble', 'notAble', 'theAble', 'property', 'queryable', 'number', 'quantity']}) bridge(bridge))\n number: \"many\"\n range: {'start': 0, 'end': 32}\n text: \"price and quantity\"\n types: [\n 'price'\n ]\n value: [\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n\n range: {'start': 0, 'end': 32}\n text: \"price and quantity are properties\"\n two: {\n dead: true\n default: true\n marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n types: [\n 'property'\n ]\n word: \"properties\"\n }\n\n word: \"are\"\n }\n<<<<<<<<<<<<<\n",
784
788
  "contexts": [
785
789
  {
786
790
  "number": "many",
@@ -1567,6 +1571,10 @@
1567
1571
  "timesOperator",
1568
1572
  "mathematicalOperator"
1569
1573
  ],
1574
+ [
1575
+ "to",
1576
+ "preposition"
1577
+ ],
1570
1578
  [
1571
1579
  "toAble",
1572
1580
  "to_after_column_toAble"
package/common/reports.js CHANGED
@@ -329,7 +329,7 @@ let configStruct = {
329
329
  bridge: "{ ...next(operator), namee: after[0], name: after[1] }",
330
330
  generatorp: ({g, context}) => `call ${g(context.namee)} ${g(context.name)}`,
331
331
  semantic: ({g, context, objects, e, config, km}) => {
332
- const namee = e(context.namee)
332
+ const namee = e(context.namee).evalue
333
333
  const id = namee.value
334
334
  const listing = objects.listings[id]
335
335
  const name = context.name.text
@@ -504,11 +504,12 @@ let configStruct = {
504
504
  const responses = []
505
505
  for (let value of values) {
506
506
  if (!value.value || value.pullFromContext) {
507
+ debugger
507
508
  value = e(value)
508
509
  }
509
510
  let id = value.value
510
511
  if (value.evalue) {
511
- id = value.evalue
512
+ id = value.evalue.value || value.evalue
512
513
  }
513
514
  const listing = objects.listings[id]
514
515
  const api = apis[listing.api]
@@ -604,7 +605,9 @@ const initializeApi = (config, api, km) => {
604
605
  }
605
606
 
606
607
  const createConfig = () => {
607
- const config = new Config(configStruct, module).add(currencyKM()).add(helpKM()).add(math()).add(events())
608
+ const config = new Config(configStruct, module)
609
+ config.stop_auto_rebuild()
610
+ config.add(currencyKM(), helpKM(), math(), events())
608
611
  config.multiApi = initializeApi
609
612
  // mode this to non-module init only
610
613
  config.initializer(({config, objects, km, isModule}) => {
@@ -622,6 +625,7 @@ const createConfig = () => {
622
625
  objects.listings[id].api = 'clothes'
623
626
  }
624
627
  })
628
+ config.restart_auto_rebuild()
625
629
  return config
626
630
  }
627
631
 
@@ -350,9 +350,8 @@ let configStruct = {
350
350
 
351
351
  const createConfig = () => {
352
352
  const config = new Config(configStruct, module)
353
- config.add(dialogues())
354
- config.add(numbers())
355
- config.add(properties())
353
+ config.stop_auto_rebuild()
354
+ config.add(dialogues(), numbers(), properties())
356
355
  config.initializer( ({objects, km, isModule}) => {
357
356
  objects.players = []
358
357
  objects.nextPlayer = undefined;
@@ -361,6 +360,7 @@ const createConfig = () => {
361
360
  objects.winningScore = null
362
361
  objects.allPlayersAreKnown = false;
363
362
  })
363
+ config.restart_auto_rebuild()
364
364
  return config
365
365
  }
366
366
 
@@ -49,7 +49,7 @@ let configStruct = {
49
49
 
50
50
  const createConfig = () => {
51
51
  const config = new Config(configStruct, module)
52
- config.add(dialogues()).add(numbers())
52
+ config.add(dialogues(), numbers())
53
53
  return config
54
54
  }
55
55
 
@@ -985,6 +985,10 @@
985
985
  "thisitthat",
986
986
  "queryable"
987
987
  ],
988
+ [
989
+ "to",
990
+ "preposition"
991
+ ],
988
992
  [
989
993
  "toAble",
990
994
  "toAble"
package/common/stgame.js CHANGED
@@ -74,8 +74,10 @@ const createConfig = () => {
74
74
  bridges: [ { id: 'a', level: 0, bridge: "{ ...next(operator) }" } ],
75
75
  words: {"?": [{"id": "a", "initial": "{}" }]},
76
76
  }, module)
77
+ config.stop_auto_rebuild()
77
78
  config.api = api
78
79
  config.add(characters)
80
+ config.restart_auto_rebuild()
79
81
  return config
80
82
  }
81
83
 
package/common/stm.js CHANGED
@@ -40,23 +40,27 @@ class API {
40
40
  this._objects.mentioned.unshift(concept)
41
41
  }
42
42
 
43
- mentions(context) {
43
+ mentions(context, useHierarchy=true) {
44
44
  // care about value first
45
45
  for (let m of this._objects.mentioned) {
46
46
  if (context.value && context.value == m.marker) {
47
- return m
47
+ return { ...m, fromSTM: true }
48
48
  }
49
49
  }
50
+
51
+ if (!useHierarchy) {
52
+ return
53
+ }
50
54
  // care about marker second
51
55
  for (let m of this._objects.mentioned) {
52
56
  if (context.marker != 'unknown' && this.isA(m.marker, context.marker)) {
53
- return m
57
+ return { ...m, fromSTM: true }
54
58
  }
55
59
  // if (context.types && context.types.includes(m.marker)) {
56
60
  if (context.types) {
57
61
  for (let parent of context.types) {
58
62
  if (parent != 'unknown' && this.isA(m.marker, parent)) {
59
- return m
63
+ return { ...m, fromSTM: true }
60
64
  }
61
65
  }
62
66
  }
@@ -64,7 +68,7 @@ class API {
64
68
  if (context.types && context.types.length == 1) {
65
69
  for (let m of this._objects.mentioned) {
66
70
  if (context.unknown) {
67
- return m
71
+ return { ...m, fromSTM: true }
68
72
  }
69
73
  }
70
74
  }
@@ -74,7 +78,7 @@ class API {
74
78
  if (!name) {
75
79
  return
76
80
  }
77
- let valueNew = this.mentions({ marker: name, value: name }) || name
81
+ let valueNew = this.mentions({ marker: name, value: name }, false) || name
78
82
  if (valueNew && valueNew.value) {
79
83
  valueNew = valueNew.value
80
84
  }
@@ -90,7 +94,18 @@ const api = new API()
90
94
 
91
95
  let createConfig = () => {
92
96
  const config = new Config({ name: 'stm' }, module)
97
+ config.stop_auto_rebuild()
98
+
99
+ config.initializer( ({config}) => {
100
+ config.addArgs(({kms}) => ({
101
+ mentioned: (context) => {
102
+ kms.stm.api.mentioned(context)
103
+ },
104
+ }))
105
+ })
93
106
  config.api = api
107
+
108
+ config.restart_auto_rebuild()
94
109
  return config
95
110
  }
96
111
 
package/common/tell.js CHANGED
@@ -98,6 +98,7 @@ let configStruct = {
98
98
 
99
99
  const createConfig = () => {
100
100
  const config = new Config(configStruct, module)
101
+ config.stop_auto_rebuild()
101
102
  config.api = api
102
103
  config.add(dialogues())
103
104
  config.initializer( ({config, isModule}) => {
@@ -110,6 +111,7 @@ const createConfig = () => {
110
111
  })
111
112
  }
112
113
  })
114
+ config.restart_auto_rebuild()
113
115
  return config
114
116
  }
115
117