ekms 7.12.2-beta.5 → 7.12.3-beta.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -737,14 +737,13 @@ const createConfig = () => {
737
737
  },
738
738
  ],
739
739
  }, module)
740
- config.add(edible())
741
- config.add(countable())
742
- config.add(events())
743
- config.add(sizeable())
740
+ config.stop_auto_rebuild()
741
+ config.add(edible(), countable(), events(), sizeable())
744
742
  config.api = api
745
743
  config.initializer( ({api}) => {
746
744
  api.state = new State(api)
747
745
  })
746
+ config.restart_auto_rebuild()
748
747
  return config
749
748
  }
750
749
 
@@ -183,8 +183,10 @@ let configStruct = {
183
183
  const createConfig = () => {
184
184
  const api = new API()
185
185
  config = new Config(configStruct, module)
186
- config.add(dialogues()).add(pos()).add(math()).add(formulasTemplate())
186
+ config.stop_auto_rebuild()
187
+ config.add(dialogues(), pos(), math(), formulasTemplate())
187
188
  config.api = api
189
+ config.restart_auto_rebuild()
188
190
  return config
189
191
  }
190
192
 
@@ -12,7 +12,7 @@ const template = {
12
12
  ]
13
13
  }
14
14
 
15
- const createConfig = () => new Config({ name: 'formulasTemplate' }, module).add(base_km()).add(countable()).add(comparable())
15
+ const createConfig = () => new Config({ name: 'formulasTemplate' }, module).add(base_km(), countable(), comparable())
16
16
 
