theprogrammablemind_4wp 7.5.4-beta.1 → 7.5.4-beta.3
Sign up to get free protection for your applications and to get access to all the features.
- package/package.json +4 -4
- package/src/config.js +115 -5
package/package.json
CHANGED
@@ -10,12 +10,12 @@
|
|
10
10
|
"eslint": "^7.31.0"
|
11
11
|
},
|
12
12
|
"scripts": {
|
13
|
-
"to:debug": "node inspect node_modules/.bin/jest --runInBand -t
|
13
|
+
"to:debug": "node inspect node_modules/.bin/jest --runInBand -t NEO23",
|
14
14
|
"test:debug": "node inspect node_modules/.bin/jest --runInBand --config ./jest.config.json",
|
15
|
-
"tod": "node inspect node_modules/.bin/jest --runInBand -t
|
15
|
+
"tod": "node inspect node_modules/.bin/jest --runInBand -t NEO23",
|
16
16
|
"lint:fix": "eslint \"**/*.js\" --fix",
|
17
17
|
"lint": "eslint \"**/*.js\"",
|
18
|
-
"to": "node node_modules/.bin/jest --runInBand -t
|
18
|
+
"to": "node node_modules/.bin/jest --runInBand -t NEO23",
|
19
19
|
"test": "jest --config ./jest.config.json",
|
20
20
|
"test:watch": "npm run test -- --watch"
|
21
21
|
},
|
@@ -61,6 +61,6 @@
|
|
61
61
|
"json-stable-stringify": "^1.0.1",
|
62
62
|
"node-fetch": "^2.6.1"
|
63
63
|
},
|
64
|
-
"version": "7.5.4-beta.
|
64
|
+
"version": "7.5.4-beta.3",
|
65
65
|
"license": "ISC"
|
66
66
|
}
|
package/src/config.js
CHANGED
@@ -22,6 +22,88 @@ const indent = (string, indent) => {
|
|
22
22
|
return string.replace(/^/gm, ' '.repeat(indent));
|
23
23
|
}
|
24
24
|
|
25
|
+
const handleBridgeProps = (config, bridge) => {
|
26
|
+
if (!bridge.bridge) {
|
27
|
+
bridge.bridge = "{ ...next(operator) }"
|
28
|
+
}
|
29
|
+
if (!bridge.level) {
|
30
|
+
bridge.level = 0
|
31
|
+
}
|
32
|
+
if (bridge.children) {
|
33
|
+
for (let child of bridge.children) {
|
34
|
+
config.addHierarchy(child, bridge.id)
|
35
|
+
}
|
36
|
+
}
|
37
|
+
if (bridge.parents) {
|
38
|
+
for (let parent of bridge.parents) {
|
39
|
+
config.addHierarchy(bridge.id, parent)
|
40
|
+
}
|
41
|
+
}
|
42
|
+
if (bridge.isA) {
|
43
|
+
for (let parent of bridge.isA) {
|
44
|
+
config.addHierarchy(bridge.id, parent)
|
45
|
+
}
|
46
|
+
}
|
47
|
+
if (bridge.before) {
|
48
|
+
for (let after of bridge.before) {
|
49
|
+
if (typeof after == 'string') {
|
50
|
+
after = [after, 0]
|
51
|
+
}
|
52
|
+
config.addPriorities([after, [bridge.id, bridge.level]])
|
53
|
+
}
|
54
|
+
}
|
55
|
+
if (bridge.words) {
|
56
|
+
for (let def of bridge.words) {
|
57
|
+
if (typeof def == 'string') {
|
58
|
+
config.addWordInternal(def, {"id": bridge.id, "initial": `{ value: "${def}"}` })
|
59
|
+
} else {
|
60
|
+
const word = def.word
|
61
|
+
def = { initial: JSON.stringify(def), id: bridge.id, word: undefined }
|
62
|
+
config.addWordInternal(word, def)
|
63
|
+
}
|
64
|
+
}
|
65
|
+
}
|
66
|
+
if (bridge.generator) {
|
67
|
+
config.config.generators.unshift(bridge.generator)
|
68
|
+
}
|
69
|
+
if (bridge.generators) {
|
70
|
+
const generators = [...bridge.generators]
|
71
|
+
generators.reverse()
|
72
|
+
for (let generator of generators) {
|
73
|
+
config.config.generators.unshift(generator)
|
74
|
+
}
|
75
|
+
}
|
76
|
+
if (bridge.generatorp) {
|
77
|
+
config.config.generators.unshift({
|
78
|
+
where: bridge.generatorp.where || client.where(3),
|
79
|
+
match: ({context}) => bridge.id == context.marker && context.paraphrase,
|
80
|
+
apply: (args) => bridge.generatorp(args),
|
81
|
+
})
|
82
|
+
}
|
83
|
+
if (bridge.generatorr) {
|
84
|
+
config.config.generators.unshift({
|
85
|
+
// TODO merge response and isResponse
|
86
|
+
where: bridge.generatorr.where || client.where(3),
|
87
|
+
match: ({context}) => bridge.id == context.marker && !context.paraphrase && (context.response || context.isResponse),
|
88
|
+
apply: (args) => bridge.generatorr(args),
|
89
|
+
})
|
90
|
+
}
|
91
|
+
if (bridge.evaluator) {
|
92
|
+
config.config.semantics.unshift({
|
93
|
+
where: bridge.evaluator.where || client.where(3),
|
94
|
+
match: ({context}) => bridge.id == context.marker && context.evaluate,
|
95
|
+
apply: (args) => bridge.evaluator(args),
|
96
|
+
})
|
97
|
+
}
|
98
|
+
if (bridge.semantic) {
|
99
|
+
config.config.semantics.unshift({
|
100
|
+
where: bridge.semantic.where || client.where(3),
|
101
|
+
match: ({context}) => bridge.id == context.marker,
|
102
|
+
apply: (args) => bridge.semantic(args),
|
103
|
+
})
|
104
|
+
}
|
105
|
+
}
|
106
|
+
|
25
107
|
if (runtime.process.env.DEBUG_HIERARCHY) {
|
26
108
|
global.entodictonDebugHierarchy = JSON.parse(runtime.process.env.DEBUG_HIERARCHY)
|
27
109
|
}
|
@@ -86,6 +168,17 @@ const normalizeConfig = (config) => {
|
|
86
168
|
config[bag][i].km = config.name
|
87
169
|
}
|
88
170
|
}
|
171
|
+
|
172
|
+
}
|
173
|
+
if (config['bridges']) {
|
174
|
+
for (let bridge of config['bridges']) {
|
175
|
+
if (!bridge.level) {
|
176
|
+
bridge.level = 0
|
177
|
+
}
|
178
|
+
if (!bridge.bridge) {
|
179
|
+
bridge.bridge = "{ ...next(operator) }"
|
180
|
+
}
|
181
|
+
}
|
89
182
|
}
|
90
183
|
}
|
91
184
|
}
|
@@ -689,6 +782,7 @@ class Config {
|
|
689
782
|
if (global.transitoryMode) {
|
690
783
|
def.transitoryMode = true
|
691
784
|
}
|
785
|
+
handleBridgeProps(this, def)
|
692
786
|
bridges.push(def)
|
693
787
|
this.checkBridges();
|
694
788
|
this._delta.json.bridges.push({ action: 'add', bridge: def })
|
@@ -1018,7 +1112,8 @@ class Config {
|
|
1018
1112
|
'debug',
|
1019
1113
|
|
1020
1114
|
// TODO Fix these from the test app
|
1021
|
-
'
|
1115
|
+
'implicits',
|
1116
|
+
'convolution',
|
1022
1117
|
'expected_generated',
|
1023
1118
|
'expected_results',
|
1024
1119
|
'skipSemantics',
|
@@ -1115,9 +1210,21 @@ class Config {
|
|
1115
1210
|
config = _.cloneDeep(config)
|
1116
1211
|
this.config = config
|
1117
1212
|
for (let bridge of this.config.bridges) {
|
1118
|
-
const valid = [ 'before', 'bridge', 'development', 'evaluator', 'generatorp', 'generatorr', 'generators', 'id', '
|
1213
|
+
const valid = [ 'before', 'bridge', 'development', 'evaluator', 'generatorp', 'generatorr', 'generators', 'id', 'convolution', 'inverted', 'isA', 'children', 'parents',
|
1119
1214
|
'level', 'optional', 'selector', 'semantic', 'words', /Bridge$/, 'localHierarchy' ]
|
1120
1215
|
helpers.validProps(valid, bridge, 'bridge')
|
1216
|
+
/* moved
|
1217
|
+
if (!bridge.bridge) {
|
1218
|
+
bridge.bridge = "{ ...next(operator) }"
|
1219
|
+
}
|
1220
|
+
*/
|
1221
|
+
handleBridgeProps(this, bridge)
|
1222
|
+
|
1223
|
+
/* moved
|
1224
|
+
if (!bridge.level) {
|
1225
|
+
bridge.level = 0
|
1226
|
+
}
|
1227
|
+
*/
|
1121
1228
|
/*
|
1122
1229
|
if (bridge.generator) {
|
1123
1230
|
this.config.generators.push({
|
@@ -1126,6 +1233,7 @@ class Config {
|
|
1126
1233
|
})
|
1127
1234
|
}
|
1128
1235
|
*/
|
1236
|
+
/* moved
|
1129
1237
|
if (bridge.children) {
|
1130
1238
|
for (let child of bridge.children) {
|
1131
1239
|
this.addHierarchy(child, bridge.id)
|
@@ -1141,6 +1249,8 @@ class Config {
|
|
1141
1249
|
this.addHierarchy(bridge.id, parent)
|
1142
1250
|
}
|
1143
1251
|
}
|
1252
|
+
*/
|
1253
|
+
/* moved
|
1144
1254
|
if (bridge.before) {
|
1145
1255
|
for (let after of bridge.before) {
|
1146
1256
|
if (typeof after == 'string') {
|
@@ -1163,6 +1273,8 @@ class Config {
|
|
1163
1273
|
if (bridge.generator) {
|
1164
1274
|
this.config.generators.unshift(bridge.generator)
|
1165
1275
|
}
|
1276
|
+
*/
|
1277
|
+
/* moved
|
1166
1278
|
if (bridge.generators) {
|
1167
1279
|
const generators = [...bridge.generators]
|
1168
1280
|
generators.reverse()
|
@@ -1199,6 +1311,7 @@ class Config {
|
|
1199
1311
|
apply: (args) => bridge.semantic(args),
|
1200
1312
|
})
|
1201
1313
|
}
|
1314
|
+
*/
|
1202
1315
|
}
|
1203
1316
|
if (config.operators) {
|
1204
1317
|
config.operators = config.operators.map((operator) => {
|
@@ -2560,9 +2673,6 @@ class Config {
|
|
2560
2673
|
// console.log('key', key, 'XXX')
|
2561
2674
|
// console.log('more', JSON.stringify(more, null, 2))
|
2562
2675
|
// this.config[key] = this.config[key].concat(more[key])
|
2563
|
-
if (key == '2enerators') {
|
2564
|
-
debugger
|
2565
|
-
}
|
2566
2676
|
// this.config[key] = this.config[key].concat(more[key])
|
2567
2677
|
this.config[key] = more[key].concat(this.config[key])
|
2568
2678
|
} else {
|