theprogrammablemind_4wp 7.12.3-beta.0 → 7.12.3-beta.2
Sign up to get free protection for your applications and to get access to all the features.
- package/client.js +27 -21
- package/package.json +1 -1
- package/src/config.js +71 -52
package/client.js
CHANGED
@@ -89,12 +89,12 @@ const sameJSON = (json1, json2) => {
|
|
89
89
|
return JSON.stringify(sjson1) == JSON.stringify(sjson2)
|
90
90
|
}
|
91
91
|
|
92
|
-
const vimdiff = (actualJSON, expectedJSON) => {
|
92
|
+
const vimdiff = (actualJSON, expectedJSON, title) => {
|
93
93
|
const path = '.'
|
94
94
|
const actual = sortJson(actualJSON, { depth: 25 })
|
95
|
-
runtime.fs.writeFileSync(`${path}/actual.json`, JSON.stringify(actual, 0, 2))
|
95
|
+
runtime.fs.writeFileSync(`${path}/actual.json`, JSON.stringify({ title, actual}, 0, 2))
|
96
96
|
const expected = sortJson(expectedJSON, { depth: 25 })
|
97
|
-
runtime.fs.writeFileSync(`${path}/expected.json`, JSON.stringify(expected, 0, 2))
|
97
|
+
runtime.fs.writeFileSync(`${path}/expected.json`, JSON.stringify({ title, expected}, 0, 2))
|
98
98
|
// console.log(`vimdiff ${path}/actual.json ${path}/expected.json`)
|
99
99
|
{
|
100
100
|
const editor = runtime.process.env.EDITOR || 'vimdiff'
|
@@ -196,7 +196,7 @@ const setupArgs = (args, config, logs, hierarchy, uuidForScoping) => {
|
|
196
196
|
|
197
197
|
args.addAssumedScoped = (args, assumed) => {
|
198
198
|
const addAssumed = (args, ...moreAssumed) => {
|
199
|
-
return { ...args, assumed: Object.assign({}, (args.assumed || {}), ...moreAssumed) }
|
199
|
+
return { ...args, assumed: Object.assign({}, assumed, (args.assumed || {}), ...moreAssumed) }
|
200
200
|
}
|
201
201
|
|
202
202
|
args.s = (c) => config.getSemantics(logs).apply(args, c)
|
@@ -638,7 +638,9 @@ const loadInstance = (config, instance) => {
|
|
638
638
|
// config.addInternal(results, useOldVersion = true, skipObjects = false, includeNamespaces = true, allowNameToBeNull = false)
|
639
639
|
// config.addInternal(config.template.queries[i], { handleCalculatedProps: true } )
|
640
640
|
const uuid = config.nameToUUID(instance.name)
|
641
|
-
|
641
|
+
// used to do a CLONE
|
642
|
+
// config.addInternal(_.cloneDeep(instance.template.queries[i]), { uuid, addFirst: true, handleCalculatedProps: true })
|
643
|
+
config.addInternal(instance.template.queries[i], { uuid, addFirst: true, handleCalculatedProps: true })
|
642
644
|
} else if (results.apply) {
|
643
645
|
const objects = config.get('objects')
|
644
646
|
const args = { objects, getObjects: getObjects(objects) }
|
@@ -1843,34 +1845,33 @@ const knowledgeModuleImpl = async ({
|
|
1843
1845
|
if (results.length > 0) {
|
1844
1846
|
let headerShown = false
|
1845
1847
|
|
1846
|
-
let
|
1848
|
+
let hasError = false
|
1847
1849
|
for (const result of results) {
|
1848
|
-
let hasError = false
|
1849
1850
|
if (JSON.stringify(result.expected.paraphrases) !== JSON.stringify(result.actual.paraphrases)) {
|
1850
|
-
hasError = true
|
1851
|
+
result.hasError = true
|
1851
1852
|
}
|
1852
1853
|
if (!args.testNoParenthesized) {
|
1853
1854
|
if (JSON.stringify(result.expected.paraphrasesParenthesized) !== JSON.stringify(result.actual.paraphrasesParenthesized)) {
|
1854
|
-
hasError = true
|
1855
|
+
result.hasError = true
|
1855
1856
|
}
|
1856
1857
|
if (JSON.stringify(result.expected.generatedParenthesized) !== JSON.stringify(result.actual.generatedParenthesized)) {
|
1857
|
-
hasError = true
|
1858
|
+
result.hasError = true
|
1858
1859
|
}
|
1859
1860
|
}
|
1860
1861
|
if (JSON.stringify(result.expected.responses) !== JSON.stringify(result.actual.responses)) {
|
1861
|
-
hasError = true
|
1862
|
+
result.hasError = true
|
1862
1863
|
}
|
1863
1864
|
if (JSON.stringify(result.expected.checked) !== JSON.stringify(result.actual.checked)) {
|
1864
|
-
hasError = true
|
1865
|
+
result.hasError = true
|
1865
1866
|
}
|
1866
1867
|
if (!sameJSON(result.expected.checkedContexts, result.actual.checkedContexts)) {
|
1867
|
-
hasError = true
|
1868
|
+
result.hasError = true
|
1868
1869
|
}
|
1869
|
-
if (hasError) {
|
1870
|
-
|
1870
|
+
if (result.hasError) {
|
1871
|
+
hasError = true
|
1871
1872
|
}
|
1872
1873
|
}
|
1873
|
-
|
1874
|
+
|
1874
1875
|
if (hasError) {
|
1875
1876
|
console.log('**************************** ERRORS ************************')
|
1876
1877
|
for (const result of results) {
|
@@ -1885,21 +1886,20 @@ const knowledgeModuleImpl = async ({
|
|
1885
1886
|
newError = true
|
1886
1887
|
headerShown = true
|
1887
1888
|
if (args.vimdiff) {
|
1888
|
-
vimdiff(
|
1889
|
+
vimdiff(actual, expected, `"${result.utterance}" - ${label}`)
|
1889
1890
|
}
|
1890
|
-
|
1891
|
+
result.hasError = true
|
1891
1892
|
}
|
1892
1893
|
}
|
1893
1894
|
show('paraphrases', result.expected.paraphrases, result.actual.paraphrases)
|
1894
1895
|
if (!args.testNoParenthesized) {
|
1895
1896
|
show('paraphrases parenthesized', result.expected.paraphrasesParenthesized, result.actual.paraphrasesParenthesized)
|
1896
1897
|
}
|
1897
|
-
/*
|
1898
|
-
}
|
1899
1898
|
show('responses', result.expected.responses, result.actual.responses)
|
1900
1899
|
if (!args.testNoParenthesized) {
|
1901
1900
|
show('responses parenthesized', result.expected.generatedParenthesized, result.actual.generatedParenthesized)
|
1902
1901
|
}
|
1902
|
+
/*
|
1903
1903
|
if (JSON.stringify(result.expected.paraphrases) !== JSON.stringify(result.actual.paraphrases)) {
|
1904
1904
|
if (!headerShown) {
|
1905
1905
|
console.log(' Failure')
|
@@ -1972,7 +1972,13 @@ const knowledgeModuleImpl = async ({
|
|
1972
1972
|
if (!(useTestConfig.check && useTestConfig.check.length > 0)) {
|
1973
1973
|
console.log('use -v arg to write files expected.json and actual.json in the current directory for detailed comparison. Or do -s and then git diff the changes.')
|
1974
1974
|
// console.log(JSON.stringify(contexts))
|
1975
|
-
|
1975
|
+
let errorCount = 0
|
1976
|
+
for (const result of results) {
|
1977
|
+
if (result.hasError) {
|
1978
|
+
errorCount += 1
|
1979
|
+
}
|
1980
|
+
}
|
1981
|
+
console.log(`**************************** THERE WERE ${errorCount} TEST FAILURES ************************`)
|
1976
1982
|
}
|
1977
1983
|
}
|
1978
1984
|
}
|
package/package.json
CHANGED
package/src/config.js
CHANGED
@@ -1742,6 +1742,15 @@ class Config {
|
|
1742
1742
|
this.addedArgss.push(moreArgs)
|
1743
1743
|
}
|
1744
1744
|
|
1745
|
+
stop_auto_rebuild() {
|
1746
|
+
this._stop_auto_rebuild = true
|
1747
|
+
}
|
1748
|
+
|
1749
|
+
restart_auto_rebuild() {
|
1750
|
+
this._stop_auto_rebuild = false
|
1751
|
+
this.rebuild()
|
1752
|
+
}
|
1753
|
+
|
1745
1754
|
getAddedArgs (args) {
|
1746
1755
|
for (let addedArgs of this.addedArgss) {
|
1747
1756
|
addedArgs = addedArgs(args)
|
@@ -2250,6 +2259,9 @@ class Config {
|
|
2250
2259
|
|
2251
2260
|
// rebuild ({ isModule: mainIsModule = false } = {}) {
|
2252
2261
|
rebuild ({ isModule: mainIsModule } = {}) {
|
2262
|
+
if (this._stop_auto_rebuild) {
|
2263
|
+
return
|
2264
|
+
}
|
2253
2265
|
this.resetDelta()
|
2254
2266
|
const debug = this.config.debug
|
2255
2267
|
this.config = _.cloneDeep(this.initConfig)
|
@@ -2746,63 +2758,70 @@ class Config {
|
|
2746
2758
|
}
|
2747
2759
|
}
|
2748
2760
|
|
2749
|
-
add (
|
2750
|
-
|
2751
|
-
|
2752
|
-
|
2753
|
-
|
2754
|
-
|
2755
|
-
}
|
2761
|
+
add (...mores) {
|
2762
|
+
mores.forEach((km) => {
|
2763
|
+
if (km === this) {
|
2764
|
+
throw new Error('Cannot add an object to itself.')
|
2765
|
+
}
|
2766
|
+
})
|
2756
2767
|
|
2757
|
-
|
2758
|
-
|
2759
|
-
|
2760
|
-
|
2761
|
-
more.server(this._server, this._key, this._queryParams)
|
2762
|
-
|
2763
|
-
this.loadOrder.addList(more.configs.map((km) => km.name || km.uuid))
|
2764
|
-
|
2765
|
-
// get the new ones
|
2766
|
-
// remove the dups
|
2767
|
-
// run the initialize one all new ones
|
2768
|
-
// this.configs = this.configs.concat(new KM({config: more}));
|
2769
|
-
// only set for the first one the rest have it set
|
2770
|
-
const namespace = this._namespace.concat(more._namespace)
|
2771
|
-
const moreKMs1 = [new KM({ config: more, getCounter: (name) => this.getCounter(name), uuid: more.uuid, namespace })]
|
2772
|
-
const moreKMs2 = more.configs.slice(1).map((km) => {
|
2768
|
+
mores = mores.map((km) => {
|
2769
|
+
if (!(km instanceof Config)) {
|
2770
|
+
km = new Config(km)
|
2771
|
+
}
|
2773
2772
|
return km
|
2774
|
-
// const cp = km.copy()
|
2775
|
-
// cp.namespace = namespace
|
2776
|
-
// return cp;
|
2777
2773
|
})
|
2778
|
-
|
2779
|
-
|
2780
|
-
|
2781
|
-
|
2782
|
-
|
2783
|
-
|
2784
|
-
|
2785
|
-
|
2786
|
-
|
2787
|
-
|
2774
|
+
|
2775
|
+
mores.forEach((more) => {
|
2776
|
+
this.valid()
|
2777
|
+
more.valid()
|
2778
|
+
// copy so i don't have to copy later
|
2779
|
+
more = more.copy()
|
2780
|
+
more.server(this._server, this._key, this._queryParams)
|
2781
|
+
|
2782
|
+
this.loadOrder.addList(more.configs.map((km) => km.name || km.uuid))
|
2783
|
+
|
2784
|
+
// get the new ones
|
2785
|
+
// remove the dups
|
2786
|
+
// run the initialize one all new ones
|
2787
|
+
// this.configs = this.configs.concat(new KM({config: more}));
|
2788
|
+
// only set for the first one the rest have it set
|
2789
|
+
const namespace = this._namespace.concat(more._namespace)
|
2790
|
+
const moreKMs1 = [new KM({ config: more, getCounter: (name) => this.getCounter(name), uuid: more.uuid, namespace })]
|
2791
|
+
const moreKMs2 = more.configs.slice(1).map((km) => {
|
2792
|
+
return km
|
2793
|
+
// const cp = km.copy()
|
2794
|
+
// cp.namespace = namespace
|
2795
|
+
// return cp;
|
2796
|
+
})
|
2797
|
+
const moreKMs = moreKMs1.concat(moreKMs2)
|
2798
|
+
const eqClass = moreKMs.map((km) => km.uuid)
|
2799
|
+
this._eqClasses.push(eqClass)
|
2800
|
+
// look for dups and combine them with the eqclasses
|
2801
|
+
for (const moreKM of moreKMs) {
|
2802
|
+
const existingKM = this.configs.find((km) => moreKM._name && km.name === moreKM.name)
|
2803
|
+
if (existingKM) {
|
2804
|
+
this.addEqClass(existingKM, moreKM)
|
2805
|
+
} else {
|
2806
|
+
this.configs.push(moreKM)
|
2807
|
+
}
|
2788
2808
|
}
|
2789
|
-
|
2790
|
-
|
2791
|
-
|
2792
|
-
|
2793
|
-
|
2794
|
-
|
2795
|
-
|
2796
|
-
|
2797
|
-
|
2798
|
-
|
2799
|
-
|
2800
|
-
|
2801
|
-
|
2809
|
+
more.resetToOne()
|
2810
|
+
this.config.eqClasses = this._eqClasses
|
2811
|
+
// greg
|
2812
|
+
// setup instances
|
2813
|
+
this.instances = []
|
2814
|
+
this.configs.forEach((km) => {
|
2815
|
+
this.instances = (km._config.instances || this.initInstances.slice()).concat(this.instances)
|
2816
|
+
})
|
2817
|
+
const noDups = []
|
2818
|
+
for (const instance of this.instances) {
|
2819
|
+
if (!noDups.find((existing) => existing.name == instance.name)) {
|
2820
|
+
noDups.push(instance)
|
2821
|
+
}
|
2802
2822
|
}
|
2803
|
-
|
2804
|
-
|
2805
|
-
|
2823
|
+
this.instances = noDups
|
2824
|
+
})
|
2806
2825
|
this.rebuild()
|
2807
2826
|
this.valid()
|
2808
2827
|
return this
|