17
17
  knowledgeModule({
18
18
  module,
package/common/help.js CHANGED
@@ -79,6 +79,7 @@ const configStruct = {
79
79
 
80
80
  const createConfig = () => {
81
81
  const config = new Config(configStruct, module)
82
+ config.stop_auto_rebuild()
82
83
  config.add(dialogues())
83
84
 
84
85
  config.initializer( ({ config, addWord, kms }) => {
@@ -90,6 +91,7 @@ const createConfig = () => {
90
91
  addWord(name, {id: "km", initial: `{ value: '${name}', word: '${name}' }`})
91
92
  }
92
93
  })
94
+ config.restart_auto_rebuild()
93
95
  return config
94
96
  }
95
97
 
@@ -290,12 +290,14 @@ let configStruct = {
290
290
 
291
291
  const createConfig = () => {
292
292
  const config = new Config(configStruct, module)
293
+ config.stop_auto_rebuild()
293
294
  config.add(properties())
294
295
  config.initializer( ({apis, hierarchy}) => {
295
296
  apis('stm').addIsA( (child, parent) => {
296
297
  return hierarchy.isA(child, parent)
297
298
  })
298
299
  })
300
+ config.restart_auto_rebuild()
299
301
  return config
300
302
  }
301
303
 
@@ -60,11 +60,13 @@ let configStruct = {
60
60
 
61
61
  const createConfig = () => {
62
62
  const config = new Config(configStruct, module)
63
+ config.stop_auto_rebuild()
63
64
  config.add(dialogues())
64
65
 
65
66
  config.initializer( ({objects, uuid}) => {
66
67
  objects.variables = {}
67
68
  })
69
+ config.restart_auto_rebuild()
68
70
  return config
69
71
  }
70
72
 
package/common/math.js CHANGED
@@ -104,10 +104,7 @@ let configStruct = {
104
104
 
105
105
  const createConfig = () => {
106
106
  const config = new Config(configStruct, module)
107
- config.add(numbers());
108
- config.add(dialogues());
109
- config.add(punctuation());
110
- config.add(mathTemplate());
107
+ config.add(numbers(), dialogues(), punctuation(), mathTemplate());
111
108
  return config
112
109
  }
113
110
 
@@ -14,7 +14,7 @@ const template = {
14
14
  }
15
15
 
16
16
  const createConfig = () => {
17
- return new Config({ name: 'mathTemplate' }, module).add(base_km()).add(countable()).add(comparable())
17
+ return new Config({ name: 'mathTemplate' }, module).add(base_km(), countable(), comparable())
18
18
  }
19
19
 
20
20
  knowledgeModule({
@@ -34,6 +34,7 @@ const api = new API();
34
34
  */
35
35
  const createConfig = () => {
36
36
  const config = new Config({ name: 'ordering' }, module)
37
+ config.stop_auto_rebuild()
37
38
  config.api = api
38
39
  config.add(hierarchy())
39
40
  // config.load(template, ordering_instance)
@@ -113,6 +114,7 @@ const createConfig = () => {
113
114
  })
114
115
  */
115
116
  })
117
+ config.restart_auto_rebuild()
116
118
  return config
117
119
  }
118
120
 
@@ -4043,36 +4043,6 @@
4043
4043
  0
4044
4044
  ]
4045
4045
  ],
4046
- [
4047
- [
4048
- "by",
4049
- 0
4050
- ],
4051
- [
4052
- "isEd",
4053
- 0
4054
- ],
4055
- [
4056
- "means",
4057
- 0
4058
- ],
4059
- [
4060
- "owned",
4061
- 0
4062
- ],
4063
- [
4064
- "ownee",
4065
- 0
4066
- ],
4067
- [
4068
- "owner",
4069
- 0
4070
- ],
4071
- [
4072
- "owns",
4073
- 0
4074
- ]
4075
- ],
4076
4046
  [
4077
4047
  [
4078
4048
  "by",
@@ -6037,36 +6007,6 @@
6037
6007
  0
6038
6008
  ]
6039
6009
  ],
6040
- [
6041
- [
6042
- "by",
6043
- 0
6044
- ],
6045
- [
6046
- "isEd",
6047
- 0
6048
- ],
6049
- [
6050
- "means",
6051
- 0
6052
- ],
6053
- [
6054
- "owned",
6055
- 0
6056
- ],
6057
- [
6058
- "ownee",
6059
- 0
6060
- ],
6061
- [
6062
- "owner",
6063
- 0
6064
- ],
6065
- [
6066
- "owns",
6067
- 0
6068
- ]
6069
- ],
6070
6010
  [
6071
6011
  [
6072
6012
  "by",
package/common/people.js CHANGED
@@ -47,6 +47,7 @@ let configStruct = {
47
47
 
48
48
  const createConfig = () => {
49
49
  const config = new Config(configStruct, module)
50
+ config.stop_auto_rebuild()
50
51
  config.add(hierarchy())
51
52
  config.initializer( ({baseConfig, context, apis, isModule}) => {
52
53
  // const api = km('properties').api
@@ -66,6 +67,7 @@ const createConfig = () => {
66
67
  })
67
68
 
68
69
  })
70
+ config.restart_auto_rebuild()
69
71
  return config
70
72
  }
71
73
 
package/common/pipboy.js CHANGED
@@ -503,11 +503,13 @@ addWeapon('rifle')
503
503
 
504
504
  const createConfig = () => {
505
505
  const config = new Config(configStruct, module)
506
+ config.stop_auto_rebuild()
506
507
  //console.log('base_km.config.hierarchy', JSON.stringify(base_km.config.hierarchy, null, 2))
507
- config.add(base_km()).add(countable()).add(comparable()).add(help()).add(math())
508
+ config.add(base_km(), countable(), comparable(), help(), math())
508
509
  // console.log('config.config.hierarchy', JSON.stringify(config.config.hierarchy, null, 2))
509
510
  // console.log('config.hierarchy', config.hierarchy)
510
511
  config.api = api
512
+ config.restart_auto_rebuild()
511
513
  return config
512
514
  }
513
515
 
@@ -24420,6 +24420,7 @@
24420
24420
  "word": "apply"
24421
24421
  }
24422
24422
  ],
24423
+ "developerTest": false,
24423
24424
  "generatedParenthesized": [
24424
24425
  ""
24425
24426
  ],
@@ -24667,7 +24668,8 @@
24667
24668
  "whatAble",
24668
24669
  "this",
24669
24670
  "thisitthat",
24670
- "reason"
24671
+ "reason",
24672
+ "number"
24671
24673
  ],
24672
24674
  "takeable": [
24673
24675
  "medicine",
@@ -24747,6 +24749,7 @@
24747
24749
  "that",
24748
24750
  "orAble",
24749
24751
  "ifAble",
24752
+ "number",
24750
24753
  "*",
24751
24754
  "mathematical_operator",
24752
24755
  "+",
@@ -24897,6 +24900,9 @@
24897
24900
  "noun": [
24898
24901
  "theAble"
24899
24902
  ],
24903
+ "number": [
24904
+ "queryable"
24905
+ ],
24900
24906
  "object": [
24901
24907
  "queryable",
24902
24908
  "theAble"
@@ -25080,6 +25086,8 @@
25080
25086
  },
25081
25087
  "noun": {
25082
25088
  },
25089
+ "number": {
25090
+ },
25083
25091
  "object": {
25084
25092
  },
25085
25093
  "orAble": {
@@ -25226,8 +25234,8 @@
25226
25234
  "word": "apply"
25227
25235
  },
25228
25236
  "generatedParenthesized": "",
25229
- "paraphrases": "apply 4 stimpacks",
25230
- "paraphrasesParenthesized": "(apply ((4) (stimpacks)))",
25237
+ "paraphrases": "apply four stimpacks",
25238
+ "paraphrasesParenthesized": "(apply ((four) (stimpacks)))",
25231
25239
  "responses": [
25232
25240
  ""
25233
25241
  ]
@@ -25750,10 +25758,10 @@
25750
25758
  ]
25751
25759
  },
25752
25760
  "paraphrases": [
25753
- "apply 4 stimpacks"
25761
+ "apply four stimpacks"
25754
25762
  ],
25755
25763
  "paraphrasesParenthesized": [
25756
- "(apply ((4) (stimpacks)))"
25764
+ "(apply ((four) (stimpacks)))"
25757
25765
  ],
25758
25766
  "query": "apply four stimpacks",
25759
25767
  "responses": [
@@ -31,7 +31,7 @@ const template = {
31
31
  ]
32
32
  }
33
33
 
34
- const createConfig = () => new Config({ name: 'pipboyTemplate' }, module).add(base_km()).add(countable()).add(comparable())
34
+ const createConfig = () => new Config({ name: 'pipboyTemplate' }, module).add(base_km(), countable(), comparable())
35
35
 
36
36
  knowledgeModule({
37
37
  module,
package/common/pokemon.js CHANGED
@@ -39,6 +39,7 @@ const createConfig = () => {
39
39
  // ['pokemon', 'whatAble'],
40
40
  ],
41
41
  })
42
+ config.stop_auto_rebuild()
42
43
  config.add(hierarchy())
43
44
  config.initializer( ({config, apis}) => {
44
45
  const api = apis('properties')
@@ -61,6 +62,7 @@ const createConfig = () => {
61
62
  config
62
63
  })
63
64
  })
