ekms 8.0.0-beta.9 → 8.0.0-beta.91

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/common/animals.instance.json +2915 -1553
  2. package/common/animals.js +17 -20
  3. package/common/articles.js +103 -0
  4. package/common/articles.test.json +310 -0
  5. package/common/asking.instance.json +2 -0
  6. package/common/asking.js +253 -0
  7. package/common/asking.test.json +2290 -0
  8. package/common/avatar.js +6 -10
  9. package/common/characters.js +23 -29
  10. package/common/colors.instance.json +7487 -4114
  11. package/common/colors.js +5 -9
  12. package/common/colors.test.json +345 -780
  13. package/common/comparable.instance.json +1750 -0
  14. package/common/comparable.js +36 -28
  15. package/common/comparable.test.json +1196 -2
  16. package/common/concept.js +121 -119
  17. package/common/conjunction.instance.json +2 -0
  18. package/common/conjunction.js +104 -0
  19. package/common/conjunction.test.json +322 -0
  20. package/common/countable.js +20 -14
  21. package/common/countable.test.json +1050 -0
  22. package/common/crew.instance.json +13553 -7026
  23. package/common/crew.js +37 -42
  24. package/common/crew.test.json +714 -452
  25. package/common/currency.js +28 -46
  26. package/common/dialogues.js +150 -426
  27. package/common/dialogues.test.json +0 -786
  28. package/common/dimension.instance.json +491 -262
  29. package/common/dimension.js +22 -24
  30. package/common/dimension.test.json +508 -1702
  31. package/common/edible.instance.json +20446 -10806
  32. package/common/edible.js +4 -9
  33. package/common/emotions.instance.json +192 -124
  34. package/common/emotions.js +36 -39
  35. package/common/evaluate.instance.json +2 -0
  36. package/common/evaluate.js +53 -0
  37. package/common/evaluate.test.json +574 -0
  38. package/common/events.js +11 -15
  39. package/common/fastfood.instance.json +222642 -113618
  40. package/common/fastfood.js +76 -86
  41. package/common/fastfood.test.json +268 -90
  42. package/common/formulas.instance.json +443 -247
  43. package/common/formulas.js +20 -27
  44. package/common/gdefaults.js +40 -27
  45. package/common/help.js +9 -14
  46. package/common/help.test.json +65 -16
  47. package/common/helpers/concept.js +10 -7
  48. package/common/helpers/dialogues.js +5 -3
  49. package/common/helpers/properties.js +67 -64
  50. package/common/helpers.js +35 -24
  51. package/common/hierarchy.js +17 -25
  52. package/common/javascript.js +12 -19
  53. package/common/kirk.instance.json +583 -299
  54. package/common/kirk.js +6 -9
  55. package/common/length.instance.json +9005 -5001
  56. package/common/length.js +5 -9
  57. package/common/listener.js +48 -0
  58. package/common/listener.test.json +104 -0
  59. package/common/math.instance.json +406 -1178
  60. package/common/math.js +17 -21
  61. package/common/meta.js +24 -48
  62. package/common/nameable.instance.json +2 -0
  63. package/common/nameable.js +144 -0
  64. package/common/nameable.test.json +3191 -0
  65. package/common/negation.js +11 -7
  66. package/common/numbers.js +28 -32
  67. package/common/ordering.instance.json +443 -343
  68. package/common/ordering.js +81 -87
  69. package/common/ordinals.instance.json +2 -0
  70. package/common/ordinals.js +60 -0
  71. package/common/ordinals.test.json +306 -0
  72. package/common/people.instance.json +2210 -1150
  73. package/common/people.js +9 -14
  74. package/common/percentages.instance.json +2 -0
  75. package/common/percentages.js +53 -0
  76. package/common/percentages.test.json +751 -0
  77. package/common/pipboy.instance.json +11845 -6590
  78. package/common/pipboy.js +53 -62
  79. package/common/pipboy.test.json +2835 -0
  80. package/common/pokemon.instance.json +4300 -2285
  81. package/common/pokemon.js +8 -21
  82. package/common/pos.js +16 -14
  83. package/common/pressure.instance.json +2325 -1340
  84. package/common/pressure.js +5 -9
  85. package/common/properties.instance.json +148 -88
  86. package/common/properties.js +149 -160
  87. package/common/punctuation.js +16 -8
  88. package/common/reports.instance.json +1019 -551
  89. package/common/reports.js +77 -101
  90. package/common/reports.test.json +15623 -10458
  91. package/common/scorekeeper.js +19 -31
  92. package/common/sdefaults.js +17 -8
  93. package/common/sizeable.js +7 -11
  94. package/common/spock.instance.json +582 -298
  95. package/common/spock.js +6 -9
  96. package/common/stgame.js +20 -20
  97. package/common/stm.js +173 -31
  98. package/common/stm.test.json +1734 -1
  99. package/common/tell.js +15 -19
  100. package/common/temperature.instance.json +2430 -1429
  101. package/common/temperature.js +5 -9
  102. package/common/tester.js +15 -4
  103. package/common/testing.js +8 -12
  104. package/common/time.js +21 -26
  105. package/common/tokenize.js +6 -7
  106. package/common/ui.instance.json +150 -463
  107. package/common/ui.js +22 -33
  108. package/common/ui.test.json +641 -5357
  109. package/common/weight.instance.json +8034 -4503
  110. package/common/weight.js +5 -9
  111. package/common/yesno.js +6 -6
  112. package/main.js +20 -4
  113. package/package.json +37 -6
