ekms 8.0.0-beta.4 → 8.0.0-beta.40

Sign up to get free protection for your applications and to get access to all the features.
Files changed (96) hide show
  1. package/common/animals.instance.json +2855 -1363
  2. package/common/animals.js +2 -2
  3. package/common/articles.js +108 -0
  4. package/common/articles.test.json +310 -0
  5. package/common/avatar.js +2 -2
  6. package/common/characters.js +9 -11
  7. package/common/colors.instance.json +6980 -3523
  8. package/common/colors.js +2 -2
  9. package/common/colors.test.json +345 -780
  10. package/common/comparable.js +2 -15
  11. package/common/concept.js +17 -11
  12. package/common/countable.js +5 -5
  13. package/common/crew.instance.json +13032 -6570
  14. package/common/crew.js +4 -4
  15. package/common/crew.test.json +714 -452
  16. package/common/currency.js +7 -7
  17. package/common/dialogues.js +117 -238
  18. package/common/dimension.instance.json +265 -264
  19. package/common/dimension.js +13 -13
  20. package/common/dimension.test.json +446 -1640
  21. package/common/edible.instance.json +19910 -9988
  22. package/common/edible.js +2 -2
  23. package/common/emotions.instance.json +146 -128
  24. package/common/emotions.js +4 -4
  25. package/common/evaluate.instance.json +2 -0
  26. package/common/evaluate.js +55 -0
  27. package/common/evaluate.test.json +574 -0
  28. package/common/events.js +6 -6
  29. package/common/fastfood.instance.json +221110 -111293
  30. package/common/fastfood.js +25 -25
  31. package/common/formulas.instance.json +241 -255
  32. package/common/formulas.js +14 -14
  33. package/common/gdefaults.js +19 -19
  34. package/common/help.js +4 -4
  35. package/common/help.test.json +22 -22
  36. package/common/helpers/concept.js +9 -6
  37. package/common/helpers/dialogues.js +2 -3
  38. package/common/helpers/properties.js +48 -58
  39. package/common/helpers.js +1 -1
  40. package/common/hierarchy.js +12 -16
  41. package/common/javascript.js +8 -8
  42. package/common/kirk.instance.json +583 -289
  43. package/common/kirk.js +2 -2
  44. package/common/length.instance.json +5530 -4754
  45. package/common/length.js +2 -2
  46. package/common/math.instance.json +176 -1168
  47. package/common/math.js +11 -11
  48. package/common/meta.js +22 -29
  49. package/common/nameable.instance.json +2 -0
  50. package/common/nameable.js +136 -0
  51. package/common/nameable.test.json +2121 -0
  52. package/common/negation.instance.json +2 -0
  53. package/common/negation.js +38 -0
  54. package/common/negation.test.json +308 -0
  55. package/common/numbers.js +3 -3
  56. package/common/ordering.instance.json +340 -228
  57. package/common/ordering.js +5 -5
  58. package/common/people.instance.json +2066 -1014
  59. package/common/people.js +4 -5
  60. package/common/percentages.instance.json +2 -0
  61. package/common/percentages.js +57 -0
  62. package/common/percentages.test.json +751 -0
  63. package/common/pipboy.instance.json +7974 -6300
  64. package/common/pipboy.js +29 -32
  65. package/common/pokemon.instance.json +4207 -2069
  66. package/common/pokemon.js +4 -4
  67. package/common/pos.js +1 -1
  68. package/common/pressure.instance.json +1341 -1189
  69. package/common/pressure.js +2 -2
  70. package/common/properties.instance.json +130 -60
  71. package/common/properties.js +54 -125
  72. package/common/punctuation.js +2 -2
  73. package/common/reports.instance.json +595 -557
  74. package/common/reports.js +58 -76
  75. package/common/scorekeeper.js +14 -22
  76. package/common/sdefaults.js +13 -3
  77. package/common/sizeable.js +2 -2
  78. package/common/spock.instance.json +583 -289
  79. package/common/spock.js +2 -2
  80. package/common/stgame.js +13 -9
  81. package/common/stm.js +136 -19
  82. package/common/stm.test.json +1734 -1
  83. package/common/tell.js +10 -10
  84. package/common/temperature.instance.json +1484 -1204
  85. package/common/temperature.js +2 -2
  86. package/common/tester.js +2 -2
  87. package/common/testing.js +5 -5
  88. package/common/time.js +7 -7
  89. package/common/tokenize.js +1 -1
  90. package/common/ui.instance.json +257 -258
  91. package/common/ui.js +9 -9
  92. package/common/weight.instance.json +5212 -4233
  93. package/common/weight.js +2 -2
  94. package/common/yesno.js +1 -1
  95. package/main.js +57 -46
  96. package/package.json +24 -6