65
+ config.restart_auto_rebuild()
64
66
  // config.load(template, pokemon_instance)
65
67
  return config
66
68
  }
@@ -687,10 +687,10 @@ let configStruct = {
687
687
 
688
688
  const createConfig = () => {
689
689
  const config = new Config(configStruct, module)
690
+ config.stop_auto_rebuild()
690
691
  config.api = api
691
- config.add(concept())
692
- config.add(meta())
693
- config.add(dialogues())
692
+ config.add(concept(), meta(), dialogues())
693
+ config.restart_auto_rebuild()
694
694
  return config
695
695
  }
696
696
 
@@ -780,7 +780,7 @@
780
780
  }
781
781
  ]
782
782
  },
783
- "trace": "\n\n>>>>>>>>>>>>> Counter 1\n 0. price/0 (1, 0) - \"price\"\n {\n default: true\n marker: Operator(price/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 1. list/0 (1, 1) - \"and\"\n {\n default: true\n marker: Operator(list/0, PASS, [\"Selector(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }'), , same/(), [Type(variable: 'type')]<==>[Type(variable: 'type')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({}) bridge(bridge))\n range: {'start': 6, 'end': 8}\n text: \"and\"\n word: \"and\"\n }\n 2. quantity/0 (1, 2) - \"quantity\"\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n 3. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 4. property/0 (1, 5) - \"properties\"\n {\n default: true\n marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=0) is Context({default: True, marker: Operator(price/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 0, 'end': 4}, text: price, value: price, word: price})\n\n>>>>>>>>>>>>> Counter 2\n *0. price/1 (dead) (2, 0) - \"price\"\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 1. list/0 (1, 1) - \"and\"\n {\n default: true\n marker: Operator(list/0, PASS, [\"Selector(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }'), , same/(), [Type(variable: 'type')]<==>[Type(variable: 'type')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({'type': ['quantity', 'object', 'number', 'queryable', 'hierarchyAble', 'quantifier', 'property', 'theAble', 'unknown', 'notAble']}) bridge(bridge))\n range: {'start': 6, 'end': 8}\n text: \"and\"\n types: [\n ]\n word: \"and\"\n }\n 2. quantity/0 (1, 2) - \"quantity\"\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n 3. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 4. property/0 (1, 5) - \"properties\"\n {\n default: true\n marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=1) is Context({default: True, marker: Operator(list/0, PASS, [\"Selector(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }'), , same/(), [Type(variable: 'type')]<==>[Type(variable: 'type')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({'type': ['quantity', 'object', 'number', 'queryable', 'hierarchyAble', 'quantifier', 'property', 'theAble', 'unknown', 'notAble']}) bridge(bridge)), range: {'start': 6, 'end': 8}, text: and, types: [], word: and})\n\n>>>>>>>>>>>>> Counter 3\n *0. list/1 (3, 0) - \"price and quantity\"\n {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['quantity', 'object', 'number', 'queryable', 'hierarchyAble', 'quantifier', 'property', 'theAble', 'unknown', 'notAble']}) bridge(bridge))\n range: {'start': 0, 'end': 17}\n text: \"price and quantity\"\n types: [\n ]\n value: [\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n 1. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 2. property/0 (1, 5) - \"properties\"\n {\n default: true\n marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=2) is Context({default: True, marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 23, 'end': 32}, text: properties, word: properties})\n\n>>>>>>>>>>>>> Counter 4\n 0. list/1 (3, 0) - \"price and quantity\"\n {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['quantity', 'object', 'number', 'queryable', 'hierarchyAble', 'quantifier', 'property', 'theAble', 'unknown', 'notAble']}) bridge(bridge))\n range: {'start': 0, 'end': 17}\n text: \"price and quantity\"\n types: [\n ]\n value: [\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n 1. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n *2. property/1 (dead) (2, 1) - \"properties\"\n {\n dead: true\n default: true\n marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=1) is Context({marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge)), number: many, range: {'start': 19, 'end': 21}, text: are, word: are})\n\n>>>>>>>>>>>>> Counter 5\n *0. is/1 (4, 0) - \"price and quantity are properties\"\n {\n marker: Operator(is/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n number: \"many\"\n one: {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['quantity', 'object', 'number', 'queryable', 'hierarchyAble', 'quantifier', 'property', 'theAble', 'unknown', 'notAble']}) bridge(bridge))\n number: \"many\"\n range: {'start': 0, 'end': 32}\n text: \"price and quantity\"\n types: [\n 'price'\n ]\n value: [\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n\n range: {'start': 0, 'end': 32}\n text: \"price and quantity are properties\"\n two: {\n dead: true\n default: true\n marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n types: [\n 'property'\n ]\n word: \"properties\"\n }\n\n word: \"are\"\n }\n<<<<<<<<<<<<<\nNext Op (index=0) is Context({marker: Operator(is/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), number: many, one: Context({default: True, isList: True, listable: True, marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['quantity', 'object', 'number', 'queryable', 'hierarchyAble', 'quantifier', 'property', 'theAble', 'unknown', 'notAble']}) bridge(bridge)), number: many, range: {'start': 0, 'end': 32}, text: price and quantity, types: ['price'], value: [Context({dead: True, default: True, marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)), range: {'start': 0, 'end': 4}, text: price, value: price, word: price}), Context({default: True, marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 10, 'end': 17}, text: quantity, value: quantity, word: quantity})], word: and}), range: {'start': 0, 'end': 32}, text: price and quantity are properties, two: Context({dead: True, default: True, marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)), range: {'start': 23, 'end': 32}, text: properties, types: ['property'], word: properties}), word: are})\n\n>>>>>>>>>>>>> Counter 6\n *0. is/2 (dead) (5, 0) - \"price and quantity are properties\"\n {\n dead: true\n marker: Operator(is/2, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n number: \"many\"\n one: {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['quantity', 'object', 'number', 'queryable', 'hierarchyAble', 'quantifier', 'property', 'theAble', 'unknown', 'notAble']}) bridge(bridge))\n number: \"many\"\n range: {'start': 0, 'end': 32}\n text: \"price and quantity\"\n types: [\n 'price'\n ]\n value: [\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n\n range: {'start': 0, 'end': 32}\n text: \"price and quantity are properties\"\n two: {\n dead: true\n default: true\n marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n types: [\n 'property'\n ]\n word: \"properties\"\n }\n\n word: \"are\"\n }\n<<<<<<<<<<<<<\n",
783
+ "trace": "\n\n>>>>>>>>>>>>> Counter 1\n 0. price/0 (1, 0) - \"price\"\n {\n default: true\n marker: Operator(price/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 1. list/0 (1, 1) - \"and\"\n {\n default: true\n marker: Operator(list/0, PASS, [\"Selector(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }'), , same/(), [Type(variable: 'type')]<==>[Type(variable: 'type')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({}) bridge(bridge))\n range: {'start': 6, 'end': 8}\n text: \"and\"\n word: \"and\"\n }\n 2. quantity/0 (1, 2) - \"quantity\"\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n 3. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 4. property/0 (1, 5) - \"properties\"\n {\n default: true\n marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=0) is Context({default: True, marker: Operator(price/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 0, 'end': 4}, text: price, value: price, word: price})\n\n>>>>>>>>>>>>> Counter 2\n *0. price/1 (dead) (2, 0) - \"price\"\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 1. list/0 (1, 1) - \"and\"\n {\n default: true\n marker: Operator(list/0, PASS, [\"Selector(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }'), , same/(), [Type(variable: 'type')]<==>[Type(variable: 'type')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({'type': ['theAble', 'object', 'number', 'hierarchyAble', 'quantifier', 'queryable', 'unknown', 'notAble', 'quantity', 'property']}) bridge(bridge))\n range: {'start': 6, 'end': 8}\n text: \"and\"\n types: [\n ]\n word: \"and\"\n }\n 2. quantity/0 (1, 2) - \"quantity\"\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n 3. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 4. property/0 (1, 5) - \"properties\"\n {\n default: true\n marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=1) is Context({default: True, marker: Operator(list/0, PASS, [\"Selector(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }'), , same/(), [Type(variable: 'type')]<==>[Type(variable: 'type')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({'type': ['theAble', 'object', 'number', 'hierarchyAble', 'quantifier', 'queryable', 'unknown', 'notAble', 'quantity', 'property']}) bridge(bridge)), range: {'start': 6, 'end': 8}, text: and, types: [], word: and})\n\n>>>>>>>>>>>>> Counter 3\n *0. list/1 (3, 0) - \"price and quantity\"\n {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['theAble', 'object', 'number', 'hierarchyAble', 'quantifier', 'queryable', 'unknown', 'notAble', 'quantity', 'property']}) bridge(bridge))\n range: {'start': 0, 'end': 17}\n text: \"price and quantity\"\n types: [\n ]\n value: [\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n 1. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 2. property/0 (1, 5) - \"properties\"\n {\n default: true\n marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=2) is Context({default: True, marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 23, 'end': 32}, text: properties, word: properties})\n\n>>>>>>>>>>>>> Counter 4\n 0. list/1 (3, 0) - \"price and quantity\"\n {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['theAble', 'object', 'number', 'hierarchyAble', 'quantifier', 'queryable', 'unknown', 'notAble', 'quantity', 'property']}) bridge(bridge))\n range: {'start': 0, 'end': 17}\n text: \"price and quantity\"\n types: [\n ]\n value: [\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n 1. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n *2. property/1 (dead) (2, 1) - \"properties\"\n {\n dead: true\n default: true\n marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=1) is Context({marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge)), number: many, range: {'start': 19, 'end': 21}, text: are, word: are})\n\n>>>>>>>>>>>>> Counter 5\n *0. is/1 (4, 0) - \"price and quantity are properties\"\n {\n marker: Operator(is/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n number: \"many\"\n one: {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['theAble', 'object', 'number', 'hierarchyAble', 'quantifier', 'queryable', 'unknown', 'notAble', 'quantity', 'property']}) bridge(bridge))\n number: \"many\"\n range: {'start': 0, 'end': 32}\n text: \"price and quantity\"\n types: [\n 'price'\n ]\n value: [\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n\n range: {'start': 0, 'end': 32}\n text: \"price and quantity are properties\"\n two: {\n dead: true\n default: true\n marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n types: [\n 'property'\n ]\n word: \"properties\"\n }\n\n word: \"are\"\n }\n<<<<<<<<<<<<<\nNext Op (index=0) is Context({marker: Operator(is/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), number: many, one: Context({default: True, isList: True, listable: True, marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['theAble', 'object', 'number', 'hierarchyAble', 'quantifier', 'queryable', 'unknown', 'notAble', 'quantity', 'property']}) bridge(bridge)), number: many, range: {'start': 0, 'end': 32}, text: price and quantity, types: ['price'], value: [Context({dead: True, default: True, marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)), range: {'start': 0, 'end': 4}, text: price, value: price, word: price}), Context({default: True, marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 10, 'end': 17}, text: quantity, value: quantity, word: quantity})], word: and}), range: {'start': 0, 'end': 32}, text: price and quantity are properties, two: Context({dead: True, default: True, marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)), range: {'start': 23, 'end': 32}, text: properties, types: ['property'], word: properties}), word: are})\n\n>>>>>>>>>>>>> Counter 6\n *0. is/2 (dead) (5, 0) - \"price and quantity are properties\"\n {\n dead: true\n marker: Operator(is/2, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n number: \"many\"\n one: {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['theAble', 'object', 'number', 'hierarchyAble', 'quantifier', 'queryable', 'unknown', 'notAble', 'quantity', 'property']}) bridge(bridge))\n number: \"many\"\n range: {'start': 0, 'end': 32}\n text: \"price and quantity\"\n types: [\n 'price'\n ]\n value: [\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n\n range: {'start': 0, 'end': 32}\n text: \"price and quantity are properties\"\n two: {\n dead: true\n default: true\n marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n types: [\n 'property'\n ]\n word: \"properties\"\n }\n\n word: \"are\"\n }\n<<<<<<<<<<<<<\n",
784
784
  "contexts": [
785
785
  {
786
786
  "number": "many",
package/common/reports.js CHANGED
@@ -604,7 +604,9 @@ const initializeApi = (config, api, km) => {
604
604
  }
605
605
 
606
606
  const createConfig = () => {
607
- const config = new Config(configStruct, module).add(currencyKM()).add(helpKM()).add(math()).add(events())
607
+ const config = new Config(configStruct, module).
608
+ config.stop_auto_rebuild()
609
+ config.add(currencyKM(), helpKM(), math(), events())
608
610
  config.multiApi = initializeApi
609
611
  // mode this to non-module init only
610
612
  config.initializer(({config, objects, km, isModule}) => {
@@ -622,6 +624,7 @@ const createConfig = () => {
622
624
  objects.listings[id].api = 'clothes'
623
625
  }
624
626
  })
627
+ config.restart_auto_rebuild()
625
628
  return config
626
629
  }
627
630
 
@@ -350,9 +350,8 @@ let configStruct = {
350
350
 
351
351
  const createConfig = () => {
352
352
  const config = new Config(configStruct, module)
353
- config.add(dialogues())
354
- config.add(numbers())
355
- config.add(properties())
353
+ config.stop_auto_rebuild()
354
+ config.add(dialogues(), numbers(), properties())
356
355
  config.initializer( ({objects, km, isModule}) => {
357
356
  objects.players = []
358
357
  objects.nextPlayer = undefined;
@@ -361,6 +360,7 @@ const createConfig = () => {
361
360
  objects.winningScore = null
362
361
  objects.allPlayersAreKnown = false;
363
362
  })
363
+ config.restart_auto_rebuild()
364
364
  return config
365
365
  }
366
366
 
@@ -49,7 +49,7 @@ let configStruct = {
49
49
 
50
50
  const createConfig = () => {
51
51
  const config = new Config(configStruct, module)
52
- config.add(dialogues()).add(numbers())
52
+ config.add(dialogues(), numbers())
53
53
  return config
54
54
  }
55
55
 
package/common/stgame.js CHANGED
@@ -74,8 +74,10 @@ const createConfig = () => {
74
74
  bridges: [ { id: 'a', level: 0, bridge: "{ ...next(operator) }" } ],
75
75
  words: {"?": [{"id": "a", "initial": "{}" }]},
76
76
  }, module)
77
+ config.stop_auto_rebuild()
77
78
  config.api = api
78
79
  config.add(characters)
80
+ config.restart_auto_rebuild()
79
81
  return config
80
82
  }
81
83
 
package/common/tell.js CHANGED
@@ -98,6 +98,7 @@ let configStruct = {
98
98
 
99
99
  const createConfig = () => {
100
100
  const config = new Config(configStruct, module)
101
+ config.stop_auto_rebuild()
101
102
  config.api = api
102
103
  config.add(dialogues())
103
104
  config.initializer( ({config, isModule}) => {
@@ -110,6 +111,7 @@ const createConfig = () => {
110
111
  })
111
112
  }
112
113
  })
114
+ config.restart_auto_rebuild()
113
115
  return config
114
116
  }
115
117