tpmkms_4wp 8.0.0-beta.0 → 8.0.0-beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. package/common/animals.instance.json +103 -113
  2. package/common/characters.js +0 -1
  3. package/common/colors.instance.json +22304 -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 +4142 -3545
  8. package/common/crew.js +4 -2
  9. package/common/dialogues.js +34 -7
  10. package/common/dialogues.test.json +1053 -33
  11. package/common/dimension.instance.json +20 -30
  12. package/common/dimension.test.json +289 -312
  13. package/common/edible.instance.json +216 -156
  14. package/common/emotions.instance.json +64 -0
  15. package/common/fastfood.instance.json +1011 -386
  16. package/common/fastfood.js +1 -1
  17. package/common/fastfood.test.json +7941 -3647
  18. package/common/formulas.instance.json +4 -0
  19. package/common/formulas.test.json +1027 -955
  20. package/common/help.test.json +14 -10
  21. package/common/helpers/concept.js +29 -9
  22. package/common/helpers/dialogues.js +17 -1
  23. package/common/helpers/formulas.js +0 -14
  24. package/common/helpers/meta.js +0 -1
  25. package/common/helpers/properties.js +6 -13
  26. package/common/kirk.instance.json +4 -0
  27. package/common/length.instance.json +93 -63
  28. package/common/math.instance.json +26 -47
  29. package/common/meta.js +0 -2
  30. package/common/ordering.instance.json +76 -0
  31. package/common/people.instance.json +35 -60
  32. package/common/pipboy.instance.json +215 -229
  33. package/common/pokemon.instance.json +131 -82
  34. package/common/pressure.instance.json +38 -48
  35. package/common/properties.instance.json +4 -0
  36. package/common/properties.js +7 -7
  37. package/common/properties.test.json +17605 -4030
  38. package/common/punctuation.js +8 -0
  39. package/common/punctuation.test.json +233 -5
  40. package/common/reports.instance.json +12 -4
  41. package/common/reports.js +0 -2
  42. package/common/sizeable.js +7 -2
  43. package/common/spock.instance.json +4 -0
  44. package/common/stm.js +16 -5
  45. package/common/temperature.instance.json +45 -59
  46. package/common/testing.js +0 -1
  47. package/common/tokenize.js +2 -1
  48. package/common/tokenize.test.json +86 -1
  49. package/common/ui.instance.json +4 -0
  50. package/common/ui.js +0 -1
  51. package/common/weight.instance.json +62 -11
  52. package/common/weight.test.json +242 -238
  53. package/main.js +2 -0
  54. package/package.json +6 -2
@@ -90,13 +90,10 @@
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",
101
98
  "numbers": "numbers2",
102
99
  "pos": "pos2",
@@ -104,7 +101,8 @@
104
101
  "punctuation": "punctuation2",
105
102
  "sdefaults": "sdefaults2",
106
103
  "stm": "stm2",
107
- "testing": "testing2"
104
+ "testing": "testing2",
105
+ "tokenize": "tokenize2"
108
106
  },
