theprogrammablemind 7.5.4-beta.10 → 7.5.4-beta.12

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.
package/client.js CHANGED
@@ -1299,6 +1299,7 @@ const knowledgeModule = async ({
1299
1299
  parser.add_argument('-p', '--print', { help: 'Print the specified elements c === config, w === words, b === bridges, o === operators d === objects (d for data), h === hierarchy, g === generators, s === semantics, l === load t=tests ordering p === priorities a == associations j == JSON sent to server. for example --print wb' })
1300
1300
  parser.add_argument('-s', '--save', { action: 'store_true', help: 'When running with the --query flag this will save the current run to the test file. When running without the --query flag all tests will be run and resaved.' })
1301
1301
  parser.add_argument('-sd', '--saveDeveloper', { action: 'store_true', help: 'Same as -s but the query will not show up in the info command.' })
1302
+ parser.add_argument('-dic', '--debugIncludeConvolutions', { action: 'store_true', help: 'When running with the --debugIncludeConvolutions flag the logs will include convolutions which are somewhat annoying verbose. Default is false' })
1302
1303
  parser.add_argument('-d', '--debug', { action: 'store_true', help: 'When running with the --debug flag this set the debug flag in the config' })
1303
1304
  parser.add_argument('-da', '--debugAssociation', { help: 'When running with the --debugAssociation flag the debugging will break when the specified association is added to the config' })
1304
1305
  parser.add_argument('-dh', '--debugHierarchy', { help: 'When running with the --debugHierarchy flag the debugging will break when the specified child-parent pair is added to the config for the main config. Set DEBUG_HIERARCHY to debug any config loaded. For example DEBUG_HIERARCHY=\'["cat", "mammel"]\'' })
@@ -1362,6 +1363,7 @@ const knowledgeModule = async ({
1362
1363
  if (args.debug) {
1363
1364
  config.config.debug = true
1364
1365
  }
1366
+ config.config.debugIncludeConvolutions = args.debugIncludeConvolutions
1365
1367
 
1366
1368
  if (template) {
1367
1369
  const needsRebuild = config.needsRebuild(template.template, template.instance, options)
package/package.json CHANGED
@@ -62,6 +62,6 @@
62
62
  "json-stable-stringify": "^1.0.1",
63
63
  "node-fetch": "^2.6.1"
64
64
  },
65
- "version": "7.5.4-beta.10",
65
+ "version": "7.5.4-beta.12",
66
66
  "license": "ISC"
67
67
  }
package/src/config.js CHANGED
@@ -72,6 +72,10 @@ const handleBridgeProps = (config, bridge) => {
72
72
  config.config.generators.unshift(generator)
73
73
  }
74
74
  }
75
+ if (bridge.generatorpr) {
76
+ bridge.generatorp = bridge.generatorpr
77
+ bridge.generatorr = bridge.generatorpr
78
+ }
75
79
  if (bridge.generatorp) {
76
80
  config.config.generators.unshift({
77
81
  where: bridge.generatorp.where || bridge.where || client.where(4),
@@ -113,7 +117,7 @@ const handleBridgeProps = (config, bridge) => {
113
117
 
114
118
  const handleCalculatedProps = (baseConfig, moreConfig) => {
115
119
  for (let bridge of moreConfig.bridges) {
116
- const valid = [ 'before', 'bridge', 'development', 'evaluator', 'generatorp', 'generatorr', 'generators', 'id', 'convolution', 'inverted', 'isA', 'children', 'parents',
120
+ const valid = [ 'before', 'bridge', 'development', 'evaluator', 'generatorp', 'generatorr', 'generatorpr', 'generators', 'id', 'convolution', 'inverted', 'isA', 'children', 'parents',
117
121
  'level', 'optional', 'selector', 'semantic', 'words', /Bridge$/, 'localHierarchy', 'levelSpecificHierarchy', 'where' ]
118
122
  helpers.validProps(valid, bridge, 'bridge')
119
123
  handleBridgeProps(baseConfig, bridge)
@@ -684,7 +688,20 @@ class Config {
684
688
  return !(instance && sameQueries && sameFragments)
685
689
  }
686
690
 
691
+ validifyTemplate (template) {
692
+ if (!template.queries && !template.fragments) {
693
+ throw new Error(`Expected the template for ${this.name} to be an object that can have the properties: queries and fragments`)
694
+ }
695
+ for (let query of template.queries || []) {
696
+ if (typeof query == 'string') {
697
+ } else if (query instanceof Config) {
698
+ throw new Error(`For the template for ${this.name}, each element in queries should be either a string or a structure with a config (not a Config object).`)
699
+ }
700
+ }
701
+ }
702
+
687
703
  load (template, instance, options = { rebuild: false } ) {
704
+ this.validifyTemplate(template)
688
705
  instance.template = template
689
706
  this.logs.push(`loading template for ${this.name}`)
690
707
  if (instance && instance.associations && !options.rebuild) {
@@ -2595,7 +2612,6 @@ class Config {
2595
2612
  if (isDup(newOne, oldOne)) {
2596
2613
  if (oldOne.allowDups) {
2597
2614
  // the old one takes precedence to match what would happen during the original load
2598
- debugger
2599
2615
  this.config[key].splice(iOldOne, 1)
2600
2616
  break;
2601
2617
  }
package/src/generators.js CHANGED
@@ -200,9 +200,11 @@ class Generators {
200
200
  e.retryCall = () => generator.apply(args, objects, g, args.gs, context, hierarchy, config, response, log)
201
201
  const help = 'The error has a retryCall property that will recall the function that failed.'
202
202
  if (e.stack && e.message) {
203
- errorMessage = `Error applying generator '${generator.notes}'. Error is ${e.toString()} stack is ${e.stack}. Generator is ${generator.toString()}. ${help}`
203
+ const info = `${generator.notes ? generator.notes : ''}${generator.where ? generator.where : ''}`
204
+ errorMessage = `Error applying generator '${info}. Error is ${e.toString()} stack is ${e.stack}. Generator is ${generator.toString()}. ${help}`
204
205
  } else if (e.error) {
205
- errorMessage = `Error applying generator '${generator.notes}'. Error is ${e.error.join()}. Generator is ${generator.toString()}. ${help}`
206
+ const info = `${generator.notes ? generator.notes : ''}${generator.where ? generator.where : ''}`
207
+ errorMessage = `Error applying generator '${info}. Error is ${e.error.join()}. Generator is ${generator.toString()}. ${help}`
206
208
  } else {
207
209
  errorMessage = e.toString()
208
210
  }
package/src/semantics.js CHANGED
@@ -194,9 +194,11 @@ class Semantics {
194
194
  e.retryCall = () => semantic.apply(args, context, s, log, options)
195
195
  const help = 'The error has a retryCall property that will recall the function that failed.'
196
196
  if (e.stack && e.message) {
197
- errorMessage = `Error applying semantics '${semantic.notes}'. Error is ${e.toString()} stack is ${e.stack}. Semantic is ${semantic.toString()}. ${help}`
197
+ const info = `${semantic.notes ? semantic.notes : ''}${semantic.where ? semantic.where : ''}`
198
+ errorMessage = `Error applying semantics '${info}'. Error is ${e.toString()} stack is ${e.stack}. Semantic is ${semantic.toString()}. ${help}`
198
199
  } else if (e.error) {
199
- errorMessage = `Error applying semantics '${semantic.notes}'. Error is ${e.error.join()}. Semantic is ${semantic.toString()}. ${help}`
200
+ const info = `${semantic.notes ? semantic.notes : ''}${semantic.where ? semantic.where : ''}`
201
+ errorMessage = `Error applying semantics '${info}'. Error is ${e.error.join()}. Semantic is ${semantic.toString()}. ${help}`
200
202
  } else {
201
203
  errorMessage = e.toString();
202
204
  }