ekms 8.0.0-beta.0 → 8.0.0-beta.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. package/common/animals.instance.json +2634 -1477
  2. package/common/characters.js +0 -1
  3. package/common/colors.instance.json +25327 -0
  4. package/common/colors.js +71 -0
  5. package/common/colors.test.json +4860 -0
  6. package/common/concept.js +2 -2
  7. package/common/crew.instance.json +15918 -9384
  8. package/common/crew.js +4 -2
  9. package/common/crew.test.json +714 -452
  10. package/common/dialogues.js +36 -25
  11. package/common/dialogues.test.json +1053 -33
  12. package/common/dimension.instance.json +261 -290
  13. package/common/dimension.test.json +476 -687
  14. package/common/edible.instance.json +19462 -10130
  15. package/common/emotions.instance.json +125 -68
  16. package/common/fastfood.instance.json +219732 -110803
  17. package/common/fastfood.js +1 -1
  18. package/common/fastfood.test.json +7941 -3647
  19. package/common/formulas.instance.json +219 -249
  20. package/common/formulas.js +2 -2
  21. package/common/formulas.test.json +1027 -955
  22. package/common/help.test.json +20 -28
  23. package/common/helpers/concept.js +31 -10
  24. package/common/helpers/dialogues.js +17 -1
  25. package/common/helpers/formulas.js +0 -14
  26. package/common/helpers/meta.js +0 -1
  27. package/common/helpers/properties.js +6 -13
  28. package/common/kirk.instance.json +567 -289
  29. package/common/length.instance.json +5232 -4726
  30. package/common/math.instance.json +143 -1181
  31. package/common/math.js +4 -4
  32. package/common/meta.js +0 -2
  33. package/common/negation.instance.json +2 -0
  34. package/common/negation.js +38 -0
  35. package/common/negation.test.json +308 -0
  36. package/common/ordering.instance.json +298 -160
  37. package/common/people.instance.json +1930 -1068
  38. package/common/pipboy.instance.json +7868 -6548
  39. package/common/pokemon.instance.json +4074 -2152
  40. package/common/pressure.instance.json +1299 -1237
  41. package/common/properties.instance.json +109 -60
  42. package/common/properties.js +9 -7
  43. package/common/properties.test.json +17605 -4030
  44. package/common/punctuation.js +8 -0
  45. package/common/punctuation.test.json +233 -5
  46. package/common/reports.instance.json +566 -560
  47. package/common/reports.js +0 -2
  48. package/common/sizeable.js +7 -2
  49. package/common/spock.instance.json +567 -289
  50. package/common/stm.js +16 -5
  51. package/common/temperature.instance.json +1337 -1263
  52. package/common/testing.js +0 -1
  53. package/common/tokenize.js +2 -1
  54. package/common/tokenize.test.json +86 -1
  55. package/common/ui.instance.json +241 -258
  56. package/common/ui.js +0 -1
  57. package/common/weight.instance.json +4996 -4206
  58. package/common/weight.test.json +242 -238
  59. package/main.js +50 -45
  60. package/package.json +13 -6
@@ -90,21 +90,20 @@
90
90
  "countable": "countable2",
91
91
  "dialogues": "dialogues2",
92
92
  "dimension": "dimension1",
93
- "dimensionTemplate": "dimensionTemplate2",
94
93
  "formulas": "formulas2",
95
- "formulasTemplate": "formulasTemplate2",
96
94
  "gdefaults": "gdefaults2",
97
95
  "hierarchy": "hierarchy2",
98
96
  "math": "math2",
99
- "mathTemplate": "mathTemplate2",
100
97
  "meta": "meta2",
98
+ "negation": "negation2",
101
99
  "numbers": "numbers2",
102
100
  "pos": "pos2",
103
101
  "properties": "properties2",
104
102
  "punctuation": "punctuation2",
105
103
  "sdefaults": "sdefaults2",
106
104
  "stm": "stm2",
107
- "testing": "testing2"
105
+ "testing": "testing2",
106
+ "tokenize": "tokenize2"
108
107
  },