109
107
  "namespaced": {
110
108
  "comparable2": {
@@ -118,6 +116,7 @@
118
116
  "countable2": {
119
117
  },
120
118
  "dialogues2": {
119
+ "idSuffix": "",
121
120
  "mentioned": [
122
121
  ],
123
122
  "variables": {
@@ -125,22 +124,16 @@
125
124
  },
126
125
  "dimension1": {
127
126
  },
128
- "dimensionTemplate2": {
129
- },
130
127
  "formulas2": {
131
128
  "formulas": {
132
129
  }
133
130
  },
134
- "formulasTemplate2": {
135
- },
136
131
  "gdefaults2": {
137
132
  },
138
133
  "hierarchy2": {
139
134
  },
140
135
  "math2": {
141
136
  },
142
- "mathTemplate2": {
143
- },
144
137
  "meta2": {
145
138
  },
146
139
  "numbers2": {
@@ -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",
@@ -273,9 +268,9 @@
273
268
  "thisitthat",
274
269
  "reason",
275
270
  "that",
271
+ "number",
276
272
  "orAble",
277
273
  "ifAble",
278
- "number",
279
274
  "*",
280
275
  "mathematical_operator",
281
276
  "+",
@@ -311,6 +306,9 @@
311
306
  "dimension": [
312
307
  "concept"
313
308
  ],
309
+ "doubleQuote": [
310
+ "queryable"
311
+ ],
314
312
  "formula": [
315
313
  "concept"
316
314
  ],
@@ -431,6 +429,8 @@
431
429
  },
432
430
  "dimension": {
433
431
  },
432
+ "doubleQuote": {
433
+ },
434
434
  "formula": {
435
435
  },
436
436
  "have": {
@@ -521,6 +521,8 @@
521
521
  }
522
522
  },
523
523
  "testing2": {
524
+ },
525
+ "tokenize2": {
524
526
  }
525
527
  },
526
528
  "processed": [
@@ -569,8 +571,6 @@
569
571
  "marker": "is",
570
572
  "number": "many",
571
573
  "one": {
572
- "default": true,
573
- "isList": true,
574
574
  "level": 1,
575
575
  "listable": true,
576
576
  "marker": "list",
@@ -579,16 +579,16 @@
579
579
  "end": 30,
580
580
  "start": 0
581
581
  },
582
- "text": "dimension and unit",
582
+ "text": "dimension and unit are concepts",
583
583
  "types": [
584
584
  "list",
585
- "type"
585
+ "unknown"
586
586
  ],
587
587
  "value": [
588
588
  {
589
589
  "dead": true,
590
- "level": 1,
591
- "marker": "type",
590
+ "level": 2,
591
+ "marker": "unknown",
592
592
  "range": {
593
593
  "end": 8,
594
594
  "start": 0
@@ -600,8 +600,8 @@
600
600
  },
601
601
  {
602
602
  "dead": true,
603
- "level": 1,
604
- "marker": "type",
603
+ "level": 2,
604
+ "marker": "unknown",
605
605
  "range": {
606
606
  "end": 17,
607
607
  "start": 14
@@ -611,8 +611,7 @@
611
611
  "value": "unit",
612
612
  "word": "unit"
613
613
  }
614
- ],
615
- "word": "and"
614
+ ]
616
615
  },
617
616
  "range": {
618
617
  "end": 30,
@@ -621,8 +620,7 @@
621
620
  "text": "dimension and unit are concepts",
622
621
  "topLevel": true,
623
622
  "touchedBy": [
624
- "dimensionTemplate#call2",
625
- "instance0#dimensionTemplate#call2",
623
+ "dimension#call2",
626
624
  "instance0#dimension#call2"
627
625
  ],
628
626
  "two": {
@@ -683,8 +681,7 @@
683
681
  "text": "formulas are concepts",
684
682
  "topLevel": true,
685
683
  "touchedBy": [
686
- "formulasTemplate#call2",
687
- "instance0#formulasTemplate#call2",
684
+ "formulas#call2",
688
685
  "instance0#formulas#call2",
689
686
  "instance0#dimension#call2"
690
687
  ],
@@ -798,8 +795,7 @@
798
795
  "text": "* + / and - are mathematical operators",
799
796
  "topLevel": true,
800
797
  "touchedBy": [
801
- "mathTemplate#call2",
802
- "instance1#mathTemplate#call2",
798
+ "math#call2",
803
799
  "instance1#math#call2",
804
800
  "instance1#formulas#call2",
805
801
  "instance1#dimension#call2"
@@ -893,8 +889,7 @@
893
889
  "text": "mathematical modifies operator",
894
890
  "topLevel": true,
895
891
  "touchedBy": [
896
- "mathTemplate#call2",
897
- "instance0#mathTemplate#call2",
892
+ "math#call2",
898
893
  "instance0#math#call2",
899
894
  "instance0#formulas#call2",
900
895
  "instance0#dimension#call2"
@@ -970,13 +965,10 @@
970
965
  "countable": "countable2",
971
966
  "dialogues": "dialogues2",
972
967
  "dimension": "dimension1",
973
- "dimensionTemplate": "dimensionTemplate2",
974
968
  "formulas": "formulas2",
975
- "formulasTemplate": "formulasTemplate2",
976
969
  "gdefaults": "gdefaults2",
977
970
  "hierarchy": "hierarchy2",
978
971
  "math": "math2",
979
- "mathTemplate": "mathTemplate2",
980
972
  "meta": "meta2",
981
973
  "numbers": "numbers2",
982
974
  "pos": "pos2",
@@ -984,7 +976,8 @@
984
976
  "punctuation": "punctuation2",
985
977
  "sdefaults": "sdefaults2",
986
978
  "stm": "stm2",
987
- "testing": "testing2"
979
+ "testing": "testing2",
980
+ "tokenize": "tokenize2"
988
981
  },
989
982
  "namespaced": {
990
983
  "comparable2": {
@@ -998,6 +991,7 @@
998
991
  "countable2": {
999
992
  },
1000
993
  "dialogues2": {
994
+ "idSuffix": "",
1001
995
  "mentioned": [
1002
996
  ],
1003
997
  "variables": {
@@ -1005,22 +999,16 @@
1005
999
  },
1006
1000
  "dimension1": {
1007
1001
  },
1008
- "dimensionTemplate2": {
1009
- },
1010
1002
  "formulas2": {
1011
1003
  "formulas": {
1012
1004
  }
1013
1005
  },
1014
- "formulasTemplate2": {
1015
- },
1016
1006
  "gdefaults2": {
1017
1007
  },
1018
1008
  "hierarchy2": {
1019
1009
  },
1020
1010
  "math2": {
1021
1011
  },
1022
- "mathTemplate2": {
1023
- },
1024
1012
  "meta2": {
1025
1013
  },
1026
1014
  "numbers2": {
@@ -1083,6 +1071,7 @@
1083
1071
  "object",
1084
1072
  "xfx",
1085
1073
  "concept",
1074
+ "doubleQuote",
1086
1075
  "unknown",
1087
1076
  "it",
1088
1077
  "what",
@@ -1136,6 +1125,7 @@
1136
1125
  "concept",
1137
1126
  "modifies",
1138
1127
  "verby",
1128
+ "doubleQuote",
1139
1129
  "it",
1140
1130
  "pronoun",
1141
1131
  "this",
@@ -1153,9 +1143,9 @@
1153
1143
  "thisitthat",
1154
1144
  "reason",
1155
1145
  "that",
1146
+ "number",
1156
1147
  "orAble",
1157
1148
  "ifAble",
1158
- "number",
1159
1149
  "*",
1160
1150
  "mathematical_operator",
1161
1151
  "+",
@@ -1191,6 +1181,9 @@
1191
1181
  "dimension": [
1192
1182
  "concept"
1193
1183
  ],
1184
+ "doubleQuote": [
1185
+ "queryable"
1186
+ ],
1194
1187
  "formula": [
1195
1188
  "concept"
1196
1189
  ],
@@ -1311,6 +1304,8 @@
1311
1304
  },
1312
1305
  "dimension": {
1313
1306
  },
1307
+ "doubleQuote": {
1308
+ },
1314
1309
  "formula": {
1315
1310
  },
1316
1311
  "have": {
@@ -1401,6 +1396,8 @@
1401
1396
  }
1402
1397
  },
1403
1398
  "testing2": {
1399
+ },
1400
+ "tokenize2": {
1404
1401
  }
1405
1402
  },
1406
1403
  "processed": [
@@ -1432,8 +1429,6 @@
1432
1429
  "marker": "is",
1433
1430
  "number": "many",
1434
1431
  "one": {
1435
- "default": true,
1436
- "isList": true,
1437
1432
  "level": 1,
1438
1433
  "listable": true,
1439
1434
  "marker": "list",
@@ -1442,16 +1437,16 @@
1442
1437
  "end": 30,
1443
1438
  "start": 0
1444
1439
  },
1445
- "text": "dimension and unit",
1440
+ "text": "dimension and unit are concepts",
1446
1441
  "types": [
1447
1442
  "list",
1448
- "type"
1443
+ "unknown"
1449
1444
  ],
1450
1445
  "value": [
1451
1446
  {
1452
1447
  "dead": true,
1453
- "level": 1,
1454
- "marker": "type",
1448
+ "level": 2,
1449
+ "marker": "unknown",
1455
1450
  "range": {
1456
1451
  "end": 8,
1457
1452
  "start": 0
@@ -1463,8 +1458,8 @@
1463
1458
  },
1464
1459
  {
1465
1460
  "dead": true,
1466
- "level": 1,
1467
- "marker": "type",
1461
+ "level": 2,
1462
+ "marker": "unknown",
1468
1463
  "range": {
1469
1464
  "end": 17,
1470
1465
  "start": 14
@@ -1474,8 +1469,7 @@
1474
1469
  "value": "unit",
1475
1470
  "word": "unit"
1476
1471
  }
1477
- ],
1478
- "word": "and"
1472
+ ]
1479
1473
  },
1480
1474
  "range": {
1481
1475
  "end": 30,
@@ -1484,8 +1478,7 @@
1484
1478
  "text": "dimension and unit are concepts",
1485
1479
  "topLevel": true,
1486
1480
  "touchedBy": [
1487
- "dimensionTemplate#call2",
1488
- "instance0#dimensionTemplate#call2",
1481
+ "dimension#call2",
1489
1482
  "instance0#dimension#call2"
1490
1483
  ],
1491
1484
  "two": {
@@ -1546,8 +1539,7 @@
1546
1539
  "text": "formulas are concepts",
1547
1540
  "topLevel": true,
1548
1541
  "touchedBy": [
1549
- "formulasTemplate#call2",
1550
- "instance0#formulasTemplate#call2",
1542
+ "formulas#call2",
1551
1543
  "instance0#formulas#call2",
1552
1544
  "instance0#dimension#call2"
1553
1545
  ],
@@ -1661,8 +1653,7 @@
1661
1653
  "text": "* + / and - are mathematical operators",
1662
1654
  "topLevel": true,
1663
1655
  "touchedBy": [
1664
- "mathTemplate#call2",
1665
- "instance1#mathTemplate#call2",
1656
+ "math#call2",
1666
1657
  "instance1#math#call2",
1667
1658
  "instance1#formulas#call2",
1668
1659
  "instance1#dimension#call2"
@@ -1756,8 +1747,7 @@
1756
1747
  "text": "mathematical modifies operator",
1757
1748
  "topLevel": true,
1758
1749
  "touchedBy": [
1759
- "mathTemplate#call2",
1760
- "instance0#mathTemplate#call2",
1750
+ "math#call2",
1761
1751
  "instance0#math#call2",
1762
1752
  "instance0#formulas#call2",
1763
1753
  "instance0#dimension#call2"
@@ -2562,13 +2552,10 @@
2562
2552
  "countable": "countable2",
2563
2553
  "dialogues": "dialogues2",
2564
2554
  "dimension": "dimension1",
2565
- "dimensionTemplate": "dimensionTemplate2",
2566
2555
  "formulas": "formulas2",
2567
- "formulasTemplate": "formulasTemplate2",
2568
2556
  "gdefaults": "gdefaults2",
2569
2557
  "hierarchy": "hierarchy2",
2570
2558
  "math": "math2",
2571
- "mathTemplate": "mathTemplate2",
2572
2559
  "meta": "meta2",
2573
2560
  "numbers": "numbers2",
2574
2561
  "pos": "pos2",
@@ -2576,7 +2563,8 @@
2576
2563
  "punctuation": "punctuation2",
2577
2564
  "sdefaults": "sdefaults2",
2578
2565
  "stm": "stm2",
2579
- "testing": "testing2"
2566
+ "testing": "testing2",
2567
+ "tokenize": "tokenize2"
2580
2568
  },
2581
2569
  "namespaced": {
2582
2570
  "comparable2": {
@@ -2590,6 +2578,7 @@
2590
2578
  "countable2": {
2591
2579
  },
2592
2580
  "dialogues2": {
2581
+ "idSuffix": "",
2593
2582
  "mentioned": [
2594
2583
  ],
2595
2584
  "variables": {
@@ -2597,22 +2586,16 @@
2597
2586
  },
2598
2587
  "dimension1": {
2599
2588
  },
2600
- "dimensionTemplate2": {
2601
- },
2602
2589
  "formulas2": {
2603
2590
  "formulas": {
2604
2591
  }
2605
2592
  },
2606
- "formulasTemplate2": {
2607
- },
2608
2593
  "gdefaults2": {
2609
2594
  },
2610
2595
  "hierarchy2": {
2611
2596
  },
2612
2597
  "math2": {
2613
2598
  },
2614
- "mathTemplate2": {
2615
- },
2616
2599
  "meta2": {
2617
2600
  },
2618
2601
  "numbers2": {
@@ -2678,6 +2661,7 @@
2678
2661
  "object",
2679
2662
  "xfx",
2680
2663
  "concept",
2664
+ "doubleQuote",
2681
2665
  "unknown",
2682
2666
  "it",
2683
2667
  "what",
@@ -2736,6 +2720,7 @@
2736
2720
  "concept",
2737
2721
  "modifies",
2738
2722
  "verby",
2723
+ "doubleQuote",
2739
2724
  "it",
2740
2725
  "pronoun",
2741
2726
  "this",
@@ -2753,9 +2738,9 @@
2753
2738
  "thisitthat",
2754
2739
  "reason",
2755
2740
  "that",
2741
+ "number",
2756
2742
  "orAble",
2757
2743
  "ifAble",
2758
- "number",
2759
2744
  "*",
2760
2745
  "mathematical_operator",
2761
2746
  "+",
@@ -2798,6 +2783,9 @@
2798
2783
  "dimension": [
2799
2784
  "concept"
2800
2785
  ],
2786
+ "doubleQuote": [
2787
+ "queryable"
2788
+ ],
2801
2789
  "fahrenheit": [
2802
2790
  "unit"
2803
2791
  ],
@@ -2929,6 +2917,8 @@
2929
2917
  },
2930
2918
  "dimension": {
2931
2919
  },
2920
+ "doubleQuote": {
2921
+ },
2932
2922
  "fahrenheit": {
2933
2923
  },
2934
2924
  "formula": {
@@ -3025,6 +3015,8 @@
3025
3015
  }
3026
3016
  },
3027
3017
  "testing2": {
3018
+ },
3019
+ "tokenize2": {
3028
3020
  }
3029
3021
  },
3030
3022
  "processed": [
@@ -3324,8 +3316,6 @@
3324
3316
  "marker": "is",
3325
3317
  "number": "many",
3326
3318
  "one": {
3327
- "default": true,
3328
- "isList": true,
3329
3319
  "level": 1,
3330
3320
  "listable": true,
3331
3321
  "marker": "list",
@@ -3334,16 +3324,16 @@
3334
3324
  "end": 30,
3335
3325
  "start": 0
3336
3326
  },
3337
- "text": "dimension and unit",
3327
+ "text": "dimension and unit are concepts",
3338
3328
  "types": [
3339
3329
  "list",
3340
- "type"
3330
+ "unknown"
3341
3331
  ],
3342
3332
  "value": [
3343
3333
  {
3344
3334
  "dead": true,
3345
- "level": 1,
3346
- "marker": "type",
3335
+ "level": 2,
3336
+ "marker": "unknown",
3347
3337
  "range": {
3348
3338
  "end": 8,
3349
3339
  "start": 0
@@ -3355,8 +3345,8 @@
3355
3345
  },
3356
3346
  {
3357
3347
  "dead": true,
3358
- "level": 1,
3359
- "marker": "type",
3348
+ "level": 2,
3349
+ "marker": "unknown",
3360
3350
  "range": {
3361
3351
  "end": 17,
3362
3352
  "start": 14
@@ -3366,8 +3356,7 @@
3366
3356
  "value": "unit",
3367
3357
  "word": "unit"
3368
3358
  }
3369
- ],
3370
- "word": "and"
3359
+ ]
3371
3360
  },
3372
3361
  "range": {
3373
3362
  "end": 30,
@@ -3376,8 +3365,7 @@
3376
3365
  "text": "dimension and unit are concepts",
3377
3366
  "topLevel": true,
3378
3367
  "touchedBy": [
3379
- "dimensionTemplate#call2",
3380
- "instance0#dimensionTemplate#call2",
3368
+ "dimension#call2",
3381
3369
  "instance0#dimension#call2"
3382
3370
  ],
3383
3371
  "two": {
@@ -3438,8 +3426,7 @@
3438
3426
  "text": "formulas are concepts",
3439
3427
  "topLevel": true,
3440
3428
  "touchedBy": [
3441
- "formulasTemplate#call2",
3442
- "instance0#formulasTemplate#call2",
3429
+ "formulas#call2",
3443
3430
  "instance0#formulas#call2",
3444
3431
  "instance0#dimension#call2"
3445
3432
  ],
@@ -3553,8 +3540,7 @@
3553
3540
  "text": "* + / and - are mathematical operators",
3554
3541
  "topLevel": true,
3555
3542
  "touchedBy": [
3556
- "mathTemplate#call2",
3557
- "instance1#mathTemplate#call2",
3543
+ "math#call2",
3558
3544
  "instance1#math#call2",
3559
3545
  "instance1#formulas#call2",
3560
3546
  "instance1#dimension#call2"
@@ -4370,13 +4356,10 @@
4370
4356
  "countable": "countable2",
4371
4357
  "dialogues": "dialogues2",
4372
4358
  "dimension": "dimension1",
4373
- "dimensionTemplate": "dimensionTemplate2",
4374
4359
  "formulas": "formulas2",
4375
- "formulasTemplate": "formulasTemplate2",
4376
4360
  "gdefaults": "gdefaults2",
4377
4361
  "hierarchy": "hierarchy2",
4378
4362
  "math": "math2",
4379
- "mathTemplate": "mathTemplate2",
4380
4363
  "meta": "meta2",
4381
4364
  "numbers": "numbers2",
4382
4365
  "pos": "pos2",
@@ -4384,7 +4367,8 @@
4384
4367
  "punctuation": "punctuation2",
4385
4368
  "sdefaults": "sdefaults2",
4386
4369
  "stm": "stm2",
4387
- "testing": "testing2"
4370
+ "testing": "testing2",
4371
+ "tokenize": "tokenize2"
4388
4372
  },
4389
4373
  "namespaced": {
4390
4374
  "comparable2": {
@@ -4398,6 +4382,7 @@
4398
4382
  "countable2": {
4399
4383
  },
4400
4384
  "dialogues2": {
4385
+ "idSuffix": "",
4401
4386
  "mentioned": [
4402
4387
  ],
4403
4388
  "variables": {
@@ -4405,22 +4390,16 @@
4405
4390
  },
4406
4391
  "dimension1": {
4407
4392
  },
4408
- "dimensionTemplate2": {
4409
- },
4410
4393
  "formulas2": {
4411
4394
  "formulas": {
4412
4395
  }
4413
4396
  },
4414
- "formulasTemplate2": {
4415
- },
4416
4397
  "gdefaults2": {
4417
4398
  },
4418
4399
  "hierarchy2": {
4419
4400
  },
4420
4401
  "math2": {
4421
4402
  },
4422
- "mathTemplate2": {
4423
- },
4424
4403
  "meta2": {
4425
4404
  },
4426
4405
  "numbers2": {
@@ -4486,6 +4465,7 @@
4486
4465
  "object",
4487
4466
  "xfx",
4488
4467
  "concept",
4468
+ "doubleQuote",
4489
4469
  "unknown",
4490
4470
  "it",
4491
4471
  "what",
@@ -4544,6 +4524,7 @@
4544
4524
  "concept",
4545
4525
  "modifies",
4546
4526
  "verby",
4527
+ "doubleQuote",
4547
4528
  "it",
4548
4529
  "pronoun",
4549
4530
  "this",
@@ -4561,9 +4542,9 @@
4561
4542
  "thisitthat",
4562
4543
  "reason",
4563
4544
  "that",
4545
+ "number",
4564
4546
  "orAble",
4565
4547
  "ifAble",
4566
- "number",
4567
4548
  "*",
4568
4549
  "mathematical_operator",
4569
4550
  "+",
@@ -4606,6 +4587,9 @@
4606
4587
  "dimension": [
4607
4588
  "concept"
4608
4589
  ],
4590
+ "doubleQuote": [
4591
+ "queryable"
4592
+ ],
4609
4593
  "fahrenheit": [
4610
4594
  "unit"
4611
4595
  ],
@@ -4737,6 +4721,8 @@
4737
4721
  },
4738
4722
  "dimension": {
4739
4723
  },
4724
+ "doubleQuote": {
4725
+ },
4740
4726
  "fahrenheit": {
4741
4727
  },
4742
4728
  "formula": {
@@ -4833,6 +4819,8 @@
4833
4819
  }
4834
4820
  },
4835
4821
  "testing2": {
4822
+ },
4823
+ "tokenize2": {
4836
4824
  }
4837
4825
  },
4838
4826
  "processed": [
@@ -5116,8 +5104,6 @@
5116
5104
  "marker": "is",
5117
5105
  "number": "many",
5118
5106
  "one": {
5119
- "default": true,
5120
- "isList": true,
5121
5107
  "level": 1,
5122
5108
  "listable": true,
5123
5109
  "marker": "list",
@@ -5126,16 +5112,16 @@
5126
5112
  "end": 30,
5127
5113
  "start": 0
5128
5114
  },
5129
- "text": "dimension and unit",
5115
+ "text": "dimension and unit are concepts",
5130
5116
  "types": [
5131
5117
  "list",
5132
- "type"
5118
+ "unknown"
5133
5119
  ],
5134
5120
  "value": [
5135
5121
  {
5136
5122
  "dead": true,
5137
- "level": 1,
5138
- "marker": "type",
5123
+ "level": 2,
5124
+ "marker": "unknown",
5139
5125
  "range": {
5140
5126
  "end": 8,
5141
5127
  "start": 0
@@ -5147,8 +5133,8 @@
5147
5133
  },
5148
5134
  {
5149
5135
  "dead": true,
5150
- "level": 1,
5151
- "marker": "type",
5136
+ "level": 2,
5137
+ "marker": "unknown",
5152
5138
  "range": {
5153
5139
  "end": 17,
5154
5140
  "start": 14
@@ -5158,8 +5144,7 @@
5158
5144
  "value": "unit",
5159
5145
  "word": "unit"
5160
5146
  }
5161
- ],
5162
- "word": "and"
5147
+ ]
5163
5148
  },
5164
5149
  "range": {
5165
5150
  "end": 30,
@@ -5168,8 +5153,7 @@
5168
5153
  "text": "dimension and unit are concepts",
5169
5154
  "topLevel": true,
5170
5155
  "touchedBy": [
5171
- "dimensionTemplate#call2",
5172
- "instance0#dimensionTemplate#call2",
5156
+ "dimension#call2",
5173
5157
  "instance0#dimension#call2"
5174
5158
  ],
5175
5159
  "two": {
@@ -5230,8 +5214,7 @@
5230
5214
  "text": "formulas are concepts",
5231
5215
  "topLevel": true,
5232
5216
  "touchedBy": [
5233
- "formulasTemplate#call2",
5234
- "instance0#formulasTemplate#call2",
5217
+ "formulas#call2",
5235
5218
  "instance0#formulas#call2",
5236
5219
  "instance0#dimension#call2"
5237
5220
  ],
@@ -5345,8 +5328,7 @@
5345
5328
  "text": "* + / and - are mathematical operators",
5346
5329
  "topLevel": true,
5347
5330
  "touchedBy": [
5348
- "mathTemplate#call2",
5349
- "instance1#mathTemplate#call2",
5331
+ "math#call2",
5350
5332
  "instance1#math#call2",
5351
5333
  "instance1#formulas#call2",
5352
5334
  "instance1#dimension#call2"
@@ -6217,13 +6199,10 @@
6217
6199
  "countable": "countable2",
6218
6200
  "dialogues": "dialogues2",
6219
6201
  "dimension": "dimension1",
6220
- "dimensionTemplate": "dimensionTemplate2",
6221
6202
  "formulas": "formulas2",
6222
- "formulasTemplate": "formulasTemplate2",
6223
6203
  "gdefaults": "gdefaults2",
6224
6204
  "hierarchy": "hierarchy2",
6225
6205
  "math": "math2",
6226
- "mathTemplate": "mathTemplate2",
6227
6206
  "meta": "meta2",
6228
6207
  "numbers": "numbers2",
6229
6208
  "pos": "pos2",
@@ -6231,7 +6210,8 @@
6231
6210
  "punctuation": "punctuation2",
6232
6211
  "sdefaults": "sdefaults2",
6233
6212
  "stm": "stm2",
6234
- "testing": "testing2"
6213
+ "testing": "testing2",
6214
+ "tokenize": "tokenize2"
6235
6215
  },
6236
6216
  "namespaced": {
6237
6217
  "comparable2": {
@@ -6245,6 +6225,7 @@
6245
6225
  "countable2": {
6246
6226
  },
6247
6227
  "dialogues2": {
6228
+ "idSuffix": "",
6248
6229
  "mentioned": [
6249
6230
  ],
6250
6231
  "variables": {
@@ -6252,22 +6233,16 @@
6252
6233
  },
6253
6234
  "dimension1": {
6254
6235
  },
6255
- "dimensionTemplate2": {
6256
- },
6257
6236
  "formulas2": {
6258
6237
  "formulas": {
6259
6238
  }
6260
6239
  },
6261
- "formulasTemplate2": {
6262
- },
6263
6240
  "gdefaults2": {
6264
6241
  },
6265
6242
  "hierarchy2": {
6266
6243
  },
6267
6244
  "math2": {
6268
6245
  },
6269
- "mathTemplate2": {
6270
- },
6271
6246
  "meta2": {
6272
6247
  },
6273
6248
  "numbers2": {
@@ -6333,6 +6308,7 @@
6333
6308
  "object",
6334
6309
  "xfx",
6335
6310
  "concept",
6311
+ "doubleQuote",
6336
6312
  "unknown",
6337
6313
  "it",
6338
6314
  "what",
@@ -6391,6 +6367,7 @@
6391
6367
  "concept",
6392
6368
  "modifies",
6393
6369
  "verby",
6370
+ "doubleQuote",
6394
6371
  "it",
6395
6372
  "pronoun",
6396
6373
  "this",
@@ -6408,9 +6385,9 @@
6408
6385
  "thisitthat",
6409
6386
  "reason",
6410
6387
  "that",
6388
+ "number",
6411
6389
  "orAble",
6412
6390
  "ifAble",
6413
- "number",
6414
6391
  "*",
6415
6392
  "mathematical_operator",
6416
6393
  "+",
@@ -6453,6 +6430,9 @@
6453
6430
  "dimension": [
6454
6431
  "concept"
6455
6432
  ],
6433
+ "doubleQuote": [
6434
+ "queryable"
6435
+ ],
6456
6436
  "fahrenheit": [
6457
6437
  "unit"
6458
6438
  ],
@@ -6584,6 +6564,8 @@
6584
6564
  },
6585
6565
  "dimension": {
6586
6566
  },
6567
+ "doubleQuote": {
6568
+ },
6587
6569
  "fahrenheit": {
6588
6570
  },
6589
6571
  "formula": {
@@ -6680,6 +6662,8 @@
6680
6662
  }
6681
6663
  },
6682
6664
  "testing2": {
6665
+ },
6666
+ "tokenize2": {
6683
6667
  }
6684
6668
  },
6685
6669
  "processed": [
@@ -6979,8 +6963,6 @@
6979
6963
  "marker": "is",
6980
6964
  "number": "many",
6981
6965
  "one": {
6982
- "default": true,
6983
- "isList": true,
6984
6966
  "level": 1,
6985
6967
  "listable": true,
6986
6968
  "marker": "list",
@@ -6989,16 +6971,16 @@
6989
6971
  "end": 30,
6990
6972
  "start": 0
6991
6973
  },
6992
- "text": "dimension and unit",
6974
+ "text": "dimension and unit are concepts",
6993
6975
  "types": [
6994
6976
  "list",
6995
- "type"
6977
+ "unknown"
6996
6978
  ],
6997
6979
  "value": [
6998
6980
  {
6999
6981
  "dead": true,
7000
- "level": 1,
7001
- "marker": "type",
6982
+ "level": 2,
6983
+ "marker": "unknown",
7002
6984
  "range": {
7003
6985
  "end": 8,
7004
6986
  "start": 0
@@ -7010,8 +6992,8 @@
7010
6992
  },
7011
6993
  {
7012
6994
  "dead": true,
7013
- "level": 1,
7014
- "marker": "type",
6995
+ "level": 2,
6996
+ "marker": "unknown",
7015
6997
  "range": {
7016
6998
  "end": 17,
7017
6999
  "start": 14
@@ -7021,8 +7003,7 @@
7021
7003
  "value": "unit",
7022
7004
  "word": "unit"
7023
7005
  }
7024
- ],
7025
- "word": "and"
7006
+ ]
7026
7007
  },
7027
7008
  "range": {
7028
7009
  "end": 30,
@@ -7031,8 +7012,7 @@
7031
7012
  "text": "dimension and unit are concepts",
7032
7013
  "topLevel": true,
7033
7014
  "touchedBy": [
7034
- "dimensionTemplate#call2",
7035
- "instance0#dimensionTemplate#call2",
7015
+ "dimension#call2",
7036
7016
  "instance0#dimension#call2"
7037
7017
  ],
7038
7018
  "two": {
@@ -7093,8 +7073,7 @@
7093
7073
  "text": "formulas are concepts",
7094
7074
  "topLevel": true,
7095
7075
  "touchedBy": [
7096
- "formulasTemplate#call2",
7097
- "instance0#formulasTemplate#call2",
7076
+ "formulas#call2",
7098
7077
  "instance0#formulas#call2",
7099
7078
  "instance0#dimension#call2"
7100
7079
  ],
@@ -7208,8 +7187,7 @@
7208
7187
  "text": "* + / and - are mathematical operators",
7209
7188
  "topLevel": true,
7210
7189
  "touchedBy": [
7211
- "mathTemplate#call2",
7212
- "instance1#mathTemplate#call2",
7190
+ "math#call2",
7213
7191
  "instance1#math#call2",
7214
7192
  "instance1#formulas#call2",
7215
7193
  "instance1#dimension#call2"
@@ -8209,13 +8187,10 @@
8209
8187
  "countable": "countable2",
8210
8188
  "dialogues": "dialogues2",
8211
8189
  "dimension": "dimension1",
8212
- "dimensionTemplate": "dimensionTemplate2",
8213
8190
  "formulas": "formulas2",
8214
- "formulasTemplate": "formulasTemplate2",
8215
8191
  "gdefaults": "gdefaults2",
8216
8192
  "hierarchy": "hierarchy2",
8217
8193
  "math": "math2",
8218
- "mathTemplate": "mathTemplate2",
8219
8194
  "meta": "meta2",
8220
8195
  "numbers": "numbers2",
8221
8196
  "pos": "pos2",
@@ -8223,7 +8198,8 @@
8223
8198
  "punctuation": "punctuation2",
8224
8199
  "sdefaults": "sdefaults2",
8225
8200
  "stm": "stm2",
8226
- "testing": "testing2"
8201
+ "testing": "testing2",
8202
+ "tokenize": "tokenize2"
8227
8203
  },
8228
8204
  "namespaced": {
8229
8205
  "comparable2": {
@@ -8237,6 +8213,7 @@
8237
8213
  "countable2": {
8238
8214
  },
8239
8215
  "dialogues2": {
8216
+ "idSuffix": "",
8240
8217
  "mentioned": [
8241
8218
  ],
8242
8219
  "variables": {
@@ -8244,22 +8221,16 @@
8244
8221
  },
8245
8222
  "dimension1": {
8246
8223
  },
8247
- "dimensionTemplate2": {
8248
- },
8249
8224
  "formulas2": {
8250
8225
  "formulas": {
8251
8226
  }
8252
8227
  },
8253
- "formulasTemplate2": {
8254
- },
8255
8228
  "gdefaults2": {
8256
8229
  },
8257
8230
  "hierarchy2": {
8258
8231
  },
8259
8232
  "math2": {
8260
8233
  },
8261
- "mathTemplate2": {
8262
- },
8263
8234
  "meta2": {
8264
8235
  },
8265
8236
  "numbers2": {
@@ -8325,6 +8296,7 @@
8325
8296
  "object",
8326
8297
  "xfx",
8327
8298
  "concept",
8299
+ "doubleQuote",
8328
8300
  "unknown",
8329
8301
  "it",
8330
8302
  "what",
@@ -8383,6 +8355,7 @@
8383
8355
  "concept",
8384
8356
  "modifies",
8385
8357
  "verby",
8358
+ "doubleQuote",
8386
8359
  "it",
8387
8360
  "pronoun",
8388
8361
  "this",
@@ -8400,9 +8373,9 @@
8400
8373
  "thisitthat",
8401
8374
  "reason",
8402
8375
  "that",
8376
+ "number",
8403
8377
  "orAble",
8404
8378
  "ifAble",
8405
- "number",
8406
8379
  "*",
8407
8380
  "mathematical_operator",
8408
8381
  "+",
@@ -8445,6 +8418,9 @@
8445
8418
  "dimension": [
8446
8419
  "concept"
8447
8420
  ],
8421
+ "doubleQuote": [
8422
+ "queryable"
8423
+ ],
8448
8424
  "fahrenheit": [
8449
8425
  "unit"
8450
8426
  ],
@@ -8576,6 +8552,8 @@
8576
8552
  },
8577
8553
  "dimension": {
8578
8554
  },
8555
+ "doubleQuote": {
8556
+ },
8579
8557
  "fahrenheit": {
8580
8558
  },
8581
8559
  "formula": {
@@ -8672,6 +8650,8 @@
8672
8650
  }
8673
8651
  },
8674
8652
  "testing2": {
8653
+ },
8654
+ "tokenize2": {
8675
8655
  }
8676
8656
  },
8677
8657
  "processed": [
@@ -9002,8 +8982,6 @@
9002
8982
  "marker": "is",
9003
8983
  "number": "many",
9004
8984
  "one": {
9005
- "default": true,
9006
- "isList": true,
9007
8985
  "level": 1,
9008
8986
  "listable": true,
9009
8987
  "marker": "list",
@@ -9012,16 +8990,16 @@
9012
8990
  "end": 30,
9013
8991
  "start": 0
9014
8992
  },
9015
- "text": "dimension and unit",
8993
+ "text": "dimension and unit are concepts",
9016
8994
  "types": [
9017
8995
  "list",
9018
- "type"
8996
+ "unknown"
9019
8997
  ],
9020
8998
  "value": [
9021
8999
  {
9022
9000
  "dead": true,
9023
- "level": 1,
9024
- "marker": "type",
9001
+ "level": 2,
9002
+ "marker": "unknown",
9025
9003
  "range": {
9026
9004
  "end": 8,
9027
9005
  "start": 0
@@ -9033,8 +9011,8 @@
9033
9011
  },
9034
9012
  {
9035
9013
  "dead": true,
9036
- "level": 1,
9037
- "marker": "type",
9014
+ "level": 2,
9015
+ "marker": "unknown",
9038
9016
  "range": {
9039
9017
  "end": 17,
9040
9018
  "start": 14
@@ -9044,8 +9022,7 @@
9044
9022
  "value": "unit",
9045
9023
  "word": "unit"
9046
9024
  }
9047
- ],
9048
- "word": "and"
9025
+ ]
9049
9026
  },
9050
9027
  "range": {
9051
9028
  "end": 30,
@@ -9054,8 +9031,7 @@
9054
9031
  "text": "dimension and unit are concepts",
9055
9032
  "topLevel": true,
9056
9033
  "touchedBy": [
9057
- "dimensionTemplate#call2",
9058
- "instance0#dimensionTemplate#call2",
9034
+ "dimension#call2",
9059
9035
  "instance0#dimension#call2"
9060
9036
  ],
9061
9037
  "two": {
@@ -9116,8 +9092,7 @@
9116
9092
  "text": "formulas are concepts",
9117
9093
  "topLevel": true,
9118
9094
  "touchedBy": [
9119
- "formulasTemplate#call2",
9120
- "instance0#formulasTemplate#call2",
9095
+ "formulas#call2",
9121
9096
  "instance0#formulas#call2",
9122
9097
  "instance0#dimension#call2"
9123
9098
  ],
@@ -9231,8 +9206,7 @@
9231
9206
  "text": "* + / and - are mathematical operators",
9232
9207
  "topLevel": true,
9233
9208
  "touchedBy": [
9234
- "mathTemplate#call2",
9235
- "instance1#mathTemplate#call2",
9209
+ "math#call2",
9236
9210
  "instance1#math#call2",
9237
9211
  "instance1#formulas#call2",
9238
9212
  "instance1#dimension#call2"
@@ -9434,20 +9408,6 @@
9434
9408
  "what",
9435
9409
  0
9436
9410
  ]
9437
- ],
9438
- [
9439
- [
9440
- "is",
9441
- 0
9442
- ],
9443
- [
9444
- "unknown",
9445
- 0
9446
- ],
9447
- [
9448
- "what",
9449
- 0
9450
- ]
9451
9411
  ]
9452
9412
  ],
9453
9413
  "config": {
@@ -9694,7 +9654,7 @@
9694
9654
  "end": 28,
9695
9655
  "start": 13
9696
9656
  },
9697
- "text": "celcius * 9 / 5 + 32",
9657
+ "text": "celcius*9/5 + 32",
9698
9658
  "types": [
9699
9659
  "number",
9700
9660
  "plusExpression"
@@ -9712,7 +9672,7 @@
9712
9672
  "end": 23,
9713
9673
  "start": 13
9714
9674
  },
9715
- "text": "celcius * 9 / 5",
9675
+ "text": "celcius*9/5",
9716
9676
  "types": [
9717
9677
  "divideByExpression",
9718
9678
  "number"
@@ -9730,7 +9690,7 @@
9730
9690
  "end": 21,
9731
9691
  "start": 13
9732
9692
  },
9733
- "text": "celcius * 9",
9693
+ "text": "celcius*9",
9734
9694
  "types": [
9735
9695
  "number",
9736
9696
  "timesExpression"
@@ -9932,7 +9892,7 @@
9932
9892
  "end": 28,
9933
9893
  "start": 13
9934
9894
  },
9935
- "text": "celcius * 9 / 5 + 32",
9895
+ "text": "celcius*9/5 + 32",
9936
9896
  "touchedBy": [
9937
9897
  "dimension#call4",
9938
9898
  "dimension#call3"
@@ -9954,7 +9914,7 @@
9954
9914
  "end": 23,
9955
9915
  "start": 13
9956
9916
  },
9957
- "text": "celcius * 9 / 5",
9917
+ "text": "celcius*9/5",
9958
9918
  "types": [
9959
9919
  "divideByExpression",
9960
9920
  "number"
@@ -9972,7 +9932,7 @@
9972
9932
  "end": 21,
9973
9933
  "start": 13
9974
9934
  },
9975
- "text": "celcius * 9",
9935
+ "text": "celcius*9",
9976
9936
  "types": [
9977
9937
  "number",
9978
9938
  "timesExpression"
@@ -11212,13 +11172,10 @@
11212
11172
  "countable": "countable2",
11213
11173
  "dialogues": "dialogues2",
11214
11174
  "dimension": "dimension1",
11215
- "dimensionTemplate": "dimensionTemplate2",
11216
11175
  "formulas": "formulas2",
11217
- "formulasTemplate": "formulasTemplate2",
11218
11176
  "gdefaults": "gdefaults2",
11219
11177
  "hierarchy": "hierarchy2",
11220
11178
  "math": "math2",
11221
- "mathTemplate": "mathTemplate2",
11222
11179
  "meta": "meta2",
11223
11180
  "numbers": "numbers2",
11224
11181
  "pos": "pos2",
@@ -11226,7 +11183,8 @@
11226
11183
  "punctuation": "punctuation2",
11227
11184
  "sdefaults": "sdefaults2",
11228
11185
  "stm": "stm2",
11229
- "testing": "testing2"
11186
+ "testing": "testing2",
11187
+ "tokenize": "tokenize2"
11230
11188
  },
11231
11189
  "namespaced": {
11232
11190
  "comparable2": {
@@ -11240,6 +11198,7 @@
11240
11198
  "countable2": {
11241
11199
  },
11242
11200
  "dialogues2": {
11201
+ "idSuffix": "",
11243
11202
  "mentioned": [
11244
11203
  ],
11245
11204
  "variables": {
@@ -11247,8 +11206,6 @@
11247
11206
  },
11248
11207
  "dimension1": {
11249
11208
  },
11250
- "dimensionTemplate2": {
11251
- },
11252
11209
  "formulas2": {
11253
11210
  "formulas": {
11254
11211
  "fahrenheit": [
@@ -11289,7 +11246,7 @@
11289
11246
  "end": 28,
11290
11247
  "start": 13
11291
11248
  },
11292
- "text": "celcius * 9 / 5 + 32",
11249
+ "text": "celcius*9/5 + 32",
11293
11250
  "types": [
11294
11251
  "number",
11295
11252
  "plusExpression"
@@ -11307,7 +11264,7 @@
11307
11264
  "end": 23,
11308
11265
  "start": 13
11309
11266
  },
11310
- "text": "celcius * 9 / 5",
11267
+ "text": "celcius*9/5",
11311
11268
  "types": [
11312
11269
  "divideByExpression",
11313
11270
  "number"
@@ -11325,7 +11282,7 @@
11325
11282
  "end": 21,
11326
11283
  "start": 13
11327
11284
  },
11328
- "text": "celcius * 9",
11285
+ "text": "celcius*9",
11329
11286
  "types": [
11330
11287
  "number",
11331
11288
  "timesExpression"
@@ -11419,7 +11376,7 @@
11419
11376
  "end": 28,
11420
11377
  "start": 13
11421
11378
  },
11422
- "text": "celcius * 9 / 5 + 32",
11379
+ "text": "celcius*9/5 + 32",
11423
11380
  "types": [
11424
11381
  "number",
11425
11382
  "plusExpression"
@@ -11437,7 +11394,7 @@
11437
11394
  "end": 23,
11438
11395
  "start": 13
11439
11396
  },
11440
- "text": "celcius * 9 / 5",
11397
+ "text": "celcius*9/5",
11441
11398
  "types": [
11442
11399
  "divideByExpression",
11443
11400
  "number"
@@ -11455,7 +11412,7 @@
11455
11412
  "end": 21,
11456
11413
  "start": 13
11457
11414
  },
11458
- "text": "celcius * 9",
11415
+ "text": "celcius*9",
11459
11416
  "types": [
11460
11417
  "number",
11461
11418
  "timesExpression"
@@ -11551,16 +11508,12 @@
11551
11508
  ]
11552
11509
  }
11553
11510
  },
11554
- "formulasTemplate2": {
11555
- },
11556
11511
  "gdefaults2": {
11557
11512
  },
11558
11513
  "hierarchy2": {
11559
11514
  },
11560
11515
  "math2": {
11561
11516
  },
11562
- "mathTemplate2": {
11563
- },
11564
11517
  "meta2": {
11565
11518
  },
11566
11519
  "numbers2": {
@@ -11626,6 +11579,7 @@
11626
11579
  "object",
11627
11580
  "xfx",
11628
11581
  "concept",
11582
+ "doubleQuote",
11629
11583
  "unknown",
11630
11584
  "it",
11631
11585
  "what",
@@ -11684,6 +11638,7 @@
11684
11638
  "concept",
11685
11639
  "modifies",
11686
11640
  "verby",
11641
+ "doubleQuote",
11687
11642
  "it",
11688
11643
  "pronoun",
11689
11644
  "this",
@@ -11701,9 +11656,9 @@
11701
11656
  "thisitthat",
11702
11657
  "reason",
11703
11658
  "that",
11659
+ "number",
11704
11660
  "orAble",
11705
11661
  "ifAble",
11706
- "number",
11707
11662
  "*",
11708
11663
  "mathematical_operator",
11709
11664
  "+",
@@ -11746,6 +11701,9 @@
11746
11701
  "dimension": [
11747
11702
  "concept"
11748
11703
  ],
11704
+ "doubleQuote": [
11705
+ "queryable"
11706
+ ],
11749
11707
  "fahrenheit": [
11750
11708
  "unit"
11751
11709
  ],
@@ -11877,6 +11835,8 @@
11877
11835
  },
11878
11836
  "dimension": {
11879
11837
  },
11838
+ "doubleQuote": {
11839
+ },
11880
11840
  "fahrenheit": {
11881
11841
  },
11882
11842
  "formula": {
@@ -11969,6 +11929,7 @@
11969
11929
  "stm2": {
11970
11930
  "mentioned": [
11971
11931
  {
11932
+ "fromSTM": true,
11972
11933
  "marker": "celcius",
11973
11934
  "pullFromContext": false,
11974
11935
  "value": {
@@ -12009,6 +11970,8 @@
12009
11970
  }
12010
11971
  },
12011
11972
  "testing2": {
11973
+ },
11974
+ "tokenize2": {
12012
11975
  }
12013
11976
  },
12014
11977
  "processed": [
@@ -12132,7 +12095,7 @@
12132
12095
  "end": 28,
12133
12096
  "start": 13
12134
12097
  },
12135
- "text": "celcius * 9 / 5 + 32",
12098
+ "text": "celcius*9/5 + 32",
12136
12099
  "touchedBy": [
12137
12100
  "dimension#call4",
12138
12101
  "dimension#call3"
@@ -12154,7 +12117,7 @@
12154
12117
  "end": 23,
12155
12118
  "start": 13
12156
12119
  },
12157
- "text": "celcius * 9 / 5",
12120
+ "text": "celcius*9/5",
12158
12121
  "types": [
12159
12122
  "divideByExpression",
12160
12123
  "number"
@@ -12172,7 +12135,7 @@
12172
12135
  "end": 21,
12173
12136
  "start": 13
12174
12137
  },
12175
- "text": "celcius * 9",
12138
+ "text": "celcius*9",
12176
12139
  "types": [
12177
12140
  "number",
12178
12141
  "timesExpression"
@@ -12542,7 +12505,7 @@
12542
12505
  "end": 28,
12543
12506
  "start": 13
12544
12507
  },
12545
- "text": "celcius * 9 / 5 + 32",
12508
+ "text": "celcius*9/5 + 32",
12546
12509
  "types": [
12547
12510
  "number",
12548
12511
  "plusExpression"
@@ -12560,7 +12523,7 @@
12560
12523
  "end": 23,
12561
12524
  "start": 13
12562
12525
  },
12563
- "text": "celcius * 9 / 5",
12526
+ "text": "celcius*9/5",
12564
12527
  "types": [
12565
12528
  "divideByExpression",
12566
12529
  "number"
@@ -12578,7 +12541,7 @@
12578
12541
  "end": 21,
12579
12542
  "start": 13
12580
12543
  },
12581
- "text": "celcius * 9",
12544
+ "text": "celcius*9",
12582
12545
  "types": [
12583
12546
  "number",
12584
12547
  "timesExpression"
@@ -12896,8 +12859,6 @@
12896
12859
  "marker": "is",
12897
12860
  "number": "many",
12898
12861
  "one": {
12899
- "default": true,
12900
- "isList": true,
12901
12862
  "level": 1,
12902
12863
  "listable": true,
12903
12864
  "marker": "list",
@@ -12906,16 +12867,16 @@
12906
12867
  "end": 30,
12907
12868
  "start": 0
12908
12869
  },
12909
- "text": "dimension and unit",
12870
+ "text": "dimension and unit are concepts",
12910
12871
  "types": [
12911
12872
  "list",
12912
- "type"
12873
+ "unknown"
12913
12874
  ],
12914
12875
  "value": [
12915
12876
  {
12916
12877
  "dead": true,
12917
- "level": 1,
12918
- "marker": "type",
12878
+ "level": 2,
12879
+ "marker": "unknown",
12919
12880
  "range": {
12920
12881
  "end": 8,
12921
12882
  "start": 0
@@ -12927,8 +12888,8 @@
12927
12888
  },
12928
12889
  {
12929
12890
  "dead": true,
12930
- "level": 1,
12931
- "marker": "type",
12891
+ "level": 2,
12892
+ "marker": "unknown",
12932
12893
  "range": {
12933
12894
  "end": 17,
12934
12895
  "start": 14
@@ -12938,8 +12899,7 @@
12938
12899
  "value": "unit",
12939
12900
  "word": "unit"
12940
12901
  }
12941
- ],
12942
- "word": "and"
12902
+ ]
12943
12903
  },
12944
12904
  "range": {
12945
12905
  "end": 30,
@@ -12948,8 +12908,7 @@
12948
12908
  "text": "dimension and unit are concepts",
12949
12909
  "topLevel": true,
12950
12910
  "touchedBy": [
12951
- "dimensionTemplate#call2",
12952
- "instance0#dimensionTemplate#call2",
12911
+ "dimension#call2",
12953
12912
  "instance0#dimension#call2"
12954
12913
  ],
12955
12914
  "two": {
@@ -13010,8 +12969,7 @@
13010
12969
  "text": "formulas are concepts",
13011
12970
  "topLevel": true,
13012
12971
  "touchedBy": [
13013
- "formulasTemplate#call2",
13014
- "instance0#formulasTemplate#call2",
12972
+ "formulas#call2",
13015
12973
  "instance0#formulas#call2",
13016
12974
  "instance0#dimension#call2"
13017
12975
  ],
@@ -13109,6 +13067,20 @@
13109
13067
  0
13110
13068
  ]
13111
13069
  ],
13070
+ [
13071
+ [
13072
+ "convertToUnits",
13073
+ 0
13074
+ ],
13075
+ [
13076
+ "is",
13077
+ 0
13078
+ ],
13079
+ [
13080
+ "what",
13081
+ 0
13082
+ ]
13083
+ ],
13112
13084
  [
13113
13085
  [
13114
13086
  "convertToUnits",
@@ -13435,7 +13407,7 @@
13435
13407
  "word": "are"
13436
13408
  },
13437
13409
  "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.'"
13410
+ "ERROR while applying (dialogues/#4) KM 'dialogues' ordinal: 4 where: \"/home/dev/code/theprogrammablemind/kms/common/dialogues.js:733\"\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:733'. 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:345: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:978: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:756: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
13411
  ],
13440
13412
  "evalue": "That is not known because there is no conversion between a1 and b1",
13441
13413
  "isResponse": true,
@@ -13477,7 +13449,9 @@
13477
13449
  }
13478
13450
  },
13479
13451
  "focusableForPhrase": true,
13480
- "marker": "reason"
13452
+ "fromSTM": true,
13453
+ "marker": "reason",
13454
+ "pullFromContext": false
13481
13455
  },
13482
13456
  "text": "[object Object]",
13483
13457
  "touchedBy": [
@@ -14025,13 +13999,10 @@
14025
13999
  "countable": "countable2",
14026
14000
  "dialogues": "dialogues2",
14027
14001
  "dimension": "dimension1",
14028
- "dimensionTemplate": "dimensionTemplate2",
14029
14002
  "formulas": "formulas2",
14030
- "formulasTemplate": "formulasTemplate2",
14031
14003
  "gdefaults": "gdefaults2",
14032
14004
  "hierarchy": "hierarchy2",
14033
14005
  "math": "math2",
14034
- "mathTemplate": "mathTemplate2",
14035
14006
  "meta": "meta2",
14036
14007
  "numbers": "numbers2",
14037
14008
  "pos": "pos2",
@@ -14039,7 +14010,8 @@
14039
14010
  "punctuation": "punctuation2",
14040
14011
  "sdefaults": "sdefaults2",
14041
14012
  "stm": "stm2",
14042
- "testing": "testing2"
14013
+ "testing": "testing2",
14014
+ "tokenize": "tokenize2"
14043
14015
  },
14044
14016
  "namespaced": {
14045
14017
  "comparable2": {
@@ -14053,6 +14025,7 @@
14053
14025
  "countable2": {
14054
14026
  },
14055
14027
  "dialogues2": {
14028
+ "idSuffix": "",
14056
14029
  "mentioned": [
14057
14030
  ],
14058
14031
  "variables": {
@@ -14060,22 +14033,16 @@
14060
14033
  },
14061
14034
  "dimension1": {
14062
14035
  },
14063
- "dimensionTemplate2": {
14064
- },
14065
14036
  "formulas2": {
14066
14037
  "formulas": {
14067
14038
  }
14068
14039
  },
14069
- "formulasTemplate2": {
14070
- },
14071
14040
  "gdefaults2": {
14072
14041
  },
14073
14042
  "hierarchy2": {
14074
14043
  },
14075
14044
  "math2": {
14076
14045
  },
14077
- "mathTemplate2": {
14078
- },
14079
14046
  "meta2": {
14080
14047
  },
14081
14048
  "numbers2": {
@@ -14141,6 +14108,7 @@
14141
14108
  "object",
14142
14109
  "xfx",
14143
14110
  "concept",
14111
+ "doubleQuote",
14144
14112
  "unknown",
14145
14113
  "it",
14146
14114
  "what",
@@ -14198,6 +14166,7 @@
14198
14166
  "concept",
14199
14167
  "modifies",
14200
14168
  "verby",
14169
+ "doubleQuote",
14201
14170
  "it",
14202
14171
  "pronoun",
14203
14172
  "this",
@@ -14215,9 +14184,9 @@
14215
14184
  "thisitthat",
14216
14185
  "reason",
14217
14186
  "that",
14187
+ "number",
14218
14188
  "orAble",
14219
14189
  "ifAble",
14220
- "number",
14221
14190
  "*",
14222
14191
  "mathematical_operator",
14223
14192
  "+",
@@ -14265,6 +14234,9 @@
14265
14234
  "dimension": [
14266
14235
  "concept"
14267
14236
  ],
14237
+ "doubleQuote": [
14238
+ "queryable"
14239
+ ],
14268
14240
  "formula": [
14269
14241
  "concept"
14270
14242
  ],
@@ -14391,6 +14363,8 @@
14391
14363
  },
14392
14364
  "dimension": {
14393
14365
  },
14366
+ "doubleQuote": {
14367
+ },
14394
14368
  "formula": {
14395
14369
  },
14396
14370
  "have": {
@@ -14513,6 +14487,7 @@
14513
14487
  }
14514
14488
  },
14515
14489
  "focusableForPhrase": true,
14490
+ "fromSTM": true,
14516
14491
  "marker": "reason",
14517
14492
  "pullFromContext": false
14518
14493
  }
@@ -14521,6 +14496,8 @@
14521
14496
  }
14522
14497
  },
14523
14498
  "testing2": {
14499
+ },
14500
+ "tokenize2": {
14524
14501
  }
14525
14502
  },
14526
14503
  "processed": [
@@ -14641,7 +14618,7 @@
14641
14618
  "word": "are"
14642
14619
  },
14643
14620
  "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.'"
14621
+ "ERROR while applying (dialogues/#4) KM 'dialogues' ordinal: 4 where: \"/home/dev/code/theprogrammablemind/kms/common/dialogues.js:733\"\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:733'. 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:345: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:978: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:756: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
14622
  ],
14646
14623
  "evalue": "That is not known because there is no conversion between a1 and b1",
14647
14624
  "isResponse": true,
@@ -14683,7 +14660,9 @@
14683
14660
  }
14684
14661
  },
14685
14662
  "focusableForPhrase": true,
14686
- "marker": "reason"
14663
+ "fromSTM": true,
14664
+ "marker": "reason",
14665
+ "pullFromContext": false
14687
14666
  },
14688
14667
  "text": "[object Object]",
14689
14668
  "touchedBy": [
@@ -14912,8 +14891,6 @@
14912
14891
  "marker": "is",
14913
14892
  "number": "many",
14914
14893
  "one": {
14915
- "default": true,
14916
- "isList": true,
14917
14894
  "level": 1,
14918
14895
  "listable": true,
14919
14896
  "marker": "list",
@@ -14922,16 +14899,16 @@
14922
14899
  "end": 30,
14923
14900
  "start": 0
14924
14901
  },
14925
- "text": "dimension and unit",
14902
+ "text": "dimension and unit are concepts",
14926
14903
  "types": [
14927
14904
  "list",
14928
- "type"
14905
+ "unknown"
14929
14906
  ],
14930
14907
  "value": [
14931
14908
  {
14932
14909
  "dead": true,
14933
- "level": 1,
14934
- "marker": "type",
14910
+ "level": 2,
14911
+ "marker": "unknown",
14935
14912
  "range": {
14936
14913
  "end": 8,
14937
14914
  "start": 0
@@ -14943,8 +14920,8 @@
14943
14920
  },
14944
14921
  {
14945
14922
  "dead": true,
14946
- "level": 1,
14947
- "marker": "type",
14923
+ "level": 2,
14924
+ "marker": "unknown",
14948
14925
  "range": {
14949
14926
  "end": 17,
14950
14927
  "start": 14
@@ -14954,8 +14931,7 @@
14954
14931
  "value": "unit",
14955
14932
  "word": "unit"
14956
14933
  }
14957
- ],
14958
- "word": "and"
14934
+ ]
14959
14935
  },
14960
14936
  "range": {
14961
14937
  "end": 30,
@@ -14964,8 +14940,7 @@
14964
14940
  "text": "dimension and unit are concepts",
14965
14941
  "topLevel": true,
14966
14942
  "touchedBy": [
14967
- "dimensionTemplate#call2",
14968
- "instance0#dimensionTemplate#call2",
14943
+ "dimension#call2",
14969
14944
  "instance0#dimension#call2"
14970
14945
  ],
14971
14946
  "two": {
@@ -15026,8 +15001,7 @@
15026
15001
  "text": "formulas are concepts",
15027
15002
  "topLevel": true,
15028
15003
  "touchedBy": [
15029
- "formulasTemplate#call2",
15030
- "instance0#formulasTemplate#call2",
15004
+ "formulas#call2",
15031
15005
  "instance0#formulas#call2",
15032
15006
  "instance0#dimension#call2"
15033
15007
  ],
@@ -15141,8 +15115,7 @@
15141
15115
  "text": "* + / and - are mathematical operators",
15142
15116
  "topLevel": true,
15143
15117
  "touchedBy": [
15144
- "mathTemplate#call2",
15145
- "instance1#mathTemplate#call2",
15118
+ "math#call2",
15146
15119
  "instance1#math#call2",
15147
15120
  "instance1#formulas#call2",
15148
15121
  "instance1#dimension#call2"
@@ -15569,7 +15542,7 @@
15569
15542
  "word": "are"
15570
15543
  },
15571
15544
  "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.'"
15545
+ "ERROR while applying (dialogues/#4) KM 'dialogues' ordinal: 4 where: \"/home/dev/code/theprogrammablemind/kms/common/dialogues.js:733\"\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:733'. 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:345: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:978: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:756: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
15546
  ],
15574
15547
  "evalue": "That is not known because there is no conversion between a1 and b1",
15575
15548
  "isResponse": true,
@@ -15611,7 +15584,9 @@
15611
15584
  }
15612
15585
  },
15613
15586
  "focusableForPhrase": true,
15614
- "marker": "reason"
15587
+ "fromSTM": true,
15588
+ "marker": "reason",
15589
+ "pullFromContext": false
15615
15590
  },
15616
15591
  "text": "[object Object]",
15617
15592
  "touchedBy": [
@@ -16462,13 +16437,10 @@
16462
16437
  "countable": "countable2",
16463
16438
  "dialogues": "dialogues2",
16464
16439
  "dimension": "dimension1",
16465
- "dimensionTemplate": "dimensionTemplate2",
16466
16440
  "formulas": "formulas2",
16467
- "formulasTemplate": "formulasTemplate2",
16468
16441
  "gdefaults": "gdefaults2",
16469
16442
  "hierarchy": "hierarchy2",
16470
16443
  "math": "math2",
16471
- "mathTemplate": "mathTemplate2",
16472
16444
  "meta": "meta2",
16473
16445
  "numbers": "numbers2",
16474
16446
  "pos": "pos2",
@@ -16476,7 +16448,8 @@
16476
16448
  "punctuation": "punctuation2",
16477
16449
  "sdefaults": "sdefaults2",
16478
16450
  "stm": "stm2",
16479
- "testing": "testing2"
16451
+ "testing": "testing2",
16452
+ "tokenize": "tokenize2"
16480
16453
  },
16481
16454
  "namespaced": {
16482
16455
  "comparable2": {
@@ -16490,6 +16463,7 @@
16490
16463
  "countable2": {
16491
16464
  },
16492
16465
  "dialogues2": {
16466
+ "idSuffix": "",
16493
16467
  "mentioned": [
16494
16468
  ],
16495
16469
  "variables": {
@@ -16497,22 +16471,16 @@
16497
16471
  },
16498
16472
  "dimension1": {
16499
16473
  },
16500
- "dimensionTemplate2": {
16501
- },
16502
16474
  "formulas2": {
16503
16475
  "formulas": {
16504
16476
  }
16505
16477
  },
16506
- "formulasTemplate2": {
16507
- },
16508
16478
  "gdefaults2": {
16509
16479
  },
16510
16480
  "hierarchy2": {
16511
16481
  },
16512
16482
  "math2": {
16513
16483
  },
16514
- "mathTemplate2": {
16515
- },
16516
16484
  "meta2": {
16517
16485
  },
16518
16486
  "numbers2": {
@@ -16578,6 +16546,7 @@
16578
16546
  "object",
16579
16547
  "xfx",
16580
16548
  "concept",
16549
+ "doubleQuote",
16581
16550
  "unknown",
16582
16551
  "it",
16583
16552
  "what",
@@ -16635,6 +16604,7 @@
16635
16604
  "concept",
16636
16605
  "modifies",
16637
16606
  "verby",
16607
+ "doubleQuote",
16638
16608
  "it",
16639
16609
  "pronoun",
16640
16610
  "this",
@@ -16652,9 +16622,9 @@
16652
16622
  "thisitthat",
16653
16623
  "reason",
16654
16624
  "that",
16625
+ "number",
16655
16626
  "orAble",
16656
16627
  "ifAble",
16657
- "number",
16658
16628
  "*",
16659
16629
  "mathematical_operator",
16660
16630
  "+",
@@ -16702,6 +16672,9 @@
16702
16672
  "dimension": [
16703
16673
  "concept"
16704
16674
  ],
16675
+ "doubleQuote": [
16676
+ "queryable"
16677
+ ],
16705
16678
  "formula": [
16706
16679
  "concept"
16707
16680
  ],
@@ -16828,6 +16801,8 @@
16828
16801
  },
16829
16802
  "dimension": {
16830
16803
  },
16804
+ "doubleQuote": {
16805
+ },
16831
16806
  "formula": {
16832
16807
  },
16833
16808
  "have": {
@@ -16950,6 +16925,7 @@
16950
16925
  }
16951
16926
  },
16952
16927
  "focusableForPhrase": true,
16928
+ "fromSTM": true,
16953
16929
  "marker": "reason",
16954
16930
  "pullFromContext": false
16955
16931
  }
@@ -16958,6 +16934,8 @@
16958
16934
  }
16959
16935
  },
16960
16936
  "testing2": {
16937
+ },
16938
+ "tokenize2": {
16961
16939
  }
16962
16940
  },
16963
16941
  "processed": [
@@ -17299,7 +17277,7 @@
17299
17277
  "word": "are"
17300
17278
  },
17301
17279
  "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.'"
17280
+ "ERROR while applying (dialogues/#4) KM 'dialogues' ordinal: 4 where: \"/home/dev/code/theprogrammablemind/kms/common/dialogues.js:733\"\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:733'. 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:345: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:978: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:756: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
17281
  ],
17304
17282
  "evalue": "That is not known because there is no conversion between a1 and b1",
17305
17283
  "isResponse": true,
@@ -17341,7 +17319,9 @@
17341
17319
  }
17342
17320
  },
17343
17321
  "focusableForPhrase": true,
17344
- "marker": "reason"
17322
+ "fromSTM": true,
17323
+ "marker": "reason",
17324
+ "pullFromContext": false
17345
17325
  },
17346
17326
  "text": "[object Object]",
17347
17327
  "touchedBy": [
@@ -17570,8 +17550,6 @@
17570
17550
  "marker": "is",
17571
17551
  "number": "many",
17572
17552
  "one": {
17573
- "default": true,
17574
- "isList": true,
17575
17553
  "level": 1,
17576
17554
  "listable": true,
17577
17555
  "marker": "list",
@@ -17580,16 +17558,16 @@
17580
17558
  "end": 30,
17581
17559
  "start": 0
17582
17560
  },
17583
- "text": "dimension and unit",
17561
+ "text": "dimension and unit are concepts",
17584
17562
  "types": [
17585
17563
  "list",
17586
- "type"
17564
+ "unknown"
17587
17565
  ],
17588
17566
  "value": [
17589
17567
  {
17590
17568
  "dead": true,
17591
- "level": 1,
17592
- "marker": "type",
17569
+ "level": 2,
17570
+ "marker": "unknown",
17593
17571
  "range": {
17594
17572
  "end": 8,
17595
17573
  "start": 0
@@ -17601,8 +17579,8 @@
17601
17579
  },
17602
17580
  {
17603
17581
  "dead": true,
17604
- "level": 1,
17605
- "marker": "type",
17582
+ "level": 2,
17583
+ "marker": "unknown",
17606
17584
  "range": {
17607
17585
  "end": 17,
17608
17586
  "start": 14
@@ -17612,8 +17590,7 @@
17612
17590
  "value": "unit",
17613
17591
  "word": "unit"
17614
17592
  }
17615
- ],
17616
- "word": "and"
17593
+ ]
17617
17594
  },
17618
17595
  "range": {
17619
17596
  "end": 30,
@@ -17622,8 +17599,7 @@
17622
17599
  "text": "dimension and unit are concepts",
17623
17600
  "topLevel": true,
17624
17601
  "touchedBy": [
17625
- "dimensionTemplate#call2",
17626
- "instance0#dimensionTemplate#call2",
17602
+ "dimension#call2",
17627
17603
  "instance0#dimension#call2"
17628
17604
  ],
17629
17605
  "two": {
@@ -17684,8 +17660,7 @@
17684
17660
  "text": "formulas are concepts",
17685
17661
  "topLevel": true,
17686
17662
  "touchedBy": [
17687
- "formulasTemplate#call2",
17688
- "instance0#formulasTemplate#call2",
17663
+ "formulas#call2",
17689
17664
  "instance0#formulas#call2",
17690
17665
  "instance0#dimension#call2"
17691
17666
  ],
@@ -18053,7 +18028,7 @@
18053
18028
  "word": "are"
18054
18029
  },
18055
18030
  "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.'"
18031
+ "ERROR while applying (dialogues/#4) KM 'dialogues' ordinal: 4 where: \"/home/dev/code/theprogrammablemind/kms/common/dialogues.js:733\"\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:733'. 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:345: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:978: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:756: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
18032
  ],
18058
18033
  "evalue": "That is not known because there is no conversion between a1 and b1",
18059
18034
  "isResponse": true,
@@ -18095,7 +18070,9 @@
18095
18070
  }
18096
18071
  },
18097
18072
  "focusableForPhrase": true,
18098
- "marker": "reason"
18073
+ "fromSTM": true,
18074
+ "marker": "reason",
18075
+ "pullFromContext": false
18099
18076
  },
18100
18077
  "text": "[object Object]",
18101
18078
  "touchedBy": [
@@ -18714,13 +18691,10 @@
18714
18691
  "countable": "countable2",
18715
18692
  "dialogues": "dialogues2",
18716
18693
  "dimension": "dimension1",
18717
- "dimensionTemplate": "dimensionTemplate2",
18718
18694
  "formulas": "formulas2",
18719
- "formulasTemplate": "formulasTemplate2",
18720
18695
  "gdefaults": "gdefaults2",
18721
18696
  "hierarchy": "hierarchy2",
18722
18697
  "math": "math2",
18723
- "mathTemplate": "mathTemplate2",
18724
18698
  "meta": "meta2",
18725
18699
  "numbers": "numbers2",
18726
18700
  "pos": "pos2",
@@ -18728,7 +18702,8 @@
18728
18702
  "punctuation": "punctuation2",
18729
18703
  "sdefaults": "sdefaults2",
18730
18704
  "stm": "stm2",
18731
- "testing": "testing2"
18705
+ "testing": "testing2",
18706
+ "tokenize": "tokenize2"
18732
18707
  },
18733
18708
  "namespaced": {
18734
18709
  "comparable2": {
@@ -18742,6 +18717,7 @@
18742
18717
  "countable2": {
18743
18718
  },
18744
18719
  "dialogues2": {
18720
+ "idSuffix": "",
18745
18721
  "mentioned": [
18746
18722
  ],
18747
18723
  "variables": {
@@ -18749,22 +18725,16 @@
18749
18725
  },
18750
18726
  "dimension1": {
18751
18727
  },
18752
- "dimensionTemplate2": {
18753
- },
18754
18728
  "formulas2": {
18755
18729
  "formulas": {
18756
18730
  }
18757
18731
  },
18758
- "formulasTemplate2": {
18759
- },
18760
18732
  "gdefaults2": {
18761
18733
  },
18762
18734
  "hierarchy2": {
18763
18735
  },
18764
18736
  "math2": {
18765
18737
  },
18766
- "mathTemplate2": {
18767
- },
18768
18738
  "meta2": {
18769
18739
  },
18770
18740
  "numbers2": {
@@ -18830,6 +18800,7 @@
18830
18800
  "object",
18831
18801
  "xfx",
18832
18802
  "concept",
18803
+ "doubleQuote",
18833
18804
  "unknown",
18834
18805
  "it",
18835
18806
  "what",
@@ -18887,6 +18858,7 @@
18887
18858
  "concept",
18888
18859
  "modifies",
18889
18860
  "verby",
18861
+ "doubleQuote",
18890
18862
  "it",
18891
18863
  "pronoun",
18892
18864
  "this",
@@ -18904,9 +18876,9 @@
18904
18876
  "thisitthat",
18905
18877
  "reason",
18906
18878
  "that",
18879
+ "number",
18907
18880
  "orAble",
18908
18881
  "ifAble",
18909
- "number",
18910
18882
  "*",
18911
18883
  "mathematical_operator",
18912
18884
  "+",
@@ -18954,6 +18926,9 @@
18954
18926
  "dimension": [
18955
18927
  "concept"
18956
18928
  ],
18929
+ "doubleQuote": [
18930
+ "queryable"
18931
+ ],
18957
18932
  "formula": [
18958
18933
  "concept"
18959
18934
  ],
@@ -19080,6 +19055,8 @@
19080
19055
  },
19081
19056
  "dimension": {
19082
19057
  },
19058
+ "doubleQuote": {
19059
+ },
19083
19060
  "formula": {
19084
19061
  },
19085
19062
  "have": {
@@ -19202,6 +19179,7 @@
19202
19179
  }
19203
19180
  },
19204
19181
  "focusableForPhrase": true,
19182
+ "fromSTM": true,
19205
19183
  "marker": "reason",
19206
19184
  "pullFromContext": false
19207
19185
  }
@@ -19210,6 +19188,8 @@
19210
19188
  }
19211
19189
  },
19212
19190
  "testing2": {
19191
+ },
19192
+ "tokenize2": {
19213
19193
  }
19214
19194
  },
19215
19195
  "processed": [
@@ -19395,7 +19375,7 @@
19395
19375
  "word": "are"
19396
19376
  },
19397
19377
  "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.'"
19378
+ "ERROR while applying (dialogues/#4) KM 'dialogues' ordinal: 4 where: \"/home/dev/code/theprogrammablemind/kms/common/dialogues.js:733\"\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:733'. 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:345: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:978: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:756: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
19379
  ],
19400
19380
  "evalue": "That is not known because there is no conversion between a1 and b1",
19401
19381
  "isResponse": true,
@@ -19437,7 +19417,9 @@
19437
19417
  }
19438
19418
  },
19439
19419
  "focusableForPhrase": true,
19440
- "marker": "reason"
19420
+ "fromSTM": true,
19421
+ "marker": "reason",
19422
+ "pullFromContext": false
19441
19423
  },
19442
19424
  "text": "[object Object]",
19443
19425
  "touchedBy": [
@@ -19666,8 +19648,6 @@
19666
19648
  "marker": "is",
19667
19649
  "number": "many",
19668
19650
  "one": {
19669
- "default": true,
19670
- "isList": true,
19671
19651
  "level": 1,
19672
19652
  "listable": true,
19673
19653
  "marker": "list",
@@ -19676,16 +19656,16 @@
19676
19656
  "end": 30,
19677
19657
  "start": 0
19678
19658
  },
19679
- "text": "dimension and unit",
19659
+ "text": "dimension and unit are concepts",
19680
19660
  "types": [
19681
19661
  "list",
19682
- "type"
19662
+ "unknown"
19683
19663
  ],
19684
19664
  "value": [
19685
19665
  {
19686
19666
  "dead": true,
19687
- "level": 1,
19688
- "marker": "type",
19667
+ "level": 2,
19668
+ "marker": "unknown",
19689
19669
  "range": {
19690
19670
  "end": 8,
19691
19671
  "start": 0
@@ -19697,8 +19677,8 @@
19697
19677
  },
19698
19678
  {
19699
19679
  "dead": true,
19700
- "level": 1,
19701
- "marker": "type",
19680
+ "level": 2,
19681
+ "marker": "unknown",
19702
19682
  "range": {
19703
19683
  "end": 17,
19704
19684
  "start": 14
@@ -19708,8 +19688,7 @@
19708
19688
  "value": "unit",
19709
19689
  "word": "unit"
19710
19690
  }
19711
- ],
19712
- "word": "and"
19691
+ ]
19713
19692
  },
19714
19693
  "range": {
19715
19694
  "end": 30,
@@ -19718,8 +19697,7 @@
19718
19697
  "text": "dimension and unit are concepts",
19719
19698
  "topLevel": true,
19720
19699
  "touchedBy": [
19721
- "dimensionTemplate#call2",
19722
- "instance0#dimensionTemplate#call2",
19700
+ "dimension#call2",
19723
19701
  "instance0#dimension#call2"
19724
19702
  ],
19725
19703
  "two": {
@@ -19780,8 +19758,7 @@
19780
19758
  "text": "formulas are concepts",
19781
19759
  "topLevel": true,
19782
19760
  "touchedBy": [
19783
- "formulasTemplate#call2",
19784
- "instance0#formulasTemplate#call2",
19761
+ "formulas#call2",
19785
19762
  "instance0#formulas#call2",
19786
19763
  "instance0#dimension#call2"
19787
19764
  ],