theprogrammablemind 7.5.5-beta.1 → 7.5.5-beta.2
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 +12 -3
- package/package.json +1 -1
- package/src/config.js +5 -6
- package/src/generators.js +6 -0
- package/src/semantics.js +7 -1
package/client.js
CHANGED
@@ -330,7 +330,7 @@ const setupContexts = (rawContexts) => {
|
|
330
330
|
return contexts
|
331
331
|
}
|
332
332
|
|
333
|
-
const processContextsB = ({ config, hierarchy, semantics, generators, json, isTest, query, data, retries, url }) => {
|
333
|
+
const processContextsB = ({ config, hierarchy, semantics, generators, json, isTest, query, data, retries, url, commandLineArgs }) => {
|
334
334
|
// TODO fix this name to contextsPrime
|
335
335
|
const contextsPrime = []
|
336
336
|
const generatedPrime = []
|
@@ -344,6 +344,7 @@ const processContextsB = ({ config, hierarchy, semantics, generators, json, isTe
|
|
344
344
|
const toDo = [...contexts]
|
345
345
|
args.insert = (context) => toDo.unshift(context)
|
346
346
|
let overlap, lastRange;
|
347
|
+
config.debugLoops = commandLineArgs && commandLineArgs.debugLoops
|
347
348
|
while (toDo.length > 0) {
|
348
349
|
const context = toDo.shift()
|
349
350
|
/*
|
@@ -523,7 +524,7 @@ const processInstance = (config, instance) => {
|
|
523
524
|
// config.addInternal(config.template.queries[i], { handleCalculatedProps: true } )
|
524
525
|
config.addInternal(instance.template.queries[i], { handleCalculatedProps: true } )
|
525
526
|
} else {
|
526
|
-
processContextsB({ config, hierarchy, json: results/*, generators, semantics
|
527
|
+
processContextsB({ config, hierarchy, json: results/*, generators, semantics */, commandLineArgs: {} })
|
527
528
|
}
|
528
529
|
}
|
529
530
|
global.transitoryMode = transitoryMode
|
@@ -604,7 +605,7 @@ const _process = async (config, query, { initializer, commandLineArgs, credentia
|
|
604
605
|
throw json
|
605
606
|
} else {
|
606
607
|
const { contextsPrime, generatedPrime, paraphrasesPrime, responsesPrime } =
|
607
|
-
processContextsB({ isTest, config, hierarchy, json/*, generators, semantics */ })
|
608
|
+
processContextsB({ isTest, config, hierarchy, json, commandLineArgs /*, generators, semantics */ })
|
608
609
|
response.associations = json.associations
|
609
610
|
response.hierarchy = json.hierarchy
|
610
611
|
response.load_cache_time += json.load_cache_time
|
@@ -935,6 +936,7 @@ const defaultErrorHandler = async (error) => {
|
|
935
936
|
console.log(error.stack)
|
936
937
|
}
|
937
938
|
|
939
|
+
let doErrorExit = false
|
938
940
|
if (error.errors) {
|
939
941
|
console.log('error: ')
|
940
942
|
for (const e of error.errors) {
|
@@ -949,19 +951,25 @@ const defaultErrorHandler = async (error) => {
|
|
949
951
|
} else {
|
950
952
|
console.log('\n ', e)
|
951
953
|
}
|
954
|
+
doErrorExit = true
|
952
955
|
}
|
953
956
|
}
|
954
957
|
if (error.error) {
|
955
958
|
console.log('error: ')
|
956
959
|
for (const e of error.error) {
|
957
960
|
console.log('\n ', e)
|
961
|
+
doErrorExit = true
|
958
962
|
}
|
959
963
|
}
|
960
964
|
|
961
965
|
if (error.query) {
|
962
966
|
console.log('query: ', error.query)
|
967
|
+
doErrorExit = true
|
963
968
|
}
|
964
969
|
|
970
|
+
if (doErrorExit) {
|
971
|
+
runtime.process.exit(-1)
|
972
|
+
}
|
965
973
|
// throw error
|
966
974
|
}
|
967
975
|
|
@@ -1300,6 +1308,7 @@ const knowledgeModule = async ({
|
|
1300
1308
|
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
1309
|
parser.add_argument('-sd', '--saveDeveloper', { action: 'store_true', help: 'Same as -s but the query will not show up in the info command.' })
|
1302
1310
|
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' })
|
1311
|
+
parser.add_argument('-dl', '--debugLoops', { action: 'store_true', help: 'When running with the --debugLoops flag the logs calls to semantics and generators will be immediately written to the console '})
|
1303
1312
|
parser.add_argument('-d', '--debug', { action: 'store_true', help: 'When running with the --debug flag this set the debug flag in the config' })
|
1304
1313
|
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' })
|
1305
1314
|
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"]\'' })
|
package/package.json
CHANGED
package/src/config.js
CHANGED
@@ -1220,6 +1220,9 @@ class Config {
|
|
1220
1220
|
config.priorities = config.priorities || []
|
1221
1221
|
}
|
1222
1222
|
|
1223
|
+
this.maxDepth = 50 // for generators and semantics
|
1224
|
+
this.debugLoops = false // for generators and semantics
|
1225
|
+
|
1223
1226
|
this.allowDelta = false
|
1224
1227
|
this.resetDelta()
|
1225
1228
|
|
@@ -1482,6 +1485,8 @@ class Config {
|
|
1482
1485
|
this.valid()
|
1483
1486
|
const cp = new Config()
|
1484
1487
|
cp.logs = []
|
1488
|
+
cp.maxDepth = this.maxDepth
|
1489
|
+
cp.debugLoops = this.debugLoops
|
1485
1490
|
cp.transitoryMode = this.transitoryMode
|
1486
1491
|
cp.configs = this.configs.map((km) => km.copy2(Object.assign({}, options, { getCounter: (name) => cp.getCounter(name), callInitializers: false })))
|
1487
1492
|
cp._uuid = cp.configs[0]._uuid
|
@@ -1883,12 +1888,6 @@ class Config {
|
|
1883
1888
|
const addInternals = []
|
1884
1889
|
const inits = []
|
1885
1890
|
const initAfterApis = []
|
1886
|
-
if (false && this.config.hierarchy.find( (pair) => JSON.stringify(pair) === JSON.stringify(["equipable2","property"]))) {
|
1887
|
-
debugger // happened
|
1888
|
-
}
|
1889
|
-
if (false && this.name == 'countable') {
|
1890
|
-
debugger // in rebuild
|
1891
|
-
}
|
1892
1891
|
const reverseIt = true
|
1893
1892
|
const interleaved = true
|
1894
1893
|
this.configs.forEach((km) => {
|
package/src/generators.js
CHANGED
@@ -77,7 +77,13 @@ class Generator {
|
|
77
77
|
if (!log) {
|
78
78
|
throw 'generators.apply argument log is required'
|
79
79
|
}
|
80
|
+
if (baseArgs.call && config && sbaseArgs.calls.stack.length > config.maxDepth) {
|
81
|
+
throw new Error(`Max depth of ${config.maxDepth} for calls has been exceeded. maxDepth can be set on the config object. To see the calls run with the --dl or set the debugLoops property on the config`)
|
82
|
+
}
|
80
83
|
|
84
|
+
if (config && config.debugLoops) {
|
85
|
+
console.log("apply", this.toLabel())
|
86
|
+
}
|
81
87
|
// this.getAPI(config)
|
82
88
|
let n = (id) => id
|
83
89
|
if (config && 'nsToString' in config) {
|
package/src/semantics.js
CHANGED
@@ -79,6 +79,13 @@ class Semantic {
|
|
79
79
|
apply (baseArgs, context, s, log, options = {}) {
|
80
80
|
const { hierarchy, config, response } = baseArgs
|
81
81
|
const objects = baseArgs.getObjects(this.uuid)
|
82
|
+
if (config && config.debugLoops) {
|
83
|
+
console.log("apply", this.toLabel())
|
84
|
+
}
|
85
|
+
if (baseArgs.calls && config && baseArgs.calls.stack.length > config.maxDepth) {
|
86
|
+
throw new Error(`Max depth of ${config.maxDepth} for calls has been exceeded. maxDepth can be set on the config object. To see the calls run with the --dl or set the debugLoops property on the config`)
|
87
|
+
}
|
88
|
+
|
82
89
|
// const ask = baseArgs.getAsk(this.uuid)
|
83
90
|
if (!log) {
|
84
91
|
console.trace()
|
@@ -168,7 +175,6 @@ class Semantics {
|
|
168
175
|
if (!(context instanceof Array || context instanceof Object)) {
|
169
176
|
return context
|
170
177
|
}
|
171
|
-
|
172
178
|
const config = args.config
|
173
179
|
let contextPrime = Object.assign({}, context)
|
174
180
|
const s = (context, options) => this.apply(args, context, options)
|