@@ -1,4 +1,4 @@
1
- const { Config, knowledgeModule, where, Digraph } = require('./runtime').theprogrammablemind
1
+ const { knowledgeModule, where, Digraph } = require('./runtime').theprogrammablemind
2
2
  const { defaultContextCheck } = require('./helpers')
3
3
  const hierarchy = require('./hierarchy.js')
4
4
  const formulas = require('./formulas.js')
@@ -36,7 +36,7 @@ class API {
36
36
  config.addBridge({
37
37
  id: dimension,
38
38
  isA: ['dimension'],
39
- generatorp: ({context, g}) => context.amount ? `${g(context.amount)} ${g(context.unit)}` : context.word,
39
+ generatorp: async ({context, g}) => context.amount ? `${await g(context.amount)} ${await g(context.unit)}` : context.word,
40
40
  })
41
41
 
42
42
  // for example, celcius and fahrenheit
@@ -52,7 +52,7 @@ class API {
52
52
 
53
53
  const api = new API()
54
54
 
55
- let configStruct = {
55
+ let config = {
56
56
  name: 'dimension',
57
57
  operators: [
58
58
  "([dimension])",
@@ -76,7 +76,7 @@ let configStruct = {
76
76
  {
77
77
  where: where(),
78
78
  match: ({context}) => context.marker == 'noconversion',
79
- apply: ({context, gp}) => `there is no conversion between ${gp(context.from)} and ${gp(context.to)}`,
79
+ apply: async ({context, gp}) => `there is no conversion between ${await gp(context.from)} and ${await gp(context.to)}`,
80
80
  },
81
81
  ],
82
82
  bridges: [
@@ -86,7 +86,7 @@ let configStruct = {
86
86
  isA: [],
87
87
  generatorpr: {
88
88
  match: ({context}) => context.amount,
89
- apply: ({context, g, gp, gr}) => `${gr(context.amount)} ${gp(context.unit)}`,
89
+ apply: async ({context, gp, gr}) => `${await gr(context.amount)} ${await gp(context.unit)}`,
90
90
  },
91
91
  },
92
92
  { id: "length", isA: ['dimension'], development: true },
@@ -105,7 +105,7 @@ let configStruct = {
105
105
  id: "degree",
106
106
  words: [{ word: 'degrees', number: 'many' }],
107
107
  isA: ['amount'],
108
- generatorp: ({context, g}) => (context.amount) ? `${g(context.amount)} ${context.word}` : context.word,
108
+ generatorp: async ({context, g}) => (context.amount) ? `${await g(context.amount)} ${context.word}` : context.word,
109
109
  bridge: "{ ...next(operator), value: before[0].value, amount: before[0] }",
110
110
  },
111
111
  {
@@ -118,10 +118,11 @@ let configStruct = {
118
118
  id: "convertToUnits",
119
119
  bridge: "{ ...next(operator), from: before[0], to: after[0] }",
120
120
  isA: ['expression', 'queryable'],
121
+ localHierarchy: [['unknown', 'dimension']],
121
122
  after: [['possession', 0], ['possession', 1]],
122
- generatorp: ({context, g}) => `${g(context.from)} ${context.word} ${g(context.to)}`,
123
+ generatorp: async ({context, g}) => `${await g(context.from)} ${context.word} ${await g(context.to)}`,
123
124
  // evaluator: ({context, kms, error}) => {
124
- evaluator: ({context, kms, e, error}) => {
125
+ evaluator: async ({context, kms, e, error}) => {
125
126
  /*
126
127
  error(({context, e}) => {
127
128
  context.evalue = 'dont know...'
@@ -132,7 +133,7 @@ let configStruct = {
132
133
  let evalue;
133
134
  let efrom = from
134
135
  if (!from.unit) {
135
- efrom = e(from).evalue
136
+ efrom = (await e(from)).evalue
136
137
  }
137
138
  if (to.value == efrom.unit.value) {
138
139
  evalue = efrom.amount
@@ -140,11 +141,11 @@ let configStruct = {
140
141
  const formula = kms.formulas.api.get(to, [efrom.unit])
141
142
  if (!formula) {
142
143
  const reason = { marker: 'reason', focusableForPhrase: true, evalue: { marker: 'noconversion', from: efrom.unit, to } }
143
- kms.stm.api.mentioned(reason)
144
+ kms.stm.api.mentioned({ context: reason })
144
145
  error(reason)
145
146
  }
146
147
  kms.stm.api.setVariable(efrom.unit.value, efrom.amount)
147
- evalue = e(formula)
148
+ evalue = await e(formula)
148
149
  }
149
150
  /*
150
151
  '{
@@ -163,30 +164,27 @@ let configStruct = {
163
164
  }
164
165
  },
165
166
  },
166
- { id: "unit", },
167
+ {
168
+ id: "unit",
169
+ isA: ['number'],
170
+ },
167
171
  ]
168
172
  };
169
173
 
170
174
  const template = {
171
175
  configs: [
172
176
  "dimension and unit are concepts",
173
- configStruct,
177
+ config,
174
178
  ],
175
179
  }
176
180
 
177
- const createConfig = () => {
178
- const config = new Config({ name: 'dimension' }, module)
179
- config.stop_auto_rebuild()
180
- config.add(hierarchy(), formulas(), testing())
181
- config.api = api
182
- config.restart_auto_rebuild()
183
- return config
184
- }
185
-
186
181
  knowledgeModule({
182
+ config: { name: 'dimension' },
183
+ includes: [hierarchy, formulas, testing],
184
+ api: () => new API(),
185
+
187
186
  module,
188
187
  description: 'Used to define numeric temperature such as currency, temperature or weight',
189
- createConfig,
190
188
  template: { template, instance },
191
189
  test: {
192
190
  name: './dimension.test.json',
@@ -194,7 +192,7 @@ knowledgeModule({
194
192
  checks: {
195
193
  objects: [{ km: 'properties' }],
196
194
  checks: {
197
- context: defaultContextCheck,
195
+ context: defaultContextCheck(),
198
196
  },
199
197
  },
200
198
  },