ekms 8.0.0-beta.7 → 8.0.0-beta.71

Sign up to get free protection for your applications and to get access to all the features.
Files changed (103) hide show
  1. package/common/animals.instance.json +2871 -1379
  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/avatar.js +5 -9
  6. package/common/characters.js +22 -28
  7. package/common/colors.instance.json +7170 -3657
  8. package/common/colors.js +4 -8
  9. package/common/colors.test.json +345 -780
  10. package/common/comparable.instance.json +1750 -0
  11. package/common/comparable.js +36 -28
  12. package/common/comparable.test.json +438 -2
  13. package/common/concept.js +120 -118
  14. package/common/countable.js +19 -13
  15. package/common/countable.test.json +1050 -0
  16. package/common/crew.instance.json +13066 -6469
  17. package/common/crew.js +36 -41
  18. package/common/crew.test.json +714 -452
  19. package/common/currency.js +27 -45
  20. package/common/dialogues.js +161 -285
  21. package/common/dimension.instance.json +474 -253
  22. package/common/dimension.js +16 -22
  23. package/common/dimension.test.json +446 -1640
  24. package/common/edible.instance.json +20053 -10093
  25. package/common/edible.js +3 -8
  26. package/common/emotions.instance.json +147 -69
  27. package/common/emotions.js +35 -38
  28. package/common/evaluate.instance.json +2 -0
  29. package/common/evaluate.js +49 -0
  30. package/common/evaluate.test.json +574 -0
  31. package/common/events.js +10 -14
  32. package/common/fastfood.instance.json +221166 -111223
  33. package/common/fastfood.js +75 -85
  34. package/common/fastfood.test.json +268 -90
  35. package/common/formulas.instance.json +455 -249
  36. package/common/formulas.js +19 -26
  37. package/common/gdefaults.js +24 -26
  38. package/common/help.js +7 -12
  39. package/common/help.test.json +63 -8
  40. package/common/helpers/concept.js +10 -7
  41. package/common/helpers/dialogues.js +2 -3
  42. package/common/helpers/properties.js +54 -62
  43. package/common/helpers.js +6 -5
  44. package/common/hierarchy.js +16 -24
  45. package/common/javascript.js +11 -18
  46. package/common/kirk.instance.json +584 -290
  47. package/common/kirk.js +5 -8
  48. package/common/length.instance.json +8834 -4757
  49. package/common/length.js +4 -8
  50. package/common/listener.js +48 -0
  51. package/common/listener.test.json +104 -0
  52. package/common/math.instance.json +425 -1187
  53. package/common/math.js +16 -20
  54. package/common/meta.js +23 -47
  55. package/common/nameable.instance.json +2 -0
  56. package/common/nameable.js +144 -0
  57. package/common/nameable.test.json +3191 -0
  58. package/common/negation.instance.json +2 -0
  59. package/common/negation.js +38 -0
  60. package/common/negation.test.json +308 -0
  61. package/common/numbers.js +27 -31
  62. package/common/ordering.instance.json +366 -246
  63. package/common/ordering.js +80 -86
  64. package/common/people.instance.json +2074 -1022
  65. package/common/people.js +8 -13
  66. package/common/percentages.instance.json +2 -0
  67. package/common/percentages.js +53 -0
  68. package/common/percentages.test.json +751 -0
  69. package/common/pipboy.instance.json +11745 -6329
  70. package/common/pipboy.js +48 -59
  71. package/common/pokemon.instance.json +4226 -2081
  72. package/common/pokemon.js +7 -20
  73. package/common/pos.js +15 -13
  74. package/common/pressure.instance.json +2208 -1175
  75. package/common/pressure.js +4 -8
  76. package/common/properties.instance.json +131 -61
  77. package/common/properties.js +57 -134
  78. package/common/punctuation.js +15 -7
  79. package/common/reports.instance.json +1018 -530
  80. package/common/reports.js +77 -100
  81. package/common/reports.test.json +15623 -10458
  82. package/common/scorekeeper.js +18 -30
  83. package/common/sdefaults.js +16 -7
  84. package/common/sizeable.js +6 -10
  85. package/common/spock.instance.json +584 -290
  86. package/common/spock.js +5 -8
  87. package/common/stgame.js +19 -19
  88. package/common/stm.js +164 -27
  89. package/common/stm.test.json +1734 -1
  90. package/common/tell.js +14 -18
  91. package/common/temperature.instance.json +2271 -1222
  92. package/common/temperature.js +4 -8
  93. package/common/tester.js +15 -4
  94. package/common/testing.js +8 -12
  95. package/common/time.js +20 -25
  96. package/common/tokenize.js +5 -6
  97. package/common/ui.instance.json +459 -240
  98. package/common/ui.js +16 -22
  99. package/common/weight.instance.json +7646 -4026
  100. package/common/weight.js +4 -8
  101. package/common/yesno.js +5 -5
  102. package/main.js +14 -2
  103. package/package.json +28 -5