package/common/people.js CHANGED
@@ -45,11 +45,11 @@ let configStruct = {
45
45
  ],
46
46
  };
47
47
 
48
- const createConfig = () => {
48
+ const createConfig = async () => {
49
49
  const config = new Config(configStruct, module)
50
50
  config.stop_auto_rebuild()
51
- config.add(hierarchy())
52
- config.initializer( ({baseConfig, context, apis, isModule}) => {
51
+ await config.add(hierarchy)
52
+ await config.initializer( ({baseConfig, context, apis, isModule}) => {
53
53
  // const api = km('properties').api
54
54
  const api = apis('properties')
55
55
  // setup paraphrase
@@ -65,9 +65,8 @@ const createConfig = () => {
65
65
  edAble: { operator: 'owned', word: 'owned' },
66
66
  config: baseConfig
67
67
  })
68
-
69
68
  })
70
- config.restart_auto_rebuild()
69
+ await config.restart_auto_rebuild()
71
70
  return config
72
71
  }
73
72
 
@@ -0,0 +1,2 @@
1
+ {
2
+ }
@@ -0,0 +1,57 @@
1
+ const { Config, knowledgeModule, where } = require('./runtime').theprogrammablemind
2
+ const { defaultContextCheck } = require('./helpers')
3
+ const percentages_tests = require('./percentages.test.json')
4
+ const numbers = require('./numbers')
5
+
6
+ let configStruct = {
7
+ name: 'percentages',
8
+ operators: [
9
+ "((number/*) [percent])",
10
+ "((percent/1) [percentageOf|of] (number/*))",
11
+ ],
12
+ bridges: [
13
+ {
14
+ id: "percent",
15
+ words: ['percent', '%'],
16
+ bridge: "{ ...next(operator), modifiers: ['scale'], scale: before[0] }",
17
+ generatorp: ({context}) => context.text,
18
+ },
19
+ {
20
+ id: "percentageOf",
21
+ words: ['percent', '%'],
22
+ bridge: "{ ...next(operator), percentage: before[0], isResponse: true, semanticIsEvaluate: true, value: after[0] }",
23
+ evaluator: async ({context, e}) => {
24
+ const scale = context.percentage.scale
25
+ const number = await e(context.value)
26
+ const percentage = number.value * scale.value / 100
27
+ const result = { ...number, value: percentage, word: null, text: null }
28
+ context.evalue = result
29
+ context.isReponse = true
30
+ context.paraphrase = false
31
+ },
32
+ generatorp: ({context}) => context.text,
33
+ },
34
+ ],
35
+ debug: false,
36
+ version: '3',
37
+ };
38
+
39
+ const createConfig = async () => {
40
+ const config = new Config(configStruct, module)
41
+ await config.add(numbers)
42
+ return config
43
+ }
44
+
45
+ knowledgeModule( {
46
+ module,
47
+ createConfig,
48
+ description: 'talking about percentages',
49
+ test: {
50
+ name: './percentages.test.json',
51
+ contents: percentages_tests,
52
+ checks: {
53
+ context: [...defaultContextCheck, { property: 'scale', filter: ['marker', 'word', 'value'] }],
54
+ },
55
+
56
+ },
57
+ })