109
108
  "namespaced": {
110
109
  "comparable2": {
@@ -118,6 +117,7 @@
118
117
  "countable2": {
119
118
  },
120
119
  "dialogues2": {
120
+ "idSuffix": "",
121
121
  "mentioned": [
122
122
  ],
123
123
  "variables": {
@@ -125,24 +125,20 @@
125
125
  },
126
126
  "dimension1": {
127
127
  },
128
- "dimensionTemplate2": {
129
- },
130
128
  "formulas2": {
131
129
  "formulas": {
132
130
  }
133
131
  },
134
- "formulasTemplate2": {
135
- },
136
132
  "gdefaults2": {
137
133
  },
138
134
  "hierarchy2": {
139
135
  },
140
136
  "math2": {
141
137
  },
142
- "mathTemplate2": {
143
- },
144
138
  "meta2": {
145
139
  },
140
+ "negation2": {
141
+ },
146
142
  "numbers2": {
147
143
  },
148
144
  "pos2": {
@@ -177,9 +173,6 @@
177
173
  "/",
178
174
  "-"
179
175
  ],
180
- "notAble": [
181
- "unknown"
182
- ],
183
176
  "object": [
184
177
  "unknown",
185
178
  "what",
@@ -203,6 +196,7 @@
203
196
  "object",
204
197
  "xfx",
205
198
  "concept",
199
+ "doubleQuote",
206
200
  "unknown",
207
201
  "it",
208
202
  "what",
@@ -256,6 +250,7 @@
256
250
  "concept",
257
251
  "modifies",
258
252
  "verby",
253
+ "doubleQuote",
259
254
  "it",
260
255
  "pronoun",
261
256
  "this",
@@ -264,7 +259,6 @@
264
259
  "a",
265
260
  "articlePOS",
266
261
  "the",
267
- "notAble",
268
262
  "whatAble",
269
263
  "is",
270
264
  "toAble",
@@ -273,9 +267,9 @@
273
267
  "thisitthat",
274
268
  "reason",
275
269
  "that",
270
+ "number",
276
271
  "orAble",
277
272
  "ifAble",
278
- "number",
279
273
  "*",
280
274
  "mathematical_operator",
281
275
  "+",
@@ -311,6 +305,9 @@
311
305
  "dimension": [
312
306
  "concept"
313
307
  ],
308
+ "doubleQuote": [
309
+ "queryable"
310
+ ],
314
311
  "formula": [
315
312
  "concept"
316
313
  ],
@@ -385,7 +382,6 @@
385
382
  "unknown": [
386
383
  "hierarchyAble",
387
384
  "object",
388
- "notAble",
389
385
  "theAble",
390
386
  "queryable"
391
387
  ],
@@ -431,6 +427,8 @@
431
427
  },
432
428
  "dimension": {
433
429
  },
430
+ "doubleQuote": {
431
+ },
434
432
  "formula": {
435
433
  },
436
434
  "have": {
@@ -447,8 +445,6 @@
447
445
  },
448
446
  "modifies": {
449
447
  },
450
- "notAble": {
451
- },
452
448
  "noun": {
453
449
  },
454
450
  "number": {
@@ -521,6 +517,8 @@
521
517
  }
522
518
  },
523
519
  "testing2": {
520
+ },
521
+ "tokenize2": {
524
522
  }
525
523
  },
526
524
  "processed": [
@@ -582,13 +580,13 @@
582
580
  "text": "dimension and unit",
583
581
  "types": [
584
582
  "list",
585
- "type"
583
+ "unknown"
586
584
  ],
587
585
  "value": [
588
586
  {
589
587
  "dead": true,
590
588
  "level": 1,
591
- "marker": "type",
589
+ "marker": "unknown",
592
590
  "range": {
593
591
  "end": 8,
594
592
  "start": 0
@@ -601,7 +599,7 @@
601
599
  {
602
600
  "dead": true,
603
601
  "level": 1,
604
- "marker": "type",
602
+ "marker": "unknown",
605
603
  "range": {
606
604
  "end": 17,
607
605
  "start": 14
@@ -621,8 +619,7 @@
621
619
  "text": "dimension and unit are concepts",
622
620
  "topLevel": true,
623
621
  "touchedBy": [
624
- "dimensionTemplate#call2",
625
- "instance0#dimensionTemplate#call2",
622
+ "dimension#call2",
626
623
  "instance0#dimension#call2"
627
624
  ],
628
625
  "two": {
@@ -683,8 +680,7 @@
683
680
  "text": "formulas are concepts",
684
681
  "topLevel": true,
685
682
  "touchedBy": [
686
- "formulasTemplate#call2",
687
- "instance0#formulasTemplate#call2",
683
+ "formulas#call2",
688
684
  "instance0#formulas#call2",
689
685
  "instance0#dimension#call2"
690
686
  ],
@@ -723,6 +719,8 @@
723
719
  "marker": "is",
724
720
  "number": "many",
725
721
  "one": {
722
+ "default": true,
723
+ "isList": true,
726
724
  "level": 1,
727
725
  "listable": true,
728
726
  "marker": "list",
@@ -731,7 +729,7 @@
731
729
  "end": 37,
732
730
  "start": 0
733
731
  },
734
- "text": "* +",
732
+ "text": "* + / and -",
735
733
  "types": [
736
734
  "list",
737
735
  "unknown"
@@ -765,7 +763,7 @@
765
763
  },
766
764
  {
767
765
  "dead": true,
768
- "level": 2,
766
+ "level": 1,
769
767
  "marker": "unknown",
770
768
  "range": {
771
769
  "end": 4,
@@ -778,7 +776,7 @@
778
776
  },
779
777
  {
780
778
  "dead": true,
781
- "level": 2,
779
+ "level": 1,
782
780
  "marker": "unknown",
783
781
  "range": {
784
782
  "end": 10,
@@ -789,7 +787,8 @@
789
787
  "value": "-",
790
788
  "word": "-"
791
789
  }
792
- ]
790
+ ],
791
+ "word": "and"
793
792
  },
794
793
  "range": {
795
794
  "end": 37,
@@ -798,8 +797,7 @@
798
797
  "text": "* + / and - are mathematical operators",
799
798
  "topLevel": true,
800
799
  "touchedBy": [
801
- "mathTemplate#call2",
802
- "instance1#mathTemplate#call2",
800
+ "math#call2",
803
801
  "instance1#math#call2",
804
802
  "instance1#formulas#call2",
805
803
  "instance1#dimension#call2"
@@ -813,6 +811,7 @@
813
811
  "modifier_mathematical": {
814
812
  "level": 0,
815
813
  "marker": "mathematical",
814
+ "number": "one",
816
815
  "range": {
817
816
  "end": 27,
818
817
  "start": 16
@@ -893,8 +892,7 @@
893
892
  "text": "mathematical modifies operator",
894
893
  "topLevel": true,
895
894
  "touchedBy": [
896
- "mathTemplate#call2",
897
- "instance0#mathTemplate#call2",
895
+ "math#call2",
898
896
  "instance0#math#call2",
899
897
  "instance0#formulas#call2",
900
898
  "instance0#dimension#call2"
@@ -970,21 +968,20 @@
970
968
  "countable": "countable2",
971
969
  "dialogues": "dialogues2",
972
970
  "dimension": "dimension1",
973
- "dimensionTemplate": "dimensionTemplate2",
974
971
  "formulas": "formulas2",
975
- "formulasTemplate": "formulasTemplate2",
976
972
  "gdefaults": "gdefaults2",
977
973
  "hierarchy": "hierarchy2",
978
974
  "math": "math2",
979
- "mathTemplate": "mathTemplate2",
980
975
  "meta": "meta2",
976
+ "negation": "negation2",
981
977
  "numbers": "numbers2",
982
978
  "pos": "pos2",
983
979
  "properties": "properties2",
984
980
  "punctuation": "punctuation2",
985
981
  "sdefaults": "sdefaults2",
986
982
  "stm": "stm2",
987
- "testing": "testing2"
983
+ "testing": "testing2",
984
+ "tokenize": "tokenize2"
988
985
  },
989
986
  "namespaced": {
990
987
  "comparable2": {
@@ -998,6 +995,7 @@
998
995
  "countable2": {
999
996
  },
1000
997
  "dialogues2": {
998
+ "idSuffix": "",
1001
999
  "mentioned": [
1002
1000
  ],
1003
1001
  "variables": {
@@ -1005,24 +1003,20 @@
1005
1003
  },
1006
1004
  "dimension1": {
1007
1005
  },
1008
- "dimensionTemplate2": {
1009
- },
1010
1006
  "formulas2": {
1011
1007
  "formulas": {
1012
1008
  }
1013
1009
  },
1014
- "formulasTemplate2": {
1015
- },
1016
1010
  "gdefaults2": {
1017
1011
  },
1018
1012
  "hierarchy2": {
1019
1013
  },
1020
1014
  "math2": {
1021
1015
  },
1022
- "mathTemplate2": {
1023
- },
1024
1016
  "meta2": {
1025
1017
  },
1018
+ "negation2": {
1019
+ },
1026
1020
  "numbers2": {
1027
1021
  },
1028
1022
  "pos2": {
@@ -1057,9 +1051,6 @@
1057
1051
  "/",
1058
1052
  "-"
1059
1053
  ],
1060
- "notAble": [
1061
- "unknown"
1062
- ],
1063
1054
  "object": [
1064
1055
  "unknown",
1065
1056
  "what",
@@ -1083,6 +1074,7 @@
1083
1074
  "object",
1084
1075
  "xfx",
1085
1076
  "concept",
1077
+ "doubleQuote",
1086
1078
  "unknown",
1087
1079
  "it",
1088
1080
  "what",
@@ -1136,6 +1128,7 @@
1136
1128
  "concept",
1137
1129
  "modifies",
1138
1130
  "verby",
1131
+ "doubleQuote",
1139
1132
  "it",
1140
1133
  "pronoun",
1141
1134
  "this",
@@ -1144,7 +1137,6 @@
1144
1137
  "a",
1145
1138
  "articlePOS",
1146
1139
  "the",
1147
- "notAble",
1148
1140
  "whatAble",
1149
1141
  "is",
1150
1142
  "toAble",
@@ -1153,9 +1145,9 @@
1153
1145
  "thisitthat",
1154
1146
  "reason",
1155
1147
  "that",
1148
+ "number",
1156
1149
  "orAble",
1157
1150
  "ifAble",
1158
- "number",
1159
1151
  "*",
1160
1152
  "mathematical_operator",
1161
1153
  "+",
@@ -1191,6 +1183,9 @@
1191
1183
  "dimension": [
1192
1184
  "concept"
1193
1185
  ],
1186
+ "doubleQuote": [
1187
+ "queryable"
1188
+ ],
1194
1189
  "formula": [
1195
1190
  "concept"
1196
1191
  ],
@@ -1265,7 +1260,6 @@
1265
1260
  "unknown": [
1266
1261
  "hierarchyAble",
1267
1262
  "object",
1268
- "notAble",
1269
1263
  "theAble",
1270
1264
  "queryable"
1271
1265
  ],
@@ -1311,6 +1305,8 @@
1311
1305
  },
1312
1306
  "dimension": {
1313
1307
  },
1308
+ "doubleQuote": {
1309
+ },
1314
1310
  "formula": {
1315
1311
  },
1316
1312
  "have": {
@@ -1327,8 +1323,6 @@
1327
1323
  },
1328
1324
  "modifies": {
1329
1325
  },
1330
- "notAble": {
1331
- },
1332
1326
  "noun": {
1333
1327
  },
1334
1328
  "number": {
@@ -1401,6 +1395,8 @@
1401
1395
  }
1402
1396
  },
1403
1397
  "testing2": {
1398
+ },
1399
+ "tokenize2": {
1404
1400
  }
1405
1401
  },
1406
1402
  "processed": [
@@ -1445,13 +1441,13 @@
1445
1441
  "text": "dimension and unit",
1446
1442
  "types": [
1447
1443
  "list",
1448
- "type"
1444
+ "unknown"
1449
1445
  ],
1450
1446
  "value": [
1451
1447
  {
1452
1448
  "dead": true,
1453
1449
  "level": 1,
1454
- "marker": "type",
1450
+ "marker": "unknown",
1455
1451
  "range": {
1456
1452
  "end": 8,
1457
1453
  "start": 0
@@ -1464,7 +1460,7 @@
1464
1460
  {
1465
1461
  "dead": true,
1466
1462
  "level": 1,
1467
- "marker": "type",
1463
+ "marker": "unknown",
1468
1464
  "range": {
1469
1465
  "end": 17,
1470
1466
  "start": 14
@@ -1484,8 +1480,7 @@
1484
1480
  "text": "dimension and unit are concepts",
1485
1481
  "topLevel": true,
1486
1482
  "touchedBy": [
1487
- "dimensionTemplate#call2",
1488
- "instance0#dimensionTemplate#call2",
1483
+ "dimension#call2",
1489
1484
  "instance0#dimension#call2"
1490
1485
  ],
1491
1486
  "two": {
@@ -1546,8 +1541,7 @@
1546
1541
  "text": "formulas are concepts",
1547
1542
  "topLevel": true,
1548
1543
  "touchedBy": [
1549
- "formulasTemplate#call2",
1550
- "instance0#formulasTemplate#call2",
1544
+ "formulas#call2",
1551
1545
  "instance0#formulas#call2",
1552
1546
  "instance0#dimension#call2"
1553
1547
  ],
@@ -1586,6 +1580,8 @@
1586
1580
  "marker": "is",
1587
1581
  "number": "many",
1588
1582
  "one": {
1583
+ "default": true,
1584
+ "isList": true,
1589
1585
  "level": 1,
1590
1586
  "listable": true,
1591
1587
  "marker": "list",
@@ -1594,7 +1590,7 @@
1594
1590
  "end": 37,
1595
1591
  "start": 0
1596
1592
  },
1597
- "text": "* +",
1593
+ "text": "* + / and -",
1598
1594
  "types": [
1599
1595
  "list",
1600
1596
  "unknown"
@@ -1628,7 +1624,7 @@
1628
1624
  },
1629
1625
  {
1630
1626
  "dead": true,
1631
- "level": 2,
1627
+ "level": 1,
1632
1628
  "marker": "unknown",
1633
1629
  "range": {
1634
1630
  "end": 4,
@@ -1641,7 +1637,7 @@
1641
1637
  },
1642
1638
  {
1643
1639
  "dead": true,
1644
- "level": 2,
1640
+ "level": 1,
1645
1641
  "marker": "unknown",
1646
1642
  "range": {
1647
1643
  "end": 10,
@@ -1652,7 +1648,8 @@
1652
1648
  "value": "-",
1653
1649
  "word": "-"
1654
1650
  }
1655
- ]
1651
+ ],
1652
+ "word": "and"
1656
1653
  },
1657
1654
  "range": {
1658
1655
  "end": 37,
@@ -1661,8 +1658,7 @@
1661
1658
  "text": "* + / and - are mathematical operators",
1662
1659
  "topLevel": true,
1663
1660
  "touchedBy": [
1664
- "mathTemplate#call2",
1665
- "instance1#mathTemplate#call2",
1661
+ "math#call2",
1666
1662
  "instance1#math#call2",
1667
1663
  "instance1#formulas#call2",
1668
1664
  "instance1#dimension#call2"
@@ -1676,6 +1672,7 @@
1676
1672
  "modifier_mathematical": {
1677
1673
  "level": 0,
1678
1674
  "marker": "mathematical",
1675
+ "number": "one",
1679
1676
  "range": {
1680
1677
  "end": 27,
1681
1678
  "start": 16
@@ -1756,8 +1753,7 @@
1756
1753
  "text": "mathematical modifies operator",
1757
1754
  "topLevel": true,
1758
1755
  "touchedBy": [
1759
- "mathTemplate#call2",
1760
- "instance0#mathTemplate#call2",
1756
+ "math#call2",
1761
1757
  "instance0#math#call2",
1762
1758
  "instance0#formulas#call2",
1763
1759
  "instance0#dimension#call2"
@@ -1874,6 +1870,8 @@
1874
1870
  "marker": "is",
1875
1871
  "number": "many",
1876
1872
  "one": {
1873
+ "default": true,
1874
+ "isList": true,
1877
1875
  "level": 1,
1878
1876
  "listable": true,
1879
1877
  "marker": "list",
@@ -1882,7 +1880,7 @@
1882
1880
  "end": 53,
1883
1881
  "start": 0
1884
1882
  },
1885
- "text": "fahrenheit",
1883
+ "text": "fahrenheit celcuis and kelvin",
1886
1884
  "types": [
1887
1885
  "list",
1888
1886
  "unknown"
@@ -1903,7 +1901,7 @@
1903
1901
  },
1904
1902
  {
1905
1903
  "dead": true,
1906
- "level": 2,
1904
+ "level": 1,
1907
1905
  "marker": "unknown",
1908
1906
  "range": {
1909
1907
  "end": 17,
@@ -1916,7 +1914,7 @@
1916
1914
  },
1917
1915
  {
1918
1916
  "dead": true,
1919
- "level": 2,
1917
+ "level": 1,
1920
1918
  "marker": "unknown",
1921
1919
  "range": {
1922
1920
  "end": 28,
@@ -1927,7 +1925,8 @@
1927
1925
  "value": "kelvin",
1928
1926
  "word": "kelvin"
1929
1927
  }
1930
- ]
1928
+ ],
1929
+ "word": "and"
1931
1930
  },
1932
1931
  "range": {
1933
1932
  "end": 53,
@@ -2319,10 +2318,6 @@
2319
2318
  "list",
2320
2319
  1
2321
2320
  ],
2322
- [
2323
- "list",
2324
- 1
2325
- ],
2326
2321
  [
2327
2322
  "propertyOf",
2328
2323
  0
@@ -2339,35 +2334,6 @@
2339
2334
  },
2340
2335
  {
2341
2336
  "counter": 6,
2342
- "op": [
2343
- "list",
2344
- 1
2345
- ],
2346
- "ops": [
2347
- [
2348
- "is",
2349
- 0
2350
- ],
2351
- [
2352
- "list",
2353
- 1
2354
- ],
2355
- [
2356
- "propertyOf",
2357
- 0
2358
- ],
2359
- [
2360
- "temperature",
2361
- 0
2362
- ],
2363
- [
2364
- "unit",
2365
- 0
2366
- ]
2367
- ]
2368
- },
2369
- {
2370
- "counter": 7,
2371
2337
  "op": [
2372
2338
  "unit",
2373
2339
  0
@@ -2392,7 +2358,7 @@
2392
2358
  ]
2393
2359
  },
2394
2360
  {
2395
- "counter": 8,
2361
+ "counter": 7,
2396
2362
  "op": [
2397
2363
  "temperature",
2398
2364
  0
@@ -2413,7 +2379,7 @@
2413
2379
  ]
2414
2380
  },
2415
2381
  {
2416
- "counter": 9,
2382
+ "counter": 8,
2417
2383
  "op": [
2418
2384
  "propertyOf",
2419
2385
  0
@@ -2430,7 +2396,7 @@
2430
2396
  ]
2431
2397
  },
2432
2398
  {
2433
- "counter": 10,
2399
+ "counter": 9,
2434
2400
  "op": [
2435
2401
  "propertyOf",
2436
2402
  1
@@ -2447,7 +2413,7 @@
2447
2413
  ]
2448
2414
  },
2449
2415
  {
2450
- "counter": 11,
2416
+ "counter": 10,
2451
2417
  "op": [
2452
2418
  "is",
2453
2419
  0
@@ -2460,7 +2426,7 @@
2460
2426
  ]
2461
2427
  },
2462
2428
  {
2463
- "counter": 12,
2429
+ "counter": 11,
2464
2430
  "op": [
2465
2431
  "is",
2466
2432
  1
@@ -2562,21 +2528,20 @@
2562
2528
  "countable": "countable2",
2563
2529
  "dialogues": "dialogues2",
2564
2530
  "dimension": "dimension1",
2565
- "dimensionTemplate": "dimensionTemplate2",
2566
2531
  "formulas": "formulas2",
2567
- "formulasTemplate": "formulasTemplate2",
2568
2532
  "gdefaults": "gdefaults2",
2569
2533
  "hierarchy": "hierarchy2",
2570
2534
  "math": "math2",
2571
- "mathTemplate": "mathTemplate2",
2572
2535
  "meta": "meta2",
2536
+ "negation": "negation2",
2573
2537
  "numbers": "numbers2",
2574
2538
  "pos": "pos2",
2575
2539
  "properties": "properties2",
2576
2540
  "punctuation": "punctuation2",
2577
2541
  "sdefaults": "sdefaults2",
2578
2542
  "stm": "stm2",
2579
- "testing": "testing2"
2543
+ "testing": "testing2",
2544
+ "tokenize": "tokenize2"
2580
2545
  },
2581
2546
  "namespaced": {
2582
2547
  "comparable2": {
@@ -2590,6 +2555,7 @@
2590
2555
  "countable2": {
2591
2556
  },
2592
2557
  "dialogues2": {
2558
+ "idSuffix": "",
2593
2559
  "mentioned": [
2594
2560
  ],
2595
2561
  "variables": {
@@ -2597,24 +2563,20 @@
2597
2563
  },
2598
2564
  "dimension1": {
2599
2565
  },
2600
- "dimensionTemplate2": {
2601
- },
2602
2566
  "formulas2": {
2603
2567
  "formulas": {
2604
2568
  }
2605
2569
  },
2606
- "formulasTemplate2": {
2607
- },
2608
2570
  "gdefaults2": {
2609
2571
  },
2610
2572
  "hierarchy2": {
2611
2573
  },
2612
2574
  "math2": {
2613
2575
  },
2614
- "mathTemplate2": {
2615
- },
2616
2576
  "meta2": {
2617
2577
  },
2578
+ "negation2": {
2579
+ },
2618
2580
  "numbers2": {
2619
2581
  },
2620
2582
  "pos2": {
@@ -2652,9 +2614,6 @@
2652
2614
  "/",
2653
2615
  "-"
2654
2616
  ],
2655
- "notAble": [
2656
- "unknown"
2657
- ],
2658
2617
  "object": [
2659
2618
  "unknown",
2660
2619
  "what",
@@ -2678,6 +2637,7 @@
2678
2637
  "object",
2679
2638
  "xfx",
2680
2639
  "concept",
2640
+ "doubleQuote",
2681
2641
  "unknown",
2682
2642
  "it",
2683
2643
  "what",
@@ -2736,6 +2696,7 @@
2736
2696
  "concept",
2737
2697
  "modifies",
2738
2698
  "verby",
2699
+ "doubleQuote",
2739
2700
  "it",
2740
2701
  "pronoun",
2741
2702
  "this",
@@ -2744,7 +2705,6 @@
2744
2705
  "a",
2745
2706
  "articlePOS",
2746
2707
  "the",
2747
- "notAble",
2748
2708
  "whatAble",
2749
2709
  "is",
2750
2710
  "toAble",
@@ -2753,9 +2713,9 @@
2753
2713
  "thisitthat",
2754
2714
  "reason",
2755
2715
  "that",
2716
+ "number",
2756
2717
  "orAble",
2757
2718
  "ifAble",
2758
- "number",
2759
2719
  "*",
2760
2720
  "mathematical_operator",
2761
2721
  "+",
@@ -2798,6 +2758,9 @@
2798
2758
  "dimension": [
2799
2759
  "concept"
2800
2760
  ],
2761
+ "doubleQuote": [
2762
+ "queryable"
2763
+ ],
2801
2764
  "fahrenheit": [
2802
2765
  "unit"
2803
2766
  ],
@@ -2881,7 +2844,6 @@
2881
2844
  "unknown": [
2882
2845
  "hierarchyAble",
2883
2846
  "object",
2884
- "notAble",
2885
2847
  "theAble",
2886
2848
  "queryable"
2887
2849
  ],
@@ -2929,6 +2891,8 @@
2929
2891
  },
2930
2892
  "dimension": {
2931
2893
  },
2894
+ "doubleQuote": {
2895
+ },
2932
2896
  "fahrenheit": {
2933
2897
  },
2934
2898
  "formula": {
@@ -2949,8 +2913,6 @@
2949
2913
  },
2950
2914
  "modifies": {
2951
2915
  },
2952
- "notAble": {
2953
- },
2954
2916
  "noun": {
2955
2917
  },
2956
2918
  "number": {
@@ -3025,6 +2987,8 @@
3025
2987
  }
3026
2988
  },
3027
2989
  "testing2": {
2990
+ },
2991
+ "tokenize2": {
3028
2992
  }
3029
2993
  },
3030
2994
  "processed": [
@@ -3103,6 +3067,8 @@
3103
3067
  "marker": "is",
3104
3068
  "number": "many",
3105
3069
  "one": {
3070
+ "default": true,
3071
+ "isList": true,
3106
3072
  "level": 1,
3107
3073
  "listable": true,
3108
3074
  "marker": "list",
@@ -3111,7 +3077,7 @@
3111
3077
  "end": 53,
3112
3078
  "start": 0
3113
3079
  },
3114
- "text": "fahrenheit",
3080
+ "text": "fahrenheit celcuis and kelvin",
3115
3081
  "types": [
3116
3082
  "list",
3117
3083
  "unknown"
@@ -3132,7 +3098,7 @@
3132
3098
  },
3133
3099
  {
3134
3100
  "dead": true,
3135
- "level": 2,
3101
+ "level": 1,
3136
3102
  "marker": "unknown",
3137
3103
  "range": {
3138
3104
  "end": 17,
@@ -3145,7 +3111,7 @@
3145
3111
  },
3146
3112
  {
3147
3113
  "dead": true,
3148
- "level": 2,
3114
+ "level": 1,
3149
3115
  "marker": "unknown",
3150
3116
  "range": {
3151
3117
  "end": 28,
@@ -3156,7 +3122,8 @@
3156
3122
  "value": "kelvin",
3157
3123
  "word": "kelvin"
3158
3124
  }
3159
- ]
3125
+ ],
3126
+ "word": "and"
3160
3127
  },
3161
3128
  "range": {
3162
3129
  "end": 53,
@@ -3337,13 +3304,13 @@
3337
3304
  "text": "dimension and unit",
3338
3305
  "types": [
3339
3306
  "list",
3340
- "type"
3307
+ "unknown"
3341
3308
  ],
3342
3309
  "value": [
3343
3310
  {
3344
3311
  "dead": true,
3345
3312
  "level": 1,
3346
- "marker": "type",
3313
+ "marker": "unknown",
3347
3314
  "range": {
3348
3315
  "end": 8,
3349
3316
  "start": 0
@@ -3356,7 +3323,7 @@
3356
3323
  {
3357
3324
  "dead": true,
3358
3325
  "level": 1,
3359
- "marker": "type",
3326
+ "marker": "unknown",
3360
3327
  "range": {
3361
3328
  "end": 17,
3362
3329
  "start": 14
@@ -3376,8 +3343,7 @@
3376
3343
  "text": "dimension and unit are concepts",
3377
3344
  "topLevel": true,
3378
3345
  "touchedBy": [
3379
- "dimensionTemplate#call2",
3380
- "instance0#dimensionTemplate#call2",
3346
+ "dimension#call2",
3381
3347
  "instance0#dimension#call2"
3382
3348
  ],
3383
3349
  "two": {
@@ -3438,8 +3404,7 @@
3438
3404
  "text": "formulas are concepts",
3439
3405
  "topLevel": true,
3440
3406
  "touchedBy": [
3441
- "formulasTemplate#call2",
3442
- "instance0#formulasTemplate#call2",
3407
+ "formulas#call2",
3443
3408
  "instance0#formulas#call2",
3444
3409
  "instance0#dimension#call2"
3445
3410
  ],
@@ -3478,6 +3443,8 @@
3478
3443
  "marker": "is",
3479
3444
  "number": "many",
3480
3445
  "one": {
3446
+ "default": true,
3447
+ "isList": true,
3481
3448
  "level": 1,
3482
3449
  "listable": true,
3483
3450
  "marker": "list",
@@ -3486,7 +3453,7 @@
3486
3453
  "end": 37,
3487
3454
  "start": 0
3488
3455
  },
3489
- "text": "* +",
3456
+ "text": "* + / and -",
3490
3457
  "types": [
3491
3458
  "list",
3492
3459
  "unknown"
@@ -3520,7 +3487,7 @@
3520
3487
  },
3521
3488
  {
3522
3489
  "dead": true,
3523
- "level": 2,
3490
+ "level": 1,
3524
3491
  "marker": "unknown",
3525
3492
  "range": {
3526
3493
  "end": 4,
@@ -3533,7 +3500,7 @@
3533
3500
  },
3534
3501
  {
3535
3502
  "dead": true,
3536
- "level": 2,
3503
+ "level": 1,
3537
3504
  "marker": "unknown",
3538
3505
  "range": {
3539
3506
  "end": 10,
@@ -3544,7 +3511,8 @@
3544
3511
  "value": "-",
3545
3512
  "word": "-"
3546
3513
  }
3547
- ]
3514
+ ],
3515
+ "word": "and"
3548
3516
  },
3549
3517
  "range": {
3550
3518
  "end": 37,
@@ -3553,8 +3521,7 @@
3553
3521
  "text": "* + / and - are mathematical operators",
3554
3522
  "topLevel": true,
3555
3523
  "touchedBy": [
3556
- "mathTemplate#call2",
3557
- "instance1#mathTemplate#call2",
3524
+ "math#call2",
3558
3525
  "instance1#math#call2",
3559
3526
  "instance1#formulas#call2",
3560
3527
  "instance1#dimension#call2"
@@ -3568,6 +3535,7 @@
3568
3535
  "modifier_mathematical": {
3569
3536
  "level": 0,
3570
3537
  "marker": "mathematical",
3538
+ "number": "one",
3571
3539
  "range": {
3572
3540
  "end": 27,
3573
3541
  "start": 16
@@ -3723,6 +3691,8 @@
3723
3691
  "marker": "is",
3724
3692
  "number": "many",
3725
3693
  "one": {
3694
+ "default": true,
3695
+ "isList": true,
3726
3696
  "level": 1,
3727
3697
  "listable": true,
3728
3698
  "marker": "list",
@@ -3731,7 +3701,7 @@
3731
3701
  "end": 53,
3732
3702
  "start": 0
3733
3703
  },
3734
- "text": "fahrenheit",
3704
+ "text": "fahrenheit celcuis and kelvin",
3735
3705
  "types": [
3736
3706
  "list",
3737
3707
  "unknown"
@@ -3752,7 +3722,7 @@
3752
3722
  },
3753
3723
  {
3754
3724
  "dead": true,
3755
- "level": 2,
3725
+ "level": 1,
3756
3726
  "marker": "unknown",
3757
3727
  "range": {
3758
3728
  "end": 17,
@@ -3765,7 +3735,7 @@
3765
3735
  },
3766
3736
  {
3767
3737
  "dead": true,
3768
- "level": 2,
3738
+ "level": 1,
3769
3739
  "marker": "unknown",
3770
3740
  "range": {
3771
3741
  "end": 28,
@@ -3776,7 +3746,8 @@
3776
3746
  "value": "kelvin",
3777
3747
  "word": "kelvin"
3778
3748
  }
3779
- ]
3749
+ ],
3750
+ "word": "and"
3780
3751
  },
3781
3752
  "range": {
3782
3753
  "end": 53,
@@ -4152,10 +4123,6 @@
4152
4123
  "list",
4153
4124
  1
4154
4125
  ],
4155
- [
4156
- "list",
4157
- 1
4158
- ],
4159
4126
  [
4160
4127
  "propertyOf",
4161
4128
  0
@@ -4172,35 +4139,6 @@
4172
4139
  },
4173
4140
  {
4174
4141
  "counter": 6,
4175
- "op": [
4176
- "list",
4177
- 1
4178
- ],
4179
- "ops": [
4180
- [
4181
- "is",
4182
- 0
4183
- ],
4184
- [
4185
- "list",
4186
- 1
4187
- ],
4188
- [
4189
- "propertyOf",
4190
- 0
4191
- ],
4192
- [
4193
- "temperature",
4194
- 0
4195
- ],
4196
- [
4197
- "unit",
4198
- 0
4199
- ]
4200
- ]
4201
- },
4202
- {
4203
- "counter": 7,
4204
4142
  "op": [
4205
4143
  "unit",
4206
4144
  0
@@ -4225,7 +4163,7 @@
4225
4163
  ]
4226
4164
  },
4227
4165
  {
4228
- "counter": 8,
4166
+ "counter": 7,
4229
4167
  "op": [
4230
4168
  "temperature",
4231
4169
  0
@@ -4246,7 +4184,7 @@
4246
4184
  ]
4247
4185
  },
4248
4186
  {
4249
- "counter": 9,
4187
+ "counter": 8,
4250
4188
  "op": [
4251
4189
  "propertyOf",
4252
4190
  0
@@ -4263,7 +4201,7 @@
4263
4201
  ]
4264
4202
  },
4265
4203
  {
4266
- "counter": 10,
4204
+ "counter": 9,
4267
4205
  "op": [
4268
4206
  "propertyOf",
4269
4207
  1
@@ -4280,7 +4218,7 @@
4280
4218
  ]
4281
4219
  },
4282
4220
  {
4283
- "counter": 11,
4221
+ "counter": 10,
4284
4222
  "op": [
4285
4223
  "is",
4286
4224
  0
@@ -4293,7 +4231,7 @@
4293
4231
  ]
4294
4232
  },
4295
4233
  {
4296
- "counter": 12,
4234
+ "counter": 11,
4297
4235
  "op": [
4298
4236
  "is",
4299
4237
  1
@@ -4370,21 +4308,20 @@
4370
4308
  "countable": "countable2",
4371
4309
  "dialogues": "dialogues2",
4372
4310
  "dimension": "dimension1",
4373
- "dimensionTemplate": "dimensionTemplate2",
4374
4311
  "formulas": "formulas2",
4375
- "formulasTemplate": "formulasTemplate2",
4376
4312
  "gdefaults": "gdefaults2",
4377
4313
  "hierarchy": "hierarchy2",
4378
4314
  "math": "math2",
4379
- "mathTemplate": "mathTemplate2",
4380
4315
  "meta": "meta2",
4316
+ "negation": "negation2",
4381
4317
  "numbers": "numbers2",
4382
4318
  "pos": "pos2",
4383
4319
  "properties": "properties2",
4384
4320
  "punctuation": "punctuation2",
4385
4321
  "sdefaults": "sdefaults2",
4386
4322
  "stm": "stm2",
4387
- "testing": "testing2"
4323
+ "testing": "testing2",
4324
+ "tokenize": "tokenize2"
4388
4325
  },
4389
4326
  "namespaced": {
4390
4327
  "comparable2": {
@@ -4398,6 +4335,7 @@
4398
4335
  "countable2": {
4399
4336
  },
4400
4337
  "dialogues2": {
4338
+ "idSuffix": "",
4401
4339
  "mentioned": [
4402
4340
  ],
4403
4341
  "variables": {
@@ -4405,24 +4343,20 @@
4405
4343
  },
4406
4344
  "dimension1": {
4407
4345
  },
4408
- "dimensionTemplate2": {
4409
- },
4410
4346
  "formulas2": {
4411
4347
  "formulas": {
4412
4348
  }
4413
4349
  },
4414
- "formulasTemplate2": {
4415
- },
4416
4350
  "gdefaults2": {
4417
4351
  },
4418
4352
  "hierarchy2": {
4419
4353
  },
4420
4354
  "math2": {
4421
4355
  },
4422
- "mathTemplate2": {
4423
- },
4424
4356
  "meta2": {
4425
4357
  },
4358
+ "negation2": {
4359
+ },
4426
4360
  "numbers2": {
4427
4361
  },
4428
4362
  "pos2": {
@@ -4460,9 +4394,6 @@
4460
4394
  "/",
4461
4395
  "-"
4462
4396
  ],
4463
- "notAble": [
4464
- "unknown"
4465
- ],
4466
4397
  "object": [
4467
4398
  "unknown",
4468
4399
  "what",
@@ -4486,6 +4417,7 @@
4486
4417
  "object",
4487
4418
  "xfx",
4488
4419
  "concept",
4420
+ "doubleQuote",
4489
4421
  "unknown",
4490
4422
  "it",
4491
4423
  "what",
@@ -4544,6 +4476,7 @@
4544
4476
  "concept",
4545
4477
  "modifies",
4546
4478
  "verby",
4479
+ "doubleQuote",
4547
4480
  "it",
4548
4481
  "pronoun",
4549
4482
  "this",
@@ -4552,7 +4485,6 @@
4552
4485
  "a",
4553
4486
  "articlePOS",
4554
4487
  "the",
4555
- "notAble",
4556
4488
  "whatAble",
4557
4489
  "is",
4558
4490
  "toAble",
@@ -4561,9 +4493,9 @@
4561
4493
  "thisitthat",
4562
4494
  "reason",
4563
4495
  "that",
4496
+ "number",
4564
4497
  "orAble",
4565
4498
  "ifAble",
4566
- "number",
4567
4499
  "*",
4568
4500
  "mathematical_operator",
4569
4501
  "+",
@@ -4606,6 +4538,9 @@
4606
4538
  "dimension": [
4607
4539
  "concept"
4608
4540
  ],
4541
+ "doubleQuote": [
4542
+ "queryable"
4543
+ ],
4609
4544
  "fahrenheit": [
4610
4545
  "unit"
4611
4546
  ],
@@ -4689,7 +4624,6 @@
4689
4624
  "unknown": [
4690
4625
  "hierarchyAble",
4691
4626
  "object",
4692
- "notAble",
4693
4627
  "theAble",
4694
4628
  "queryable"
4695
4629
  ],
@@ -4737,6 +4671,8 @@
4737
4671
  },
4738
4672
  "dimension": {
4739
4673
  },
4674
+ "doubleQuote": {
4675
+ },
4740
4676
  "fahrenheit": {
4741
4677
  },
4742
4678
  "formula": {
@@ -4757,8 +4693,6 @@
4757
4693
  },
4758
4694
  "modifies": {
4759
4695
  },
4760
- "notAble": {
4761
- },
4762
4696
  "noun": {
4763
4697
  },
4764
4698
  "number": {
@@ -4833,6 +4767,8 @@
4833
4767
  }
4834
4768
  },
4835
4769
  "testing2": {
4770
+ },
4771
+ "tokenize2": {
4836
4772
  }
4837
4773
  },
4838
4774
  "processed": [
@@ -4895,6 +4831,8 @@
4895
4831
  "marker": "is",
4896
4832
  "number": "many",
4897
4833
  "one": {
4834
+ "default": true,
4835
+ "isList": true,
4898
4836
  "level": 1,
4899
4837
  "listable": true,
4900
4838
  "marker": "list",
@@ -4903,7 +4841,7 @@
4903
4841
  "end": 53,
4904
4842
  "start": 0
4905
4843
  },
4906
- "text": "fahrenheit",
4844
+ "text": "fahrenheit celcuis and kelvin",
4907
4845
  "types": [
4908
4846
  "list",
4909
4847
  "unknown"
@@ -4924,7 +4862,7 @@
4924
4862
  },
4925
4863
  {
4926
4864
  "dead": true,
4927
- "level": 2,
4865
+ "level": 1,
4928
4866
  "marker": "unknown",
4929
4867
  "range": {
4930
4868
  "end": 17,
@@ -4937,7 +4875,7 @@
4937
4875
  },
4938
4876
  {
4939
4877
  "dead": true,
4940
- "level": 2,
4878
+ "level": 1,
4941
4879
  "marker": "unknown",
4942
4880
  "range": {
4943
4881
  "end": 28,
@@ -4948,7 +4886,8 @@
4948
4886
  "value": "kelvin",
4949
4887
  "word": "kelvin"
4950
4888
  }
4951
- ]
4889
+ ],
4890
+ "word": "and"
4952
4891
  },
4953
4892
  "range": {
4954
4893
  "end": 53,
@@ -5129,13 +5068,13 @@
5129
5068
  "text": "dimension and unit",
5130
5069
  "types": [
5131
5070
  "list",
5132
- "type"
5071
+ "unknown"
5133
5072
  ],
5134
5073
  "value": [
5135
5074
  {
5136
5075
  "dead": true,
5137
5076
  "level": 1,
5138
- "marker": "type",
5077
+ "marker": "unknown",
5139
5078
  "range": {
5140
5079
  "end": 8,
5141
5080
  "start": 0
@@ -5148,7 +5087,7 @@
5148
5087
  {
5149
5088
  "dead": true,
5150
5089
  "level": 1,
5151
- "marker": "type",
5090
+ "marker": "unknown",
5152
5091
  "range": {
5153
5092
  "end": 17,
5154
5093
  "start": 14
@@ -5168,8 +5107,7 @@
5168
5107
  "text": "dimension and unit are concepts",
5169
5108
  "topLevel": true,
5170
5109
  "touchedBy": [
5171
- "dimensionTemplate#call2",
5172
- "instance0#dimensionTemplate#call2",
5110
+ "dimension#call2",
5173
5111
  "instance0#dimension#call2"
5174
5112
  ],
5175
5113
  "two": {
@@ -5230,8 +5168,7 @@
5230
5168
  "text": "formulas are concepts",
5231
5169
  "topLevel": true,
5232
5170
  "touchedBy": [
5233
- "formulasTemplate#call2",
5234
- "instance0#formulasTemplate#call2",
5171
+ "formulas#call2",
5235
5172
  "instance0#formulas#call2",
5236
5173
  "instance0#dimension#call2"
5237
5174
  ],
@@ -5270,6 +5207,8 @@
5270
5207
  "marker": "is",
5271
5208
  "number": "many",
5272
5209
  "one": {
5210
+ "default": true,
5211
+ "isList": true,
5273
5212
  "level": 1,
5274
5213
  "listable": true,
5275
5214
  "marker": "list",
@@ -5278,7 +5217,7 @@
5278
5217
  "end": 37,
5279
5218
  "start": 0
5280
5219
  },
5281
- "text": "* +",
5220
+ "text": "* + / and -",
5282
5221
  "types": [
5283
5222
  "list",
5284
5223
  "unknown"
@@ -5312,7 +5251,7 @@
5312
5251
  },
5313
5252
  {
5314
5253
  "dead": true,
5315
- "level": 2,
5254
+ "level": 1,
5316
5255
  "marker": "unknown",
5317
5256
  "range": {
5318
5257
  "end": 4,
@@ -5325,7 +5264,7 @@
5325
5264
  },
5326
5265
  {
5327
5266
  "dead": true,
5328
- "level": 2,
5267
+ "level": 1,
5329
5268
  "marker": "unknown",
5330
5269
  "range": {
5331
5270
  "end": 10,
@@ -5336,7 +5275,8 @@
5336
5275
  "value": "-",
5337
5276
  "word": "-"
5338
5277
  }
5339
- ]
5278
+ ],
5279
+ "word": "and"
5340
5280
  },
5341
5281
  "range": {
5342
5282
  "end": 37,
@@ -5345,8 +5285,7 @@
5345
5285
  "text": "* + / and - are mathematical operators",
5346
5286
  "topLevel": true,
5347
5287
  "touchedBy": [
5348
- "mathTemplate#call2",
5349
- "instance1#mathTemplate#call2",
5288
+ "math#call2",
5350
5289
  "instance1#math#call2",
5351
5290
  "instance1#formulas#call2",
5352
5291
  "instance1#dimension#call2"
@@ -5360,6 +5299,7 @@
5360
5299
  "modifier_mathematical": {
5361
5300
  "level": 0,
5362
5301
  "marker": "mathematical",
5302
+ "number": "one",
5363
5303
  "range": {
5364
5304
  "end": 27,
5365
5305
  "start": 16
@@ -5533,6 +5473,8 @@
5533
5473
  "marker": "is",
5534
5474
  "number": "many",
5535
5475
  "one": {
5476
+ "default": true,
5477
+ "isList": true,
5536
5478
  "level": 1,
5537
5479
  "listable": true,
5538
5480
  "marker": "list",
@@ -5541,7 +5483,7 @@
5541
5483
  "end": 53,
5542
5484
  "start": 0
5543
5485
  },
5544
- "text": "fahrenheit",
5486
+ "text": "fahrenheit celcuis and kelvin",
5545
5487
  "types": [
5546
5488
  "list",
5547
5489
  "unknown"
@@ -5562,7 +5504,7 @@
5562
5504
  },
5563
5505
  {
5564
5506
  "dead": true,
5565
- "level": 2,
5507
+ "level": 1,
5566
5508
  "marker": "unknown",
5567
5509
  "range": {
5568
5510
  "end": 17,
@@ -5575,7 +5517,7 @@
5575
5517
  },
5576
5518
  {
5577
5519
  "dead": true,
5578
- "level": 2,
5520
+ "level": 1,
5579
5521
  "marker": "unknown",
5580
5522
  "range": {
5581
5523
  "end": 28,
@@ -5586,7 +5528,8 @@
5586
5528
  "value": "kelvin",
5587
5529
  "word": "kelvin"
5588
5530
  }
5589
- ]
5531
+ ],
5532
+ "word": "and"
5590
5533
  },
5591
5534
  "range": {
5592
5535
  "end": 53,
@@ -5978,10 +5921,6 @@
5978
5921
  "list",
5979
5922
  1
5980
5923
  ],
5981
- [
5982
- "list",
5983
- 1
5984
- ],
5985
5924
  [
5986
5925
  "propertyOf",
5987
5926
  0
@@ -5998,35 +5937,6 @@
5998
5937
  },
5999
5938
  {
6000
5939
  "counter": 6,
6001
- "op": [
6002
- "list",
6003
- 1
6004
- ],
6005
- "ops": [
6006
- [
6007
- "is",
6008
- 0
6009
- ],
6010
- [
6011
- "list",
6012
- 1
6013
- ],
6014
- [
6015
- "propertyOf",
6016
- 0
6017
- ],
6018
- [
6019
- "temperature",
6020
- 0
6021
- ],
6022
- [
6023
- "unit",
6024
- 0
6025
- ]
6026
- ]
6027
- },
6028
- {
6029
- "counter": 7,
6030
5940
  "op": [
6031
5941
  "unit",
6032
5942
  0
@@ -6051,7 +5961,7 @@
6051
5961
  ]
6052
5962
  },
6053
5963
  {
6054
- "counter": 8,
5964
+ "counter": 7,
6055
5965
  "op": [
6056
5966
  "temperature",
6057
5967
  0
@@ -6072,7 +5982,7 @@
6072
5982
  ]
6073
5983
  },
6074
5984
  {
6075
- "counter": 9,
5985
+ "counter": 8,
6076
5986
  "op": [
6077
5987
  "propertyOf",
6078
5988
  0
@@ -6089,7 +5999,7 @@
6089
5999
  ]
6090
6000
  },
6091
6001
  {
6092
- "counter": 10,
6002
+ "counter": 9,
6093
6003
  "op": [
6094
6004
  "propertyOf",
6095
6005
  1
@@ -6106,7 +6016,7 @@
6106
6016
  ]
6107
6017
  },
6108
6018
  {
6109
- "counter": 11,
6019
+ "counter": 10,
6110
6020
  "op": [
6111
6021
  "is",
6112
6022
  0
@@ -6119,7 +6029,7 @@
6119
6029
  ]
6120
6030
  },
6121
6031
  {
6122
- "counter": 12,
6032
+ "counter": 11,
6123
6033
  "op": [
6124
6034
  "is",
6125
6035
  1
@@ -6217,21 +6127,20 @@
6217
6127
  "countable": "countable2",
6218
6128
  "dialogues": "dialogues2",
6219
6129
  "dimension": "dimension1",
6220
- "dimensionTemplate": "dimensionTemplate2",
6221
6130
  "formulas": "formulas2",
6222
- "formulasTemplate": "formulasTemplate2",
6223
6131
  "gdefaults": "gdefaults2",
6224
6132
  "hierarchy": "hierarchy2",
6225
6133
  "math": "math2",
6226
- "mathTemplate": "mathTemplate2",
6227
6134
  "meta": "meta2",
6135
+ "negation": "negation2",
6228
6136
  "numbers": "numbers2",
6229
6137
  "pos": "pos2",
6230
6138
  "properties": "properties2",
6231
6139
  "punctuation": "punctuation2",
6232
6140
  "sdefaults": "sdefaults2",
6233
6141
  "stm": "stm2",
6234
- "testing": "testing2"
6142
+ "testing": "testing2",
6143
+ "tokenize": "tokenize2"
6235
6144
  },
6236
6145
  "namespaced": {
6237
6146
  "comparable2": {
@@ -6245,6 +6154,7 @@
6245
6154
  "countable2": {
6246
6155
  },
6247
6156
  "dialogues2": {
6157
+ "idSuffix": "",
6248
6158
  "mentioned": [
6249
6159
  ],
6250
6160
  "variables": {
@@ -6252,24 +6162,20 @@
6252
6162
  },
6253
6163
  "dimension1": {
6254
6164
  },
6255
- "dimensionTemplate2": {
6256
- },
6257
6165
  "formulas2": {
6258
6166
  "formulas": {
6259
6167
  }
6260
6168
  },
6261
- "formulasTemplate2": {
6262
- },
6263
6169
  "gdefaults2": {
6264
6170
  },
6265
6171
  "hierarchy2": {
6266
6172
  },
6267
6173
  "math2": {
6268
6174
  },
6269
- "mathTemplate2": {
6270
- },
6271
6175
  "meta2": {
6272
6176
  },
6177
+ "negation2": {
6178
+ },
6273
6179
  "numbers2": {
6274
6180
  },
6275
6181
  "pos2": {
@@ -6307,9 +6213,6 @@
6307
6213
  "/",
6308
6214
  "-"
6309
6215
  ],
6310
- "notAble": [
6311
- "unknown"
6312
- ],
6313
6216
  "object": [
6314
6217
  "unknown",
6315
6218
  "what",
@@ -6333,6 +6236,7 @@
6333
6236
  "object",
6334
6237
  "xfx",
6335
6238
  "concept",
6239
+ "doubleQuote",
6336
6240
  "unknown",
6337
6241
  "it",
6338
6242
  "what",
@@ -6391,6 +6295,7 @@
6391
6295
  "concept",
6392
6296
  "modifies",
6393
6297
  "verby",
6298
+ "doubleQuote",
6394
6299
  "it",
6395
6300
  "pronoun",
6396
6301
  "this",
@@ -6399,7 +6304,6 @@
6399
6304
  "a",
6400
6305
  "articlePOS",
6401
6306
  "the",
6402
- "notAble",
6403
6307
  "whatAble",
6404
6308
  "is",
6405
6309
  "toAble",
@@ -6408,9 +6312,9 @@
6408
6312
  "thisitthat",
6409
6313
  "reason",
6410
6314
  "that",
6315
+ "number",
6411
6316
  "orAble",
6412
6317
  "ifAble",
6413
- "number",
6414
6318
  "*",
6415
6319
  "mathematical_operator",
6416
6320
  "+",
@@ -6453,6 +6357,9 @@
6453
6357
  "dimension": [
6454
6358
  "concept"
6455
6359
  ],
6360
+ "doubleQuote": [
6361
+ "queryable"
6362
+ ],
6456
6363
  "fahrenheit": [
6457
6364
  "unit"
6458
6365
  ],
@@ -6536,7 +6443,6 @@
6536
6443
  "unknown": [
6537
6444
  "hierarchyAble",
6538
6445
  "object",
6539
- "notAble",
6540
6446
  "theAble",
6541
6447
  "queryable"
6542
6448
  ],
@@ -6584,6 +6490,8 @@
6584
6490
  },
6585
6491
  "dimension": {
6586
6492
  },
6493
+ "doubleQuote": {
6494
+ },
6587
6495
  "fahrenheit": {
6588
6496
  },
6589
6497
  "formula": {
@@ -6604,8 +6512,6 @@
6604
6512
  },
6605
6513
  "modifies": {
6606
6514
  },
6607
- "notAble": {
6608
- },
6609
6515
  "noun": {
6610
6516
  },
6611
6517
  "number": {
@@ -6680,6 +6586,8 @@
6680
6586
  }
6681
6587
  },
6682
6588
  "testing2": {
6589
+ },
6590
+ "tokenize2": {
6683
6591
  }
6684
6592
  },
6685
6593
  "processed": [
@@ -6758,6 +6666,8 @@
6758
6666
  "marker": "is",
6759
6667
  "number": "many",
6760
6668
  "one": {
6669
+ "default": true,
6670
+ "isList": true,
6761
6671
  "level": 1,
6762
6672
  "listable": true,
6763
6673
  "marker": "list",
@@ -6766,7 +6676,7 @@
6766
6676
  "end": 53,
6767
6677
  "start": 0
6768
6678
  },
6769
- "text": "fahrenheit",
6679
+ "text": "fahrenheit celcuis and kelvin",
6770
6680
  "types": [
6771
6681
  "list",
6772
6682
  "unknown"
@@ -6787,7 +6697,7 @@
6787
6697
  },
6788
6698
  {
6789
6699
  "dead": true,
6790
- "level": 2,
6700
+ "level": 1,
6791
6701
  "marker": "unknown",
6792
6702
  "range": {
6793
6703
  "end": 17,
@@ -6800,7 +6710,7 @@
6800
6710
  },
6801
6711
  {
6802
6712
  "dead": true,
6803
- "level": 2,
6713
+ "level": 1,
6804
6714
  "marker": "unknown",
6805
6715
  "range": {
6806
6716
  "end": 28,
@@ -6811,7 +6721,8 @@
6811
6721
  "value": "kelvin",
6812
6722
  "word": "kelvin"
6813
6723
  }
6814
- ]
6724
+ ],
6725
+ "word": "and"
6815
6726
  },
6816
6727
  "range": {
6817
6728
  "end": 53,
@@ -6992,13 +6903,13 @@
6992
6903
  "text": "dimension and unit",
6993
6904
  "types": [
6994
6905
  "list",
6995
- "type"
6906
+ "unknown"
6996
6907
  ],
6997
6908
  "value": [
6998
6909
  {
6999
6910
  "dead": true,
7000
6911
  "level": 1,
7001
- "marker": "type",
6912
+ "marker": "unknown",
7002
6913
  "range": {
7003
6914
  "end": 8,
7004
6915
  "start": 0
@@ -7011,7 +6922,7 @@
7011
6922
  {
7012
6923
  "dead": true,
7013
6924
  "level": 1,
7014
- "marker": "type",
6925
+ "marker": "unknown",
7015
6926
  "range": {
7016
6927
  "end": 17,
7017
6928
  "start": 14
@@ -7031,8 +6942,7 @@
7031
6942
  "text": "dimension and unit are concepts",
7032
6943
  "topLevel": true,
7033
6944
  "touchedBy": [
7034
- "dimensionTemplate#call2",
7035
- "instance0#dimensionTemplate#call2",
6945
+ "dimension#call2",
7036
6946
  "instance0#dimension#call2"
7037
6947
  ],
7038
6948
  "two": {
@@ -7093,8 +7003,7 @@
7093
7003
  "text": "formulas are concepts",
7094
7004
  "topLevel": true,
7095
7005
  "touchedBy": [
7096
- "formulasTemplate#call2",
7097
- "instance0#formulasTemplate#call2",
7006
+ "formulas#call2",
7098
7007
  "instance0#formulas#call2",
7099
7008
  "instance0#dimension#call2"
7100
7009
  ],
@@ -7133,6 +7042,8 @@
7133
7042
  "marker": "is",
7134
7043
  "number": "many",
7135
7044
  "one": {
7045
+ "default": true,
7046
+ "isList": true,
7136
7047
  "level": 1,
7137
7048
  "listable": true,
7138
7049
  "marker": "list",
@@ -7141,7 +7052,7 @@
7141
7052
  "end": 37,
7142
7053
  "start": 0
7143
7054
  },
7144
- "text": "* +",
7055
+ "text": "* + / and -",
7145
7056
  "types": [
7146
7057
  "list",
7147
7058
  "unknown"
@@ -7175,7 +7086,7 @@
7175
7086
  },
7176
7087
  {
7177
7088
  "dead": true,
7178
- "level": 2,
7089
+ "level": 1,
7179
7090
  "marker": "unknown",
7180
7091
  "range": {
7181
7092
  "end": 4,
@@ -7188,7 +7099,7 @@
7188
7099
  },
7189
7100
  {
7190
7101
  "dead": true,
7191
- "level": 2,
7102
+ "level": 1,
7192
7103
  "marker": "unknown",
7193
7104
  "range": {
7194
7105
  "end": 10,
@@ -7199,7 +7110,8 @@
7199
7110
  "value": "-",
7200
7111
  "word": "-"
7201
7112
  }
7202
- ]
7113
+ ],
7114
+ "word": "and"
7203
7115
  },
7204
7116
  "range": {
7205
7117
  "end": 37,
@@ -7208,8 +7120,7 @@
7208
7120
  "text": "* + / and - are mathematical operators",
7209
7121
  "topLevel": true,
7210
7122
  "touchedBy": [
7211
- "mathTemplate#call2",
7212
- "instance1#mathTemplate#call2",
7123
+ "math#call2",
7213
7124
  "instance1#math#call2",
7214
7125
  "instance1#formulas#call2",
7215
7126
  "instance1#dimension#call2"
@@ -7223,6 +7134,7 @@
7223
7134
  "modifier_mathematical": {
7224
7135
  "level": 0,
7225
7136
  "marker": "mathematical",
7137
+ "number": "one",
7226
7138
  "range": {
7227
7139
  "end": 27,
7228
7140
  "start": 16
@@ -7428,6 +7340,8 @@
7428
7340
  "marker": "is",
7429
7341
  "number": "many",
7430
7342
  "one": {
7343
+ "default": true,
7344
+ "isList": true,
7431
7345
  "level": 1,
7432
7346
  "listable": true,
7433
7347
  "marker": "list",
@@ -7436,7 +7350,7 @@
7436
7350
  "end": 53,
7437
7351
  "start": 0
7438
7352
  },
7439
- "text": "fahrenheit",
7353
+ "text": "fahrenheit celcuis and kelvin",
7440
7354
  "types": [
7441
7355
  "list",
7442
7356
  "unknown"
@@ -7457,7 +7371,7 @@
7457
7371
  },
7458
7372
  {
7459
7373
  "dead": true,
7460
- "level": 2,
7374
+ "level": 1,
7461
7375
  "marker": "unknown",
7462
7376
  "range": {
7463
7377
  "end": 17,
@@ -7470,7 +7384,7 @@
7470
7384
  },
7471
7385
  {
7472
7386
  "dead": true,
7473
- "level": 2,
7387
+ "level": 1,
7474
7388
  "marker": "unknown",
7475
7389
  "range": {
7476
7390
  "end": 28,
@@ -7481,7 +7395,8 @@
7481
7395
  "value": "kelvin",
7482
7396
  "word": "kelvin"
7483
7397
  }
7484
- ]
7398
+ ],
7399
+ "word": "and"
7485
7400
  },
7486
7401
  "range": {
7487
7402
  "end": 53,
@@ -7904,10 +7819,6 @@
7904
7819
  "list",
7905
7820
  1
7906
7821
  ],
7907
- [
7908
- "list",
7909
- 1
7910
- ],
7911
7822
  [
7912
7823
  "propertyOf",
7913
7824
  0
@@ -7924,35 +7835,6 @@
7924
7835
  },
7925
7836
  {
7926
7837
  "counter": 6,
7927
- "op": [
7928
- "list",
7929
- 1
7930
- ],
7931
- "ops": [
7932
- [
7933
- "is",
7934
- 0
7935
- ],
7936
- [
7937
- "list",
7938
- 1
7939
- ],
7940
- [
7941
- "propertyOf",
7942
- 0
7943
- ],
7944
- [
7945
- "temperature",
7946
- 0
7947
- ],
7948
- [
7949
- "unit",
7950
- 0
7951
- ]
7952
- ]
7953
- },
7954
- {
7955
- "counter": 7,
7956
7838
  "op": [
7957
7839
  "unit",
7958
7840
  0
@@ -7977,7 +7859,7 @@
7977
7859
  ]
7978
7860
  },
7979
7861
  {
7980
- "counter": 8,
7862
+ "counter": 7,
7981
7863
  "op": [
7982
7864
  "temperature",
7983
7865
  0
@@ -7998,7 +7880,7 @@
7998
7880
  ]
7999
7881
  },
8000
7882
  {
8001
- "counter": 9,
7883
+ "counter": 8,
8002
7884
  "op": [
8003
7885
  "propertyOf",
8004
7886
  0
@@ -8015,7 +7897,7 @@
8015
7897
  ]
8016
7898
  },
8017
7899
  {
8018
- "counter": 10,
7900
+ "counter": 9,
8019
7901
  "op": [
8020
7902
  "propertyOf",
8021
7903
  1
@@ -8032,7 +7914,7 @@
8032
7914
  ]
8033
7915
  },
8034
7916
  {
8035
- "counter": 11,
7917
+ "counter": 10,
8036
7918
  "op": [
8037
7919
  "is",
8038
7920
  0
@@ -8045,7 +7927,7 @@
8045
7927
  ]
8046
7928
  },
8047
7929
  {
8048
- "counter": 12,
7930
+ "counter": 11,
8049
7931
  "op": [
8050
7932
  "is",
8051
7933
  1
@@ -8209,21 +8091,20 @@
8209
8091
  "countable": "countable2",
8210
8092
  "dialogues": "dialogues2",
8211
8093
  "dimension": "dimension1",
8212
- "dimensionTemplate": "dimensionTemplate2",
8213
8094
  "formulas": "formulas2",
8214
- "formulasTemplate": "formulasTemplate2",
8215
8095
  "gdefaults": "gdefaults2",
8216
8096
  "hierarchy": "hierarchy2",
8217
8097
  "math": "math2",
8218
- "mathTemplate": "mathTemplate2",
8219
8098
  "meta": "meta2",
8099
+ "negation": "negation2",
8220
8100
  "numbers": "numbers2",
8221
8101
  "pos": "pos2",
8222
8102
  "properties": "properties2",
8223
8103
  "punctuation": "punctuation2",
8224
8104
  "sdefaults": "sdefaults2",
8225
8105
  "stm": "stm2",
8226
- "testing": "testing2"
8106
+ "testing": "testing2",
8107
+ "tokenize": "tokenize2"
8227
8108
  },
8228
8109
  "namespaced": {
8229
8110
  "comparable2": {
@@ -8237,6 +8118,7 @@
8237
8118
  "countable2": {
8238
8119
  },
8239
8120
  "dialogues2": {
8121
+ "idSuffix": "",
8240
8122
  "mentioned": [
8241
8123
  ],
8242
8124
  "variables": {
@@ -8244,24 +8126,20 @@
8244
8126
  },
8245
8127
  "dimension1": {
8246
8128
  },
8247
- "dimensionTemplate2": {
8248
- },
8249
8129
  "formulas2": {
8250
8130
  "formulas": {
8251
8131
  }
8252
8132
  },
8253
- "formulasTemplate2": {
8254
- },
8255
8133
  "gdefaults2": {
8256
8134
  },
8257
8135
  "hierarchy2": {
8258
8136
  },
8259
8137
  "math2": {
8260
8138
  },
8261
- "mathTemplate2": {
8262
- },
8263
8139
  "meta2": {
8264
8140
  },
8141
+ "negation2": {
8142
+ },
8265
8143
  "numbers2": {
8266
8144
  },
8267
8145
  "pos2": {
@@ -8299,9 +8177,6 @@
8299
8177
  "/",
8300
8178
  "-"
8301
8179
  ],
8302
- "notAble": [
8303
- "unknown"
8304
- ],
8305
8180
  "object": [
8306
8181
  "unknown",
8307
8182
  "what",
@@ -8325,6 +8200,7 @@
8325
8200
  "object",
8326
8201
  "xfx",
8327
8202
  "concept",
8203
+ "doubleQuote",
8328
8204
  "unknown",
8329
8205
  "it",
8330
8206
  "what",
@@ -8383,6 +8259,7 @@
8383
8259
  "concept",
8384
8260
  "modifies",
8385
8261
  "verby",
8262
+ "doubleQuote",
8386
8263
  "it",
8387
8264
  "pronoun",
8388
8265
  "this",
@@ -8391,7 +8268,6 @@
8391
8268
  "a",
8392
8269
  "articlePOS",
8393
8270
  "the",
8394
- "notAble",
8395
8271
  "whatAble",
8396
8272
  "is",
8397
8273
  "toAble",
@@ -8400,9 +8276,9 @@
8400
8276
  "thisitthat",
8401
8277
  "reason",
8402
8278
  "that",
8279
+ "number",
8403
8280
  "orAble",
8404
8281
  "ifAble",
8405
- "number",
8406
8282
  "*",
8407
8283
  "mathematical_operator",
8408
8284
  "+",
@@ -8445,6 +8321,9 @@
8445
8321
  "dimension": [
8446
8322
  "concept"
8447
8323
  ],
8324
+ "doubleQuote": [
8325
+ "queryable"
8326
+ ],
8448
8327
  "fahrenheit": [
8449
8328
  "unit"
8450
8329
  ],
@@ -8528,7 +8407,6 @@
8528
8407
  "unknown": [
8529
8408
  "hierarchyAble",
8530
8409
  "object",
8531
- "notAble",
8532
8410
  "theAble",
8533
8411
  "queryable"
8534
8412
  ],
@@ -8576,6 +8454,8 @@
8576
8454
  },
8577
8455
  "dimension": {
8578
8456
  },
8457
+ "doubleQuote": {
8458
+ },
8579
8459
  "fahrenheit": {
8580
8460
  },
8581
8461
  "formula": {
@@ -8596,8 +8476,6 @@
8596
8476
  },
8597
8477
  "modifies": {
8598
8478
  },
8599
- "notAble": {
8600
- },
8601
8479
  "noun": {
8602
8480
  },
8603
8481
  "number": {
@@ -8672,6 +8550,8 @@
8672
8550
  }
8673
8551
  },
8674
8552
  "testing2": {
8553
+ },
8554
+ "tokenize2": {
8675
8555
  }
8676
8556
  },
8677
8557
  "processed": [
@@ -8781,6 +8661,8 @@
8781
8661
  "marker": "is",
8782
8662
  "number": "many",
8783
8663
  "one": {
8664
+ "default": true,
8665
+ "isList": true,
8784
8666
  "level": 1,
8785
8667
  "listable": true,
8786
8668
  "marker": "list",
@@ -8789,7 +8671,7 @@
8789
8671
  "end": 53,
8790
8672
  "start": 0
8791
8673
  },
8792
- "text": "fahrenheit",
8674
+ "text": "fahrenheit celcuis and kelvin",
8793
8675
  "types": [
8794
8676
  "list",
8795
8677
  "unknown"
@@ -8810,7 +8692,7 @@
8810
8692
  },
8811
8693
  {
8812
8694
  "dead": true,
8813
- "level": 2,
8695
+ "level": 1,
8814
8696
  "marker": "unknown",
8815
8697
  "range": {
8816
8698
  "end": 17,
@@ -8823,7 +8705,7 @@
8823
8705
  },
8824
8706
  {
8825
8707
  "dead": true,
8826
- "level": 2,
8708
+ "level": 1,
8827
8709
  "marker": "unknown",
8828
8710
  "range": {
8829
8711
  "end": 28,
@@ -8834,7 +8716,8 @@
8834
8716
  "value": "kelvin",
8835
8717
  "word": "kelvin"
8836
8718
  }
8837
- ]
8719
+ ],
8720
+ "word": "and"
8838
8721
  },
8839
8722
  "range": {
8840
8723
  "end": 53,
@@ -9015,13 +8898,13 @@
9015
8898
  "text": "dimension and unit",
9016
8899
  "types": [
9017
8900
  "list",
9018
- "type"
8901
+ "unknown"
9019
8902
  ],
9020
8903
  "value": [
9021
8904
  {
9022
8905
  "dead": true,
9023
8906
  "level": 1,
9024
- "marker": "type",
8907
+ "marker": "unknown",
9025
8908
  "range": {
9026
8909
  "end": 8,
9027
8910
  "start": 0
@@ -9034,7 +8917,7 @@
9034
8917
  {
9035
8918
  "dead": true,
9036
8919
  "level": 1,
9037
- "marker": "type",
8920
+ "marker": "unknown",
9038
8921
  "range": {
9039
8922
  "end": 17,
9040
8923
  "start": 14
@@ -9054,8 +8937,7 @@
9054
8937
  "text": "dimension and unit are concepts",
9055
8938
  "topLevel": true,
9056
8939
  "touchedBy": [
9057
- "dimensionTemplate#call2",
9058
- "instance0#dimensionTemplate#call2",
8940
+ "dimension#call2",
9059
8941
  "instance0#dimension#call2"
9060
8942
  ],
9061
8943
  "two": {
@@ -9116,8 +8998,7 @@
9116
8998
  "text": "formulas are concepts",
9117
8999
  "topLevel": true,
9118
9000
  "touchedBy": [
9119
- "formulasTemplate#call2",
9120
- "instance0#formulasTemplate#call2",
9001
+ "formulas#call2",
9121
9002
  "instance0#formulas#call2",
9122
9003
  "instance0#dimension#call2"
9123
9004
  ],
@@ -9156,6 +9037,8 @@
9156
9037
  "marker": "is",
9157
9038
  "number": "many",
9158
9039
  "one": {
9040
+ "default": true,
9041
+ "isList": true,
9159
9042
  "level": 1,
9160
9043
  "listable": true,
9161
9044
  "marker": "list",
@@ -9164,7 +9047,7 @@
9164
9047
  "end": 37,
9165
9048
  "start": 0
9166
9049
  },
9167
- "text": "* +",
9050
+ "text": "* + / and -",
9168
9051
  "types": [
9169
9052
  "list",
9170
9053
  "unknown"
@@ -9198,7 +9081,7 @@
9198
9081
  },
9199
9082
  {
9200
9083
  "dead": true,
9201
- "level": 2,
9084
+ "level": 1,
9202
9085
  "marker": "unknown",
9203
9086
  "range": {
9204
9087
  "end": 4,
@@ -9211,7 +9094,7 @@
9211
9094
  },
9212
9095
  {
9213
9096
  "dead": true,
9214
- "level": 2,
9097
+ "level": 1,
9215
9098
  "marker": "unknown",
9216
9099
  "range": {
9217
9100
  "end": 10,
@@ -9222,7 +9105,8 @@
9222
9105
  "value": "-",
9223
9106
  "word": "-"
9224
9107
  }
9225
- ]
9108
+ ],
9109
+ "word": "and"
9226
9110
  },
9227
9111
  "range": {
9228
9112
  "end": 37,
@@ -9231,8 +9115,7 @@
9231
9115
  "text": "* + / and - are mathematical operators",
9232
9116
  "topLevel": true,
9233
9117
  "touchedBy": [
9234
- "mathTemplate#call2",
9235
- "instance1#mathTemplate#call2",
9118
+ "math#call2",
9236
9119
  "instance1#math#call2",
9237
9120
  "instance1#formulas#call2",
9238
9121
  "instance1#dimension#call2"
@@ -9246,6 +9129,7 @@
9246
9129
  "modifier_mathematical": {
9247
9130
  "level": 0,
9248
9131
  "marker": "mathematical",
9132
+ "number": "one",
9249
9133
  "range": {
9250
9134
  "end": 27,
9251
9135
  "start": 16
@@ -9434,20 +9318,6 @@
9434
9318
  "what",
9435
9319
  0
9436
9320
  ]
9437
- ],
9438
- [
9439
- [
9440
- "is",
9441
- 0
9442
- ],
9443
- [
9444
- "unknown",
9445
- 0
9446
- ],
9447
- [
9448
- "what",
9449
- 0
9450
- ]
9451
9321
  ]
9452
9322
  ],
9453
9323
  "config": {
@@ -9525,6 +9395,8 @@
9525
9395
  "marker": "is",
9526
9396
  "number": "many",
9527
9397
  "one": {
9398
+ "default": true,
9399
+ "isList": true,
9528
9400
  "level": 1,
9529
9401
  "listable": true,
9530
9402
  "marker": "list",
@@ -9533,7 +9405,7 @@
9533
9405
  "end": 53,
9534
9406
  "start": 0
9535
9407
  },
9536
- "text": "fahrenheit",
9408
+ "text": "fahrenheit celcuis and kelvin",
9537
9409
  "types": [
9538
9410
  "list",
9539
9411
  "unknown"
@@ -9554,7 +9426,7 @@
9554
9426
  },
9555
9427
  {
9556
9428
  "dead": true,
9557
- "level": 2,
9429
+ "level": 1,
9558
9430
  "marker": "unknown",
9559
9431
  "range": {
9560
9432
  "end": 17,
@@ -9567,7 +9439,7 @@
9567
9439
  },
9568
9440
  {
9569
9441
  "dead": true,
9570
- "level": 2,
9442
+ "level": 1,
9571
9443
  "marker": "unknown",
9572
9444
  "range": {
9573
9445
  "end": 28,
@@ -9578,7 +9450,8 @@
9578
9450
  "value": "kelvin",
9579
9451
  "word": "kelvin"
9580
9452
  }
9581
- ]
9453
+ ],
9454
+ "word": "and"
9582
9455
  },
9583
9456
  "range": {
9584
9457
  "end": 53,
@@ -9694,7 +9567,7 @@
9694
9567
  "end": 28,
9695
9568
  "start": 13
9696
9569
  },
9697
- "text": "celcius * 9 / 5 + 32",
9570
+ "text": "celcius*9/5 + 32",
9698
9571
  "types": [
9699
9572
  "number",
9700
9573
  "plusExpression"
@@ -9712,7 +9585,7 @@
9712
9585
  "end": 23,
9713
9586
  "start": 13
9714
9587
  },
9715
- "text": "celcius * 9 / 5",
9588
+ "text": "celcius*9/5",
9716
9589
  "types": [
9717
9590
  "divideByExpression",
9718
9591
  "number"
@@ -9730,7 +9603,7 @@
9730
9603
  "end": 21,
9731
9604
  "start": 13
9732
9605
  },
9733
- "text": "celcius * 9",
9606
+ "text": "celcius*9",
9734
9607
  "types": [
9735
9608
  "number",
9736
9609
  "timesExpression"
@@ -9810,7 +9683,7 @@
9810
9683
  "touchedBy": [
9811
9684
  "dimension#call2"
9812
9685
  ],
9813
- "value": "=",
9686
+ "value": "equals",
9814
9687
  "word": "="
9815
9688
  },
9816
9689
  {
@@ -9932,7 +9805,7 @@
9932
9805
  "end": 28,
9933
9806
  "start": 13
9934
9807
  },
9935
- "text": "celcius * 9 / 5 + 32",
9808
+ "text": "celcius*9/5 + 32",
9936
9809
  "touchedBy": [
9937
9810
  "dimension#call4",
9938
9811
  "dimension#call3"
@@ -9954,7 +9827,7 @@
9954
9827
  "end": 23,
9955
9828
  "start": 13
9956
9829
  },
9957
- "text": "celcius * 9 / 5",
9830
+ "text": "celcius*9/5",
9958
9831
  "types": [
9959
9832
  "divideByExpression",
9960
9833
  "number"
@@ -9972,7 +9845,7 @@
9972
9845
  "end": 21,
9973
9846
  "start": 13
9974
9847
  },
9975
- "text": "celcius * 9",
9848
+ "text": "celcius*9",
9976
9849
  "types": [
9977
9850
  "number",
9978
9851
  "timesExpression"
@@ -10520,40 +10393,7 @@
10520
10393
  ],
10521
10394
  [
10522
10395
  "list",
10523
- 0
10524
- ],
10525
- [
10526
- "propertyOf",
10527
- 0
10528
- ],
10529
- [
10530
- "temperature",
10531
- 0
10532
- ],
10533
- [
10534
- "unit",
10535
- 0
10536
- ]
10537
- ]
10538
- },
10539
- {
10540
- "counter": 5,
10541
- "op": [
10542
- "list",
10543
- 1
10544
- ],
10545
- "ops": [
10546
- [
10547
- "is",
10548
- 0
10549
- ],
10550
- [
10551
- "list",
10552
- 1
10553
- ],
10554
- [
10555
- "list",
10556
- 1
10396
+ 0
10557
10397
  ],
10558
10398
  [
10559
10399
  "propertyOf",
@@ -10570,7 +10410,7 @@
10570
10410
  ]
10571
10411
  },
10572
10412
  {
10573
- "counter": 6,
10413
+ "counter": 5,
10574
10414
  "op": [
10575
10415
  "list",
10576
10416
  1
@@ -10599,7 +10439,7 @@
10599
10439
  ]
10600
10440
  },
10601
10441
  {
10602
- "counter": 7,
10442
+ "counter": 6,
10603
10443
  "op": [
10604
10444
  "unit",
10605
10445
  0
@@ -10624,7 +10464,7 @@
10624
10464
  ]
10625
10465
  },
10626
10466
  {
10627
- "counter": 8,
10467
+ "counter": 7,
10628
10468
  "op": [
10629
10469
  "temperature",
10630
10470
  0
@@ -10645,7 +10485,7 @@
10645
10485
  ]
10646
10486
  },
10647
10487
  {
10648
- "counter": 9,
10488
+ "counter": 8,
10649
10489
  "op": [
10650
10490
  "propertyOf",
10651
10491
  0
@@ -10662,7 +10502,7 @@
10662
10502
  ]
10663
10503
  },
10664
10504
  {
10665
- "counter": 10,
10505
+ "counter": 9,
10666
10506
  "op": [
10667
10507
  "propertyOf",
10668
10508
  1
@@ -10679,7 +10519,7 @@
10679
10519
  ]
10680
10520
  },
10681
10521
  {
10682
- "counter": 11,
10522
+ "counter": 10,
10683
10523
  "op": [
10684
10524
  "is",
10685
10525
  0
@@ -10692,7 +10532,7 @@
10692
10532
  ]
10693
10533
  },
10694
10534
  {
10695
- "counter": 12,
10535
+ "counter": 11,
10696
10536
  "op": [
10697
10537
  "is",
10698
10538
  1
@@ -11212,21 +11052,20 @@
11212
11052
  "countable": "countable2",
11213
11053
  "dialogues": "dialogues2",
11214
11054
  "dimension": "dimension1",
11215
- "dimensionTemplate": "dimensionTemplate2",
11216
11055
  "formulas": "formulas2",
11217
- "formulasTemplate": "formulasTemplate2",
11218
11056
  "gdefaults": "gdefaults2",
11219
11057
  "hierarchy": "hierarchy2",
11220
11058
  "math": "math2",
11221
- "mathTemplate": "mathTemplate2",
11222
11059
  "meta": "meta2",
11060
+ "negation": "negation2",
11223
11061
  "numbers": "numbers2",
11224
11062
  "pos": "pos2",
11225
11063
  "properties": "properties2",
11226
11064
  "punctuation": "punctuation2",
11227
11065
  "sdefaults": "sdefaults2",
11228
11066
  "stm": "stm2",
11229
- "testing": "testing2"
11067
+ "testing": "testing2",
11068
+ "tokenize": "tokenize2"
11230
11069
  },
11231
11070
  "namespaced": {
11232
11071
  "comparable2": {
@@ -11240,6 +11079,7 @@
11240
11079
  "countable2": {
11241
11080
  },
11242
11081
  "dialogues2": {
11082
+ "idSuffix": "",
11243
11083
  "mentioned": [
11244
11084
  ],
11245
11085
  "variables": {
@@ -11247,8 +11087,6 @@
11247
11087
  },
11248
11088
  "dimension1": {
11249
11089
  },
11250
- "dimensionTemplate2": {
11251
- },
11252
11090
  "formulas2": {
11253
11091
  "formulas": {
11254
11092
  "fahrenheit": [
@@ -11289,7 +11127,7 @@
11289
11127
  "end": 28,
11290
11128
  "start": 13
11291
11129
  },
11292
- "text": "celcius * 9 / 5 + 32",
11130
+ "text": "celcius*9/5 + 32",
11293
11131
  "types": [
11294
11132
  "number",
11295
11133
  "plusExpression"
@@ -11307,7 +11145,7 @@
11307
11145
  "end": 23,
11308
11146
  "start": 13
11309
11147
  },
11310
- "text": "celcius * 9 / 5",
11148
+ "text": "celcius*9/5",
11311
11149
  "types": [
11312
11150
  "divideByExpression",
11313
11151
  "number"
@@ -11325,7 +11163,7 @@
11325
11163
  "end": 21,
11326
11164
  "start": 13
11327
11165
  },
11328
- "text": "celcius * 9",
11166
+ "text": "celcius*9",
11329
11167
  "types": [
11330
11168
  "number",
11331
11169
  "timesExpression"
@@ -11405,7 +11243,7 @@
11405
11243
  "touchedBy": [
11406
11244
  "dimension#call2"
11407
11245
  ],
11408
- "value": "=",
11246
+ "value": "equals",
11409
11247
  "word": "="
11410
11248
  },
11411
11249
  "formula": {
@@ -11419,7 +11257,7 @@
11419
11257
  "end": 28,
11420
11258
  "start": 13
11421
11259
  },
11422
- "text": "celcius * 9 / 5 + 32",
11260
+ "text": "celcius*9/5 + 32",
11423
11261
  "types": [
11424
11262
  "number",
11425
11263
  "plusExpression"
@@ -11437,7 +11275,7 @@
11437
11275
  "end": 23,
11438
11276
  "start": 13
11439
11277
  },
11440
- "text": "celcius * 9 / 5",
11278
+ "text": "celcius*9/5",
11441
11279
  "types": [
11442
11280
  "divideByExpression",
11443
11281
  "number"
@@ -11455,7 +11293,7 @@
11455
11293
  "end": 21,
11456
11294
  "start": 13
11457
11295
  },
11458
- "text": "celcius * 9",
11296
+ "text": "celcius*9",
11459
11297
  "types": [
11460
11298
  "number",
11461
11299
  "timesExpression"
@@ -11551,18 +11389,16 @@
11551
11389
  ]
11552
11390
  }
11553
11391
  },
11554
- "formulasTemplate2": {
11555
- },
11556
11392
  "gdefaults2": {
11557
11393
  },
11558
11394
  "hierarchy2": {
11559
11395
  },
11560
11396
  "math2": {
11561
11397
  },
11562
- "mathTemplate2": {
11563
- },
11564
11398
  "meta2": {
11565
11399
  },
11400
+ "negation2": {
11401
+ },
11566
11402
  "numbers2": {
11567
11403
  },
11568
11404
  "pos2": {
@@ -11600,9 +11436,6 @@
11600
11436
  "/",
11601
11437
  "-"
11602
11438
  ],
11603
- "notAble": [
11604
- "unknown"
11605
- ],
11606
11439
  "object": [
11607
11440
  "unknown",
11608
11441
  "what",
@@ -11626,6 +11459,7 @@
11626
11459
  "object",
11627
11460
  "xfx",
11628
11461
  "concept",
11462
+ "doubleQuote",
11629
11463
  "unknown",
11630
11464
  "it",
11631
11465
  "what",
@@ -11684,6 +11518,7 @@
11684
11518
  "concept",
11685
11519
  "modifies",
11686
11520
  "verby",
11521
+ "doubleQuote",
11687
11522
  "it",
11688
11523
  "pronoun",
11689
11524
  "this",
@@ -11692,7 +11527,6 @@
11692
11527
  "a",
11693
11528
  "articlePOS",
11694
11529
  "the",
11695
- "notAble",
11696
11530
  "whatAble",
11697
11531
  "is",
11698
11532
  "toAble",
@@ -11701,9 +11535,9 @@
11701
11535
  "thisitthat",
11702
11536
  "reason",
11703
11537
  "that",
11538
+ "number",
11704
11539
  "orAble",
11705
11540
  "ifAble",
11706
- "number",
11707
11541
  "*",
11708
11542
  "mathematical_operator",
11709
11543
  "+",
@@ -11746,6 +11580,9 @@
11746
11580
  "dimension": [
11747
11581
  "concept"
11748
11582
  ],
11583
+ "doubleQuote": [
11584
+ "queryable"
11585
+ ],
11749
11586
  "fahrenheit": [
11750
11587
  "unit"
11751
11588
  ],
@@ -11829,7 +11666,6 @@
11829
11666
  "unknown": [
11830
11667
  "hierarchyAble",
11831
11668
  "object",
11832
- "notAble",
11833
11669
  "theAble",
11834
11670
  "queryable"
11835
11671
  ],
@@ -11877,6 +11713,8 @@
11877
11713
  },
11878
11714
  "dimension": {
11879
11715
  },
11716
+ "doubleQuote": {
11717
+ },
11880
11718
  "fahrenheit": {
11881
11719
  },
11882
11720
  "formula": {
@@ -11897,8 +11735,6 @@
11897
11735
  },
11898
11736
  "modifies": {
11899
11737
  },
11900
- "notAble": {
11901
- },
11902
11738
  "noun": {
11903
11739
  },
11904
11740
  "number": {
@@ -11969,6 +11805,7 @@
11969
11805
  "stm2": {
11970
11806
  "mentioned": [
11971
11807
  {
11808
+ "fromSTM": true,
11972
11809
  "marker": "celcius",
11973
11810
  "pullFromContext": false,
11974
11811
  "value": {
@@ -12009,6 +11846,8 @@
12009
11846
  }
12010
11847
  },
12011
11848
  "testing2": {
11849
+ },
11850
+ "tokenize2": {
12012
11851
  }
12013
11852
  },
12014
11853
  "processed": [
@@ -12132,7 +11971,7 @@
12132
11971
  "end": 28,
12133
11972
  "start": 13
12134
11973
  },
12135
- "text": "celcius * 9 / 5 + 32",
11974
+ "text": "celcius*9/5 + 32",
12136
11975
  "touchedBy": [
12137
11976
  "dimension#call4",
12138
11977
  "dimension#call3"
@@ -12154,7 +11993,7 @@
12154
11993
  "end": 23,
12155
11994
  "start": 13
12156
11995
  },
12157
- "text": "celcius * 9 / 5",
11996
+ "text": "celcius*9/5",
12158
11997
  "types": [
12159
11998
  "divideByExpression",
12160
11999
  "number"
@@ -12172,7 +12011,7 @@
12172
12011
  "end": 21,
12173
12012
  "start": 13
12174
12013
  },
12175
- "text": "celcius * 9",
12014
+ "text": "celcius*9",
12176
12015
  "types": [
12177
12016
  "number",
12178
12017
  "timesExpression"
@@ -12542,7 +12381,7 @@
12542
12381
  "end": 28,
12543
12382
  "start": 13
12544
12383
  },
12545
- "text": "celcius * 9 / 5 + 32",
12384
+ "text": "celcius*9/5 + 32",
12546
12385
  "types": [
12547
12386
  "number",
12548
12387
  "plusExpression"
@@ -12560,7 +12399,7 @@
12560
12399
  "end": 23,
12561
12400
  "start": 13
12562
12401
  },
12563
- "text": "celcius * 9 / 5",
12402
+ "text": "celcius*9/5",
12564
12403
  "types": [
12565
12404
  "divideByExpression",
12566
12405
  "number"
@@ -12578,7 +12417,7 @@
12578
12417
  "end": 21,
12579
12418
  "start": 13
12580
12419
  },
12581
- "text": "celcius * 9",
12420
+ "text": "celcius*9",
12582
12421
  "types": [
12583
12422
  "number",
12584
12423
  "timesExpression"
@@ -12658,7 +12497,7 @@
12658
12497
  "touchedBy": [
12659
12498
  "dimension#call2"
12660
12499
  ],
12661
- "value": "=",
12500
+ "value": "equals",
12662
12501
  "word": "="
12663
12502
  },
12664
12503
  "generatedParenthesized": "",
@@ -12675,6 +12514,8 @@
12675
12514
  "marker": "is",
12676
12515
  "number": "many",
12677
12516
  "one": {
12517
+ "default": true,
12518
+ "isList": true,
12678
12519
  "level": 1,
12679
12520
  "listable": true,
12680
12521
  "marker": "list",
@@ -12683,7 +12524,7 @@
12683
12524
  "end": 53,
12684
12525
  "start": 0
12685
12526
  },
12686
- "text": "fahrenheit",
12527
+ "text": "fahrenheit celcuis and kelvin",
12687
12528
  "types": [
12688
12529
  "list",
12689
12530
  "unknown"
@@ -12704,7 +12545,7 @@
12704
12545
  },
12705
12546
  {
12706
12547
  "dead": true,
12707
- "level": 2,
12548
+ "level": 1,
12708
12549
  "marker": "unknown",
12709
12550
  "range": {
12710
12551
  "end": 17,
@@ -12717,7 +12558,7 @@
12717
12558
  },
12718
12559
  {
12719
12560
  "dead": true,
12720
- "level": 2,
12561
+ "level": 1,
12721
12562
  "marker": "unknown",
12722
12563
  "range": {
12723
12564
  "end": 28,
@@ -12728,7 +12569,8 @@
12728
12569
  "value": "kelvin",
12729
12570
  "word": "kelvin"
12730
12571
  }
12731
- ]
12572
+ ],
12573
+ "word": "and"
12732
12574
  },
12733
12575
  "range": {
12734
12576
  "end": 53,
@@ -12909,13 +12751,13 @@
12909
12751
  "text": "dimension and unit",
12910
12752
  "types": [
12911
12753
  "list",
12912
- "type"
12754
+ "unknown"
12913
12755
  ],
12914
12756
  "value": [
12915
12757
  {
12916
12758
  "dead": true,
12917
12759
  "level": 1,
12918
- "marker": "type",
12760
+ "marker": "unknown",
12919
12761
  "range": {
12920
12762
  "end": 8,
12921
12763
  "start": 0
@@ -12928,7 +12770,7 @@
12928
12770
  {
12929
12771
  "dead": true,
12930
12772
  "level": 1,
12931
- "marker": "type",
12773
+ "marker": "unknown",
12932
12774
  "range": {
12933
12775
  "end": 17,
12934
12776
  "start": 14
@@ -12948,8 +12790,7 @@
12948
12790
  "text": "dimension and unit are concepts",
12949
12791
  "topLevel": true,
12950
12792
  "touchedBy": [
12951
- "dimensionTemplate#call2",
12952
- "instance0#dimensionTemplate#call2",
12793
+ "dimension#call2",
12953
12794
  "instance0#dimension#call2"
12954
12795
  ],
12955
12796
  "two": {
@@ -13010,8 +12851,7 @@
13010
12851
  "text": "formulas are concepts",
13011
12852
  "topLevel": true,
13012
12853
  "touchedBy": [
13013
- "formulasTemplate#call2",
13014
- "instance0#formulasTemplate#call2",
12854
+ "formulas#call2",
13015
12855
  "instance0#formulas#call2",
13016
12856
  "instance0#dimension#call2"
13017
12857
  ],
@@ -13199,6 +13039,8 @@
13199
13039
  "marker": "is",
13200
13040
  "number": "many",
13201
13041
  "one": {
13042
+ "default": true,
13043
+ "isList": true,
13202
13044
  "level": 1,
13203
13045
  "listable": true,
13204
13046
  "marker": "list",
@@ -13207,7 +13049,7 @@
13207
13049
  "end": 24,
13208
13050
  "start": 0
13209
13051
  },
13210
- "text": "a1 and b1 are units of d1",
13052
+ "text": "a1 and b1",
13211
13053
  "types": [
13212
13054
  "list",
13213
13055
  "unknown"
@@ -13215,7 +13057,7 @@
13215
13057
  "value": [
13216
13058
  {
13217
13059
  "dead": true,
13218
- "level": 2,
13060
+ "level": 1,
13219
13061
  "marker": "unknown",
13220
13062
  "range": {
13221
13063
  "end": 1,
@@ -13228,7 +13070,7 @@
13228
13070
  },
13229
13071
  {
13230
13072
  "dead": true,
13231
- "level": 2,
13073
+ "level": 1,
13232
13074
  "marker": "unknown",
13233
13075
  "range": {
13234
13076
  "end": 8,
@@ -13239,7 +13081,8 @@
13239
13081
  "value": "b1",
13240
13082
  "word": "b1"
13241
13083
  }
13242
- ]
13084
+ ],
13085
+ "word": "and"
13243
13086
  },
13244
13087
  "range": {
13245
13088
  "end": 24,
@@ -13435,7 +13278,7 @@
13435
13278
  "word": "are"
13436
13279
  },
13437
13280
  "error": [
13438
- "ERROR while applying (dialogues/#4) KM 'dialogues' ordinal: 4 where: \"/home/dev/code/theprogrammablemind/kms/common/dialogues.js:664\"\n to\n {\n \"query\": [\n \"what\"\n ],\n \"number\": \"many\",\n \"text\": \"what are 10 a1 in b1\",\n \"marker\": \"is\",\n \"word\": \"are\",\n \"range\": {\n \"start\": 0,\n \"end\": 19\n },\n \"one\": {\n \"query\": [\n \"what\"\n ],\n \"number\": \"many\",\n \"marker\": \"what\",\n \"value\": \"what\",\n \"default\": true,\n \"text\": \"what\",\n \"word\": \"what\",\n \"range\": {\n \"start\": 0,\n \"end\": 19\n },\n \"dead\": true,\n \"determined\": true,\n \"types\": [\n \"what\"\n ],\n \"level\": 1\n },\n \"two\": {\n \"marker\": \"convertToUnits\",\n \"default\": true,\n \"word\": \"in\",\n \"text\": \"10 a1 in b1\",\n \"range\": {\n \"start\": 9,\n \"end\": 19\n },\n \"dead\": true,\n \"from\": {\n \"marker\": \"dimension\",\n \"unit\": {\n \"value\": \"a1\",\n \"number\": \"one\",\n \"text\": \"a1\",\n \"marker\": \"a1\",\n \"word\": \"a1\",\n \"range\": {\n \"start\": 12,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"a1\"\n ],\n \"level\": 1\n },\n \"value\": 10,\n \"amount\": {\n \"value\": 10,\n \"instance\": true,\n \"text\": \"10\",\n \"marker\": \"number\",\n \"word\": \"10\",\n \"range\": {\n \"start\": 9,\n \"end\": 10\n },\n \"dead\": true,\n \"types\": [\n \"number\"\n ],\n \"level\": 1\n },\n \"text\": \"10 a1\",\n \"range\": {\n \"start\": 9,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"dimension\"\n ],\n \"level\": 1\n },\n \"to\": {\n \"value\": \"b1\",\n \"number\": \"one\",\n \"text\": \"b1\",\n \"marker\": \"b1\",\n \"word\": \"b1\",\n \"range\": {\n \"start\": 18,\n \"end\": 19\n },\n \"dead\": true,\n \"types\": [\n \"b1\"\n ],\n \"level\": 1\n },\n \"types\": [\n \"convertToUnits\"\n ],\n \"level\": 1\n },\n \"dead\": true,\n \"level\": 2,\n \"topLevel\": true\n}.\nError applying semantics 'what x is y?/home/dev/code/theprogrammablemind/kms/common/dialogues.js:664'. Error is ERROR while applying (dimension/#0) KM 'dimension' ordinal: 0 where: \"/home/dev/code/theprogrammablemind/kms/common/dimension.js:116\"\n to\n {\n \"marker\": \"convertToUnits\",\n \"default\": true,\n \"word\": \"in\",\n \"text\": \"10 a1 in b1\",\n \"range\": {\n \"start\": 9,\n \"end\": 19\n },\n \"dead\": true,\n \"from\": {\n \"marker\": \"dimension\",\n \"unit\": {\n \"value\": \"a1\",\n \"number\": \"one\",\n \"text\": \"a1\",\n \"marker\": \"a1\",\n \"word\": \"a1\",\n \"range\": {\n \"start\": 12,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"a1\"\n ],\n \"level\": 1\n },\n \"value\": 10,\n \"amount\": {\n \"value\": 10,\n \"instance\": true,\n \"text\": \"10\",\n \"marker\": \"number\",\n \"word\": \"10\",\n \"range\": {\n \"start\": 9,\n \"end\": 10\n },\n \"dead\": true,\n \"types\": [\n \"number\"\n ],\n \"level\": 1\n },\n \"text\": \"10 a1\",\n \"range\": {\n \"start\": 9,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"dimension\"\n ],\n \"level\": 1\n },\n \"to\": {\n \"value\": \"b1\",\n \"number\": \"one\",\n \"text\": \"b1\",\n \"marker\": \"b1\",\n \"word\": \"b1\",\n \"range\": {\n \"start\": 18,\n \"end\": 19\n },\n \"dead\": true,\n \"types\": [\n \"b1\"\n ],\n \"level\": 1\n },\n \"types\": [\n \"convertToUnits\"\n ],\n \"level\": 1,\n \"evaluate\": true\n}.\nError applying semantics '/home/dev/code/theprogrammablemind/kms/common/dimension.js:116'. Error is Error: {\"marker\":\"reason\",\"focusableForPhrase\":true,\"evalue\":{\"marker\":\"noconversion\",\"from\":{\"value\":\"a1\",\"number\":\"one\",\"text\":\"a1\",\"marker\":\"a1\",\"word\":\"a1\",\"range\":{\"start\":12,\"end\":13},\"dead\":true,\"types\":[\"a1\"],\"level\":1},\"to\":{\"value\":\"b1\",\"number\":\"one\",\"text\":\"b1\",\"marker\":\"b1\",\"word\":\"b1\",\"range\":{\"start\":18,\"end\":19},\"dead\":true,\"types\":[\"b1\"],\"level\":1}}} stack is Error: {\"marker\":\"reason\",\"focusableForPhrase\":true,\"evalue\":{\"marker\":\"noconversion\",\"from\":{\"value\":\"a1\",\"number\":\"one\",\"text\":\"a1\",\"marker\":\"a1\",\"word\":\"a1\",\"range\":{\"start\":12,\"end\":13},\"dead\":true,\"types\":[\"a1\"],\"level\":1},\"to\":{\"value\":\"b1\",\"number\":\"one\",\"text\":\"b1\",\"marker\":\"b1\",\"word\":\"b1\",\"range\":{\"start\":18,\"end\":19},\"dead\":true,\"types\":[\"b1\"],\"level\":1}}}\n at args.error (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:165:11)\n at Object.evaluator (/home/dev/code/theprogrammablemind/kms/common/dimension.js:143:13)\n at Semantic.apply [as _apply] (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/config.js:318:35)\n at Semantic.apply (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:124:10)\n at Semantics.applyToContext (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:199:35)\n at Semantics.apply (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:315:19)\n at args.s (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:209:47)\n at Config.getEvaluator (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/config.js:939:22)\n at args.e (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:220:21)\n at Semantic.apply [as _apply] (/home/dev/code/theprogrammablemind/kms/common/dialogues.js:687:24). Semantic is Semantic(({ context }) => bridge.id == context.marker && context.evaluate, ({context, kms, e, error}) => {\n /*\n error(({context, e}) => {\n context.evalue = 'dont know...'\n })\n */\n const from = context.from;\n const to = context.to;\n let evalue;\n let efrom = from\n if (!from.unit) {\n efrom = e(from).evalue\n }\n if (to.value == efrom.unit.value) {\n evalue = efrom.amount\n } else {\n const formula = kms.formulas.api.get(to, [efrom.unit])\n if (!formula) {\n const reason = { marker: 'reason', focusableForPhrase: true, evalue: { marker: 'noconversion', from: efrom.unit, to } }\n kms.stm.api.mentioned(reason)\n error(reason)\n }\n kms.stm.api.setVariable(efrom.unit.value, efrom.amount)\n evalue = e(formula)\n }\n /*\n '{\n \"marker\":\"dimension\",\n \"unit\":{\"marker\":\"unit\",\"range\":{\"start\":19,\"end\":25},\"word\":\"celcius\",\"text\":\"celcius\",\"value\":\"celcius\",\"unknown\":true,\"types\":[\"unit\",\"unknown\"]},\n \"value\":10,\n \"amount\":{\"word\":\"degrees\",\"number\":\"many\",\"text\":\"10 degrees\",\"marker\":\"degree\",\"range\":{\"start\":8,\"end\":17},\"value\":10,\"amount\":{\"value\":10,\"text\":\"10\",\"marker\":\"number\",\"word\":\"10\",\"range\":{\"start\":8,\"end\":9},\"types\":[\"number\"]}},\n \"text\":\"10 degrees celcius\",\"range\":{\"start\":8,\"end\":25}}'\n */\n context.evalue = { \n paraphrase: true,\n marker: 'dimension',\n level: 1,\n unit: to,\n amount: { evalue, paraphrase: undefined }\n }\n })\nsee the evaluator property. The error has a retryCall property that will recall the function that failed.'. Semantic is Semantic(({context, hierarchy}) => hierarchy.isA(context.marker, 'is') && context.query, ({context, s, log, km, objects, e}) => {\n const one = context.one;\n const two = context.two;\n let concept, value;\n if (one.query) {\n concept = one;\n value = two;\n } else {\n concept = two;\n value = one;\n }\n // km('dialogues').api.mentioned(concept)\n // TODO wtf is the next line?\n value = JSON.parse(JSON.stringify(value))\n let instance = e(value)\n if (false && instance.evalue) {\n km('stm').api.mentioned(value)\n }\n if (instance.verbatim) {\n context.evalue = { verbatim: instance.verbatim }\n context.isResponse = true\n return\n }\n // instance.focusable = ['one', 'two']\n // concept = JSON.parse(JSON.stringify(value)) \n concept = _.cloneDeep(value) \n concept.isQuery = undefined\n // greg101\n // instance.focusableForPhrase = true\n instance.focus = true\n if (concept.hierarchy) {\n concept.focusableForPhrase = true\n }\n // concept.focus = true\n\n const many = isMany(concept) || isMany(instance)\n const evalue = {\n \"default\": true,\n \"marker\": \"is\",\n \"one\": concept,\n \"two\": instance,\n \"focusable\": ['two', 'one'],\n \"word\": many ? \"are\" : \"is\",\n \"number\": many ? \"many\" : undefined,\n }\n context.evalue = evalue\n context.isResponse = true\n }). The error has a retryCall property that will recall the function that failed.'"
13281
+ "ERROR while applying (dialogues/#4) KM 'dialogues' ordinal: 4 where: \"/home/dev/code/theprogrammablemind/kms/common/dialogues.js:717\"\n to\n {\n \"query\": [\n \"what\"\n ],\n \"number\": \"many\",\n \"text\": \"what are 10 a1 in b1\",\n \"marker\": \"is\",\n \"word\": \"are\",\n \"range\": {\n \"start\": 0,\n \"end\": 19\n },\n \"one\": {\n \"query\": [\n \"what\"\n ],\n \"number\": \"many\",\n \"marker\": \"what\",\n \"value\": \"what\",\n \"default\": true,\n \"text\": \"what\",\n \"word\": \"what\",\n \"range\": {\n \"start\": 0,\n \"end\": 19\n },\n \"dead\": true,\n \"determined\": true,\n \"types\": [\n \"what\"\n ],\n \"level\": 1\n },\n \"two\": {\n \"marker\": \"convertToUnits\",\n \"default\": true,\n \"word\": \"in\",\n \"text\": \"10 a1 in b1\",\n \"range\": {\n \"start\": 9,\n \"end\": 19\n },\n \"dead\": true,\n \"from\": {\n \"marker\": \"dimension\",\n \"unit\": {\n \"value\": \"a1\",\n \"number\": \"one\",\n \"text\": \"a1\",\n \"marker\": \"a1\",\n \"word\": \"a1\",\n \"range\": {\n \"start\": 12,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"a1\"\n ],\n \"level\": 1\n },\n \"value\": 10,\n \"amount\": {\n \"value\": 10,\n \"instance\": true,\n \"text\": \"10\",\n \"marker\": \"number\",\n \"word\": \"10\",\n \"range\": {\n \"start\": 9,\n \"end\": 10\n },\n \"dead\": true,\n \"types\": [\n \"number\"\n ],\n \"level\": 1\n },\n \"text\": \"10 a1\",\n \"range\": {\n \"start\": 9,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"dimension\"\n ],\n \"level\": 1\n },\n \"to\": {\n \"value\": \"b1\",\n \"number\": \"one\",\n \"text\": \"b1\",\n \"marker\": \"b1\",\n \"word\": \"b1\",\n \"range\": {\n \"start\": 18,\n \"end\": 19\n },\n \"dead\": true,\n \"types\": [\n \"b1\"\n ],\n \"level\": 1\n },\n \"types\": [\n \"convertToUnits\"\n ],\n \"level\": 1\n },\n \"dead\": true,\n \"level\": 2,\n \"topLevel\": true\n}.\nError applying semantics 'what x is y?/home/dev/code/theprogrammablemind/kms/common/dialogues.js:717'. Error is ERROR while applying (dimension/#0) KM 'dimension' ordinal: 0 where: \"/home/dev/code/theprogrammablemind/kms/common/dimension.js:117\"\n to\n {\n \"marker\": \"convertToUnits\",\n \"default\": true,\n \"word\": \"in\",\n \"text\": \"10 a1 in b1\",\n \"range\": {\n \"start\": 9,\n \"end\": 19\n },\n \"dead\": true,\n \"from\": {\n \"marker\": \"dimension\",\n \"unit\": {\n \"value\": \"a1\",\n \"number\": \"one\",\n \"text\": \"a1\",\n \"marker\": \"a1\",\n \"word\": \"a1\",\n \"range\": {\n \"start\": 12,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"a1\"\n ],\n \"level\": 1\n },\n \"value\": 10,\n \"amount\": {\n \"value\": 10,\n \"instance\": true,\n \"text\": \"10\",\n \"marker\": \"number\",\n \"word\": \"10\",\n \"range\": {\n \"start\": 9,\n \"end\": 10\n },\n \"dead\": true,\n \"types\": [\n \"number\"\n ],\n \"level\": 1\n },\n \"text\": \"10 a1\",\n \"range\": {\n \"start\": 9,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"dimension\"\n ],\n \"level\": 1\n },\n \"to\": {\n \"value\": \"b1\",\n \"number\": \"one\",\n \"text\": \"b1\",\n \"marker\": \"b1\",\n \"word\": \"b1\",\n \"range\": {\n \"start\": 18,\n \"end\": 19\n },\n \"dead\": true,\n \"types\": [\n \"b1\"\n ],\n \"level\": 1\n },\n \"types\": [\n \"convertToUnits\"\n ],\n \"level\": 1,\n \"evaluate\": true\n}.\nError applying semantics '/home/dev/code/theprogrammablemind/kms/common/dimension.js:117'. Error is Error: {\"marker\":\"reason\",\"focusableForPhrase\":true,\"evalue\":{\"marker\":\"noconversion\",\"from\":{\"value\":\"a1\",\"number\":\"one\",\"text\":\"a1\",\"marker\":\"a1\",\"word\":\"a1\",\"range\":{\"start\":12,\"end\":13},\"dead\":true,\"types\":[\"a1\"],\"level\":1},\"to\":{\"value\":\"b1\",\"number\":\"one\",\"text\":\"b1\",\"marker\":\"b1\",\"word\":\"b1\",\"range\":{\"start\":18,\"end\":19},\"dead\":true,\"types\":[\"b1\"],\"level\":1}},\"pullFromContext\":false,\"fromSTM\":true} stack is Error: {\"marker\":\"reason\",\"focusableForPhrase\":true,\"evalue\":{\"marker\":\"noconversion\",\"from\":{\"value\":\"a1\",\"number\":\"one\",\"text\":\"a1\",\"marker\":\"a1\",\"word\":\"a1\",\"range\":{\"start\":12,\"end\":13},\"dead\":true,\"types\":[\"a1\"],\"level\":1},\"to\":{\"value\":\"b1\",\"number\":\"one\",\"text\":\"b1\",\"marker\":\"b1\",\"word\":\"b1\",\"range\":{\"start\":18,\"end\":19},\"dead\":true,\"types\":[\"b1\"],\"level\":1}},\"pullFromContext\":false,\"fromSTM\":true}\n at args.error (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:169:11)\n at Object.evaluator (/home/dev/code/theprogrammablemind/kms/common/dimension.js:144:13)\n at Semantic.apply [as _apply] (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/config.js:374:35)\n at Semantic.apply (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:127:10)\n at Semantics.applyToContext (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:207:35)\n at Semantics.apply (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:325:19)\n at args.s (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:192:47)\n at Config.getEvaluator (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/config.js:1007:22)\n at args.e (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:203:21)\n at Semantic.apply [as _apply] (/home/dev/code/theprogrammablemind/kms/common/dialogues.js:740:24). Semantic is Semantic(({ context }) => bridge.id == context.marker && context.evaluate, ({context, kms, e, error}) => {\n /*\n error(({context, e}) => {\n context.evalue = 'dont know...'\n })\n */\n const from = context.from;\n const to = context.to;\n let evalue;\n let efrom = from\n if (!from.unit) {\n efrom = e(from).evalue\n }\n if (to.value == efrom.unit.value) {\n evalue = efrom.amount\n } else {\n const formula = kms.formulas.api.get(to, [efrom.unit])\n if (!formula) {\n const reason = { marker: 'reason', focusableForPhrase: true, evalue: { marker: 'noconversion', from: efrom.unit, to } }\n kms.stm.api.mentioned(reason)\n error(reason)\n }\n kms.stm.api.setVariable(efrom.unit.value, efrom.amount)\n evalue = e(formula)\n }\n /*\n '{\n \"marker\":\"dimension\",\n \"unit\":{\"marker\":\"unit\",\"range\":{\"start\":19,\"end\":25},\"word\":\"celcius\",\"text\":\"celcius\",\"value\":\"celcius\",\"unknown\":true,\"types\":[\"unit\",\"unknown\"]},\n \"value\":10,\n \"amount\":{\"word\":\"degrees\",\"number\":\"many\",\"text\":\"10 degrees\",\"marker\":\"degree\",\"range\":{\"start\":8,\"end\":17},\"value\":10,\"amount\":{\"value\":10,\"text\":\"10\",\"marker\":\"number\",\"word\":\"10\",\"range\":{\"start\":8,\"end\":9},\"types\":[\"number\"]}},\n \"text\":\"10 degrees celcius\",\"range\":{\"start\":8,\"end\":25}}'\n */\n context.evalue = { \n paraphrase: true,\n marker: 'dimension',\n level: 1,\n unit: to,\n amount: { evalue, paraphrase: undefined }\n }\n })\nsee the evaluator property. The error has a retryCall property that will recall the function that failed.'. Semantic is Semantic(({context, hierarchy}) => hierarchy.isA(context.marker, 'is') && context.query, ({context, s, log, km, objects, e}) => {\n const one = context.one;\n const two = context.two;\n let concept, value;\n if (one.query) {\n concept = one;\n value = two;\n } else {\n concept = two;\n value = one;\n }\n // km('dialogues').api.mentioned(concept)\n // TODO wtf is the next line?\n value = JSON.parse(JSON.stringify(value))\n let instance = e(value)\n if (false && instance.evalue) {\n km('stm').api.mentioned(value)\n }\n if (instance.verbatim) {\n context.evalue = { verbatim: instance.verbatim }\n context.isResponse = true\n return\n }\n // instance.focusable = ['one', 'two']\n // concept = JSON.parse(JSON.stringify(value)) \n concept = _.cloneDeep(value) \n concept.isQuery = undefined\n // greg101\n // instance.focusableForPhrase = true\n instance.focus = true\n if (concept.hierarchy) {\n concept.focusableForPhrase = true\n }\n // concept.focus = true\n\n const many = isMany(concept) || isMany(instance)\n const evalue = {\n \"default\": true,\n \"marker\": \"is\",\n \"one\": concept,\n \"two\": instance,\n \"focusable\": ['two', 'one'],\n \"word\": many ? \"are\" : \"is\",\n \"number\": many ? \"many\" : undefined,\n }\n context.evalue = evalue\n context.isResponse = true\n }). The error has a retryCall property that will recall the function that failed.'"
13439
13282
  ],
13440
13283
  "evalue": "That is not known because there is no conversion between a1 and b1",
13441
13284
  "isResponse": true,
@@ -13477,7 +13320,9 @@
13477
13320
  }
13478
13321
  },
13479
13322
  "focusableForPhrase": true,
13480
- "marker": "reason"
13323
+ "fromSTM": true,
13324
+ "marker": "reason",
13325
+ "pullFromContext": false
13481
13326
  },
13482
13327
  "text": "[object Object]",
13483
13328
  "touchedBy": [
@@ -13707,31 +13552,6 @@
13707
13552
  },
13708
13553
  {
13709
13554
  "counter": 5,
13710
- "op": [
13711
- "list",
13712
- 1
13713
- ],
13714
- "ops": [
13715
- [
13716
- "is",
13717
- 0
13718
- ],
13719
- [
13720
- "list",
13721
- 1
13722
- ],
13723
- [
13724
- "propertyOf",
13725
- 0
13726
- ],
13727
- [
13728
- "unit",
13729
- 0
13730
- ]
13731
- ]
13732
- },
13733
- {
13734
- "counter": 6,
13735
13555
  "op": [
13736
13556
  "unit",
13737
13557
  0
@@ -13752,7 +13572,7 @@
13752
13572
  ]
13753
13573
  },
13754
13574
  {
13755
- "counter": 7,
13575
+ "counter": 6,
13756
13576
  "op": [
13757
13577
  "propertyOf",
13758
13578
  0
@@ -13769,7 +13589,7 @@
13769
13589
  ]
13770
13590
  },
13771
13591
  {
13772
- "counter": 8,
13592
+ "counter": 7,
13773
13593
  "op": [
13774
13594
  "propertyOf",
13775
13595
  1
@@ -13786,7 +13606,7 @@
13786
13606
  ]
13787
13607
  },
13788
13608
  {
13789
- "counter": 9,
13609
+ "counter": 8,
13790
13610
  "op": [
13791
13611
  "is",
13792
13612
  0
@@ -13799,7 +13619,7 @@
13799
13619
  ]
13800
13620
  },
13801
13621
  {
13802
- "counter": 10,
13622
+ "counter": 9,
13803
13623
  "op": [
13804
13624
  "is",
13805
13625
  1
@@ -14025,21 +13845,20 @@
14025
13845
  "countable": "countable2",
14026
13846
  "dialogues": "dialogues2",
14027
13847
  "dimension": "dimension1",
14028
- "dimensionTemplate": "dimensionTemplate2",
14029
13848
  "formulas": "formulas2",
14030
- "formulasTemplate": "formulasTemplate2",
14031
13849
  "gdefaults": "gdefaults2",
14032
13850
  "hierarchy": "hierarchy2",
14033
13851
  "math": "math2",
14034
- "mathTemplate": "mathTemplate2",
14035
13852
  "meta": "meta2",
13853
+ "negation": "negation2",
14036
13854
  "numbers": "numbers2",
14037
13855
  "pos": "pos2",
14038
13856
  "properties": "properties2",
14039
13857
  "punctuation": "punctuation2",
14040
13858
  "sdefaults": "sdefaults2",
14041
13859
  "stm": "stm2",
14042
- "testing": "testing2"
13860
+ "testing": "testing2",
13861
+ "tokenize": "tokenize2"
14043
13862
  },
14044
13863
  "namespaced": {
14045
13864
  "comparable2": {
@@ -14053,6 +13872,7 @@
14053
13872
  "countable2": {
14054
13873
  },
14055
13874
  "dialogues2": {
13875
+ "idSuffix": "",
14056
13876
  "mentioned": [
14057
13877
  ],
14058
13878
  "variables": {
@@ -14060,24 +13880,20 @@
14060
13880
  },
14061
13881
  "dimension1": {
14062
13882
  },
14063
- "dimensionTemplate2": {
14064
- },
14065
13883
  "formulas2": {
14066
13884
  "formulas": {
14067
13885
  }
14068
13886
  },
14069
- "formulasTemplate2": {
14070
- },
14071
13887
  "gdefaults2": {
14072
13888
  },
14073
13889
  "hierarchy2": {
14074
13890
  },
14075
13891
  "math2": {
14076
13892
  },
14077
- "mathTemplate2": {
14078
- },
14079
13893
  "meta2": {
14080
13894
  },
13895
+ "negation2": {
13896
+ },
14081
13897
  "numbers2": {
14082
13898
  },
14083
13899
  "pos2": {
@@ -14115,9 +13931,6 @@
14115
13931
  "/",
14116
13932
  "-"
14117
13933
  ],
14118
- "notAble": [
14119
- "unknown"
14120
- ],
14121
13934
  "object": [
14122
13935
  "unknown",
14123
13936
  "what",
@@ -14141,6 +13954,7 @@
14141
13954
  "object",
14142
13955
  "xfx",
14143
13956
  "concept",
13957
+ "doubleQuote",
14144
13958
  "unknown",
14145
13959
  "it",
14146
13960
  "what",
@@ -14198,6 +14012,7 @@
14198
14012
  "concept",
14199
14013
  "modifies",
14200
14014
  "verby",
14015
+ "doubleQuote",
14201
14016
  "it",
14202
14017
  "pronoun",
14203
14018
  "this",
@@ -14206,7 +14021,6 @@
14206
14021
  "a",
14207
14022
  "articlePOS",
14208
14023
  "the",
14209
- "notAble",
14210
14024
  "whatAble",
14211
14025
  "is",
14212
14026
  "toAble",
@@ -14215,9 +14029,9 @@
14215
14029
  "thisitthat",
14216
14030
  "reason",
14217
14031
  "that",
14032
+ "number",
14218
14033
  "orAble",
14219
14034
  "ifAble",
14220
- "number",
14221
14035
  "*",
14222
14036
  "mathematical_operator",
14223
14037
  "+",
@@ -14265,6 +14079,9 @@
14265
14079
  "dimension": [
14266
14080
  "concept"
14267
14081
  ],
14082
+ "doubleQuote": [
14083
+ "queryable"
14084
+ ],
14268
14085
  "formula": [
14269
14086
  "concept"
14270
14087
  ],
@@ -14339,7 +14156,6 @@
14339
14156
  "unknown": [
14340
14157
  "hierarchyAble",
14341
14158
  "object",
14342
- "notAble",
14343
14159
  "theAble",
14344
14160
  "queryable"
14345
14161
  ],
@@ -14391,6 +14207,8 @@
14391
14207
  },
14392
14208
  "dimension": {
14393
14209
  },
14210
+ "doubleQuote": {
14211
+ },
14394
14212
  "formula": {
14395
14213
  },
14396
14214
  "have": {
@@ -14407,8 +14225,6 @@
14407
14225
  },
14408
14226
  "modifies": {
14409
14227
  },
14410
- "notAble": {
14411
- },
14412
14228
  "noun": {
14413
14229
  },
14414
14230
  "number": {
@@ -14513,6 +14329,7 @@
14513
14329
  }
14514
14330
  },
14515
14331
  "focusableForPhrase": true,
14332
+ "fromSTM": true,
14516
14333
  "marker": "reason",
14517
14334
  "pullFromContext": false
14518
14335
  }
@@ -14521,6 +14338,8 @@
14521
14338
  }
14522
14339
  },
14523
14340
  "testing2": {
14341
+ },
14342
+ "tokenize2": {
14524
14343
  }
14525
14344
  },
14526
14345
  "processed": [
@@ -14641,7 +14460,7 @@
14641
14460
  "word": "are"
14642
14461
  },
14643
14462
  "error": [
14644
- "ERROR while applying (dialogues/#4) KM 'dialogues' ordinal: 4 where: \"/home/dev/code/theprogrammablemind/kms/common/dialogues.js:664\"\n to\n {\n \"query\": [\n \"what\"\n ],\n \"number\": \"many\",\n \"text\": \"what are 10 a1 in b1\",\n \"marker\": \"is\",\n \"word\": \"are\",\n \"range\": {\n \"start\": 0,\n \"end\": 19\n },\n \"one\": {\n \"query\": [\n \"what\"\n ],\n \"number\": \"many\",\n \"marker\": \"what\",\n \"value\": \"what\",\n \"default\": true,\n \"text\": \"what\",\n \"word\": \"what\",\n \"range\": {\n \"start\": 0,\n \"end\": 19\n },\n \"dead\": true,\n \"determined\": true,\n \"types\": [\n \"what\"\n ],\n \"level\": 1\n },\n \"two\": {\n \"marker\": \"convertToUnits\",\n \"default\": true,\n \"word\": \"in\",\n \"text\": \"10 a1 in b1\",\n \"range\": {\n \"start\": 9,\n \"end\": 19\n },\n \"dead\": true,\n \"from\": {\n \"marker\": \"dimension\",\n \"unit\": {\n \"value\": \"a1\",\n \"number\": \"one\",\n \"text\": \"a1\",\n \"marker\": \"a1\",\n \"word\": \"a1\",\n \"range\": {\n \"start\": 12,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"a1\"\n ],\n \"level\": 1\n },\n \"value\": 10,\n \"amount\": {\n \"value\": 10,\n \"instance\": true,\n \"text\": \"10\",\n \"marker\": \"number\",\n \"word\": \"10\",\n \"range\": {\n \"start\": 9,\n \"end\": 10\n },\n \"dead\": true,\n \"types\": [\n \"number\"\n ],\n \"level\": 1\n },\n \"text\": \"10 a1\",\n \"range\": {\n \"start\": 9,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"dimension\"\n ],\n \"level\": 1\n },\n \"to\": {\n \"value\": \"b1\",\n \"number\": \"one\",\n \"text\": \"b1\",\n \"marker\": \"b1\",\n \"word\": \"b1\",\n \"range\": {\n \"start\": 18,\n \"end\": 19\n },\n \"dead\": true,\n \"types\": [\n \"b1\"\n ],\n \"level\": 1\n },\n \"types\": [\n \"convertToUnits\"\n ],\n \"level\": 1\n },\n \"dead\": true,\n \"level\": 2,\n \"topLevel\": true\n}.\nError applying semantics 'what x is y?/home/dev/code/theprogrammablemind/kms/common/dialogues.js:664'. Error is ERROR while applying (dimension/#0) KM 'dimension' ordinal: 0 where: \"/home/dev/code/theprogrammablemind/kms/common/dimension.js:116\"\n to\n {\n \"marker\": \"convertToUnits\",\n \"default\": true,\n \"word\": \"in\",\n \"text\": \"10 a1 in b1\",\n \"range\": {\n \"start\": 9,\n \"end\": 19\n },\n \"dead\": true,\n \"from\": {\n \"marker\": \"dimension\",\n \"unit\": {\n \"value\": \"a1\",\n \"number\": \"one\",\n \"text\": \"a1\",\n \"marker\": \"a1\",\n \"word\": \"a1\",\n \"range\": {\n \"start\": 12,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"a1\"\n ],\n \"level\": 1\n },\n \"value\": 10,\n \"amount\": {\n \"value\": 10,\n \"instance\": true,\n \"text\": \"10\",\n \"marker\": \"number\",\n \"word\": \"10\",\n \"range\": {\n \"start\": 9,\n \"end\": 10\n },\n \"dead\": true,\n \"types\": [\n \"number\"\n ],\n \"level\": 1\n },\n \"text\": \"10 a1\",\n \"range\": {\n \"start\": 9,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"dimension\"\n ],\n \"level\": 1\n },\n \"to\": {\n \"value\": \"b1\",\n \"number\": \"one\",\n \"text\": \"b1\",\n \"marker\": \"b1\",\n \"word\": \"b1\",\n \"range\": {\n \"start\": 18,\n \"end\": 19\n },\n \"dead\": true,\n \"types\": [\n \"b1\"\n ],\n \"level\": 1\n },\n \"types\": [\n \"convertToUnits\"\n ],\n \"level\": 1,\n \"evaluate\": true\n}.\nError applying semantics '/home/dev/code/theprogrammablemind/kms/common/dimension.js:116'. Error is Error: {\"marker\":\"reason\",\"focusableForPhrase\":true,\"evalue\":{\"marker\":\"noconversion\",\"from\":{\"value\":\"a1\",\"number\":\"one\",\"text\":\"a1\",\"marker\":\"a1\",\"word\":\"a1\",\"range\":{\"start\":12,\"end\":13},\"dead\":true,\"types\":[\"a1\"],\"level\":1},\"to\":{\"value\":\"b1\",\"number\":\"one\",\"text\":\"b1\",\"marker\":\"b1\",\"word\":\"b1\",\"range\":{\"start\":18,\"end\":19},\"dead\":true,\"types\":[\"b1\"],\"level\":1}}} stack is Error: {\"marker\":\"reason\",\"focusableForPhrase\":true,\"evalue\":{\"marker\":\"noconversion\",\"from\":{\"value\":\"a1\",\"number\":\"one\",\"text\":\"a1\",\"marker\":\"a1\",\"word\":\"a1\",\"range\":{\"start\":12,\"end\":13},\"dead\":true,\"types\":[\"a1\"],\"level\":1},\"to\":{\"value\":\"b1\",\"number\":\"one\",\"text\":\"b1\",\"marker\":\"b1\",\"word\":\"b1\",\"range\":{\"start\":18,\"end\":19},\"dead\":true,\"types\":[\"b1\"],\"level\":1}}}\n at args.error (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:165:11)\n at Object.evaluator (/home/dev/code/theprogrammablemind/kms/common/dimension.js:143:13)\n at Semantic.apply [as _apply] (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/config.js:318:35)\n at Semantic.apply (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:124:10)\n at Semantics.applyToContext (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:199:35)\n at Semantics.apply (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:315:19)\n at args.s (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:209:47)\n at Config.getEvaluator (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/config.js:939:22)\n at args.e (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:220:21)\n at Semantic.apply [as _apply] (/home/dev/code/theprogrammablemind/kms/common/dialogues.js:687:24). Semantic is Semantic(({ context }) => bridge.id == context.marker && context.evaluate, ({context, kms, e, error}) => {\n /*\n error(({context, e}) => {\n context.evalue = 'dont know...'\n })\n */\n const from = context.from;\n const to = context.to;\n let evalue;\n let efrom = from\n if (!from.unit) {\n efrom = e(from).evalue\n }\n if (to.value == efrom.unit.value) {\n evalue = efrom.amount\n } else {\n const formula = kms.formulas.api.get(to, [efrom.unit])\n if (!formula) {\n const reason = { marker: 'reason', focusableForPhrase: true, evalue: { marker: 'noconversion', from: efrom.unit, to } }\n kms.stm.api.mentioned(reason)\n error(reason)\n }\n kms.stm.api.setVariable(efrom.unit.value, efrom.amount)\n evalue = e(formula)\n }\n /*\n '{\n \"marker\":\"dimension\",\n \"unit\":{\"marker\":\"unit\",\"range\":{\"start\":19,\"end\":25},\"word\":\"celcius\",\"text\":\"celcius\",\"value\":\"celcius\",\"unknown\":true,\"types\":[\"unit\",\"unknown\"]},\n \"value\":10,\n \"amount\":{\"word\":\"degrees\",\"number\":\"many\",\"text\":\"10 degrees\",\"marker\":\"degree\",\"range\":{\"start\":8,\"end\":17},\"value\":10,\"amount\":{\"value\":10,\"text\":\"10\",\"marker\":\"number\",\"word\":\"10\",\"range\":{\"start\":8,\"end\":9},\"types\":[\"number\"]}},\n \"text\":\"10 degrees celcius\",\"range\":{\"start\":8,\"end\":25}}'\n */\n context.evalue = { \n paraphrase: true,\n marker: 'dimension',\n level: 1,\n unit: to,\n amount: { evalue, paraphrase: undefined }\n }\n })\nsee the evaluator property. The error has a retryCall property that will recall the function that failed.'. Semantic is Semantic(({context, hierarchy}) => hierarchy.isA(context.marker, 'is') && context.query, ({context, s, log, km, objects, e}) => {\n const one = context.one;\n const two = context.two;\n let concept, value;\n if (one.query) {\n concept = one;\n value = two;\n } else {\n concept = two;\n value = one;\n }\n // km('dialogues').api.mentioned(concept)\n // TODO wtf is the next line?\n value = JSON.parse(JSON.stringify(value))\n let instance = e(value)\n if (false && instance.evalue) {\n km('stm').api.mentioned(value)\n }\n if (instance.verbatim) {\n context.evalue = { verbatim: instance.verbatim }\n context.isResponse = true\n return\n }\n // instance.focusable = ['one', 'two']\n // concept = JSON.parse(JSON.stringify(value)) \n concept = _.cloneDeep(value) \n concept.isQuery = undefined\n // greg101\n // instance.focusableForPhrase = true\n instance.focus = true\n if (concept.hierarchy) {\n concept.focusableForPhrase = true\n }\n // concept.focus = true\n\n const many = isMany(concept) || isMany(instance)\n const evalue = {\n \"default\": true,\n \"marker\": \"is\",\n \"one\": concept,\n \"two\": instance,\n \"focusable\": ['two', 'one'],\n \"word\": many ? \"are\" : \"is\",\n \"number\": many ? \"many\" : undefined,\n }\n context.evalue = evalue\n context.isResponse = true\n }). The error has a retryCall property that will recall the function that failed.'"
14463
+ "ERROR while applying (dialogues/#4) KM 'dialogues' ordinal: 4 where: \"/home/dev/code/theprogrammablemind/kms/common/dialogues.js:717\"\n to\n {\n \"query\": [\n \"what\"\n ],\n \"number\": \"many\",\n \"text\": \"what are 10 a1 in b1\",\n \"marker\": \"is\",\n \"word\": \"are\",\n \"range\": {\n \"start\": 0,\n \"end\": 19\n },\n \"one\": {\n \"query\": [\n \"what\"\n ],\n \"number\": \"many\",\n \"marker\": \"what\",\n \"value\": \"what\",\n \"default\": true,\n \"text\": \"what\",\n \"word\": \"what\",\n \"range\": {\n \"start\": 0,\n \"end\": 19\n },\n \"dead\": true,\n \"determined\": true,\n \"types\": [\n \"what\"\n ],\n \"level\": 1\n },\n \"two\": {\n \"marker\": \"convertToUnits\",\n \"default\": true,\n \"word\": \"in\",\n \"text\": \"10 a1 in b1\",\n \"range\": {\n \"start\": 9,\n \"end\": 19\n },\n \"dead\": true,\n \"from\": {\n \"marker\": \"dimension\",\n \"unit\": {\n \"value\": \"a1\",\n \"number\": \"one\",\n \"text\": \"a1\",\n \"marker\": \"a1\",\n \"word\": \"a1\",\n \"range\": {\n \"start\": 12,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"a1\"\n ],\n \"level\": 1\n },\n \"value\": 10,\n \"amount\": {\n \"value\": 10,\n \"instance\": true,\n \"text\": \"10\",\n \"marker\": \"number\",\n \"word\": \"10\",\n \"range\": {\n \"start\": 9,\n \"end\": 10\n },\n \"dead\": true,\n \"types\": [\n \"number\"\n ],\n \"level\": 1\n },\n \"text\": \"10 a1\",\n \"range\": {\n \"start\": 9,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"dimension\"\n ],\n \"level\": 1\n },\n \"to\": {\n \"value\": \"b1\",\n \"number\": \"one\",\n \"text\": \"b1\",\n \"marker\": \"b1\",\n \"word\": \"b1\",\n \"range\": {\n \"start\": 18,\n \"end\": 19\n },\n \"dead\": true,\n \"types\": [\n \"b1\"\n ],\n \"level\": 1\n },\n \"types\": [\n \"convertToUnits\"\n ],\n \"level\": 1\n },\n \"dead\": true,\n \"level\": 2,\n \"topLevel\": true\n}.\nError applying semantics 'what x is y?/home/dev/code/theprogrammablemind/kms/common/dialogues.js:717'. Error is ERROR while applying (dimension/#0) KM 'dimension' ordinal: 0 where: \"/home/dev/code/theprogrammablemind/kms/common/dimension.js:117\"\n to\n {\n \"marker\": \"convertToUnits\",\n \"default\": true,\n \"word\": \"in\",\n \"text\": \"10 a1 in b1\",\n \"range\": {\n \"start\": 9,\n \"end\": 19\n },\n \"dead\": true,\n \"from\": {\n \"marker\": \"dimension\",\n \"unit\": {\n \"value\": \"a1\",\n \"number\": \"one\",\n \"text\": \"a1\",\n \"marker\": \"a1\",\n \"word\": \"a1\",\n \"range\": {\n \"start\": 12,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"a1\"\n ],\n \"level\": 1\n },\n \"value\": 10,\n \"amount\": {\n \"value\": 10,\n \"instance\": true,\n \"text\": \"10\",\n \"marker\": \"number\",\n \"word\": \"10\",\n \"range\": {\n \"start\": 9,\n \"end\": 10\n },\n \"dead\": true,\n \"types\": [\n \"number\"\n ],\n \"level\": 1\n },\n \"text\": \"10 a1\",\n \"range\": {\n \"start\": 9,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"dimension\"\n ],\n \"level\": 1\n },\n \"to\": {\n \"value\": \"b1\",\n \"number\": \"one\",\n \"text\": \"b1\",\n \"marker\": \"b1\",\n \"word\": \"b1\",\n \"range\": {\n \"start\": 18,\n \"end\": 19\n },\n \"dead\": true,\n \"types\": [\n \"b1\"\n ],\n \"level\": 1\n },\n \"types\": [\n \"convertToUnits\"\n ],\n \"level\": 1,\n \"evaluate\": true\n}.\nError applying semantics '/home/dev/code/theprogrammablemind/kms/common/dimension.js:117'. Error is Error: {\"marker\":\"reason\",\"focusableForPhrase\":true,\"evalue\":{\"marker\":\"noconversion\",\"from\":{\"value\":\"a1\",\"number\":\"one\",\"text\":\"a1\",\"marker\":\"a1\",\"word\":\"a1\",\"range\":{\"start\":12,\"end\":13},\"dead\":true,\"types\":[\"a1\"],\"level\":1},\"to\":{\"value\":\"b1\",\"number\":\"one\",\"text\":\"b1\",\"marker\":\"b1\",\"word\":\"b1\",\"range\":{\"start\":18,\"end\":19},\"dead\":true,\"types\":[\"b1\"],\"level\":1}},\"pullFromContext\":false,\"fromSTM\":true} stack is Error: {\"marker\":\"reason\",\"focusableForPhrase\":true,\"evalue\":{\"marker\":\"noconversion\",\"from\":{\"value\":\"a1\",\"number\":\"one\",\"text\":\"a1\",\"marker\":\"a1\",\"word\":\"a1\",\"range\":{\"start\":12,\"end\":13},\"dead\":true,\"types\":[\"a1\"],\"level\":1},\"to\":{\"value\":\"b1\",\"number\":\"one\",\"text\":\"b1\",\"marker\":\"b1\",\"word\":\"b1\",\"range\":{\"start\":18,\"end\":19},\"dead\":true,\"types\":[\"b1\"],\"level\":1}},\"pullFromContext\":false,\"fromSTM\":true}\n at args.error (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:169:11)\n at Object.evaluator (/home/dev/code/theprogrammablemind/kms/common/dimension.js:144:13)\n at Semantic.apply [as _apply] (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/config.js:374:35)\n at Semantic.apply (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:127:10)\n at Semantics.applyToContext (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:207:35)\n at Semantics.apply (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:325:19)\n at args.s (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:192:47)\n at Config.getEvaluator (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/config.js:1007:22)\n at args.e (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:203:21)\n at Semantic.apply [as _apply] (/home/dev/code/theprogrammablemind/kms/common/dialogues.js:740:24). Semantic is Semantic(({ context }) => bridge.id == context.marker && context.evaluate, ({context, kms, e, error}) => {\n /*\n error(({context, e}) => {\n context.evalue = 'dont know...'\n })\n */\n const from = context.from;\n const to = context.to;\n let evalue;\n let efrom = from\n if (!from.unit) {\n efrom = e(from).evalue\n }\n if (to.value == efrom.unit.value) {\n evalue = efrom.amount\n } else {\n const formula = kms.formulas.api.get(to, [efrom.unit])\n if (!formula) {\n const reason = { marker: 'reason', focusableForPhrase: true, evalue: { marker: 'noconversion', from: efrom.unit, to } }\n kms.stm.api.mentioned(reason)\n error(reason)\n }\n kms.stm.api.setVariable(efrom.unit.value, efrom.amount)\n evalue = e(formula)\n }\n /*\n '{\n \"marker\":\"dimension\",\n \"unit\":{\"marker\":\"unit\",\"range\":{\"start\":19,\"end\":25},\"word\":\"celcius\",\"text\":\"celcius\",\"value\":\"celcius\",\"unknown\":true,\"types\":[\"unit\",\"unknown\"]},\n \"value\":10,\n \"amount\":{\"word\":\"degrees\",\"number\":\"many\",\"text\":\"10 degrees\",\"marker\":\"degree\",\"range\":{\"start\":8,\"end\":17},\"value\":10,\"amount\":{\"value\":10,\"text\":\"10\",\"marker\":\"number\",\"word\":\"10\",\"range\":{\"start\":8,\"end\":9},\"types\":[\"number\"]}},\n \"text\":\"10 degrees celcius\",\"range\":{\"start\":8,\"end\":25}}'\n */\n context.evalue = { \n paraphrase: true,\n marker: 'dimension',\n level: 1,\n unit: to,\n amount: { evalue, paraphrase: undefined }\n }\n })\nsee the evaluator property. The error has a retryCall property that will recall the function that failed.'. Semantic is Semantic(({context, hierarchy}) => hierarchy.isA(context.marker, 'is') && context.query, ({context, s, log, km, objects, e}) => {\n const one = context.one;\n const two = context.two;\n let concept, value;\n if (one.query) {\n concept = one;\n value = two;\n } else {\n concept = two;\n value = one;\n }\n // km('dialogues').api.mentioned(concept)\n // TODO wtf is the next line?\n value = JSON.parse(JSON.stringify(value))\n let instance = e(value)\n if (false && instance.evalue) {\n km('stm').api.mentioned(value)\n }\n if (instance.verbatim) {\n context.evalue = { verbatim: instance.verbatim }\n context.isResponse = true\n return\n }\n // instance.focusable = ['one', 'two']\n // concept = JSON.parse(JSON.stringify(value)) \n concept = _.cloneDeep(value) \n concept.isQuery = undefined\n // greg101\n // instance.focusableForPhrase = true\n instance.focus = true\n if (concept.hierarchy) {\n concept.focusableForPhrase = true\n }\n // concept.focus = true\n\n const many = isMany(concept) || isMany(instance)\n const evalue = {\n \"default\": true,\n \"marker\": \"is\",\n \"one\": concept,\n \"two\": instance,\n \"focusable\": ['two', 'one'],\n \"word\": many ? \"are\" : \"is\",\n \"number\": many ? \"many\" : undefined,\n }\n context.evalue = evalue\n context.isResponse = true\n }). The error has a retryCall property that will recall the function that failed.'"
14645
14464
  ],
14646
14465
  "evalue": "That is not known because there is no conversion between a1 and b1",
14647
14466
  "isResponse": true,
@@ -14683,7 +14502,9 @@
14683
14502
  }
14684
14503
  },
14685
14504
  "focusableForPhrase": true,
14686
- "marker": "reason"
14505
+ "fromSTM": true,
14506
+ "marker": "reason",
14507
+ "pullFromContext": false
14687
14508
  },
14688
14509
  "text": "[object Object]",
14689
14510
  "touchedBy": [
@@ -14704,6 +14525,8 @@
14704
14525
  "marker": "is",
14705
14526
  "number": "many",
14706
14527
  "one": {
14528
+ "default": true,
14529
+ "isList": true,
14707
14530
  "level": 1,
14708
14531
  "listable": true,
14709
14532
  "marker": "list",
@@ -14712,7 +14535,7 @@
14712
14535
  "end": 24,
14713
14536
  "start": 0
14714
14537
  },
14715
- "text": "a1 and b1 are units of d1",
14538
+ "text": "a1 and b1",
14716
14539
  "types": [
14717
14540
  "list",
14718
14541
  "unknown"
@@ -14720,7 +14543,7 @@
14720
14543
  "value": [
14721
14544
  {
14722
14545
  "dead": true,
14723
- "level": 2,
14546
+ "level": 1,
14724
14547
  "marker": "unknown",
14725
14548
  "range": {
14726
14549
  "end": 1,
@@ -14733,7 +14556,7 @@
14733
14556
  },
14734
14557
  {
14735
14558
  "dead": true,
14736
- "level": 2,
14559
+ "level": 1,
14737
14560
  "marker": "unknown",
14738
14561
  "range": {
14739
14562
  "end": 8,
@@ -14744,7 +14567,8 @@
14744
14567
  "value": "b1",
14745
14568
  "word": "b1"
14746
14569
  }
14747
- ]
14570
+ ],
14571
+ "word": "and"
14748
14572
  },
14749
14573
  "range": {
14750
14574
  "end": 24,
@@ -14925,13 +14749,13 @@
14925
14749
  "text": "dimension and unit",
14926
14750
  "types": [
14927
14751
  "list",
14928
- "type"
14752
+ "unknown"
14929
14753
  ],
14930
14754
  "value": [
14931
14755
  {
14932
14756
  "dead": true,
14933
14757
  "level": 1,
14934
- "marker": "type",
14758
+ "marker": "unknown",
14935
14759
  "range": {
14936
14760
  "end": 8,
14937
14761
  "start": 0
@@ -14944,7 +14768,7 @@
14944
14768
  {
14945
14769
  "dead": true,
14946
14770
  "level": 1,
14947
- "marker": "type",
14771
+ "marker": "unknown",
14948
14772
  "range": {
14949
14773
  "end": 17,
14950
14774
  "start": 14
@@ -14964,8 +14788,7 @@
14964
14788
  "text": "dimension and unit are concepts",
14965
14789
  "topLevel": true,
14966
14790
  "touchedBy": [
14967
- "dimensionTemplate#call2",
14968
- "instance0#dimensionTemplate#call2",
14791
+ "dimension#call2",
14969
14792
  "instance0#dimension#call2"
14970
14793
  ],
14971
14794
  "two": {
@@ -15026,8 +14849,7 @@
15026
14849
  "text": "formulas are concepts",
15027
14850
  "topLevel": true,
15028
14851
  "touchedBy": [
15029
- "formulasTemplate#call2",
15030
- "instance0#formulasTemplate#call2",
14852
+ "formulas#call2",
15031
14853
  "instance0#formulas#call2",
15032
14854
  "instance0#dimension#call2"
15033
14855
  ],
@@ -15066,6 +14888,8 @@
15066
14888
  "marker": "is",
15067
14889
  "number": "many",
15068
14890
  "one": {
14891
+ "default": true,
14892
+ "isList": true,
15069
14893
  "level": 1,
15070
14894
  "listable": true,
15071
14895
  "marker": "list",
@@ -15074,7 +14898,7 @@
15074
14898
  "end": 37,
15075
14899
  "start": 0
15076
14900
  },
15077
- "text": "* +",
14901
+ "text": "* + / and -",
15078
14902
  "types": [
15079
14903
  "list",
15080
14904
  "unknown"
@@ -15108,7 +14932,7 @@
15108
14932
  },
15109
14933
  {
15110
14934
  "dead": true,
15111
- "level": 2,
14935
+ "level": 1,
15112
14936
  "marker": "unknown",
15113
14937
  "range": {
15114
14938
  "end": 4,
@@ -15121,7 +14945,7 @@
15121
14945
  },
15122
14946
  {
15123
14947
  "dead": true,
15124
- "level": 2,
14948
+ "level": 1,
15125
14949
  "marker": "unknown",
15126
14950
  "range": {
15127
14951
  "end": 10,
@@ -15132,7 +14956,8 @@
15132
14956
  "value": "-",
15133
14957
  "word": "-"
15134
14958
  }
15135
- ]
14959
+ ],
14960
+ "word": "and"
15136
14961
  },
15137
14962
  "range": {
15138
14963
  "end": 37,
@@ -15141,8 +14966,7 @@
15141
14966
  "text": "* + / and - are mathematical operators",
15142
14967
  "topLevel": true,
15143
14968
  "touchedBy": [
15144
- "mathTemplate#call2",
15145
- "instance1#mathTemplate#call2",
14969
+ "math#call2",
15146
14970
  "instance1#math#call2",
15147
14971
  "instance1#formulas#call2",
15148
14972
  "instance1#dimension#call2"
@@ -15156,6 +14980,7 @@
15156
14980
  "modifier_mathematical": {
15157
14981
  "level": 0,
15158
14982
  "marker": "mathematical",
14983
+ "number": "one",
15159
14984
  "range": {
15160
14985
  "end": 27,
15161
14986
  "start": 16
@@ -15333,6 +15158,8 @@
15333
15158
  "marker": "is",
15334
15159
  "number": "many",
15335
15160
  "one": {
15161
+ "default": true,
15162
+ "isList": true,
15336
15163
  "level": 1,
15337
15164
  "listable": true,
15338
15165
  "marker": "list",
@@ -15341,7 +15168,7 @@
15341
15168
  "end": 24,
15342
15169
  "start": 0
15343
15170
  },
15344
- "text": "a1 and b1 are units of d1",
15171
+ "text": "a1 and b1",
15345
15172
  "types": [
15346
15173
  "list",
15347
15174
  "unknown"
@@ -15349,7 +15176,7 @@
15349
15176
  "value": [
15350
15177
  {
15351
15178
  "dead": true,
15352
- "level": 2,
15179
+ "level": 1,
15353
15180
  "marker": "unknown",
15354
15181
  "range": {
15355
15182
  "end": 1,
@@ -15362,7 +15189,7 @@
15362
15189
  },
15363
15190
  {
15364
15191
  "dead": true,
15365
- "level": 2,
15192
+ "level": 1,
15366
15193
  "marker": "unknown",
15367
15194
  "range": {
15368
15195
  "end": 8,
@@ -15373,7 +15200,8 @@
15373
15200
  "value": "b1",
15374
15201
  "word": "b1"
15375
15202
  }
15376
- ]
15203
+ ],
15204
+ "word": "and"
15377
15205
  },
15378
15206
  "range": {
15379
15207
  "end": 24,
@@ -15569,7 +15397,7 @@
15569
15397
  "word": "are"
15570
15398
  },
15571
15399
  "error": [
15572
- "ERROR while applying (dialogues/#4) KM 'dialogues' ordinal: 4 where: \"/home/dev/code/theprogrammablemind/kms/common/dialogues.js:664\"\n to\n {\n \"query\": [\n \"what\"\n ],\n \"number\": \"many\",\n \"text\": \"what are 10 a1 in b1\",\n \"marker\": \"is\",\n \"word\": \"are\",\n \"range\": {\n \"start\": 0,\n \"end\": 19\n },\n \"one\": {\n \"query\": [\n \"what\"\n ],\n \"number\": \"many\",\n \"marker\": \"what\",\n \"value\": \"what\",\n \"default\": true,\n \"text\": \"what\",\n \"word\": \"what\",\n \"range\": {\n \"start\": 0,\n \"end\": 19\n },\n \"dead\": true,\n \"determined\": true,\n \"types\": [\n \"what\"\n ],\n \"level\": 1\n },\n \"two\": {\n \"marker\": \"convertToUnits\",\n \"default\": true,\n \"word\": \"in\",\n \"text\": \"10 a1 in b1\",\n \"range\": {\n \"start\": 9,\n \"end\": 19\n },\n \"dead\": true,\n \"from\": {\n \"marker\": \"dimension\",\n \"unit\": {\n \"value\": \"a1\",\n \"number\": \"one\",\n \"text\": \"a1\",\n \"marker\": \"a1\",\n \"word\": \"a1\",\n \"range\": {\n \"start\": 12,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"a1\"\n ],\n \"level\": 1\n },\n \"value\": 10,\n \"amount\": {\n \"value\": 10,\n \"instance\": true,\n \"text\": \"10\",\n \"marker\": \"number\",\n \"word\": \"10\",\n \"range\": {\n \"start\": 9,\n \"end\": 10\n },\n \"dead\": true,\n \"types\": [\n \"number\"\n ],\n \"level\": 1\n },\n \"text\": \"10 a1\",\n \"range\": {\n \"start\": 9,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"dimension\"\n ],\n \"level\": 1\n },\n \"to\": {\n \"value\": \"b1\",\n \"number\": \"one\",\n \"text\": \"b1\",\n \"marker\": \"b1\",\n \"word\": \"b1\",\n \"range\": {\n \"start\": 18,\n \"end\": 19\n },\n \"dead\": true,\n \"types\": [\n \"b1\"\n ],\n \"level\": 1\n },\n \"types\": [\n \"convertToUnits\"\n ],\n \"level\": 1\n },\n \"dead\": true,\n \"level\": 2,\n \"topLevel\": true\n}.\nError applying semantics 'what x is y?/home/dev/code/theprogrammablemind/kms/common/dialogues.js:664'. Error is ERROR while applying (dimension/#0) KM 'dimension' ordinal: 0 where: \"/home/dev/code/theprogrammablemind/kms/common/dimension.js:116\"\n to\n {\n \"marker\": \"convertToUnits\",\n \"default\": true,\n \"word\": \"in\",\n \"text\": \"10 a1 in b1\",\n \"range\": {\n \"start\": 9,\n \"end\": 19\n },\n \"dead\": true,\n \"from\": {\n \"marker\": \"dimension\",\n \"unit\": {\n \"value\": \"a1\",\n \"number\": \"one\",\n \"text\": \"a1\",\n \"marker\": \"a1\",\n \"word\": \"a1\",\n \"range\": {\n \"start\": 12,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"a1\"\n ],\n \"level\": 1\n },\n \"value\": 10,\n \"amount\": {\n \"value\": 10,\n \"instance\": true,\n \"text\": \"10\",\n \"marker\": \"number\",\n \"word\": \"10\",\n \"range\": {\n \"start\": 9,\n \"end\": 10\n },\n \"dead\": true,\n \"types\": [\n \"number\"\n ],\n \"level\": 1\n },\n \"text\": \"10 a1\",\n \"range\": {\n \"start\": 9,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"dimension\"\n ],\n \"level\": 1\n },\n \"to\": {\n \"value\": \"b1\",\n \"number\": \"one\",\n \"text\": \"b1\",\n \"marker\": \"b1\",\n \"word\": \"b1\",\n \"range\": {\n \"start\": 18,\n \"end\": 19\n },\n \"dead\": true,\n \"types\": [\n \"b1\"\n ],\n \"level\": 1\n },\n \"types\": [\n \"convertToUnits\"\n ],\n \"level\": 1,\n \"evaluate\": true\n}.\nError applying semantics '/home/dev/code/theprogrammablemind/kms/common/dimension.js:116'. Error is Error: {\"marker\":\"reason\",\"focusableForPhrase\":true,\"evalue\":{\"marker\":\"noconversion\",\"from\":{\"value\":\"a1\",\"number\":\"one\",\"text\":\"a1\",\"marker\":\"a1\",\"word\":\"a1\",\"range\":{\"start\":12,\"end\":13},\"dead\":true,\"types\":[\"a1\"],\"level\":1},\"to\":{\"value\":\"b1\",\"number\":\"one\",\"text\":\"b1\",\"marker\":\"b1\",\"word\":\"b1\",\"range\":{\"start\":18,\"end\":19},\"dead\":true,\"types\":[\"b1\"],\"level\":1}}} stack is Error: {\"marker\":\"reason\",\"focusableForPhrase\":true,\"evalue\":{\"marker\":\"noconversion\",\"from\":{\"value\":\"a1\",\"number\":\"one\",\"text\":\"a1\",\"marker\":\"a1\",\"word\":\"a1\",\"range\":{\"start\":12,\"end\":13},\"dead\":true,\"types\":[\"a1\"],\"level\":1},\"to\":{\"value\":\"b1\",\"number\":\"one\",\"text\":\"b1\",\"marker\":\"b1\",\"word\":\"b1\",\"range\":{\"start\":18,\"end\":19},\"dead\":true,\"types\":[\"b1\"],\"level\":1}}}\n at args.error (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:165:11)\n at Object.evaluator (/home/dev/code/theprogrammablemind/kms/common/dimension.js:143:13)\n at Semantic.apply [as _apply] (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/config.js:318:35)\n at Semantic.apply (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:124:10)\n at Semantics.applyToContext (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:199:35)\n at Semantics.apply (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:315:19)\n at args.s (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:209:47)\n at Config.getEvaluator (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/config.js:939:22)\n at args.e (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:220:21)\n at Semantic.apply [as _apply] (/home/dev/code/theprogrammablemind/kms/common/dialogues.js:687:24). Semantic is Semantic(({ context }) => bridge.id == context.marker && context.evaluate, ({context, kms, e, error}) => {\n /*\n error(({context, e}) => {\n context.evalue = 'dont know...'\n })\n */\n const from = context.from;\n const to = context.to;\n let evalue;\n let efrom = from\n if (!from.unit) {\n efrom = e(from).evalue\n }\n if (to.value == efrom.unit.value) {\n evalue = efrom.amount\n } else {\n const formula = kms.formulas.api.get(to, [efrom.unit])\n if (!formula) {\n const reason = { marker: 'reason', focusableForPhrase: true, evalue: { marker: 'noconversion', from: efrom.unit, to } }\n kms.stm.api.mentioned(reason)\n error(reason)\n }\n kms.stm.api.setVariable(efrom.unit.value, efrom.amount)\n evalue = e(formula)\n }\n /*\n '{\n \"marker\":\"dimension\",\n \"unit\":{\"marker\":\"unit\",\"range\":{\"start\":19,\"end\":25},\"word\":\"celcius\",\"text\":\"celcius\",\"value\":\"celcius\",\"unknown\":true,\"types\":[\"unit\",\"unknown\"]},\n \"value\":10,\n \"amount\":{\"word\":\"degrees\",\"number\":\"many\",\"text\":\"10 degrees\",\"marker\":\"degree\",\"range\":{\"start\":8,\"end\":17},\"value\":10,\"amount\":{\"value\":10,\"text\":\"10\",\"marker\":\"number\",\"word\":\"10\",\"range\":{\"start\":8,\"end\":9},\"types\":[\"number\"]}},\n \"text\":\"10 degrees celcius\",\"range\":{\"start\":8,\"end\":25}}'\n */\n context.evalue = { \n paraphrase: true,\n marker: 'dimension',\n level: 1,\n unit: to,\n amount: { evalue, paraphrase: undefined }\n }\n })\nsee the evaluator property. The error has a retryCall property that will recall the function that failed.'. Semantic is Semantic(({context, hierarchy}) => hierarchy.isA(context.marker, 'is') && context.query, ({context, s, log, km, objects, e}) => {\n const one = context.one;\n const two = context.two;\n let concept, value;\n if (one.query) {\n concept = one;\n value = two;\n } else {\n concept = two;\n value = one;\n }\n // km('dialogues').api.mentioned(concept)\n // TODO wtf is the next line?\n value = JSON.parse(JSON.stringify(value))\n let instance = e(value)\n if (false && instance.evalue) {\n km('stm').api.mentioned(value)\n }\n if (instance.verbatim) {\n context.evalue = { verbatim: instance.verbatim }\n context.isResponse = true\n return\n }\n // instance.focusable = ['one', 'two']\n // concept = JSON.parse(JSON.stringify(value)) \n concept = _.cloneDeep(value) \n concept.isQuery = undefined\n // greg101\n // instance.focusableForPhrase = true\n instance.focus = true\n if (concept.hierarchy) {\n concept.focusableForPhrase = true\n }\n // concept.focus = true\n\n const many = isMany(concept) || isMany(instance)\n const evalue = {\n \"default\": true,\n \"marker\": \"is\",\n \"one\": concept,\n \"two\": instance,\n \"focusable\": ['two', 'one'],\n \"word\": many ? \"are\" : \"is\",\n \"number\": many ? \"many\" : undefined,\n }\n context.evalue = evalue\n context.isResponse = true\n }). The error has a retryCall property that will recall the function that failed.'"
15400
+ "ERROR while applying (dialogues/#4) KM 'dialogues' ordinal: 4 where: \"/home/dev/code/theprogrammablemind/kms/common/dialogues.js:717\"\n to\n {\n \"query\": [\n \"what\"\n ],\n \"number\": \"many\",\n \"text\": \"what are 10 a1 in b1\",\n \"marker\": \"is\",\n \"word\": \"are\",\n \"range\": {\n \"start\": 0,\n \"end\": 19\n },\n \"one\": {\n \"query\": [\n \"what\"\n ],\n \"number\": \"many\",\n \"marker\": \"what\",\n \"value\": \"what\",\n \"default\": true,\n \"text\": \"what\",\n \"word\": \"what\",\n \"range\": {\n \"start\": 0,\n \"end\": 19\n },\n \"dead\": true,\n \"determined\": true,\n \"types\": [\n \"what\"\n ],\n \"level\": 1\n },\n \"two\": {\n \"marker\": \"convertToUnits\",\n \"default\": true,\n \"word\": \"in\",\n \"text\": \"10 a1 in b1\",\n \"range\": {\n \"start\": 9,\n \"end\": 19\n },\n \"dead\": true,\n \"from\": {\n \"marker\": \"dimension\",\n \"unit\": {\n \"value\": \"a1\",\n \"number\": \"one\",\n \"text\": \"a1\",\n \"marker\": \"a1\",\n \"word\": \"a1\",\n \"range\": {\n \"start\": 12,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"a1\"\n ],\n \"level\": 1\n },\n \"value\": 10,\n \"amount\": {\n \"value\": 10,\n \"instance\": true,\n \"text\": \"10\",\n \"marker\": \"number\",\n \"word\": \"10\",\n \"range\": {\n \"start\": 9,\n \"end\": 10\n },\n \"dead\": true,\n \"types\": [\n \"number\"\n ],\n \"level\": 1\n },\n \"text\": \"10 a1\",\n \"range\": {\n \"start\": 9,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"dimension\"\n ],\n \"level\": 1\n },\n \"to\": {\n \"value\": \"b1\",\n \"number\": \"one\",\n \"text\": \"b1\",\n \"marker\": \"b1\",\n \"word\": \"b1\",\n \"range\": {\n \"start\": 18,\n \"end\": 19\n },\n \"dead\": true,\n \"types\": [\n \"b1\"\n ],\n \"level\": 1\n },\n \"types\": [\n \"convertToUnits\"\n ],\n \"level\": 1\n },\n \"dead\": true,\n \"level\": 2,\n \"topLevel\": true\n}.\nError applying semantics 'what x is y?/home/dev/code/theprogrammablemind/kms/common/dialogues.js:717'. Error is ERROR while applying (dimension/#0) KM 'dimension' ordinal: 0 where: \"/home/dev/code/theprogrammablemind/kms/common/dimension.js:117\"\n to\n {\n \"marker\": \"convertToUnits\",\n \"default\": true,\n \"word\": \"in\",\n \"text\": \"10 a1 in b1\",\n \"range\": {\n \"start\": 9,\n \"end\": 19\n },\n \"dead\": true,\n \"from\": {\n \"marker\": \"dimension\",\n \"unit\": {\n \"value\": \"a1\",\n \"number\": \"one\",\n \"text\": \"a1\",\n \"marker\": \"a1\",\n \"word\": \"a1\",\n \"range\": {\n \"start\": 12,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"a1\"\n ],\n \"level\": 1\n },\n \"value\": 10,\n \"amount\": {\n \"value\": 10,\n \"instance\": true,\n \"text\": \"10\",\n \"marker\": \"number\",\n \"word\": \"10\",\n \"range\": {\n \"start\": 9,\n \"end\": 10\n },\n \"dead\": true,\n \"types\": [\n \"number\"\n ],\n \"level\": 1\n },\n \"text\": \"10 a1\",\n \"range\": {\n \"start\": 9,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"dimension\"\n ],\n \"level\": 1\n },\n \"to\": {\n \"value\": \"b1\",\n \"number\": \"one\",\n \"text\": \"b1\",\n \"marker\": \"b1\",\n \"word\": \"b1\",\n \"range\": {\n \"start\": 18,\n \"end\": 19\n },\n \"dead\": true,\n \"types\": [\n \"b1\"\n ],\n \"level\": 1\n },\n \"types\": [\n \"convertToUnits\"\n ],\n \"level\": 1,\n \"evaluate\": true\n}.\nError applying semantics '/home/dev/code/theprogrammablemind/kms/common/dimension.js:117'. Error is Error: {\"marker\":\"reason\",\"focusableForPhrase\":true,\"evalue\":{\"marker\":\"noconversion\",\"from\":{\"value\":\"a1\",\"number\":\"one\",\"text\":\"a1\",\"marker\":\"a1\",\"word\":\"a1\",\"range\":{\"start\":12,\"end\":13},\"dead\":true,\"types\":[\"a1\"],\"level\":1},\"to\":{\"value\":\"b1\",\"number\":\"one\",\"text\":\"b1\",\"marker\":\"b1\",\"word\":\"b1\",\"range\":{\"start\":18,\"end\":19},\"dead\":true,\"types\":[\"b1\"],\"level\":1}},\"pullFromContext\":false,\"fromSTM\":true} stack is Error: {\"marker\":\"reason\",\"focusableForPhrase\":true,\"evalue\":{\"marker\":\"noconversion\",\"from\":{\"value\":\"a1\",\"number\":\"one\",\"text\":\"a1\",\"marker\":\"a1\",\"word\":\"a1\",\"range\":{\"start\":12,\"end\":13},\"dead\":true,\"types\":[\"a1\"],\"level\":1},\"to\":{\"value\":\"b1\",\"number\":\"one\",\"text\":\"b1\",\"marker\":\"b1\",\"word\":\"b1\",\"range\":{\"start\":18,\"end\":19},\"dead\":true,\"types\":[\"b1\"],\"level\":1}},\"pullFromContext\":false,\"fromSTM\":true}\n at args.error (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:169:11)\n at Object.evaluator (/home/dev/code/theprogrammablemind/kms/common/dimension.js:144:13)\n at Semantic.apply [as _apply] (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/config.js:374:35)\n at Semantic.apply (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:127:10)\n at Semantics.applyToContext (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:207:35)\n at Semantics.apply (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:325:19)\n at args.s (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:192:47)\n at Config.getEvaluator (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/config.js:1007:22)\n at args.e (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:203:21)\n at Semantic.apply [as _apply] (/home/dev/code/theprogrammablemind/kms/common/dialogues.js:740:24). Semantic is Semantic(({ context }) => bridge.id == context.marker && context.evaluate, ({context, kms, e, error}) => {\n /*\n error(({context, e}) => {\n context.evalue = 'dont know...'\n })\n */\n const from = context.from;\n const to = context.to;\n let evalue;\n let efrom = from\n if (!from.unit) {\n efrom = e(from).evalue\n }\n if (to.value == efrom.unit.value) {\n evalue = efrom.amount\n } else {\n const formula = kms.formulas.api.get(to, [efrom.unit])\n if (!formula) {\n const reason = { marker: 'reason', focusableForPhrase: true, evalue: { marker: 'noconversion', from: efrom.unit, to } }\n kms.stm.api.mentioned(reason)\n error(reason)\n }\n kms.stm.api.setVariable(efrom.unit.value, efrom.amount)\n evalue = e(formula)\n }\n /*\n '{\n \"marker\":\"dimension\",\n \"unit\":{\"marker\":\"unit\",\"range\":{\"start\":19,\"end\":25},\"word\":\"celcius\",\"text\":\"celcius\",\"value\":\"celcius\",\"unknown\":true,\"types\":[\"unit\",\"unknown\"]},\n \"value\":10,\n \"amount\":{\"word\":\"degrees\",\"number\":\"many\",\"text\":\"10 degrees\",\"marker\":\"degree\",\"range\":{\"start\":8,\"end\":17},\"value\":10,\"amount\":{\"value\":10,\"text\":\"10\",\"marker\":\"number\",\"word\":\"10\",\"range\":{\"start\":8,\"end\":9},\"types\":[\"number\"]}},\n \"text\":\"10 degrees celcius\",\"range\":{\"start\":8,\"end\":25}}'\n */\n context.evalue = { \n paraphrase: true,\n marker: 'dimension',\n level: 1,\n unit: to,\n amount: { evalue, paraphrase: undefined }\n }\n })\nsee the evaluator property. The error has a retryCall property that will recall the function that failed.'. Semantic is Semantic(({context, hierarchy}) => hierarchy.isA(context.marker, 'is') && context.query, ({context, s, log, km, objects, e}) => {\n const one = context.one;\n const two = context.two;\n let concept, value;\n if (one.query) {\n concept = one;\n value = two;\n } else {\n concept = two;\n value = one;\n }\n // km('dialogues').api.mentioned(concept)\n // TODO wtf is the next line?\n value = JSON.parse(JSON.stringify(value))\n let instance = e(value)\n if (false && instance.evalue) {\n km('stm').api.mentioned(value)\n }\n if (instance.verbatim) {\n context.evalue = { verbatim: instance.verbatim }\n context.isResponse = true\n return\n }\n // instance.focusable = ['one', 'two']\n // concept = JSON.parse(JSON.stringify(value)) \n concept = _.cloneDeep(value) \n concept.isQuery = undefined\n // greg101\n // instance.focusableForPhrase = true\n instance.focus = true\n if (concept.hierarchy) {\n concept.focusableForPhrase = true\n }\n // concept.focus = true\n\n const many = isMany(concept) || isMany(instance)\n const evalue = {\n \"default\": true,\n \"marker\": \"is\",\n \"one\": concept,\n \"two\": instance,\n \"focusable\": ['two', 'one'],\n \"word\": many ? \"are\" : \"is\",\n \"number\": many ? \"many\" : undefined,\n }\n context.evalue = evalue\n context.isResponse = true\n }). The error has a retryCall property that will recall the function that failed.'"
15573
15401
  ],
15574
15402
  "evalue": "That is not known because there is no conversion between a1 and b1",
15575
15403
  "isResponse": true,
@@ -15611,7 +15439,9 @@
15611
15439
  }
15612
15440
  },
15613
15441
  "focusableForPhrase": true,
15614
- "marker": "reason"
15442
+ "fromSTM": true,
15443
+ "marker": "reason",
15444
+ "pullFromContext": false
15615
15445
  },
15616
15446
  "text": "[object Object]",
15617
15447
  "touchedBy": [
@@ -16055,31 +15885,6 @@
16055
15885
  },
16056
15886
  {
16057
15887
  "counter": 5,
16058
- "op": [
16059
- "list",
16060
- 1
16061
- ],
16062
- "ops": [
16063
- [
16064
- "is",
16065
- 0
16066
- ],
16067
- [
16068
- "list",
16069
- 1
16070
- ],
16071
- [
16072
- "propertyOf",
16073
- 0
16074
- ],
16075
- [
16076
- "unit",
16077
- 0
16078
- ]
16079
- ]
16080
- },
16081
- {
16082
- "counter": 6,
16083
15888
  "op": [
16084
15889
  "unit",
16085
15890
  0
@@ -16100,7 +15905,7 @@
16100
15905
  ]
16101
15906
  },
16102
15907
  {
16103
- "counter": 7,
15908
+ "counter": 6,
16104
15909
  "op": [
16105
15910
  "propertyOf",
16106
15911
  0
@@ -16117,7 +15922,7 @@
16117
15922
  ]
16118
15923
  },
16119
15924
  {
16120
- "counter": 8,
15925
+ "counter": 7,
16121
15926
  "op": [
16122
15927
  "propertyOf",
16123
15928
  1
@@ -16134,7 +15939,7 @@
16134
15939
  ]
16135
15940
  },
16136
15941
  {
16137
- "counter": 9,
15942
+ "counter": 8,
16138
15943
  "op": [
16139
15944
  "is",
16140
15945
  0
@@ -16147,7 +15952,7 @@
16147
15952
  ]
16148
15953
  },
16149
15954
  {
16150
- "counter": 10,
15955
+ "counter": 9,
16151
15956
  "op": [
16152
15957
  "is",
16153
15958
  1
@@ -16462,21 +16267,20 @@
16462
16267
  "countable": "countable2",
16463
16268
  "dialogues": "dialogues2",
16464
16269
  "dimension": "dimension1",
16465
- "dimensionTemplate": "dimensionTemplate2",
16466
16270
  "formulas": "formulas2",
16467
- "formulasTemplate": "formulasTemplate2",
16468
16271
  "gdefaults": "gdefaults2",
16469
16272
  "hierarchy": "hierarchy2",
16470
16273
  "math": "math2",
16471
- "mathTemplate": "mathTemplate2",
16472
16274
  "meta": "meta2",
16275
+ "negation": "negation2",
16473
16276
  "numbers": "numbers2",
16474
16277
  "pos": "pos2",
16475
16278
  "properties": "properties2",
16476
16279
  "punctuation": "punctuation2",
16477
16280
  "sdefaults": "sdefaults2",
16478
16281
  "stm": "stm2",
16479
- "testing": "testing2"
16282
+ "testing": "testing2",
16283
+ "tokenize": "tokenize2"
16480
16284
  },
16481
16285
  "namespaced": {
16482
16286
  "comparable2": {
@@ -16490,6 +16294,7 @@
16490
16294
  "countable2": {
16491
16295
  },
16492
16296
  "dialogues2": {
16297
+ "idSuffix": "",
16493
16298
  "mentioned": [
16494
16299
  ],
16495
16300
  "variables": {
@@ -16497,24 +16302,20 @@
16497
16302
  },
16498
16303
  "dimension1": {
16499
16304
  },
16500
- "dimensionTemplate2": {
16501
- },
16502
16305
  "formulas2": {
16503
16306
  "formulas": {
16504
16307
  }
16505
16308
  },
16506
- "formulasTemplate2": {
16507
- },
16508
16309
  "gdefaults2": {
16509
16310
  },
16510
16311
  "hierarchy2": {
16511
16312
  },
16512
16313
  "math2": {
16513
16314
  },
16514
- "mathTemplate2": {
16515
- },
16516
16315
  "meta2": {
16517
16316
  },
16317
+ "negation2": {
16318
+ },
16518
16319
  "numbers2": {
16519
16320
  },
16520
16321
  "pos2": {
@@ -16552,9 +16353,6 @@
16552
16353
  "/",
16553
16354
  "-"
16554
16355
  ],
16555
- "notAble": [
16556
- "unknown"
16557
- ],
16558
16356
  "object": [
16559
16357
  "unknown",
16560
16358
  "what",
@@ -16578,6 +16376,7 @@
16578
16376
  "object",
16579
16377
  "xfx",
16580
16378
  "concept",
16379
+ "doubleQuote",
16581
16380
  "unknown",
16582
16381
  "it",
16583
16382
  "what",
@@ -16635,6 +16434,7 @@
16635
16434
  "concept",
16636
16435
  "modifies",
16637
16436
  "verby",
16437
+ "doubleQuote",
16638
16438
  "it",
16639
16439
  "pronoun",
16640
16440
  "this",
@@ -16643,7 +16443,6 @@
16643
16443
  "a",
16644
16444
  "articlePOS",
16645
16445
  "the",
16646
- "notAble",
16647
16446
  "whatAble",
16648
16447
  "is",
16649
16448
  "toAble",
@@ -16652,9 +16451,9 @@
16652
16451
  "thisitthat",
16653
16452
  "reason",
16654
16453
  "that",
16454
+ "number",
16655
16455
  "orAble",
16656
16456
  "ifAble",
16657
- "number",
16658
16457
  "*",
16659
16458
  "mathematical_operator",
16660
16459
  "+",
@@ -16702,6 +16501,9 @@
16702
16501
  "dimension": [
16703
16502
  "concept"
16704
16503
  ],
16504
+ "doubleQuote": [
16505
+ "queryable"
16506
+ ],
16705
16507
  "formula": [
16706
16508
  "concept"
16707
16509
  ],
@@ -16776,7 +16578,6 @@
16776
16578
  "unknown": [
16777
16579
  "hierarchyAble",
16778
16580
  "object",
16779
- "notAble",
16780
16581
  "theAble",
16781
16582
  "queryable"
16782
16583
  ],
@@ -16828,6 +16629,8 @@
16828
16629
  },
16829
16630
  "dimension": {
16830
16631
  },
16632
+ "doubleQuote": {
16633
+ },
16831
16634
  "formula": {
16832
16635
  },
16833
16636
  "have": {
@@ -16844,8 +16647,6 @@
16844
16647
  },
16845
16648
  "modifies": {
16846
16649
  },
16847
- "notAble": {
16848
- },
16849
16650
  "noun": {
16850
16651
  },
16851
16652
  "number": {
@@ -16950,6 +16751,7 @@
16950
16751
  }
16951
16752
  },
16952
16753
  "focusableForPhrase": true,
16754
+ "fromSTM": true,
16953
16755
  "marker": "reason",
16954
16756
  "pullFromContext": false
16955
16757
  }
@@ -16958,6 +16760,8 @@
16958
16760
  }
16959
16761
  },
16960
16762
  "testing2": {
16763
+ },
16764
+ "tokenize2": {
16961
16765
  }
16962
16766
  },
16963
16767
  "processed": [
@@ -17299,7 +17103,7 @@
17299
17103
  "word": "are"
17300
17104
  },
17301
17105
  "error": [
17302
- "ERROR while applying (dialogues/#4) KM 'dialogues' ordinal: 4 where: \"/home/dev/code/theprogrammablemind/kms/common/dialogues.js:664\"\n to\n {\n \"query\": [\n \"what\"\n ],\n \"number\": \"many\",\n \"text\": \"what are 10 a1 in b1\",\n \"marker\": \"is\",\n \"word\": \"are\",\n \"range\": {\n \"start\": 0,\n \"end\": 19\n },\n \"one\": {\n \"query\": [\n \"what\"\n ],\n \"number\": \"many\",\n \"marker\": \"what\",\n \"value\": \"what\",\n \"default\": true,\n \"text\": \"what\",\n \"word\": \"what\",\n \"range\": {\n \"start\": 0,\n \"end\": 19\n },\n \"dead\": true,\n \"determined\": true,\n \"types\": [\n \"what\"\n ],\n \"level\": 1\n },\n \"two\": {\n \"marker\": \"convertToUnits\",\n \"default\": true,\n \"word\": \"in\",\n \"text\": \"10 a1 in b1\",\n \"range\": {\n \"start\": 9,\n \"end\": 19\n },\n \"dead\": true,\n \"from\": {\n \"marker\": \"dimension\",\n \"unit\": {\n \"value\": \"a1\",\n \"number\": \"one\",\n \"text\": \"a1\",\n \"marker\": \"a1\",\n \"word\": \"a1\",\n \"range\": {\n \"start\": 12,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"a1\"\n ],\n \"level\": 1\n },\n \"value\": 10,\n \"amount\": {\n \"value\": 10,\n \"instance\": true,\n \"text\": \"10\",\n \"marker\": \"number\",\n \"word\": \"10\",\n \"range\": {\n \"start\": 9,\n \"end\": 10\n },\n \"dead\": true,\n \"types\": [\n \"number\"\n ],\n \"level\": 1\n },\n \"text\": \"10 a1\",\n \"range\": {\n \"start\": 9,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"dimension\"\n ],\n \"level\": 1\n },\n \"to\": {\n \"value\": \"b1\",\n \"number\": \"one\",\n \"text\": \"b1\",\n \"marker\": \"b1\",\n \"word\": \"b1\",\n \"range\": {\n \"start\": 18,\n \"end\": 19\n },\n \"dead\": true,\n \"types\": [\n \"b1\"\n ],\n \"level\": 1\n },\n \"types\": [\n \"convertToUnits\"\n ],\n \"level\": 1\n },\n \"dead\": true,\n \"level\": 2,\n \"topLevel\": true\n}.\nError applying semantics 'what x is y?/home/dev/code/theprogrammablemind/kms/common/dialogues.js:664'. Error is ERROR while applying (dimension/#0) KM 'dimension' ordinal: 0 where: \"/home/dev/code/theprogrammablemind/kms/common/dimension.js:116\"\n to\n {\n \"marker\": \"convertToUnits\",\n \"default\": true,\n \"word\": \"in\",\n \"text\": \"10 a1 in b1\",\n \"range\": {\n \"start\": 9,\n \"end\": 19\n },\n \"dead\": true,\n \"from\": {\n \"marker\": \"dimension\",\n \"unit\": {\n \"value\": \"a1\",\n \"number\": \"one\",\n \"text\": \"a1\",\n \"marker\": \"a1\",\n \"word\": \"a1\",\n \"range\": {\n \"start\": 12,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"a1\"\n ],\n \"level\": 1\n },\n \"value\": 10,\n \"amount\": {\n \"value\": 10,\n \"instance\": true,\n \"text\": \"10\",\n \"marker\": \"number\",\n \"word\": \"10\",\n \"range\": {\n \"start\": 9,\n \"end\": 10\n },\n \"dead\": true,\n \"types\": [\n \"number\"\n ],\n \"level\": 1\n },\n \"text\": \"10 a1\",\n \"range\": {\n \"start\": 9,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"dimension\"\n ],\n \"level\": 1\n },\n \"to\": {\n \"value\": \"b1\",\n \"number\": \"one\",\n \"text\": \"b1\",\n \"marker\": \"b1\",\n \"word\": \"b1\",\n \"range\": {\n \"start\": 18,\n \"end\": 19\n },\n \"dead\": true,\n \"types\": [\n \"b1\"\n ],\n \"level\": 1\n },\n \"types\": [\n \"convertToUnits\"\n ],\n \"level\": 1,\n \"evaluate\": true\n}.\nError applying semantics '/home/dev/code/theprogrammablemind/kms/common/dimension.js:116'. Error is Error: {\"marker\":\"reason\",\"focusableForPhrase\":true,\"evalue\":{\"marker\":\"noconversion\",\"from\":{\"value\":\"a1\",\"number\":\"one\",\"text\":\"a1\",\"marker\":\"a1\",\"word\":\"a1\",\"range\":{\"start\":12,\"end\":13},\"dead\":true,\"types\":[\"a1\"],\"level\":1},\"to\":{\"value\":\"b1\",\"number\":\"one\",\"text\":\"b1\",\"marker\":\"b1\",\"word\":\"b1\",\"range\":{\"start\":18,\"end\":19},\"dead\":true,\"types\":[\"b1\"],\"level\":1}}} stack is Error: {\"marker\":\"reason\",\"focusableForPhrase\":true,\"evalue\":{\"marker\":\"noconversion\",\"from\":{\"value\":\"a1\",\"number\":\"one\",\"text\":\"a1\",\"marker\":\"a1\",\"word\":\"a1\",\"range\":{\"start\":12,\"end\":13},\"dead\":true,\"types\":[\"a1\"],\"level\":1},\"to\":{\"value\":\"b1\",\"number\":\"one\",\"text\":\"b1\",\"marker\":\"b1\",\"word\":\"b1\",\"range\":{\"start\":18,\"end\":19},\"dead\":true,\"types\":[\"b1\"],\"level\":1}}}\n at args.error (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:165:11)\n at Object.evaluator (/home/dev/code/theprogrammablemind/kms/common/dimension.js:143:13)\n at Semantic.apply [as _apply] (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/config.js:318:35)\n at Semantic.apply (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:124:10)\n at Semantics.applyToContext (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:199:35)\n at Semantics.apply (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:315:19)\n at args.s (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:209:47)\n at Config.getEvaluator (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/config.js:939:22)\n at args.e (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:220:21)\n at Semantic.apply [as _apply] (/home/dev/code/theprogrammablemind/kms/common/dialogues.js:687:24). Semantic is Semantic(({ context }) => bridge.id == context.marker && context.evaluate, ({context, kms, e, error}) => {\n /*\n error(({context, e}) => {\n context.evalue = 'dont know...'\n })\n */\n const from = context.from;\n const to = context.to;\n let evalue;\n let efrom = from\n if (!from.unit) {\n efrom = e(from).evalue\n }\n if (to.value == efrom.unit.value) {\n evalue = efrom.amount\n } else {\n const formula = kms.formulas.api.get(to, [efrom.unit])\n if (!formula) {\n const reason = { marker: 'reason', focusableForPhrase: true, evalue: { marker: 'noconversion', from: efrom.unit, to } }\n kms.stm.api.mentioned(reason)\n error(reason)\n }\n kms.stm.api.setVariable(efrom.unit.value, efrom.amount)\n evalue = e(formula)\n }\n /*\n '{\n \"marker\":\"dimension\",\n \"unit\":{\"marker\":\"unit\",\"range\":{\"start\":19,\"end\":25},\"word\":\"celcius\",\"text\":\"celcius\",\"value\":\"celcius\",\"unknown\":true,\"types\":[\"unit\",\"unknown\"]},\n \"value\":10,\n \"amount\":{\"word\":\"degrees\",\"number\":\"many\",\"text\":\"10 degrees\",\"marker\":\"degree\",\"range\":{\"start\":8,\"end\":17},\"value\":10,\"amount\":{\"value\":10,\"text\":\"10\",\"marker\":\"number\",\"word\":\"10\",\"range\":{\"start\":8,\"end\":9},\"types\":[\"number\"]}},\n \"text\":\"10 degrees celcius\",\"range\":{\"start\":8,\"end\":25}}'\n */\n context.evalue = { \n paraphrase: true,\n marker: 'dimension',\n level: 1,\n unit: to,\n amount: { evalue, paraphrase: undefined }\n }\n })\nsee the evaluator property. The error has a retryCall property that will recall the function that failed.'. Semantic is Semantic(({context, hierarchy}) => hierarchy.isA(context.marker, 'is') && context.query, ({context, s, log, km, objects, e}) => {\n const one = context.one;\n const two = context.two;\n let concept, value;\n if (one.query) {\n concept = one;\n value = two;\n } else {\n concept = two;\n value = one;\n }\n // km('dialogues').api.mentioned(concept)\n // TODO wtf is the next line?\n value = JSON.parse(JSON.stringify(value))\n let instance = e(value)\n if (false && instance.evalue) {\n km('stm').api.mentioned(value)\n }\n if (instance.verbatim) {\n context.evalue = { verbatim: instance.verbatim }\n context.isResponse = true\n return\n }\n // instance.focusable = ['one', 'two']\n // concept = JSON.parse(JSON.stringify(value)) \n concept = _.cloneDeep(value) \n concept.isQuery = undefined\n // greg101\n // instance.focusableForPhrase = true\n instance.focus = true\n if (concept.hierarchy) {\n concept.focusableForPhrase = true\n }\n // concept.focus = true\n\n const many = isMany(concept) || isMany(instance)\n const evalue = {\n \"default\": true,\n \"marker\": \"is\",\n \"one\": concept,\n \"two\": instance,\n \"focusable\": ['two', 'one'],\n \"word\": many ? \"are\" : \"is\",\n \"number\": many ? \"many\" : undefined,\n }\n context.evalue = evalue\n context.isResponse = true\n }). The error has a retryCall property that will recall the function that failed.'"
17106
+ "ERROR while applying (dialogues/#4) KM 'dialogues' ordinal: 4 where: \"/home/dev/code/theprogrammablemind/kms/common/dialogues.js:717\"\n to\n {\n \"query\": [\n \"what\"\n ],\n \"number\": \"many\",\n \"text\": \"what are 10 a1 in b1\",\n \"marker\": \"is\",\n \"word\": \"are\",\n \"range\": {\n \"start\": 0,\n \"end\": 19\n },\n \"one\": {\n \"query\": [\n \"what\"\n ],\n \"number\": \"many\",\n \"marker\": \"what\",\n \"value\": \"what\",\n \"default\": true,\n \"text\": \"what\",\n \"word\": \"what\",\n \"range\": {\n \"start\": 0,\n \"end\": 19\n },\n \"dead\": true,\n \"determined\": true,\n \"types\": [\n \"what\"\n ],\n \"level\": 1\n },\n \"two\": {\n \"marker\": \"convertToUnits\",\n \"default\": true,\n \"word\": \"in\",\n \"text\": \"10 a1 in b1\",\n \"range\": {\n \"start\": 9,\n \"end\": 19\n },\n \"dead\": true,\n \"from\": {\n \"marker\": \"dimension\",\n \"unit\": {\n \"value\": \"a1\",\n \"number\": \"one\",\n \"text\": \"a1\",\n \"marker\": \"a1\",\n \"word\": \"a1\",\n \"range\": {\n \"start\": 12,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"a1\"\n ],\n \"level\": 1\n },\n \"value\": 10,\n \"amount\": {\n \"value\": 10,\n \"instance\": true,\n \"text\": \"10\",\n \"marker\": \"number\",\n \"word\": \"10\",\n \"range\": {\n \"start\": 9,\n \"end\": 10\n },\n \"dead\": true,\n \"types\": [\n \"number\"\n ],\n \"level\": 1\n },\n \"text\": \"10 a1\",\n \"range\": {\n \"start\": 9,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"dimension\"\n ],\n \"level\": 1\n },\n \"to\": {\n \"value\": \"b1\",\n \"number\": \"one\",\n \"text\": \"b1\",\n \"marker\": \"b1\",\n \"word\": \"b1\",\n \"range\": {\n \"start\": 18,\n \"end\": 19\n },\n \"dead\": true,\n \"types\": [\n \"b1\"\n ],\n \"level\": 1\n },\n \"types\": [\n \"convertToUnits\"\n ],\n \"level\": 1\n },\n \"dead\": true,\n \"level\": 2,\n \"topLevel\": true\n}.\nError applying semantics 'what x is y?/home/dev/code/theprogrammablemind/kms/common/dialogues.js:717'. Error is ERROR while applying (dimension/#0) KM 'dimension' ordinal: 0 where: \"/home/dev/code/theprogrammablemind/kms/common/dimension.js:117\"\n to\n {\n \"marker\": \"convertToUnits\",\n \"default\": true,\n \"word\": \"in\",\n \"text\": \"10 a1 in b1\",\n \"range\": {\n \"start\": 9,\n \"end\": 19\n },\n \"dead\": true,\n \"from\": {\n \"marker\": \"dimension\",\n \"unit\": {\n \"value\": \"a1\",\n \"number\": \"one\",\n \"text\": \"a1\",\n \"marker\": \"a1\",\n \"word\": \"a1\",\n \"range\": {\n \"start\": 12,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"a1\"\n ],\n \"level\": 1\n },\n \"value\": 10,\n \"amount\": {\n \"value\": 10,\n \"instance\": true,\n \"text\": \"10\",\n \"marker\": \"number\",\n \"word\": \"10\",\n \"range\": {\n \"start\": 9,\n \"end\": 10\n },\n \"dead\": true,\n \"types\": [\n \"number\"\n ],\n \"level\": 1\n },\n \"text\": \"10 a1\",\n \"range\": {\n \"start\": 9,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"dimension\"\n ],\n \"level\": 1\n },\n \"to\": {\n \"value\": \"b1\",\n \"number\": \"one\",\n \"text\": \"b1\",\n \"marker\": \"b1\",\n \"word\": \"b1\",\n \"range\": {\n \"start\": 18,\n \"end\": 19\n },\n \"dead\": true,\n \"types\": [\n \"b1\"\n ],\n \"level\": 1\n },\n \"types\": [\n \"convertToUnits\"\n ],\n \"level\": 1,\n \"evaluate\": true\n}.\nError applying semantics '/home/dev/code/theprogrammablemind/kms/common/dimension.js:117'. Error is Error: {\"marker\":\"reason\",\"focusableForPhrase\":true,\"evalue\":{\"marker\":\"noconversion\",\"from\":{\"value\":\"a1\",\"number\":\"one\",\"text\":\"a1\",\"marker\":\"a1\",\"word\":\"a1\",\"range\":{\"start\":12,\"end\":13},\"dead\":true,\"types\":[\"a1\"],\"level\":1},\"to\":{\"value\":\"b1\",\"number\":\"one\",\"text\":\"b1\",\"marker\":\"b1\",\"word\":\"b1\",\"range\":{\"start\":18,\"end\":19},\"dead\":true,\"types\":[\"b1\"],\"level\":1}},\"pullFromContext\":false,\"fromSTM\":true} stack is Error: {\"marker\":\"reason\",\"focusableForPhrase\":true,\"evalue\":{\"marker\":\"noconversion\",\"from\":{\"value\":\"a1\",\"number\":\"one\",\"text\":\"a1\",\"marker\":\"a1\",\"word\":\"a1\",\"range\":{\"start\":12,\"end\":13},\"dead\":true,\"types\":[\"a1\"],\"level\":1},\"to\":{\"value\":\"b1\",\"number\":\"one\",\"text\":\"b1\",\"marker\":\"b1\",\"word\":\"b1\",\"range\":{\"start\":18,\"end\":19},\"dead\":true,\"types\":[\"b1\"],\"level\":1}},\"pullFromContext\":false,\"fromSTM\":true}\n at args.error (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:169:11)\n at Object.evaluator (/home/dev/code/theprogrammablemind/kms/common/dimension.js:144:13)\n at Semantic.apply [as _apply] (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/config.js:374:35)\n at Semantic.apply (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:127:10)\n at Semantics.applyToContext (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:207:35)\n at Semantics.apply (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:325:19)\n at args.s (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:192:47)\n at Config.getEvaluator (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/config.js:1007:22)\n at args.e (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:203:21)\n at Semantic.apply [as _apply] (/home/dev/code/theprogrammablemind/kms/common/dialogues.js:740:24). Semantic is Semantic(({ context }) => bridge.id == context.marker && context.evaluate, ({context, kms, e, error}) => {\n /*\n error(({context, e}) => {\n context.evalue = 'dont know...'\n })\n */\n const from = context.from;\n const to = context.to;\n let evalue;\n let efrom = from\n if (!from.unit) {\n efrom = e(from).evalue\n }\n if (to.value == efrom.unit.value) {\n evalue = efrom.amount\n } else {\n const formula = kms.formulas.api.get(to, [efrom.unit])\n if (!formula) {\n const reason = { marker: 'reason', focusableForPhrase: true, evalue: { marker: 'noconversion', from: efrom.unit, to } }\n kms.stm.api.mentioned(reason)\n error(reason)\n }\n kms.stm.api.setVariable(efrom.unit.value, efrom.amount)\n evalue = e(formula)\n }\n /*\n '{\n \"marker\":\"dimension\",\n \"unit\":{\"marker\":\"unit\",\"range\":{\"start\":19,\"end\":25},\"word\":\"celcius\",\"text\":\"celcius\",\"value\":\"celcius\",\"unknown\":true,\"types\":[\"unit\",\"unknown\"]},\n \"value\":10,\n \"amount\":{\"word\":\"degrees\",\"number\":\"many\",\"text\":\"10 degrees\",\"marker\":\"degree\",\"range\":{\"start\":8,\"end\":17},\"value\":10,\"amount\":{\"value\":10,\"text\":\"10\",\"marker\":\"number\",\"word\":\"10\",\"range\":{\"start\":8,\"end\":9},\"types\":[\"number\"]}},\n \"text\":\"10 degrees celcius\",\"range\":{\"start\":8,\"end\":25}}'\n */\n context.evalue = { \n paraphrase: true,\n marker: 'dimension',\n level: 1,\n unit: to,\n amount: { evalue, paraphrase: undefined }\n }\n })\nsee the evaluator property. The error has a retryCall property that will recall the function that failed.'. Semantic is Semantic(({context, hierarchy}) => hierarchy.isA(context.marker, 'is') && context.query, ({context, s, log, km, objects, e}) => {\n const one = context.one;\n const two = context.two;\n let concept, value;\n if (one.query) {\n concept = one;\n value = two;\n } else {\n concept = two;\n value = one;\n }\n // km('dialogues').api.mentioned(concept)\n // TODO wtf is the next line?\n value = JSON.parse(JSON.stringify(value))\n let instance = e(value)\n if (false && instance.evalue) {\n km('stm').api.mentioned(value)\n }\n if (instance.verbatim) {\n context.evalue = { verbatim: instance.verbatim }\n context.isResponse = true\n return\n }\n // instance.focusable = ['one', 'two']\n // concept = JSON.parse(JSON.stringify(value)) \n concept = _.cloneDeep(value) \n concept.isQuery = undefined\n // greg101\n // instance.focusableForPhrase = true\n instance.focus = true\n if (concept.hierarchy) {\n concept.focusableForPhrase = true\n }\n // concept.focus = true\n\n const many = isMany(concept) || isMany(instance)\n const evalue = {\n \"default\": true,\n \"marker\": \"is\",\n \"one\": concept,\n \"two\": instance,\n \"focusable\": ['two', 'one'],\n \"word\": many ? \"are\" : \"is\",\n \"number\": many ? \"many\" : undefined,\n }\n context.evalue = evalue\n context.isResponse = true\n }). The error has a retryCall property that will recall the function that failed.'"
17303
17107
  ],
17304
17108
  "evalue": "That is not known because there is no conversion between a1 and b1",
17305
17109
  "isResponse": true,
@@ -17341,7 +17145,9 @@
17341
17145
  }
17342
17146
  },
17343
17147
  "focusableForPhrase": true,
17344
- "marker": "reason"
17148
+ "fromSTM": true,
17149
+ "marker": "reason",
17150
+ "pullFromContext": false
17345
17151
  },
17346
17152
  "text": "[object Object]",
17347
17153
  "touchedBy": [
@@ -17362,6 +17168,8 @@
17362
17168
  "marker": "is",
17363
17169
  "number": "many",
17364
17170
  "one": {
17171
+ "default": true,
17172
+ "isList": true,
17365
17173
  "level": 1,
17366
17174
  "listable": true,
17367
17175
  "marker": "list",
@@ -17370,7 +17178,7 @@
17370
17178
  "end": 24,
17371
17179
  "start": 0
17372
17180
  },
17373
- "text": "a1 and b1 are units of d1",
17181
+ "text": "a1 and b1",
17374
17182
  "types": [
17375
17183
  "list",
17376
17184
  "unknown"
@@ -17378,7 +17186,7 @@
17378
17186
  "value": [
17379
17187
  {
17380
17188
  "dead": true,
17381
- "level": 2,
17189
+ "level": 1,
17382
17190
  "marker": "unknown",
17383
17191
  "range": {
17384
17192
  "end": 1,
@@ -17391,7 +17199,7 @@
17391
17199
  },
17392
17200
  {
17393
17201
  "dead": true,
17394
- "level": 2,
17202
+ "level": 1,
17395
17203
  "marker": "unknown",
17396
17204
  "range": {
17397
17205
  "end": 8,
@@ -17402,7 +17210,8 @@
17402
17210
  "value": "b1",
17403
17211
  "word": "b1"
17404
17212
  }
17405
- ]
17213
+ ],
17214
+ "word": "and"
17406
17215
  },
17407
17216
  "range": {
17408
17217
  "end": 24,
@@ -17583,13 +17392,13 @@
17583
17392
  "text": "dimension and unit",
17584
17393
  "types": [
17585
17394
  "list",
17586
- "type"
17395
+ "unknown"
17587
17396
  ],
17588
17397
  "value": [
17589
17398
  {
17590
17399
  "dead": true,
17591
17400
  "level": 1,
17592
- "marker": "type",
17401
+ "marker": "unknown",
17593
17402
  "range": {
17594
17403
  "end": 8,
17595
17404
  "start": 0
@@ -17602,7 +17411,7 @@
17602
17411
  {
17603
17412
  "dead": true,
17604
17413
  "level": 1,
17605
- "marker": "type",
17414
+ "marker": "unknown",
17606
17415
  "range": {
17607
17416
  "end": 17,
17608
17417
  "start": 14
@@ -17622,8 +17431,7 @@
17622
17431
  "text": "dimension and unit are concepts",
17623
17432
  "topLevel": true,
17624
17433
  "touchedBy": [
17625
- "dimensionTemplate#call2",
17626
- "instance0#dimensionTemplate#call2",
17434
+ "dimension#call2",
17627
17435
  "instance0#dimension#call2"
17628
17436
  ],
17629
17437
  "two": {
@@ -17684,8 +17492,7 @@
17684
17492
  "text": "formulas are concepts",
17685
17493
  "topLevel": true,
17686
17494
  "touchedBy": [
17687
- "formulasTemplate#call2",
17688
- "instance0#formulasTemplate#call2",
17495
+ "formulas#call2",
17689
17496
  "instance0#formulas#call2",
17690
17497
  "instance0#dimension#call2"
17691
17498
  ],
@@ -17817,6 +17624,8 @@
17817
17624
  "marker": "is",
17818
17625
  "number": "many",
17819
17626
  "one": {
17627
+ "default": true,
17628
+ "isList": true,
17820
17629
  "level": 1,
17821
17630
  "listable": true,
17822
17631
  "marker": "list",
@@ -17825,7 +17634,7 @@
17825
17634
  "end": 24,
17826
17635
  "start": 0
17827
17636
  },
17828
- "text": "a1 and b1 are units of d1",
17637
+ "text": "a1 and b1",
17829
17638
  "types": [
17830
17639
  "list",
17831
17640
  "unknown"
@@ -17833,7 +17642,7 @@
17833
17642
  "value": [
17834
17643
  {
17835
17644
  "dead": true,
17836
- "level": 2,
17645
+ "level": 1,
17837
17646
  "marker": "unknown",
17838
17647
  "range": {
17839
17648
  "end": 1,
@@ -17846,7 +17655,7 @@
17846
17655
  },
17847
17656
  {
17848
17657
  "dead": true,
17849
- "level": 2,
17658
+ "level": 1,
17850
17659
  "marker": "unknown",
17851
17660
  "range": {
17852
17661
  "end": 8,
@@ -17857,7 +17666,8 @@
17857
17666
  "value": "b1",
17858
17667
  "word": "b1"
17859
17668
  }
17860
- ]
17669
+ ],
17670
+ "word": "and"
17861
17671
  },
17862
17672
  "range": {
17863
17673
  "end": 24,
@@ -18053,7 +17863,7 @@
18053
17863
  "word": "are"
18054
17864
  },
18055
17865
  "error": [
18056
- "ERROR while applying (dialogues/#4) KM 'dialogues' ordinal: 4 where: \"/home/dev/code/theprogrammablemind/kms/common/dialogues.js:664\"\n to\n {\n \"query\": [\n \"what\"\n ],\n \"number\": \"many\",\n \"text\": \"what are 10 a1 in b1\",\n \"marker\": \"is\",\n \"word\": \"are\",\n \"range\": {\n \"start\": 0,\n \"end\": 19\n },\n \"one\": {\n \"query\": [\n \"what\"\n ],\n \"number\": \"many\",\n \"marker\": \"what\",\n \"value\": \"what\",\n \"default\": true,\n \"text\": \"what\",\n \"word\": \"what\",\n \"range\": {\n \"start\": 0,\n \"end\": 19\n },\n \"dead\": true,\n \"determined\": true,\n \"types\": [\n \"what\"\n ],\n \"level\": 1\n },\n \"two\": {\n \"marker\": \"convertToUnits\",\n \"default\": true,\n \"word\": \"in\",\n \"text\": \"10 a1 in b1\",\n \"range\": {\n \"start\": 9,\n \"end\": 19\n },\n \"dead\": true,\n \"from\": {\n \"marker\": \"dimension\",\n \"unit\": {\n \"value\": \"a1\",\n \"number\": \"one\",\n \"text\": \"a1\",\n \"marker\": \"a1\",\n \"word\": \"a1\",\n \"range\": {\n \"start\": 12,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"a1\"\n ],\n \"level\": 1\n },\n \"value\": 10,\n \"amount\": {\n \"value\": 10,\n \"instance\": true,\n \"text\": \"10\",\n \"marker\": \"number\",\n \"word\": \"10\",\n \"range\": {\n \"start\": 9,\n \"end\": 10\n },\n \"dead\": true,\n \"types\": [\n \"number\"\n ],\n \"level\": 1\n },\n \"text\": \"10 a1\",\n \"range\": {\n \"start\": 9,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"dimension\"\n ],\n \"level\": 1\n },\n \"to\": {\n \"value\": \"b1\",\n \"number\": \"one\",\n \"text\": \"b1\",\n \"marker\": \"b1\",\n \"word\": \"b1\",\n \"range\": {\n \"start\": 18,\n \"end\": 19\n },\n \"dead\": true,\n \"types\": [\n \"b1\"\n ],\n \"level\": 1\n },\n \"types\": [\n \"convertToUnits\"\n ],\n \"level\": 1\n },\n \"dead\": true,\n \"level\": 2,\n \"topLevel\": true\n}.\nError applying semantics 'what x is y?/home/dev/code/theprogrammablemind/kms/common/dialogues.js:664'. Error is ERROR while applying (dimension/#0) KM 'dimension' ordinal: 0 where: \"/home/dev/code/theprogrammablemind/kms/common/dimension.js:116\"\n to\n {\n \"marker\": \"convertToUnits\",\n \"default\": true,\n \"word\": \"in\",\n \"text\": \"10 a1 in b1\",\n \"range\": {\n \"start\": 9,\n \"end\": 19\n },\n \"dead\": true,\n \"from\": {\n \"marker\": \"dimension\",\n \"unit\": {\n \"value\": \"a1\",\n \"number\": \"one\",\n \"text\": \"a1\",\n \"marker\": \"a1\",\n \"word\": \"a1\",\n \"range\": {\n \"start\": 12,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"a1\"\n ],\n \"level\": 1\n },\n \"value\": 10,\n \"amount\": {\n \"value\": 10,\n \"instance\": true,\n \"text\": \"10\",\n \"marker\": \"number\",\n \"word\": \"10\",\n \"range\": {\n \"start\": 9,\n \"end\": 10\n },\n \"dead\": true,\n \"types\": [\n \"number\"\n ],\n \"level\": 1\n },\n \"text\": \"10 a1\",\n \"range\": {\n \"start\": 9,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"dimension\"\n ],\n \"level\": 1\n },\n \"to\": {\n \"value\": \"b1\",\n \"number\": \"one\",\n \"text\": \"b1\",\n \"marker\": \"b1\",\n \"word\": \"b1\",\n \"range\": {\n \"start\": 18,\n \"end\": 19\n },\n \"dead\": true,\n \"types\": [\n \"b1\"\n ],\n \"level\": 1\n },\n \"types\": [\n \"convertToUnits\"\n ],\n \"level\": 1,\n \"evaluate\": true\n}.\nError applying semantics '/home/dev/code/theprogrammablemind/kms/common/dimension.js:116'. Error is Error: {\"marker\":\"reason\",\"focusableForPhrase\":true,\"evalue\":{\"marker\":\"noconversion\",\"from\":{\"value\":\"a1\",\"number\":\"one\",\"text\":\"a1\",\"marker\":\"a1\",\"word\":\"a1\",\"range\":{\"start\":12,\"end\":13},\"dead\":true,\"types\":[\"a1\"],\"level\":1},\"to\":{\"value\":\"b1\",\"number\":\"one\",\"text\":\"b1\",\"marker\":\"b1\",\"word\":\"b1\",\"range\":{\"start\":18,\"end\":19},\"dead\":true,\"types\":[\"b1\"],\"level\":1}}} stack is Error: {\"marker\":\"reason\",\"focusableForPhrase\":true,\"evalue\":{\"marker\":\"noconversion\",\"from\":{\"value\":\"a1\",\"number\":\"one\",\"text\":\"a1\",\"marker\":\"a1\",\"word\":\"a1\",\"range\":{\"start\":12,\"end\":13},\"dead\":true,\"types\":[\"a1\"],\"level\":1},\"to\":{\"value\":\"b1\",\"number\":\"one\",\"text\":\"b1\",\"marker\":\"b1\",\"word\":\"b1\",\"range\":{\"start\":18,\"end\":19},\"dead\":true,\"types\":[\"b1\"],\"level\":1}}}\n at args.error (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:165:11)\n at Object.evaluator (/home/dev/code/theprogrammablemind/kms/common/dimension.js:143:13)\n at Semantic.apply [as _apply] (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/config.js:318:35)\n at Semantic.apply (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:124:10)\n at Semantics.applyToContext (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:199:35)\n at Semantics.apply (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:315:19)\n at args.s (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:209:47)\n at Config.getEvaluator (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/config.js:939:22)\n at args.e (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:220:21)\n at Semantic.apply [as _apply] (/home/dev/code/theprogrammablemind/kms/common/dialogues.js:687:24). Semantic is Semantic(({ context }) => bridge.id == context.marker && context.evaluate, ({context, kms, e, error}) => {\n /*\n error(({context, e}) => {\n context.evalue = 'dont know...'\n })\n */\n const from = context.from;\n const to = context.to;\n let evalue;\n let efrom = from\n if (!from.unit) {\n efrom = e(from).evalue\n }\n if (to.value == efrom.unit.value) {\n evalue = efrom.amount\n } else {\n const formula = kms.formulas.api.get(to, [efrom.unit])\n if (!formula) {\n const reason = { marker: 'reason', focusableForPhrase: true, evalue: { marker: 'noconversion', from: efrom.unit, to } }\n kms.stm.api.mentioned(reason)\n error(reason)\n }\n kms.stm.api.setVariable(efrom.unit.value, efrom.amount)\n evalue = e(formula)\n }\n /*\n '{\n \"marker\":\"dimension\",\n \"unit\":{\"marker\":\"unit\",\"range\":{\"start\":19,\"end\":25},\"word\":\"celcius\",\"text\":\"celcius\",\"value\":\"celcius\",\"unknown\":true,\"types\":[\"unit\",\"unknown\"]},\n \"value\":10,\n \"amount\":{\"word\":\"degrees\",\"number\":\"many\",\"text\":\"10 degrees\",\"marker\":\"degree\",\"range\":{\"start\":8,\"end\":17},\"value\":10,\"amount\":{\"value\":10,\"text\":\"10\",\"marker\":\"number\",\"word\":\"10\",\"range\":{\"start\":8,\"end\":9},\"types\":[\"number\"]}},\n \"text\":\"10 degrees celcius\",\"range\":{\"start\":8,\"end\":25}}'\n */\n context.evalue = { \n paraphrase: true,\n marker: 'dimension',\n level: 1,\n unit: to,\n amount: { evalue, paraphrase: undefined }\n }\n })\nsee the evaluator property. The error has a retryCall property that will recall the function that failed.'. Semantic is Semantic(({context, hierarchy}) => hierarchy.isA(context.marker, 'is') && context.query, ({context, s, log, km, objects, e}) => {\n const one = context.one;\n const two = context.two;\n let concept, value;\n if (one.query) {\n concept = one;\n value = two;\n } else {\n concept = two;\n value = one;\n }\n // km('dialogues').api.mentioned(concept)\n // TODO wtf is the next line?\n value = JSON.parse(JSON.stringify(value))\n let instance = e(value)\n if (false && instance.evalue) {\n km('stm').api.mentioned(value)\n }\n if (instance.verbatim) {\n context.evalue = { verbatim: instance.verbatim }\n context.isResponse = true\n return\n }\n // instance.focusable = ['one', 'two']\n // concept = JSON.parse(JSON.stringify(value)) \n concept = _.cloneDeep(value) \n concept.isQuery = undefined\n // greg101\n // instance.focusableForPhrase = true\n instance.focus = true\n if (concept.hierarchy) {\n concept.focusableForPhrase = true\n }\n // concept.focus = true\n\n const many = isMany(concept) || isMany(instance)\n const evalue = {\n \"default\": true,\n \"marker\": \"is\",\n \"one\": concept,\n \"two\": instance,\n \"focusable\": ['two', 'one'],\n \"word\": many ? \"are\" : \"is\",\n \"number\": many ? \"many\" : undefined,\n }\n context.evalue = evalue\n context.isResponse = true\n }). The error has a retryCall property that will recall the function that failed.'"
17866
+ "ERROR while applying (dialogues/#4) KM 'dialogues' ordinal: 4 where: \"/home/dev/code/theprogrammablemind/kms/common/dialogues.js:717\"\n to\n {\n \"query\": [\n \"what\"\n ],\n \"number\": \"many\",\n \"text\": \"what are 10 a1 in b1\",\n \"marker\": \"is\",\n \"word\": \"are\",\n \"range\": {\n \"start\": 0,\n \"end\": 19\n },\n \"one\": {\n \"query\": [\n \"what\"\n ],\n \"number\": \"many\",\n \"marker\": \"what\",\n \"value\": \"what\",\n \"default\": true,\n \"text\": \"what\",\n \"word\": \"what\",\n \"range\": {\n \"start\": 0,\n \"end\": 19\n },\n \"dead\": true,\n \"determined\": true,\n \"types\": [\n \"what\"\n ],\n \"level\": 1\n },\n \"two\": {\n \"marker\": \"convertToUnits\",\n \"default\": true,\n \"word\": \"in\",\n \"text\": \"10 a1 in b1\",\n \"range\": {\n \"start\": 9,\n \"end\": 19\n },\n \"dead\": true,\n \"from\": {\n \"marker\": \"dimension\",\n \"unit\": {\n \"value\": \"a1\",\n \"number\": \"one\",\n \"text\": \"a1\",\n \"marker\": \"a1\",\n \"word\": \"a1\",\n \"range\": {\n \"start\": 12,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"a1\"\n ],\n \"level\": 1\n },\n \"value\": 10,\n \"amount\": {\n \"value\": 10,\n \"instance\": true,\n \"text\": \"10\",\n \"marker\": \"number\",\n \"word\": \"10\",\n \"range\": {\n \"start\": 9,\n \"end\": 10\n },\n \"dead\": true,\n \"types\": [\n \"number\"\n ],\n \"level\": 1\n },\n \"text\": \"10 a1\",\n \"range\": {\n \"start\": 9,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"dimension\"\n ],\n \"level\": 1\n },\n \"to\": {\n \"value\": \"b1\",\n \"number\": \"one\",\n \"text\": \"b1\",\n \"marker\": \"b1\",\n \"word\": \"b1\",\n \"range\": {\n \"start\": 18,\n \"end\": 19\n },\n \"dead\": true,\n \"types\": [\n \"b1\"\n ],\n \"level\": 1\n },\n \"types\": [\n \"convertToUnits\"\n ],\n \"level\": 1\n },\n \"dead\": true,\n \"level\": 2,\n \"topLevel\": true\n}.\nError applying semantics 'what x is y?/home/dev/code/theprogrammablemind/kms/common/dialogues.js:717'. Error is ERROR while applying (dimension/#0) KM 'dimension' ordinal: 0 where: \"/home/dev/code/theprogrammablemind/kms/common/dimension.js:117\"\n to\n {\n \"marker\": \"convertToUnits\",\n \"default\": true,\n \"word\": \"in\",\n \"text\": \"10 a1 in b1\",\n \"range\": {\n \"start\": 9,\n \"end\": 19\n },\n \"dead\": true,\n \"from\": {\n \"marker\": \"dimension\",\n \"unit\": {\n \"value\": \"a1\",\n \"number\": \"one\",\n \"text\": \"a1\",\n \"marker\": \"a1\",\n \"word\": \"a1\",\n \"range\": {\n \"start\": 12,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"a1\"\n ],\n \"level\": 1\n },\n \"value\": 10,\n \"amount\": {\n \"value\": 10,\n \"instance\": true,\n \"text\": \"10\",\n \"marker\": \"number\",\n \"word\": \"10\",\n \"range\": {\n \"start\": 9,\n \"end\": 10\n },\n \"dead\": true,\n \"types\": [\n \"number\"\n ],\n \"level\": 1\n },\n \"text\": \"10 a1\",\n \"range\": {\n \"start\": 9,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"dimension\"\n ],\n \"level\": 1\n },\n \"to\": {\n \"value\": \"b1\",\n \"number\": \"one\",\n \"text\": \"b1\",\n \"marker\": \"b1\",\n \"word\": \"b1\",\n \"range\": {\n \"start\": 18,\n \"end\": 19\n },\n \"dead\": true,\n \"types\": [\n \"b1\"\n ],\n \"level\": 1\n },\n \"types\": [\n \"convertToUnits\"\n ],\n \"level\": 1,\n \"evaluate\": true\n}.\nError applying semantics '/home/dev/code/theprogrammablemind/kms/common/dimension.js:117'. Error is Error: {\"marker\":\"reason\",\"focusableForPhrase\":true,\"evalue\":{\"marker\":\"noconversion\",\"from\":{\"value\":\"a1\",\"number\":\"one\",\"text\":\"a1\",\"marker\":\"a1\",\"word\":\"a1\",\"range\":{\"start\":12,\"end\":13},\"dead\":true,\"types\":[\"a1\"],\"level\":1},\"to\":{\"value\":\"b1\",\"number\":\"one\",\"text\":\"b1\",\"marker\":\"b1\",\"word\":\"b1\",\"range\":{\"start\":18,\"end\":19},\"dead\":true,\"types\":[\"b1\"],\"level\":1}},\"pullFromContext\":false,\"fromSTM\":true} stack is Error: {\"marker\":\"reason\",\"focusableForPhrase\":true,\"evalue\":{\"marker\":\"noconversion\",\"from\":{\"value\":\"a1\",\"number\":\"one\",\"text\":\"a1\",\"marker\":\"a1\",\"word\":\"a1\",\"range\":{\"start\":12,\"end\":13},\"dead\":true,\"types\":[\"a1\"],\"level\":1},\"to\":{\"value\":\"b1\",\"number\":\"one\",\"text\":\"b1\",\"marker\":\"b1\",\"word\":\"b1\",\"range\":{\"start\":18,\"end\":19},\"dead\":true,\"types\":[\"b1\"],\"level\":1}},\"pullFromContext\":false,\"fromSTM\":true}\n at args.error (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:169:11)\n at Object.evaluator (/home/dev/code/theprogrammablemind/kms/common/dimension.js:144:13)\n at Semantic.apply [as _apply] (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/config.js:374:35)\n at Semantic.apply (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:127:10)\n at Semantics.applyToContext (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:207:35)\n at Semantics.apply (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:325:19)\n at args.s (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:192:47)\n at Config.getEvaluator (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/config.js:1007:22)\n at args.e (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:203:21)\n at Semantic.apply [as _apply] (/home/dev/code/theprogrammablemind/kms/common/dialogues.js:740:24). Semantic is Semantic(({ context }) => bridge.id == context.marker && context.evaluate, ({context, kms, e, error}) => {\n /*\n error(({context, e}) => {\n context.evalue = 'dont know...'\n })\n */\n const from = context.from;\n const to = context.to;\n let evalue;\n let efrom = from\n if (!from.unit) {\n efrom = e(from).evalue\n }\n if (to.value == efrom.unit.value) {\n evalue = efrom.amount\n } else {\n const formula = kms.formulas.api.get(to, [efrom.unit])\n if (!formula) {\n const reason = { marker: 'reason', focusableForPhrase: true, evalue: { marker: 'noconversion', from: efrom.unit, to } }\n kms.stm.api.mentioned(reason)\n error(reason)\n }\n kms.stm.api.setVariable(efrom.unit.value, efrom.amount)\n evalue = e(formula)\n }\n /*\n '{\n \"marker\":\"dimension\",\n \"unit\":{\"marker\":\"unit\",\"range\":{\"start\":19,\"end\":25},\"word\":\"celcius\",\"text\":\"celcius\",\"value\":\"celcius\",\"unknown\":true,\"types\":[\"unit\",\"unknown\"]},\n \"value\":10,\n \"amount\":{\"word\":\"degrees\",\"number\":\"many\",\"text\":\"10 degrees\",\"marker\":\"degree\",\"range\":{\"start\":8,\"end\":17},\"value\":10,\"amount\":{\"value\":10,\"text\":\"10\",\"marker\":\"number\",\"word\":\"10\",\"range\":{\"start\":8,\"end\":9},\"types\":[\"number\"]}},\n \"text\":\"10 degrees celcius\",\"range\":{\"start\":8,\"end\":25}}'\n */\n context.evalue = { \n paraphrase: true,\n marker: 'dimension',\n level: 1,\n unit: to,\n amount: { evalue, paraphrase: undefined }\n }\n })\nsee the evaluator property. The error has a retryCall property that will recall the function that failed.'. Semantic is Semantic(({context, hierarchy}) => hierarchy.isA(context.marker, 'is') && context.query, ({context, s, log, km, objects, e}) => {\n const one = context.one;\n const two = context.two;\n let concept, value;\n if (one.query) {\n concept = one;\n value = two;\n } else {\n concept = two;\n value = one;\n }\n // km('dialogues').api.mentioned(concept)\n // TODO wtf is the next line?\n value = JSON.parse(JSON.stringify(value))\n let instance = e(value)\n if (false && instance.evalue) {\n km('stm').api.mentioned(value)\n }\n if (instance.verbatim) {\n context.evalue = { verbatim: instance.verbatim }\n context.isResponse = true\n return\n }\n // instance.focusable = ['one', 'two']\n // concept = JSON.parse(JSON.stringify(value)) \n concept = _.cloneDeep(value) \n concept.isQuery = undefined\n // greg101\n // instance.focusableForPhrase = true\n instance.focus = true\n if (concept.hierarchy) {\n concept.focusableForPhrase = true\n }\n // concept.focus = true\n\n const many = isMany(concept) || isMany(instance)\n const evalue = {\n \"default\": true,\n \"marker\": \"is\",\n \"one\": concept,\n \"two\": instance,\n \"focusable\": ['two', 'one'],\n \"word\": many ? \"are\" : \"is\",\n \"number\": many ? \"many\" : undefined,\n }\n context.evalue = evalue\n context.isResponse = true\n }). The error has a retryCall property that will recall the function that failed.'"
18057
17867
  ],
18058
17868
  "evalue": "That is not known because there is no conversion between a1 and b1",
18059
17869
  "isResponse": true,
@@ -18095,7 +17905,9 @@
18095
17905
  }
18096
17906
  },
18097
17907
  "focusableForPhrase": true,
18098
- "marker": "reason"
17908
+ "fromSTM": true,
17909
+ "marker": "reason",
17910
+ "pullFromContext": false
18099
17911
  },
18100
17912
  "text": "[object Object]",
18101
17913
  "touchedBy": [
@@ -18383,31 +18195,6 @@
18383
18195
  },
18384
18196
  {
18385
18197
  "counter": 5,
18386
- "op": [
18387
- "list",
18388
- 1
18389
- ],
18390
- "ops": [
18391
- [
18392
- "is",
18393
- 0
18394
- ],
18395
- [
18396
- "list",
18397
- 1
18398
- ],
18399
- [
18400
- "propertyOf",
18401
- 0
18402
- ],
18403
- [
18404
- "unit",
18405
- 0
18406
- ]
18407
- ]
18408
- },
18409
- {
18410
- "counter": 6,
18411
18198
  "op": [
18412
18199
  "unit",
18413
18200
  0
@@ -18428,7 +18215,7 @@
18428
18215
  ]
18429
18216
  },
18430
18217
  {
18431
- "counter": 7,
18218
+ "counter": 6,
18432
18219
  "op": [
18433
18220
  "propertyOf",
18434
18221
  0
@@ -18445,7 +18232,7 @@
18445
18232
  ]
18446
18233
  },
18447
18234
  {
18448
- "counter": 8,
18235
+ "counter": 7,
18449
18236
  "op": [
18450
18237
  "propertyOf",
18451
18238
  1
@@ -18462,7 +18249,7 @@
18462
18249
  ]
18463
18250
  },
18464
18251
  {
18465
- "counter": 9,
18252
+ "counter": 8,
18466
18253
  "op": [
18467
18254
  "is",
18468
18255
  0
@@ -18475,7 +18262,7 @@
18475
18262
  ]
18476
18263
  },
18477
18264
  {
18478
- "counter": 10,
18265
+ "counter": 9,
18479
18266
  "op": [
18480
18267
  "is",
18481
18268
  1
@@ -18714,21 +18501,20 @@
18714
18501
  "countable": "countable2",
18715
18502
  "dialogues": "dialogues2",
18716
18503
  "dimension": "dimension1",
18717
- "dimensionTemplate": "dimensionTemplate2",
18718
18504
  "formulas": "formulas2",
18719
- "formulasTemplate": "formulasTemplate2",
18720
18505
  "gdefaults": "gdefaults2",
18721
18506
  "hierarchy": "hierarchy2",
18722
18507
  "math": "math2",
18723
- "mathTemplate": "mathTemplate2",
18724
18508
  "meta": "meta2",
18509
+ "negation": "negation2",
18725
18510
  "numbers": "numbers2",
18726
18511
  "pos": "pos2",
18727
18512
  "properties": "properties2",
18728
18513
  "punctuation": "punctuation2",
18729
18514
  "sdefaults": "sdefaults2",
18730
18515
  "stm": "stm2",
18731
- "testing": "testing2"
18516
+ "testing": "testing2",
18517
+ "tokenize": "tokenize2"
18732
18518
  },
18733
18519
  "namespaced": {
18734
18520
  "comparable2": {
@@ -18742,6 +18528,7 @@
18742
18528
  "countable2": {
18743
18529
  },
18744
18530
  "dialogues2": {
18531
+ "idSuffix": "",
18745
18532
  "mentioned": [
18746
18533
  ],
18747
18534
  "variables": {
@@ -18749,24 +18536,20 @@
18749
18536
  },
18750
18537
  "dimension1": {
18751
18538
  },
18752
- "dimensionTemplate2": {
18753
- },
18754
18539
  "formulas2": {
18755
18540
  "formulas": {
18756
18541
  }
18757
18542
  },
18758
- "formulasTemplate2": {
18759
- },
18760
18543
  "gdefaults2": {
18761
18544
  },
18762
18545
  "hierarchy2": {
18763
18546
  },
18764
18547
  "math2": {
18765
18548
  },
18766
- "mathTemplate2": {
18767
- },
18768
18549
  "meta2": {
18769
18550
  },
18551
+ "negation2": {
18552
+ },
18770
18553
  "numbers2": {
18771
18554
  },
18772
18555
  "pos2": {
@@ -18804,9 +18587,6 @@
18804
18587
  "/",
18805
18588
  "-"
18806
18589
  ],
18807
- "notAble": [
18808
- "unknown"
18809
- ],
18810
18590
  "object": [
18811
18591
  "unknown",
18812
18592
  "what",
@@ -18830,6 +18610,7 @@
18830
18610
  "object",
18831
18611
  "xfx",
18832
18612
  "concept",
18613
+ "doubleQuote",
18833
18614
  "unknown",
18834
18615
  "it",
18835
18616
  "what",
@@ -18887,6 +18668,7 @@
18887
18668
  "concept",
18888
18669
  "modifies",
18889
18670
  "verby",
18671
+ "doubleQuote",
18890
18672
  "it",
18891
18673
  "pronoun",
18892
18674
  "this",
@@ -18895,7 +18677,6 @@
18895
18677
  "a",
18896
18678
  "articlePOS",
18897
18679
  "the",
18898
- "notAble",
18899
18680
  "whatAble",
18900
18681
  "is",
18901
18682
  "toAble",
@@ -18904,9 +18685,9 @@
18904
18685
  "thisitthat",
18905
18686
  "reason",
18906
18687
  "that",
18688
+ "number",
18907
18689
  "orAble",
18908
18690
  "ifAble",
18909
- "number",
18910
18691
  "*",
18911
18692
  "mathematical_operator",
18912
18693
  "+",
@@ -18954,6 +18735,9 @@
18954
18735
  "dimension": [
18955
18736
  "concept"
18956
18737
  ],
18738
+ "doubleQuote": [
18739
+ "queryable"
18740
+ ],
18957
18741
  "formula": [
18958
18742
  "concept"
18959
18743
  ],
@@ -19028,7 +18812,6 @@
19028
18812
  "unknown": [
19029
18813
  "hierarchyAble",
19030
18814
  "object",
19031
- "notAble",
19032
18815
  "theAble",
19033
18816
  "queryable"
19034
18817
  ],
@@ -19080,6 +18863,8 @@
19080
18863
  },
19081
18864
  "dimension": {
19082
18865
  },
18866
+ "doubleQuote": {
18867
+ },
19083
18868
  "formula": {
19084
18869
  },
19085
18870
  "have": {
@@ -19096,8 +18881,6 @@
19096
18881
  },
19097
18882
  "modifies": {
19098
18883
  },
19099
- "notAble": {
19100
- },
19101
18884
  "noun": {
19102
18885
  },
19103
18886
  "number": {
@@ -19202,6 +18985,7 @@
19202
18985
  }
19203
18986
  },
19204
18987
  "focusableForPhrase": true,
18988
+ "fromSTM": true,
19205
18989
  "marker": "reason",
19206
18990
  "pullFromContext": false
19207
18991
  }
@@ -19210,6 +18994,8 @@
19210
18994
  }
19211
18995
  },
19212
18996
  "testing2": {
18997
+ },
18998
+ "tokenize2": {
19213
18999
  }
19214
19000
  },
19215
19001
  "processed": [
@@ -19395,7 +19181,7 @@
19395
19181
  "word": "are"
19396
19182
  },
19397
19183
  "error": [
19398
- "ERROR while applying (dialogues/#4) KM 'dialogues' ordinal: 4 where: \"/home/dev/code/theprogrammablemind/kms/common/dialogues.js:664\"\n to\n {\n \"query\": [\n \"what\"\n ],\n \"number\": \"many\",\n \"text\": \"what are 10 a1 in b1\",\n \"marker\": \"is\",\n \"word\": \"are\",\n \"range\": {\n \"start\": 0,\n \"end\": 19\n },\n \"one\": {\n \"query\": [\n \"what\"\n ],\n \"number\": \"many\",\n \"marker\": \"what\",\n \"value\": \"what\",\n \"default\": true,\n \"text\": \"what\",\n \"word\": \"what\",\n \"range\": {\n \"start\": 0,\n \"end\": 19\n },\n \"dead\": true,\n \"determined\": true,\n \"types\": [\n \"what\"\n ],\n \"level\": 1\n },\n \"two\": {\n \"marker\": \"convertToUnits\",\n \"default\": true,\n \"word\": \"in\",\n \"text\": \"10 a1 in b1\",\n \"range\": {\n \"start\": 9,\n \"end\": 19\n },\n \"dead\": true,\n \"from\": {\n \"marker\": \"dimension\",\n \"unit\": {\n \"value\": \"a1\",\n \"number\": \"one\",\n \"text\": \"a1\",\n \"marker\": \"a1\",\n \"word\": \"a1\",\n \"range\": {\n \"start\": 12,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"a1\"\n ],\n \"level\": 1\n },\n \"value\": 10,\n \"amount\": {\n \"value\": 10,\n \"instance\": true,\n \"text\": \"10\",\n \"marker\": \"number\",\n \"word\": \"10\",\n \"range\": {\n \"start\": 9,\n \"end\": 10\n },\n \"dead\": true,\n \"types\": [\n \"number\"\n ],\n \"level\": 1\n },\n \"text\": \"10 a1\",\n \"range\": {\n \"start\": 9,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"dimension\"\n ],\n \"level\": 1\n },\n \"to\": {\n \"value\": \"b1\",\n \"number\": \"one\",\n \"text\": \"b1\",\n \"marker\": \"b1\",\n \"word\": \"b1\",\n \"range\": {\n \"start\": 18,\n \"end\": 19\n },\n \"dead\": true,\n \"types\": [\n \"b1\"\n ],\n \"level\": 1\n },\n \"types\": [\n \"convertToUnits\"\n ],\n \"level\": 1\n },\n \"dead\": true,\n \"level\": 2,\n \"topLevel\": true\n}.\nError applying semantics 'what x is y?/home/dev/code/theprogrammablemind/kms/common/dialogues.js:664'. Error is ERROR while applying (dimension/#0) KM 'dimension' ordinal: 0 where: \"/home/dev/code/theprogrammablemind/kms/common/dimension.js:116\"\n to\n {\n \"marker\": \"convertToUnits\",\n \"default\": true,\n \"word\": \"in\",\n \"text\": \"10 a1 in b1\",\n \"range\": {\n \"start\": 9,\n \"end\": 19\n },\n \"dead\": true,\n \"from\": {\n \"marker\": \"dimension\",\n \"unit\": {\n \"value\": \"a1\",\n \"number\": \"one\",\n \"text\": \"a1\",\n \"marker\": \"a1\",\n \"word\": \"a1\",\n \"range\": {\n \"start\": 12,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"a1\"\n ],\n \"level\": 1\n },\n \"value\": 10,\n \"amount\": {\n \"value\": 10,\n \"instance\": true,\n \"text\": \"10\",\n \"marker\": \"number\",\n \"word\": \"10\",\n \"range\": {\n \"start\": 9,\n \"end\": 10\n },\n \"dead\": true,\n \"types\": [\n \"number\"\n ],\n \"level\": 1\n },\n \"text\": \"10 a1\",\n \"range\": {\n \"start\": 9,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"dimension\"\n ],\n \"level\": 1\n },\n \"to\": {\n \"value\": \"b1\",\n \"number\": \"one\",\n \"text\": \"b1\",\n \"marker\": \"b1\",\n \"word\": \"b1\",\n \"range\": {\n \"start\": 18,\n \"end\": 19\n },\n \"dead\": true,\n \"types\": [\n \"b1\"\n ],\n \"level\": 1\n },\n \"types\": [\n \"convertToUnits\"\n ],\n \"level\": 1,\n \"evaluate\": true\n}.\nError applying semantics '/home/dev/code/theprogrammablemind/kms/common/dimension.js:116'. Error is Error: {\"marker\":\"reason\",\"focusableForPhrase\":true,\"evalue\":{\"marker\":\"noconversion\",\"from\":{\"value\":\"a1\",\"number\":\"one\",\"text\":\"a1\",\"marker\":\"a1\",\"word\":\"a1\",\"range\":{\"start\":12,\"end\":13},\"dead\":true,\"types\":[\"a1\"],\"level\":1},\"to\":{\"value\":\"b1\",\"number\":\"one\",\"text\":\"b1\",\"marker\":\"b1\",\"word\":\"b1\",\"range\":{\"start\":18,\"end\":19},\"dead\":true,\"types\":[\"b1\"],\"level\":1}}} stack is Error: {\"marker\":\"reason\",\"focusableForPhrase\":true,\"evalue\":{\"marker\":\"noconversion\",\"from\":{\"value\":\"a1\",\"number\":\"one\",\"text\":\"a1\",\"marker\":\"a1\",\"word\":\"a1\",\"range\":{\"start\":12,\"end\":13},\"dead\":true,\"types\":[\"a1\"],\"level\":1},\"to\":{\"value\":\"b1\",\"number\":\"one\",\"text\":\"b1\",\"marker\":\"b1\",\"word\":\"b1\",\"range\":{\"start\":18,\"end\":19},\"dead\":true,\"types\":[\"b1\"],\"level\":1}}}\n at args.error (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:165:11)\n at Object.evaluator (/home/dev/code/theprogrammablemind/kms/common/dimension.js:143:13)\n at Semantic.apply [as _apply] (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/config.js:318:35)\n at Semantic.apply (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:124:10)\n at Semantics.applyToContext (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:199:35)\n at Semantics.apply (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:315:19)\n at args.s (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:209:47)\n at Config.getEvaluator (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/config.js:939:22)\n at args.e (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:220:21)\n at Semantic.apply [as _apply] (/home/dev/code/theprogrammablemind/kms/common/dialogues.js:687:24). Semantic is Semantic(({ context }) => bridge.id == context.marker && context.evaluate, ({context, kms, e, error}) => {\n /*\n error(({context, e}) => {\n context.evalue = 'dont know...'\n })\n */\n const from = context.from;\n const to = context.to;\n let evalue;\n let efrom = from\n if (!from.unit) {\n efrom = e(from).evalue\n }\n if (to.value == efrom.unit.value) {\n evalue = efrom.amount\n } else {\n const formula = kms.formulas.api.get(to, [efrom.unit])\n if (!formula) {\n const reason = { marker: 'reason', focusableForPhrase: true, evalue: { marker: 'noconversion', from: efrom.unit, to } }\n kms.stm.api.mentioned(reason)\n error(reason)\n }\n kms.stm.api.setVariable(efrom.unit.value, efrom.amount)\n evalue = e(formula)\n }\n /*\n '{\n \"marker\":\"dimension\",\n \"unit\":{\"marker\":\"unit\",\"range\":{\"start\":19,\"end\":25},\"word\":\"celcius\",\"text\":\"celcius\",\"value\":\"celcius\",\"unknown\":true,\"types\":[\"unit\",\"unknown\"]},\n \"value\":10,\n \"amount\":{\"word\":\"degrees\",\"number\":\"many\",\"text\":\"10 degrees\",\"marker\":\"degree\",\"range\":{\"start\":8,\"end\":17},\"value\":10,\"amount\":{\"value\":10,\"text\":\"10\",\"marker\":\"number\",\"word\":\"10\",\"range\":{\"start\":8,\"end\":9},\"types\":[\"number\"]}},\n \"text\":\"10 degrees celcius\",\"range\":{\"start\":8,\"end\":25}}'\n */\n context.evalue = { \n paraphrase: true,\n marker: 'dimension',\n level: 1,\n unit: to,\n amount: { evalue, paraphrase: undefined }\n }\n })\nsee the evaluator property. The error has a retryCall property that will recall the function that failed.'. Semantic is Semantic(({context, hierarchy}) => hierarchy.isA(context.marker, 'is') && context.query, ({context, s, log, km, objects, e}) => {\n const one = context.one;\n const two = context.two;\n let concept, value;\n if (one.query) {\n concept = one;\n value = two;\n } else {\n concept = two;\n value = one;\n }\n // km('dialogues').api.mentioned(concept)\n // TODO wtf is the next line?\n value = JSON.parse(JSON.stringify(value))\n let instance = e(value)\n if (false && instance.evalue) {\n km('stm').api.mentioned(value)\n }\n if (instance.verbatim) {\n context.evalue = { verbatim: instance.verbatim }\n context.isResponse = true\n return\n }\n // instance.focusable = ['one', 'two']\n // concept = JSON.parse(JSON.stringify(value)) \n concept = _.cloneDeep(value) \n concept.isQuery = undefined\n // greg101\n // instance.focusableForPhrase = true\n instance.focus = true\n if (concept.hierarchy) {\n concept.focusableForPhrase = true\n }\n // concept.focus = true\n\n const many = isMany(concept) || isMany(instance)\n const evalue = {\n \"default\": true,\n \"marker\": \"is\",\n \"one\": concept,\n \"two\": instance,\n \"focusable\": ['two', 'one'],\n \"word\": many ? \"are\" : \"is\",\n \"number\": many ? \"many\" : undefined,\n }\n context.evalue = evalue\n context.isResponse = true\n }). The error has a retryCall property that will recall the function that failed.'"
19184
+ "ERROR while applying (dialogues/#4) KM 'dialogues' ordinal: 4 where: \"/home/dev/code/theprogrammablemind/kms/common/dialogues.js:717\"\n to\n {\n \"query\": [\n \"what\"\n ],\n \"number\": \"many\",\n \"text\": \"what are 10 a1 in b1\",\n \"marker\": \"is\",\n \"word\": \"are\",\n \"range\": {\n \"start\": 0,\n \"end\": 19\n },\n \"one\": {\n \"query\": [\n \"what\"\n ],\n \"number\": \"many\",\n \"marker\": \"what\",\n \"value\": \"what\",\n \"default\": true,\n \"text\": \"what\",\n \"word\": \"what\",\n \"range\": {\n \"start\": 0,\n \"end\": 19\n },\n \"dead\": true,\n \"determined\": true,\n \"types\": [\n \"what\"\n ],\n \"level\": 1\n },\n \"two\": {\n \"marker\": \"convertToUnits\",\n \"default\": true,\n \"word\": \"in\",\n \"text\": \"10 a1 in b1\",\n \"range\": {\n \"start\": 9,\n \"end\": 19\n },\n \"dead\": true,\n \"from\": {\n \"marker\": \"dimension\",\n \"unit\": {\n \"value\": \"a1\",\n \"number\": \"one\",\n \"text\": \"a1\",\n \"marker\": \"a1\",\n \"word\": \"a1\",\n \"range\": {\n \"start\": 12,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"a1\"\n ],\n \"level\": 1\n },\n \"value\": 10,\n \"amount\": {\n \"value\": 10,\n \"instance\": true,\n \"text\": \"10\",\n \"marker\": \"number\",\n \"word\": \"10\",\n \"range\": {\n \"start\": 9,\n \"end\": 10\n },\n \"dead\": true,\n \"types\": [\n \"number\"\n ],\n \"level\": 1\n },\n \"text\": \"10 a1\",\n \"range\": {\n \"start\": 9,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"dimension\"\n ],\n \"level\": 1\n },\n \"to\": {\n \"value\": \"b1\",\n \"number\": \"one\",\n \"text\": \"b1\",\n \"marker\": \"b1\",\n \"word\": \"b1\",\n \"range\": {\n \"start\": 18,\n \"end\": 19\n },\n \"dead\": true,\n \"types\": [\n \"b1\"\n ],\n \"level\": 1\n },\n \"types\": [\n \"convertToUnits\"\n ],\n \"level\": 1\n },\n \"dead\": true,\n \"level\": 2,\n \"topLevel\": true\n}.\nError applying semantics 'what x is y?/home/dev/code/theprogrammablemind/kms/common/dialogues.js:717'. Error is ERROR while applying (dimension/#0) KM 'dimension' ordinal: 0 where: \"/home/dev/code/theprogrammablemind/kms/common/dimension.js:117\"\n to\n {\n \"marker\": \"convertToUnits\",\n \"default\": true,\n \"word\": \"in\",\n \"text\": \"10 a1 in b1\",\n \"range\": {\n \"start\": 9,\n \"end\": 19\n },\n \"dead\": true,\n \"from\": {\n \"marker\": \"dimension\",\n \"unit\": {\n \"value\": \"a1\",\n \"number\": \"one\",\n \"text\": \"a1\",\n \"marker\": \"a1\",\n \"word\": \"a1\",\n \"range\": {\n \"start\": 12,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"a1\"\n ],\n \"level\": 1\n },\n \"value\": 10,\n \"amount\": {\n \"value\": 10,\n \"instance\": true,\n \"text\": \"10\",\n \"marker\": \"number\",\n \"word\": \"10\",\n \"range\": {\n \"start\": 9,\n \"end\": 10\n },\n \"dead\": true,\n \"types\": [\n \"number\"\n ],\n \"level\": 1\n },\n \"text\": \"10 a1\",\n \"range\": {\n \"start\": 9,\n \"end\": 13\n },\n \"dead\": true,\n \"types\": [\n \"dimension\"\n ],\n \"level\": 1\n },\n \"to\": {\n \"value\": \"b1\",\n \"number\": \"one\",\n \"text\": \"b1\",\n \"marker\": \"b1\",\n \"word\": \"b1\",\n \"range\": {\n \"start\": 18,\n \"end\": 19\n },\n \"dead\": true,\n \"types\": [\n \"b1\"\n ],\n \"level\": 1\n },\n \"types\": [\n \"convertToUnits\"\n ],\n \"level\": 1,\n \"evaluate\": true\n}.\nError applying semantics '/home/dev/code/theprogrammablemind/kms/common/dimension.js:117'. Error is Error: {\"marker\":\"reason\",\"focusableForPhrase\":true,\"evalue\":{\"marker\":\"noconversion\",\"from\":{\"value\":\"a1\",\"number\":\"one\",\"text\":\"a1\",\"marker\":\"a1\",\"word\":\"a1\",\"range\":{\"start\":12,\"end\":13},\"dead\":true,\"types\":[\"a1\"],\"level\":1},\"to\":{\"value\":\"b1\",\"number\":\"one\",\"text\":\"b1\",\"marker\":\"b1\",\"word\":\"b1\",\"range\":{\"start\":18,\"end\":19},\"dead\":true,\"types\":[\"b1\"],\"level\":1}},\"pullFromContext\":false,\"fromSTM\":true} stack is Error: {\"marker\":\"reason\",\"focusableForPhrase\":true,\"evalue\":{\"marker\":\"noconversion\",\"from\":{\"value\":\"a1\",\"number\":\"one\",\"text\":\"a1\",\"marker\":\"a1\",\"word\":\"a1\",\"range\":{\"start\":12,\"end\":13},\"dead\":true,\"types\":[\"a1\"],\"level\":1},\"to\":{\"value\":\"b1\",\"number\":\"one\",\"text\":\"b1\",\"marker\":\"b1\",\"word\":\"b1\",\"range\":{\"start\":18,\"end\":19},\"dead\":true,\"types\":[\"b1\"],\"level\":1}},\"pullFromContext\":false,\"fromSTM\":true}\n at args.error (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:169:11)\n at Object.evaluator (/home/dev/code/theprogrammablemind/kms/common/dimension.js:144:13)\n at Semantic.apply [as _apply] (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/config.js:374:35)\n at Semantic.apply (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:127:10)\n at Semantics.applyToContext (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:207:35)\n at Semantics.apply (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/semantics.js:325:19)\n at args.s (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:192:47)\n at Config.getEvaluator (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/src/config.js:1007:22)\n at args.e (/home/dev/code/theprogrammablemind/kms/node_modules/theprogrammablemind/client.js:203:21)\n at Semantic.apply [as _apply] (/home/dev/code/theprogrammablemind/kms/common/dialogues.js:740:24). Semantic is Semantic(({ context }) => bridge.id == context.marker && context.evaluate, ({context, kms, e, error}) => {\n /*\n error(({context, e}) => {\n context.evalue = 'dont know...'\n })\n */\n const from = context.from;\n const to = context.to;\n let evalue;\n let efrom = from\n if (!from.unit) {\n efrom = e(from).evalue\n }\n if (to.value == efrom.unit.value) {\n evalue = efrom.amount\n } else {\n const formula = kms.formulas.api.get(to, [efrom.unit])\n if (!formula) {\n const reason = { marker: 'reason', focusableForPhrase: true, evalue: { marker: 'noconversion', from: efrom.unit, to } }\n kms.stm.api.mentioned(reason)\n error(reason)\n }\n kms.stm.api.setVariable(efrom.unit.value, efrom.amount)\n evalue = e(formula)\n }\n /*\n '{\n \"marker\":\"dimension\",\n \"unit\":{\"marker\":\"unit\",\"range\":{\"start\":19,\"end\":25},\"word\":\"celcius\",\"text\":\"celcius\",\"value\":\"celcius\",\"unknown\":true,\"types\":[\"unit\",\"unknown\"]},\n \"value\":10,\n \"amount\":{\"word\":\"degrees\",\"number\":\"many\",\"text\":\"10 degrees\",\"marker\":\"degree\",\"range\":{\"start\":8,\"end\":17},\"value\":10,\"amount\":{\"value\":10,\"text\":\"10\",\"marker\":\"number\",\"word\":\"10\",\"range\":{\"start\":8,\"end\":9},\"types\":[\"number\"]}},\n \"text\":\"10 degrees celcius\",\"range\":{\"start\":8,\"end\":25}}'\n */\n context.evalue = { \n paraphrase: true,\n marker: 'dimension',\n level: 1,\n unit: to,\n amount: { evalue, paraphrase: undefined }\n }\n })\nsee the evaluator property. The error has a retryCall property that will recall the function that failed.'. Semantic is Semantic(({context, hierarchy}) => hierarchy.isA(context.marker, 'is') && context.query, ({context, s, log, km, objects, e}) => {\n const one = context.one;\n const two = context.two;\n let concept, value;\n if (one.query) {\n concept = one;\n value = two;\n } else {\n concept = two;\n value = one;\n }\n // km('dialogues').api.mentioned(concept)\n // TODO wtf is the next line?\n value = JSON.parse(JSON.stringify(value))\n let instance = e(value)\n if (false && instance.evalue) {\n km('stm').api.mentioned(value)\n }\n if (instance.verbatim) {\n context.evalue = { verbatim: instance.verbatim }\n context.isResponse = true\n return\n }\n // instance.focusable = ['one', 'two']\n // concept = JSON.parse(JSON.stringify(value)) \n concept = _.cloneDeep(value) \n concept.isQuery = undefined\n // greg101\n // instance.focusableForPhrase = true\n instance.focus = true\n if (concept.hierarchy) {\n concept.focusableForPhrase = true\n }\n // concept.focus = true\n\n const many = isMany(concept) || isMany(instance)\n const evalue = {\n \"default\": true,\n \"marker\": \"is\",\n \"one\": concept,\n \"two\": instance,\n \"focusable\": ['two', 'one'],\n \"word\": many ? \"are\" : \"is\",\n \"number\": many ? \"many\" : undefined,\n }\n context.evalue = evalue\n context.isResponse = true\n }). The error has a retryCall property that will recall the function that failed.'"
19399
19185
  ],
19400
19186
  "evalue": "That is not known because there is no conversion between a1 and b1",
19401
19187
  "isResponse": true,
@@ -19437,7 +19223,9 @@
19437
19223
  }
19438
19224
  },
19439
19225
  "focusableForPhrase": true,
19440
- "marker": "reason"
19226
+ "fromSTM": true,
19227
+ "marker": "reason",
19228
+ "pullFromContext": false
19441
19229
  },
19442
19230
  "text": "[object Object]",
19443
19231
  "touchedBy": [
@@ -19458,6 +19246,8 @@
19458
19246
  "marker": "is",
19459
19247
  "number": "many",
19460
19248
  "one": {
19249
+ "default": true,
19250
+ "isList": true,
19461
19251
  "level": 1,
19462
19252
  "listable": true,
19463
19253
  "marker": "list",
@@ -19466,7 +19256,7 @@
19466
19256
  "end": 24,
19467
19257
  "start": 0
19468
19258
  },
19469
- "text": "a1 and b1 are units of d1",
19259
+ "text": "a1 and b1",
19470
19260
  "types": [
19471
19261
  "list",
19472
19262
  "unknown"
@@ -19474,7 +19264,7 @@
19474
19264
  "value": [
19475
19265
  {
19476
19266
  "dead": true,
19477
- "level": 2,
19267
+ "level": 1,
19478
19268
  "marker": "unknown",
19479
19269
  "range": {
19480
19270
  "end": 1,
@@ -19487,7 +19277,7 @@
19487
19277
  },
19488
19278
  {
19489
19279
  "dead": true,
19490
- "level": 2,
19280
+ "level": 1,
19491
19281
  "marker": "unknown",
19492
19282
  "range": {
19493
19283
  "end": 8,
@@ -19498,7 +19288,8 @@
19498
19288
  "value": "b1",
19499
19289
  "word": "b1"
19500
19290
  }
19501
- ]
19291
+ ],
19292
+ "word": "and"
19502
19293
  },
19503
19294
  "range": {
19504
19295
  "end": 24,
@@ -19679,13 +19470,13 @@
19679
19470
  "text": "dimension and unit",
19680
19471
  "types": [
19681
19472
  "list",
19682
- "type"
19473
+ "unknown"
19683
19474
  ],
19684
19475
  "value": [
19685
19476
  {
19686
19477
  "dead": true,
19687
19478
  "level": 1,
19688
- "marker": "type",
19479
+ "marker": "unknown",
19689
19480
  "range": {
19690
19481
  "end": 8,
19691
19482
  "start": 0
@@ -19698,7 +19489,7 @@
19698
19489
  {
19699
19490
  "dead": true,
19700
19491
  "level": 1,
19701
- "marker": "type",
19492
+ "marker": "unknown",
19702
19493
  "range": {
19703
19494
  "end": 17,
19704
19495
  "start": 14
@@ -19718,8 +19509,7 @@
19718
19509
  "text": "dimension and unit are concepts",
19719
19510
  "topLevel": true,
19720
19511
  "touchedBy": [
19721
- "dimensionTemplate#call2",
19722
- "instance0#dimensionTemplate#call2",
19512
+ "dimension#call2",
19723
19513
  "instance0#dimension#call2"
19724
19514
  ],
19725
19515
  "two": {
@@ -19780,8 +19570,7 @@
19780
19570
  "text": "formulas are concepts",
19781
19571
  "topLevel": true,
19782
19572
  "touchedBy": [
19783
- "formulasTemplate#call2",
19784
- "instance0#formulasTemplate#call2",
19573
+ "formulas#call2",
19785
19574
  "instance0#formulas#call2",
19786
19575
  "instance0#dimension#call2"
19787
19576
  ],