theprogrammablemind_4wp 7.5.0-beta.15 → 7.5.0-beta.16
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 +27 -9
 - package/lines.js +3 -0
 - package/package.json +1 -1
 - package/src/config.js +14 -1
 
    
        package/client.js
    CHANGED
    
    | 
         @@ -678,9 +678,12 @@ const runTest = async (config, expected, { verbose, afterTest, testConfig, debug 
     | 
|
| 
       678 
678 
     | 
    
         
             
                defaultErrorHandler(error)
         
     | 
| 
       679 
679 
     | 
    
         
             
              }
         
     | 
| 
       680 
680 
     | 
    
         | 
| 
       681 
     | 
    
         
            -
               
     | 
| 
      
 681 
     | 
    
         
            +
              let objects = getObjects(config.config.objects)(config.uuid)
         
     | 
| 
      
 682 
     | 
    
         
            +
              if (testConfig.testModuleName) {
         
     | 
| 
      
 683 
     | 
    
         
            +
                objects = getObjects(config.config.objects)(config.getConfigs()[testConfig.testModuleName].uuid)
         
     | 
| 
      
 684 
     | 
    
         
            +
              }
         
     | 
| 
       682 
685 
     | 
    
         
             
              config.beforeQuery({ query: test, isModule: false, objects })
         
     | 
| 
       683 
     | 
    
         
            -
              config.resetMotivations()
         
     | 
| 
      
 686 
     | 
    
         
            +
              // config.resetMotivations()
         
     | 
| 
       684 
687 
     | 
    
         
             
                try {
         
     | 
| 
       685 
688 
     | 
    
         
             
                  const result = await _process(config, test, { errorHandler, isTest: true })
         
     | 
| 
       686 
689 
     | 
    
         
             
                  result.query = test
         
     | 
| 
         @@ -791,7 +794,7 @@ const runTests = async (config, testFile, juicyBits) => { 
     | 
|
| 
       791 
794 
     | 
    
         
             
            const saveTest = async (testFile, config, test, expected, testConfig, saveDeveloper) => {
         
     | 
| 
       792 
795 
     | 
    
         
             
              config.rebuild()
         
     | 
| 
       793 
796 
     | 
    
         
             
              const objects = getObjects(config.config.objects)(config.uuid)
         
     | 
| 
       794 
     | 
    
         
            -
              config.resetMotivations()
         
     | 
| 
      
 797 
     | 
    
         
            +
              //config.resetMotivations()
         
     | 
| 
       795 
798 
     | 
    
         
             
              config.beforeQuery({ query: test, isModule: false, objects })
         
     | 
| 
       796 
799 
     | 
    
         
             
              console.log(test)
         
     | 
| 
       797 
800 
     | 
    
         
             
              const result = await _process(config, test, { isTest: true })
         
     | 
| 
         @@ -1260,7 +1263,7 @@ const knowledgeModule = async ({ 
     | 
|
| 
       1260 
1263 
     | 
    
         
             
                  description: 'Entodicton knowledge module'
         
     | 
| 
       1261 
1264 
     | 
    
         
             
                })
         
     | 
| 
       1262 
1265 
     | 
    
         | 
| 
       1263 
     | 
    
         
            -
                parser.add_argument('- 
     | 
| 
      
 1266 
     | 
    
         
            +
                parser.add_argument('-tmn', '--testModuleName', { help: 'When running tests instead of using the current modules tests use the specified modules tests' })
         
     | 
| 
       1264 
1267 
     | 
    
         
             
                parser.add_argument('-t', '--test', { action: 'store_true', help: 'Run the tests. Create tests by running with the --query + --save flag' })
         
     | 
| 
       1265 
1268 
     | 
    
         
             
                parser.add_argument('-tv', '--testVerbose', { action: 'store_true', help: 'Run the tests in verbose mode. Create tests by running with the --query or --loop with the --save flag' })
         
     | 
| 
       1266 
1269 
     | 
    
         
             
                parser.add_argument('-tva', '--testAllVerbose', { action: 'store_true', help: 'Run the tests in verbose mode. All the tests will be run instead of stopping at first failure. Create tests by running with the --query or --loop with the --save flag' })
         
     | 
| 
         @@ -1474,7 +1477,15 @@ const knowledgeModule = async ({ 
     | 
|
| 
       1474 
1477 
     | 
    
         
             
                        }
         
     | 
| 
       1475 
1478 
     | 
    
         
             
                        return
         
     | 
| 
       1476 
1479 
     | 
    
         
             
                      }
         
     | 
| 
       1477 
     | 
    
         
            -
                       
     | 
| 
      
 1480 
     | 
    
         
            +
                      let useTestConfig = testConfig
         
     | 
| 
      
 1481 
     | 
    
         
            +
                      if (args.testModuleName) {
         
     | 
| 
      
 1482 
     | 
    
         
            +
                        useTestConfig = config.getConfigs()[args.testModuleName].getTestConfig()
         
     | 
| 
      
 1483 
     | 
    
         
            +
                        useTestConfig.testModuleName = args.testModuleName
         
     | 
| 
      
 1484 
     | 
    
         
            +
                        test = useTestConfig.name
         
     | 
| 
      
 1485 
     | 
    
         
            +
             
     | 
| 
      
 1486 
     | 
    
         
            +
                      }
         
     | 
| 
      
 1487 
     | 
    
         
            +
                      // runTests(config, args.testFileName ? `${args.testFileName}.test.json` : test, { debug: args.debug, testConfig: testConfig, verbose: args.testVerbose || args.testAllVerbose, stopAtFirstError: !args.testAllVerbose }).then((results) => {
         
     | 
| 
      
 1488 
     | 
    
         
            +
                      runTests(config, test, { debug: args.debug, testConfig: useTestConfig, verbose: args.testVerbose || args.testAllVerbose, stopAtFirstError: !args.testAllVerbose }).then((results) => {
         
     | 
| 
       1478 
1489 
     | 
    
         
             
                        if (results.length > 0 && args.vimdiff) {
         
     | 
| 
       1479 
1490 
     | 
    
         
             
                          for (const result of results) {
         
     | 
| 
       1480 
1491 
     | 
    
         
             
                            vimdiff(result.expected, result.actual)
         
     | 
| 
         @@ -1523,19 +1534,25 @@ const knowledgeModule = async ({ 
     | 
|
| 
       1523 
1534 
     | 
    
         
             
                                if (!headerShown) {
         
     | 
| 
       1524 
1535 
     | 
    
         
             
                                  console.log('  Failure')
         
     | 
| 
       1525 
1536 
     | 
    
         
             
                                }
         
     | 
| 
       1526 
     | 
    
         
            -
                                 
     | 
| 
       1527 
     | 
    
         
            -
                                 
     | 
| 
      
 1537 
     | 
    
         
            +
                                const widths = [4, 18, 72]
         
     | 
| 
      
 1538 
     | 
    
         
            +
                                const lines = new Lines(widths)
         
     | 
| 
      
 1539 
     | 
    
         
            +
                                lines.setElement(1, 1, 'expected checked')
         
     | 
| 
      
 1540 
     | 
    
         
            +
                                lines.setElement(2, 2, JSON.stringify(result.expected.checked, null, 2))
         
     | 
| 
      
 1541 
     | 
    
         
            +
                                lines.log()
         
     | 
| 
      
 1542 
     | 
    
         
            +
                                lines.setElement(1, 1, 'actual checked')
         
     | 
| 
      
 1543 
     | 
    
         
            +
                                lines.setElement(2, 2, JSON.stringify(result.actual.checked, null, 2))
         
     | 
| 
      
 1544 
     | 
    
         
            +
                                lines.log()
         
     | 
| 
       1528 
1545 
     | 
    
         
             
                                newError = true
         
     | 
| 
       1529 
1546 
     | 
    
         
             
                                headerShown = true
         
     | 
| 
       1530 
1547 
     | 
    
         
             
                              }
         
     | 
| 
       1531 
1548 
     | 
    
         
             
                            }
         
     | 
| 
       1532 
1549 
     | 
    
         
             
                          }
         
     | 
| 
       1533 
1550 
     | 
    
         
             
                          if (!headerShown) {
         
     | 
| 
       1534 
     | 
    
         
            -
                            if (!( 
     | 
| 
      
 1551 
     | 
    
         
            +
                            if (!(useTestConfig.check && useTestConfig.check.length > 0)) {
         
     | 
| 
       1535 
1552 
     | 
    
         
             
                              console.log('There are failures due to things other than paraphrases, responses and checked properties being different. They are not shown because you ran -tv or -tva which only shows difference in paraphrase and results. Usually what I do is -s and do a diff to make sure there are no other problems. If the paraphrases or results were different they would have shown here.')
         
     | 
| 
       1536 
1553 
     | 
    
         
             
                            }
         
     | 
| 
       1537 
1554 
     | 
    
         
             
                          }
         
     | 
| 
       1538 
     | 
    
         
            -
                          if (!( 
     | 
| 
      
 1555 
     | 
    
         
            +
                          if (!(useTestConfig.check && useTestConfig.check.length > 0)) {
         
     | 
| 
       1539 
1556 
     | 
    
         
             
                            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.')
         
     | 
| 
       1540 
1557 
     | 
    
         
             
                            // console.log(JSON.stringify(contexts))
         
     | 
| 
       1541 
1558 
     | 
    
         
             
                            console.log('**************************** ERRORS ************************')
         
     | 
| 
         @@ -1597,6 +1614,7 @@ const knowledgeModule = async ({ 
     | 
|
| 
       1597 
1614 
     | 
    
         
             
                }
         
     | 
| 
       1598 
1615 
     | 
    
         
             
              } else {
         
     | 
| 
       1599 
1616 
     | 
    
         
             
                config.addAssociationsFromTests(config.tests);
         
     | 
| 
      
 1617 
     | 
    
         
            +
                config.setTestConfig(testConfig)
         
     | 
| 
       1600 
1618 
     | 
    
         
             
                //for (let query in config.tests) {
         
     | 
| 
       1601 
1619 
     | 
    
         
             
                //  config.addAssociations(config.tests[query].associations || []);
         
     | 
| 
       1602 
1620 
     | 
    
         
             
                //}
         
     | 
    
        package/lines.js
    CHANGED
    
    | 
         @@ -12,6 +12,9 @@ class Lines { 
     | 
|
| 
       12 
12 
     | 
    
         
             
              // will wrap to next line within the column
         
     | 
| 
       13 
13 
     | 
    
         
             
              setElement (row, column, value) {
         
     | 
| 
       14 
14 
     | 
    
         
             
                const values = value.toString().split('\n')
         
     | 
| 
      
 15 
     | 
    
         
            +
                if (column >= this.widths.length) {
         
     | 
| 
      
 16 
     | 
    
         
            +
                  throw "Column out of range."
         
     | 
| 
      
 17 
     | 
    
         
            +
                }
         
     | 
| 
       15 
18 
     | 
    
         
             
                const width = this.widths[column]
         
     | 
| 
       16 
19 
     | 
    
         
             
                let index = 0
         
     | 
| 
       17 
20 
     | 
    
         
             
                for (value of values) {
         
     | 
    
        package/package.json
    CHANGED
    
    
    
        package/src/config.js
    CHANGED
    
    | 
         @@ -330,6 +330,17 @@ class Config { 
     | 
|
| 
       330 
330 
     | 
    
         
             
                return `${maybeName}${counter}`
         
     | 
| 
       331 
331 
     | 
    
         
             
              }
         
     | 
| 
       332 
332 
     | 
    
         | 
| 
      
 333 
     | 
    
         
            +
              setTestConfig(testConfig) {
         
     | 
| 
      
 334 
     | 
    
         
            +
                if (this.name == 'ui') {
         
     | 
| 
      
 335 
     | 
    
         
            +
                  console.log('ui setting testConfig')
         
     | 
| 
      
 336 
     | 
    
         
            +
                }
         
     | 
| 
      
 337 
     | 
    
         
            +
                this.testConfig = testConfig
         
     | 
| 
      
 338 
     | 
    
         
            +
              }
         
     | 
| 
      
 339 
     | 
    
         
            +
             
     | 
| 
      
 340 
     | 
    
         
            +
              getTestConfig() {
         
     | 
| 
      
 341 
     | 
    
         
            +
                return this.testConfig
         
     | 
| 
      
 342 
     | 
    
         
            +
              }
         
     | 
| 
      
 343 
     | 
    
         
            +
             
     | 
| 
       333 
344 
     | 
    
         
             
              defaultConfig () {
         
     | 
| 
       334 
345 
     | 
    
         
             
                this.config = {
         
     | 
| 
       335 
346 
     | 
    
         
             
                  operators: [], // TODO
         
     | 
| 
         @@ -1379,12 +1390,13 @@ class Config { 
     | 
|
| 
       1379 
1390 
     | 
    
         
             
                cp.name = this.name
         
     | 
| 
       1380 
1391 
     | 
    
         
             
                cp.description = this.description
         
     | 
| 
       1381 
1392 
     | 
    
         
             
                cp.tests = this.tests
         
     | 
| 
       1382 
     | 
    
         
            -
                cp.motivations = this.motivations
         
     | 
| 
      
 1393 
     | 
    
         
            +
                cp.motivations = [...this.motivations]
         
     | 
| 
       1383 
1394 
     | 
    
         
             
                cp.isModule = this.isModule
         
     | 
| 
       1384 
1395 
     | 
    
         
             
                cp.loadedForTesting = this.loadedForTesting
         
     | 
| 
       1385 
1396 
     | 
    
         
             
                cp.initInstances = this.initInstances.slice()
         
     | 
| 
       1386 
1397 
     | 
    
         
             
                cp.instances = this.instances.slice()
         
     | 
| 
       1387 
1398 
     | 
    
         
             
                cp.configCounter = this.configCounter
         
     | 
| 
      
 1399 
     | 
    
         
            +
                cp.testConfig = this.testConfig
         
     | 
| 
       1388 
1400 
     | 
    
         | 
| 
       1389 
1401 
     | 
    
         
             
                cp.initConfig = _.cloneDeep(this.initConfig)
         
     | 
| 
       1390 
1402 
     | 
    
         
             
                cp.defaultConfig()
         
     | 
| 
         @@ -1747,6 +1759,7 @@ class Config { 
     | 
|
| 
       1747 
1759 
     | 
    
         
             
                }
         
     | 
| 
       1748 
1760 
     | 
    
         
             
                this.config.objects.namespaced = {}
         
     | 
| 
       1749 
1761 
     | 
    
         
             
                this.resetWasInitialized()
         
     | 
| 
      
 1762 
     | 
    
         
            +
                this.resetMotivations()
         
     | 
| 
       1750 
1763 
     | 
    
         | 
| 
       1751 
1764 
     | 
    
         
             
                // reorder configs base on load ordering
         
     | 
| 
       1752 
1765 
     | 
    
         
             
                {
         
     |