package/common/reports.js CHANGED
@@ -1,4 +1,4 @@
1
- const { Config, knowledgeModule, where } = require('./runtime').theprogrammablemind
1
+ const { knowledgeModule, where } = require('./runtime').theprogrammablemind
2
2
  const { defaultContextCheck } = require('./helpers')
3
3
  const currencyKM = require('./currency.js')
4
4
  const events = require('./events.js')
@@ -38,7 +38,7 @@ const compareValue = (property, v1, v2) => {
38
38
  const newReport = ({km, objects}) => {
39
39
  objects.tempReportId += 1
40
40
  const reportId = `tempReport${objects.tempReportId}`
41
- km('stm').api.mentioned({ marker: "report", text: reportId, types: [ "report" ], value: reportId, word: reportId })
41
+ km('stm').api.mentioned({ context: { marker: "report", text: reportId, types: [ "report" ], value: reportId, word: reportId } })
42
42
  // name to listing
43
43
  objects.listings[reportId] = {
44
44
  columns: ['name', 'supplier'],
@@ -100,7 +100,7 @@ const apiTemplate = (marker, testData) => {
100
100
  },
101
101
  productGenerator: {
102
102
  match: ({context}) => context.marker == marker && context.isInstance,
103
- apply: ({g, context}) => `${context.name}`,
103
+ apply: ({context}) => `${context.name}`,
104
104
  }
105
105
  }
106
106
  }
@@ -110,7 +110,7 @@ const apiTemplate = (marker, testData) => {
110
110
  const api1 = apiTemplate('models', testData2)
111
111
  const api2 = apiTemplate('clothes', testData)
112
112
 
113
- let configStruct = {
113
+ let config = {
114
114
  name: 'reports',
115
115
  operators: [
116
116
  //"(([type]) [([(<less> ([than]))] ([amount]))])",
@@ -122,9 +122,9 @@ let configStruct = {
122
122
  "(([product]) <(<that> ([cost] ([price])))>)",
123
123
  "([answer] ([with] ([listingType|])))",
124
124
  "([show] (<the> ([property|property,properties])))",
125
- "([call] ([report|]) (rest))",
126
- "(([property]) <ascending>)",
127
- "(([property]) <descending>)",
125
+ "([call] ([report|]) (rest)*)",
126
+ // "(([property]) <ascending>)",
127
+ // "(([property]) <descending>)",
128
128
  "([describe] ([report]))",
129
129
  "([price])",
130
130
  "([quantity])",
@@ -190,9 +190,9 @@ let configStruct = {
190
190
  bridge: "{ ...next(operator), on: { marker: 'report', pullFromContext: true }, from: after[0], to: after[1] }",
191
191
  directionBridge: "{ ...next(operator), on: { marker: 'report', pullFromContext: true }, directionBridge: true, from: after[0], to: after[1] }",
192
192
 
193
- generatorp: ({context, gp}) => `move ${gp(context.from)} ${gp(context.to)}`,
194
- semantic: ({context, e, objects, kms, insert}) => {
195
- const report = e(context.on)
193
+ generatorp: async ({context, gp}) => `move ${await gp(context.from)} ${await gp(context.to)}`,
194
+ semantic: async ({context, e, objects, kms, insert}) => {
195
+ const report = await e(context.on)
196
196
  const id = report.value.value
197
197
  const listing = objects.listings[id]
198
198
 
@@ -218,9 +218,9 @@ let configStruct = {
218
218
  where: where(),
219
219
  id: "remove", level: 0,
220
220
  bridge: "{ ...next(operator), on: { marker: 'report', pullFromContext: true }, removee: after[0] }",
221
- generatorp: ({context, gp}) => `remove ${gp(context.removee)}`,
222
- semantic: ({context, e, kms, insert, objects}) => {
223
- const report = e(context.on)
221
+ generatorp: async ({context, gp}) => `remove ${await gp(context.removee)}`,
222
+ semantic: async ({context, e, kms, insert, objects}) => {
223
+ const report = await e(context.on)
224
224
  const id = report.value.value
225
225
  const listing = objects.listings[id]
226
226
  const column = context.removee.index.value
@@ -232,7 +232,7 @@ let configStruct = {
232
232
  where: where(),
233
233
  id: "column", level: 0,
234
234
  bridge: "{ ...next(operator), index: after[0] }",
235
- generatorp: ({context, gp}) => `column ${gp(context.index)}`,
235
+ generatorp: async ({context, gp}) => `column ${await gp(context.index)}`,
236
236
  },
237
237
  { id: "ordering", level: 0, bridge: "{ ...next(operator) }" },
238
238
  { id: "direction", level: 0, bridge: "{ ...next(operator) }" },
@@ -248,10 +248,10 @@ let configStruct = {
248
248
  {
249
249
  where: where(),
250
250
  match: ({context}) => context.marker == 'report' && context.describe,
251
- apply: ({context, apis, gp, gs, objects}) => {
251
+ apply: async ({context, apis, gs, objects}) => {
252
252
  const listings = objects.listings[context.value]
253
253
  // {"type":"tables","columns":["name"],"ordering":[]}
254
- return `for ${listings.api}, showing the ${wordNumber('property', listings.columns.length > 1)} ${gs(listings.columns, ' ', ' and ')} as ${listings.type}`
254
+ return `for ${listings.api}, showing the ${wordNumber('property', listings.columns.length > 1)} ${await gs(listings.columns, ' ', ' and ')} as ${listings.type}`
255
255
  }
256
256
  },
257
257
  {
@@ -262,8 +262,8 @@ let configStruct = {
262
262
  ],
263
263
  },
264
264
 
265
- { id: "ascending", level: 0, bridge: "{ ...before[0], ordering: 'ascending' }" },
266
- { id: "descending", level: 0, bridge: "{ ...before[0], ordering: 'descending', modifiers: append(['ordering'], before[0].modifiers) }" },
265
+ // { id: "ascending", level: 0, bridge: "{ ...before[0], ordering: 'ascending' }" },
266
+ // { id: "descending", level: 0, bridge: "{ ...before[0], ordering: 'descending', modifiers: append(['ordering'], before[0].modifiers) }" },
267
267
 
268
268
  { id: "product", level: 0, bridge: "{ ...next(operator) }" },
269
269
  { id: "listAction", level: 0, bridge: "{ ...next(operator), what: after[0]}" },
@@ -295,10 +295,10 @@ let configStruct = {
295
295
  where: where(),
296
296
  id: "describe",
297
297
  level: 0,
298
- isA: ['verby'],
298
+ isA: ['verb'],
299
299
  bridge: "{ ...next(operator), report: after[0] }",
300
- "generatorp": ({g, context}) => `describe ${g(context.report)}`,
301
- "generatorr": ({gp, context, apis, objects, config}) => {
300
+ "generatorp": async ({g, context}) => `describe ${await g(context.report)}`,
301
+ "generatorr": async ({gp, context, apis, objects, config}) => {
302
302
  const reports = propertyToArray(context.report)
303
303
  let response = ''
304
304
  for (let report of reports) {
@@ -308,11 +308,11 @@ let configStruct = {
308
308
  continue
309
309
  }
310
310
  const description = {describe: true, word: reportId, types:["report"], value: reportId, text: reportId, marker: "report"}
311
- response += `${reportId}: ${gp(description)}\n`
311
+ response += `${reportId}: ${await gp(description)}\n`
312
312
  }
313
313
  } else {
314
314
  // response += `${gp(report)}: ${describe(report.value)}\n`
315
- response += `${gp(report)}: ${gp({ ...report, describe: true })}\n`
315
+ response += `${await gp(report)}: ${await gp({ ...report, describe: true })}\n`
316
316
  }
317
317
  }
318
318
  return response
@@ -326,35 +326,39 @@ let configStruct = {
326
326
  where: where(),
327
327
  id: "call",
328
328
  level: 0,
329
- bridge: "{ ...next(operator), namee: after[0], name: after[1] }",
330
- generatorp: ({g, context}) => `call ${g(context.namee)} ${g(context.name)}`,
331
- semantic: ({g, context, objects, e, config, km}) => {
332
- const namee = e(context.namee).evalue
329
+ bridge: "{ ...next(operator), namee: after[0], name: after[1:] }",
330
+ generatorp: async ({g, gs, context}) => `call ${await g(context.namee)} ${await gs(context.name)}`,
331
+ semantic: async ({context, objects, e, config, km}) => {
332
+ const namee = (await e(context.namee)).evalue
333
333
  const id = namee.value
334
334
  const listing = objects.listings[id]
335
- const name = context.name.text
335
+ // const name = context.name.text
336
+ const name = context.name.map((n) => n.text).join('')
336
337
  objects.listings[name] = {...listing}
337
338
  config.addWord(`${name}`, { id: 'report', initial: `{ value: "${name}" }` })
338
339
  km('stm').api.mentioned({
340
+ context: {
339
341
  marker: "report",
340
342
  text: name,
341
343
  types: [ "report" ],
342
344
  value: id,
343
345
  word: name
344
- })
346
+ }
347
+ })
345
348
  }
346
349
  },
347
350
  ],
348
351
  hierarchy: [
352
+ ['property', 'comparable'],
349
353
  ['ascending', 'ordering'],
350
354
  ['descending', 'ordering'],
351
355
  ['property', 'theAble'],
352
356
  ['column', 'toAble'],
353
357
  ['report', 'it'],
354
358
  ['report', 'this'],
355
- ['describe', 'verby'],
356
- ['call', 'verby'],
357
- ['show', 'verby'],
359
+ ['describe', 'verb'],
360
+ ['call', 'verb'],
361
+ ['show', 'verb'],
358
362
  ['report', 'changeable'],
359
363
  ['show', 'action'],
360
364
  ['move', 'reportAction'],
@@ -375,49 +379,28 @@ let configStruct = {
375
379
  "literals": {
376
380
  "tables": [{"id": "listingType", "initial": "{ value: 'tables' }" }],
377
381
  "sentences": [{"id": "listingType", "initial": "{ value: 'sentences' }" }],
378
- //"product1": [{"id": "reportObject", "initial": "{ value: 'api1' }" }],
379
- //"api2": [{"id": "reportObject", "initial": "{ value: 'api2' }" }],
380
- //" ([0-9]+)": [{"id": "amount", "initial": "{ value: int(group[0]) }" }],
381
382
  }
382
383
  },
383
384
 
384
385
  priorities: [
385
386
  { "context": [['ordering', 0], ['articlePOS', 0], ], "choose": [0] },
386
- /*
387
- [['the', 0], ['ordering', 0]],
388
- [['listAction', 0], ['cost', 1]],
389
- [['answer', 0], ['listAction', 0], ['the', 0]],
390
- [['answer', 0], ['listAction', 0], ['the', 0], ['with', 0]],
391
- */
392
387
  ],
393
388
  generators: [
394
389
  {
395
390
  notes: 'paraphrase show',
396
391
  where: where(),
397
392
  match: ({context, objects}) => context.marker == 'show' && context.paraphrase,
398
- apply: ({gs, gsp, gp, e, apis, objects, context}) => {
393
+ apply: async ({gs, gp, e, apis, objects, context}) => {
399
394
  if (context.report) {
400
- return `show ${gp(context.report)}`
395
+ return `show ${await gp(context.report)}`
401
396
  } else {
402
- const report = e(context.on)
397
+ const report = await e(context.on)
403
398
  const id = report.value.value
404
399
  const listing = objects.listings[id]
405
- return `the properties being shown are ${gs(listing.columns, ', ', ' and ')}`
400
+ return `the properties being shown are ${await gs(listing.columns, ', ', ' and ')}`
406
401
  }
407
402
  }
408
403
  },
409
- /*
410
- {
411
- where: where(),
412
- match: ({context, isA}) => isA(context.marker, 'reportAction') && context.on && context.isResponse,
413
- apply: ({context, g}) => `${g({...context, on: undefined})} on ${g(context.on)}`
414
- },
415
- {
416
- where: where(),
417
- match: ({context, isA}) => isA(context.marker, 'reportAction') && context.on && context.paraphrase,
418
- apply: ({context, g}) => `${g({...context, on: undefined})} on ${g(context.on)}`
419
- },
420
- */
421
404
  {
422
405
  where: where(),
423
406
  match: ({context}) => context.marker == 'product' && !context.isInstance,
@@ -426,12 +409,12 @@ let configStruct = {
426
409
  {
427
410
  where: where(),
428
411
  match: ({context}) => context.marker == 'listAction' && context.paraphrase,
429
- apply: ({g, context}) => `list ${g(context.what)}`
412
+ apply: async ({g, context}) => `list ${await g(context.what)}`
430
413
  },
431
414
  {
432
415
  notes: 'show the results as a sentence',
433
416
  where: where(),
434
- match: ({context, objects, apis}) => {
417
+ match: ({context, objects}) => {
435
418
  if (!(context.marker == 'listAction' && context.isResponse)) {
436
419
  return false
437
420
  }
@@ -439,15 +422,15 @@ let configStruct = {
439
422
  return true
440
423
  }
441
424
  },
442
- apply: ({g, gs, context, objects}) => {
425
+ apply: async ({g, gs, context, objects}) => {
443
426
  const listing = objects.listings[context.id]
444
- return `the ${g(listing.api)} are ${gs(context.listing, ' ', ' and ')}`
427
+ return `the ${await g(listing.api)} are ${await gs(context.listing, ' ', ' and ')}`
445
428
  }
446
429
  },
447
430
  {
448
431
  notes: 'show the results as a table',
449
432
  where: where(),
450
- match: ({context, objects, apis}) => {
433
+ match: ({context, objects}) => {
451
434
  if (!(context.marker == 'listAction' && context.isResponse && !context.paraphrase)) {
452
435
  return false
453
436
  }
@@ -455,7 +438,7 @@ let configStruct = {
455
438
  return true
456
439
  }
457
440
  },
458
- apply: ({g, gs, objects, context, e, kms, apis}) => {
441
+ apply: async ({objects, context, e, kms}) => {
459
442
  let report = '';
460
443
  const products = context.listing
461
444
  const columns = objects.listings[context.id].columns
@@ -463,21 +446,21 @@ let configStruct = {
463
446
  kms.stm.api.setVariable('price', { marker: 'price', value: 23 })
464
447
  kms.stm.api.setVariable('quantity', { marker: 'quantity', value: 3 })
465
448
  const c1 = { marker: 'worth', value: 'worth' }
466
- r1 = toEValue(e(c1));
467
- r2 = e({ marker: 'supplier', value: 'supplier' })
468
- // api.listing.api = context.what.api
449
+ r1 = toEValue(await e(c1));
450
+ r2 = await e({ marker: 'supplier', value: 'supplier' })
469
451
  }
470
- const data = products.map( (product) => {
452
+ const data = []
453
+ for (const product of products) {
471
454
  const row = []
472
455
  for (let p of Object.keys(product)) {
473
456
  kms.stm.api.setVariable(p, { marker: p, value: product[p] })
474
457
  }
475
458
  for (let property of columns) {
476
- const value = toEValue(e({ marker: property, value: property }));
459
+ const value = toEValue(await e({ marker: property, value: property }));
477
460
  row.push(value)
478
461
  }
479
- return row
480
- });
462
+ data.push(row)
463
+ };
481
464
  report += table([columns].concat(data))
482
465
  return report
483
466
  }
@@ -485,12 +468,12 @@ let configStruct = {
485
468
  {
486
469
  where: where(),
487
470
  match: ({context}) => context.marker == 'answer' && context.paraphrase,
488
- apply: ({g, context}) => `answer with ${context.type}`
471
+ apply: ({context}) => `answer with ${context.type}`
489
472
  },
490
473
  {
491
474
  where: where(),
492
475
  match: ({context}) => context.marker == 'answer' && !context.paraphrase,
493
- apply: ({g, context}) => `answering with ${context.type}`
476
+ apply: ({context}) => `answering with ${context.type}`
494
477
  },
495
478
  ],
496
479
 
@@ -499,13 +482,13 @@ let configStruct = {
499
482
  where: where(),
500
483
  notes: 'handle show semantic',
501
484
  match: ({context}) => context.marker == 'show',
502
- apply: ({context, e, km, kms, apis, insert, config, objects}) => {
485
+ apply: async ({context, e, km, kms, apis, insert, config, objects}) => {
503
486
  if (context.report) {
504
487
  const values = propertyToArray(context.report)
505
488
  const responses = []
506
489
  for (let value of values) {
507
490
  if (!value.value || value.pullFromContext) {
508
- value = e(value)
491
+ value = await e(value)
509
492
  }
510
493
  let id = value.value
511
494
  if (value.evalue) {
@@ -528,7 +511,7 @@ let configStruct = {
528
511
  }
529
512
  context.isResponse = true
530
513
  } else {
531
- const report = e(context.on)
514
+ const report = await e(context.on)
532
515
  const id = report.value.value
533
516
  const listing = objects.listings[id]
534
517
  const values = propertyToArray(context.properties)
@@ -551,11 +534,11 @@ let configStruct = {
551
534
  notes: 'get the report data',
552
535
  where: where(),
553
536
  match: ({context}) => context.marker == 'listAction',
554
- apply: ({context, e, objects, apis, km, config}) => {
537
+ apply: async ({context, e, objects, apis, km, config}) => {
555
538
  //const name = '***current***'
556
539
  if (context.api) {
557
540
  // id = newReport({km, objects})
558
- const report = e({ marker: 'report', pullFromContext: true })
541
+ const report = await e({ marker: 'report', pullFromContext: true })
559
542
  const id = report.value.value
560
543
  const listing = objects.listings[id]
561
544
  listing.api = context.api
@@ -563,7 +546,7 @@ let configStruct = {
563
546
  context.id = id
564
547
  context.listing = apis[listing.api].getAllProducts(listing)
565
548
  } else {
566
- const report = e({ marker: 'report', pullFromContext: true })
549
+ const report = await e({ marker: 'report', pullFromContext: true })
567
550
  const id = report.evalue.value
568
551
  const listing = objects.listings[id]
569
552
  const api = apis[listing.api]
@@ -573,20 +556,20 @@ let configStruct = {
573
556
  context.isResponse = true
574
557
  },
575
558
  },
576
- [
577
- ({context}) => context.marker == 'answer',
578
- ({e, context, objects, kms, insert}) => {
579
- const report = e({ marker: 'report', pullFromContext: true })
559
+ {
560
+ match: ({context}) => context.marker == 'answer',
561
+ apply: async ({e, context, objects, kms, insert}) => {
562
+ const report = await e({ marker: 'report', pullFromContext: true })
580
563
  const id = report.value.value
581
564
  const listing = objects.listings[id]
582
565
  listing.type = context.type
583
566
  kms.events.api.happens(insert, { marker: "changes", level: 1, changeable: { marker: 'report', pullFromContext: true } })
584
567
  }
585
- ],
568
+ },
586
569
  ],
587
570
  };
588
571
 
589
- const initializeApi = (config, api, km) => {
572
+ const initializeApi = (config, api) => {
590
573
  const type = api.getName();
591
574
  config.addWord(type, {"id": "product", "initial": "{ value: '" + type + `', api: '${type}'}` })
592
575
  /*
@@ -604,18 +587,11 @@ const initializeApi = (config, api, km) => {
604
587
  // config.addWord(type, {"id": "report", "initial": `${open} value: '${type}' ${close}` })
605
588
  }
606
589
 
607
- const createConfig = () => {
608
- const config = new Config(configStruct, module)
609
- config.stop_auto_rebuild()
610
- config.add(currencyKM(), helpKM(), math(), events())
611
- config.multiApi = initializeApi
612
- // mode this to non-module init only
613
- config.initializer(({config, objects, km, isModule}) => {
590
+ const initializer = async ({config, objects, km, kms, isModule}) => {
614
591
  if (!isModule) {
615
- km('reports').addAPI(api1)
616
- km('reports').addAPI(api2)
617
- // config.addAPI(api1)
618
- // config.addAPI(api2)
592
+ debugger
593
+ await kms.reports.addAPI(api1)
594
+ await kms.reports.addAPI(api2)
619
595
  }
620
596
  objects.tempReportId = 0
621
597
  objects.listings = {
@@ -624,15 +600,16 @@ const createConfig = () => {
624
600
  if (!isModule) {
625
601
  objects.listings[id].api = 'clothes'
626
602
  }
627
- })
628
- config.restart_auto_rebuild()
629
- return config
630
- }
603
+ }
631
604
 
632
605
  knowledgeModule({
606
+ config,
607
+ includes: [currencyKM, helpKM, math, events],
608
+ multiApiInitializer: initializeApi,
609
+ initializer,
610
+
633
611
  module,
634
612
  description: 'this module is for getting info about a concept with properties',
635
- createConfig,
636
613
  test: {
637
614
  name: './reports.test.json',
638
615
  contents: reports_tests,