diff --git a/package-lock.json b/package-lock.json index df5b5ac3..b196710f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1949,6 +1949,31 @@ } } }, + "@bluelovers/fast-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@bluelovers/fast-glob/-/fast-glob-3.0.4.tgz", + "integrity": "sha512-djAOOjDWXolYArm5NXxOIX7Q7OGhAaRtMs5F968OxelWkMUU6PyU6tS66CFykVON4U5y8jXcsnVAFCaeuf1nEA==", + "requires": { + "bluebird": "^3", + "fast-glob": "^3" + } + }, + "@bluelovers/string-natural-compare": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@bluelovers/string-natural-compare/-/string-natural-compare-2.0.7.tgz", + "integrity": "sha512-/3sl9N/BYgqlOepA92k5kbVva4KuoGkfyOkJR1GIPbDlOmaA0pEN1sznS2LR3vQv64Q0/o5HT/rsMmaQIJKEwQ==", + "requires": { + "string-natural-compare": "^3.0.1", + "tslib": "^2" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, "@commitlint/execute-rule": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-11.0.0.tgz", @@ -2407,6 +2432,247 @@ "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==" }, + "@lazy-cjk/japanese": { + "version": "1.2.27", + "resolved": "https://registry.npmjs.org/@lazy-cjk/japanese/-/japanese-1.2.27.tgz", + "integrity": "sha512-kUZ5RFjvyUiHGtZ0lDghwtuIKmTlPurhTQbM6rLxehbs/px+5KMngKCC3Q/lCWSYzWLK6FL4oEMod8WK6dlgHw==", + "requires": { + "big.js": "^6.1.1", + "lodash": "^4.17.21", + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@lazy-cjk/jp-table-alias": { + "version": "1.0.38", + "resolved": "https://registry.npmjs.org/@lazy-cjk/jp-table-alias/-/jp-table-alias-1.0.38.tgz", + "integrity": "sha512-76x1ZjA2ov6T9pf7GFhtF+NekdwBjSs8tIuhkyEOs5c64bi3HnkJQSasOWo/cYmBwrM3Y66UN5mL8rt3sGhv9g==", + "requires": { + "@lazy-cjk/jp-table-convert": "^1.0.43", + "array-hyper-unique": "^2.0.6", + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@lazy-cjk/jp-table-comparison": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/@lazy-cjk/jp-table-comparison/-/jp-table-comparison-1.0.28.tgz", + "integrity": "sha512-Qm9FMJiaUi4EIW7B/A7Ix2l7nlN6MV64DcAGf51zCgxSj4G1af3bNvxuf8fU840ZP1HL5pS+p0Z2+bjJkQdpWg==", + "requires": { + "array-hyper-unique": "^2.0.6", + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@lazy-cjk/jp-table-convert": { + "version": "1.0.43", + "resolved": "https://registry.npmjs.org/@lazy-cjk/jp-table-convert/-/jp-table-convert-1.0.43.tgz", + "integrity": "sha512-QbWCgjGhY8UEaz0MOtXNdzfqQqhA0vzBaUW02uS0OIGkRWDHKBhDKpW+sER7+sHkcGFJj+2WYip4uYb9ssjBXQ==", + "requires": { + "@lazy-cjk/jp-table-comparison": "^1.0.28", + "regexp-helper": "^1.0.34", + "tslib": "^2.3.1", + "uni-string": "^1.1.12" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@lazy-cjk/jp-table-voice": { + "version": "1.0.36", + "resolved": "https://registry.npmjs.org/@lazy-cjk/jp-table-voice/-/jp-table-voice-1.0.36.tgz", + "integrity": "sha512-FA1kokwaHQn1L4TH6hMKtsmg8LOH2fN/RYJMJrM1NvztCrIPYQjrxbxykwaVQp+Hf1tclOoiH9lKGQpDKHCTFw==", + "requires": { + "array-hyper-unique": "^2.0.6", + "ts-type": "^2.1.4", + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@lazy-cjk/novel-filename": { + "version": "1.0.46", + "resolved": "https://registry.npmjs.org/@lazy-cjk/novel-filename/-/novel-filename-1.0.46.tgz", + "integrity": "sha512-BQsUAfgD2bQ7vR+Io3tKplNq33ZFdmmA7ECg/ZRbDkcmg6qf210L2VItE6btxpJqqQAkFM3gV26h+aeYUQdlpA==", + "requires": { + "@lazy-cjk/jp-table-convert": "^1.0.43", + "@lazy-cjk/zh-convert": "^1.0.44", + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@lazy-cjk/static-build-zh-convert": { + "version": "1.0.47", + "resolved": "https://registry.npmjs.org/@lazy-cjk/static-build-zh-convert/-/static-build-zh-convert-1.0.47.tgz", + "integrity": "sha512-MR1bWDxaxut6bo/XPSpInN/ZpGf6e5NSlCRckChcZBRxcg/Y8D/+znHkdjbV62DIQjpFIReu8Y7YfGWV8JwNPQ==", + "requires": { + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@lazy-cjk/util": { + "version": "1.0.17", + "resolved": "https://registry.npmjs.org/@lazy-cjk/util/-/util-1.0.17.tgz", + "integrity": "sha512-4Uk5JxWej6KzMLrc91K2K4yM0tOdIon4hczc18uqZD/EE3IkwS3qgocm8RCnQvrmnTu8ICiWSGbK1jTzUzGftw==", + "requires": { + "tslib": "^2.3.1", + "uni-string": "^1.1.12" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@lazy-cjk/zh-convert": { + "version": "1.0.44", + "resolved": "https://registry.npmjs.org/@lazy-cjk/zh-convert/-/zh-convert-1.0.44.tgz", + "integrity": "sha512-nDd4DSZergqSnlksbkyWiZNWJr2HP25vIYdMx+uw0AQCVUTX8deTSkULaFyiYs9QTbUmEdWpLQPOWBWOED0EBw==", + "requires": { + "@lazy-cjk/static-build-zh-convert": "^1.0.47", + "array-hyper-unique": "^2.0.6", + "regexp-helper": "^1.0.34", + "tslib": "^2.3.1", + "uni-string": "^1.1.12" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@lazy-cjk/zh-convert-table": { + "version": "1.0.22", + "resolved": "https://registry.npmjs.org/@lazy-cjk/zh-convert-table/-/zh-convert-table-1.0.22.tgz", + "integrity": "sha512-0OoKsxMYYcnQGCiJpz+nNfszbarQjttG61CRoZLYj7IY6KVzwcRmzpleYOivqyESZzWshkfOTip6/u8cqW1CyQ==", + "requires": { + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@lazy-cjk/zh-slugify": { + "version": "1.0.82", + "resolved": "https://registry.npmjs.org/@lazy-cjk/zh-slugify/-/zh-slugify-1.0.82.tgz", + "integrity": "sha512-SGWU5a7oUJBB+KCu0tHoLe/aO3YStBKguGEzHc1kkMIxDgTZADbegVxuxSimlyDeKaTnv6nP4fZ0s1KDLRM6/Q==", + "requires": { + "@lazy-cjk/zh-table-greedy": "^1.0.84", + "@lazy-cjk/zh-table-list": "^1.0.80", + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@lazy-cjk/zh-table-alias": { + "version": "1.0.58", + "resolved": "https://registry.npmjs.org/@lazy-cjk/zh-table-alias/-/zh-table-alias-1.0.58.tgz", + "integrity": "sha512-PUPvYnLE2neCwSXZKOIAPOmsAHAmmbrpyolC5MYA8RZyazGHGKylQIXAevrqSv/WrSFLBOHT87KI9sWMrDF32w==", + "requires": { + "@lazy-cjk/jp-table-alias": "^1.0.38", + "@lazy-cjk/zh-convert": "^1.0.44", + "array-hyper-unique": "^2.0.6", + "deepmerge-plus": "^2.1.3", + "ts-type": "^2.1.4", + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@lazy-cjk/zh-table-greedy": { + "version": "1.0.84", + "resolved": "https://registry.npmjs.org/@lazy-cjk/zh-table-greedy/-/zh-table-greedy-1.0.84.tgz", + "integrity": "sha512-0Tn92n74nNXKtro/TcHoM0hp0HJE0HsJTm/khiNTUoMu7lymvdHPqoZ8OzyswnPHlYvBBqm+4TD2NYRQYad8BA==", + "requires": { + "array-hyper-unique": "^2.0.6", + "tslib": "^2.3.1", + "uni-string": "^1.1.12" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@lazy-cjk/zh-table-list": { + "version": "1.0.80", + "resolved": "https://registry.npmjs.org/@lazy-cjk/zh-table-list/-/zh-table-list-1.0.80.tgz", + "integrity": "sha512-bFxkGH5HxtQI3ACVbAvrMGmjLhy9r33G//zKoiiprOriNeJusOvMGamnNARmJU9tHsciX8yt8yaNiG6QZAaXDA==", + "requires": { + "@lazy-cjk/jp-table-convert": "^1.0.43", + "@lazy-cjk/zh-convert": "^1.0.44", + "@lazy-cjk/zh-table-alias": "^1.0.58", + "@lazy-cjk/zh-table-greedy": "^1.0.84", + "tslib": "^2.3.1", + "uni-string": "^1.1.12" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, "@microsoft/microsoft-graph-client": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@microsoft/microsoft-graph-client/-/microsoft-graph-client-2.2.1.tgz", @@ -2498,7 +2764,6 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", - "dev": true, "requires": { "@nodelib/fs.stat": "2.0.3", "run-parallel": "^1.1.9" @@ -2507,19 +2772,295 @@ "@nodelib/fs.stat": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", - "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", - "dev": true + "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==" }, "@nodelib/fs.walk": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", - "dev": true, "requires": { "@nodelib/fs.scandir": "2.1.3", "fastq": "^1.6.0" } }, + "@novel-segment/dict-loader-core": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/@novel-segment/dict-loader-core/-/dict-loader-core-1.0.16.tgz", + "integrity": "sha512-8X1RPK1WtGKO5GKmj7p5k2N1kJ3EVgdVdO4Kp0QSBlQzy30gli4VxxNMiXnpXIaBQQXOmFO06XgeEvio4LUYrg==", + "requires": { + "bluebird": "^3.7.2", + "core-decorators": "^0.20.0", + "crlf-normalize": "^1.0.7", + "tslib": "^2" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@novel-segment/loader-line": { + "version": "1.0.17", + "resolved": "https://registry.npmjs.org/@novel-segment/loader-line/-/loader-line-1.0.17.tgz", + "integrity": "sha512-iz5EMLMf8hFqXYQ1Lt2axdFTSgDV8e+xD4+9eJ9BaIWC1aj+/3Opi+1KpVFhetvzgLJ0RGe/XdKa0x79bAQqWQ==", + "requires": { + "@novel-segment/dict-loader-core": "^1.0.16", + "tslib": "^2" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@novel-segment/loader-stopword": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/@novel-segment/loader-stopword/-/loader-stopword-1.0.16.tgz", + "integrity": "sha512-l+nGTrHD+BjozUhiC+udIDoZzud5vvc4QbUWvd6LtfwcQ9VWXPJMC7G471/fj5lH9zmzcM0uX/cGFNxuI7qMsA==", + "requires": { + "@novel-segment/dict-loader-core": "^1.0.16", + "tslib": "^2" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@novel-segment/loaders": { + "version": "1.0.32", + "resolved": "https://registry.npmjs.org/@novel-segment/loaders/-/loaders-1.0.32.tgz", + "integrity": "sha512-NpDCNINs52CcF9KR3A1UTwUnOce4s6TkvgIgkPtEYrwt5Zyl5EoIUxPtVZJnINX9leeOrD3wyMKsqFJwy4nO8w==", + "requires": { + "@novel-segment/dict-loader-core": "^1.0.16", + "@novel-segment/loader-line": "^1.0.17", + "@novel-segment/loader-stopword": "^1.0.16", + "@novel-segment/stream-loader-core": "^1.0.19", + "@novel-segment/types": "^1.0.5", + "tslib": "^2" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@novel-segment/postag": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/@novel-segment/postag/-/postag-1.0.16.tgz", + "integrity": "sha512-uEpDd/mh5U8FssVTG4b2zsK3WZ1U8vwEAXQREqDYbf/vEQdXdz1P4NgjVsU8iBvSNxk95uWK3VOnXI5YowZtYA==", + "requires": { + "ts-enum-util": "^4.0.2", + "ts-type": "^2.1.6", + "tslib": "^2" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@novel-segment/stream-loader-core": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/@novel-segment/stream-loader-core/-/stream-loader-core-1.0.19.tgz", + "integrity": "sha512-z9DsOHjvhVyXnyVlpD76G5A8GojzfEemsiiSLse525kUbsDzHY1gtdLsiptGT8PdrpYnKR9sRszCl4NIbiUVGw==", + "requires": { + "bluebird": "^3.7.2", + "split2": "^4.1.0", + "stream-pipe": "^1.0.4", + "tslib": "^2" + }, + "dependencies": { + "split2": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.1.0.tgz", + "integrity": "sha512-VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ==" + }, + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@novel-segment/stringify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@novel-segment/stringify/-/stringify-1.0.4.tgz", + "integrity": "sha512-qoahBYI2ff81ISPZ5AeqR7J3zxLRTeFuBUbvf+Tb/QEOyCCqAFiMw4QxDxEHNBgHTdrCNLrTMz8rRkXDFXM89g==", + "requires": { + "@novel-segment/types": "^1.0.5", + "ts-type": "^2.1.6", + "tslib": "^2" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@novel-segment/table-blacklist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@novel-segment/table-blacklist/-/table-blacklist-1.0.4.tgz", + "integrity": "sha512-vBIMFQ09HgsMwJ8zy0+fhe14eQxd5DYpH5sV4a+AH971qZpRJvIVa2e1i1RFY402+S8GPJh9o/UW8tn6DX1i9w==", + "requires": { + "@novel-segment/table-line": "^1.0.4", + "tslib": "^2.4.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@novel-segment/table-core-abstract": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@novel-segment/table-core-abstract/-/table-core-abstract-1.0.4.tgz", + "integrity": "sha512-s/VHA4VAC5v97nE73ChKwGP1tS4GkxpXrq9crzqCbQ+oxqzCtByYOQWo1tKuziJ8gBJe/PzTb5awyCcCZnyvOA==", + "requires": { + "@novel-segment/loaders": "^1.0.32", + "@novel-segment/types": "^1.0.5", + "lodash": "^4.17.21", + "ts-type": "^2.1.6", + "tslib": "^2" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@novel-segment/table-dict": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@novel-segment/table-dict/-/table-dict-1.0.4.tgz", + "integrity": "sha512-6tmiBL1hvC1yvoKoTkylp09ZX3wymSdSOUbwfTyrFcT2l0WWhnyJREsj88OYdLSigA4wonT1UD2WtwJEf0/i5w==", + "requires": { + "@lazy-cjk/zh-table-list": "^1.0.80", + "@novel-segment/loaders": "^1.0.32", + "@novel-segment/table-core-abstract": "^1.0.4", + "tslib": "^2" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@novel-segment/table-line": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@novel-segment/table-line/-/table-line-1.0.4.tgz", + "integrity": "sha512-+jGbOnu8R/z9QLx2eaoR1X334+sWqh9qaTdD1M/rzpk136hOnJaSVNQ+KmXEhd6++vu9MhPdLMHms6cfxQaslw==", + "requires": { + "@novel-segment/loader-line": "^1.0.17", + "@novel-segment/table-core-abstract": "^1.0.4", + "lodash": "^4.17.21", + "tslib": "^2" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@novel-segment/table-stopword": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@novel-segment/table-stopword/-/table-stopword-1.0.4.tgz", + "integrity": "sha512-eXlFNtqe6N9DKAV0WFJLOaNyAP+S1WjESYkLXkDCkXPILcBNHojzH3IFcBhOdx5DXhnuCJNQzHTpgrqsJQ6hug==", + "requires": { + "@novel-segment/table-line": "^1.0.4", + "tslib": "^2.4.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@novel-segment/table-synonym": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@novel-segment/table-synonym/-/table-synonym-1.0.4.tgz", + "integrity": "sha512-cfyjbF0xb8row86+0WXi3CPM/KS1NKew1A5n+S0Mv+AycHh5/m80T+72xXKP9JWCQWbq0phTid1aX7ih28Sp8Q==", + "requires": { + "@novel-segment/table-synonym-pangu": "^1.0.4", + "tslib": "^2.4.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@novel-segment/table-synonym-pangu": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@novel-segment/table-synonym-pangu/-/table-synonym-pangu-1.0.4.tgz", + "integrity": "sha512-wOop1qHGzp8zz5MPZqNGHydU66b/MsEEFur690UIY30MWxak5Xs3DI2A+Sf+RChcTwvuu4tIv4/L11sYhCaEnQ==", + "requires": { + "@novel-segment/table-core-abstract": "^1.0.4", + "tslib": "^2" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@novel-segment/types": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@novel-segment/types/-/types-1.0.5.tgz", + "integrity": "sha512-KwGjIRNAa72ad6E/a0HLgzLkuZLbapKCWIMh71d5CwKSiXAzaI7ML0o+wcNW8jkwa+nr0sbjgghiRbtpQcVlDQ==", + "requires": { + "tslib": "^2" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "@novel-segment/util": { + "version": "1.0.61", + "resolved": "https://registry.npmjs.org/@novel-segment/util/-/util-1.0.61.tgz", + "integrity": "sha512-jU8sXgyFzuGqCOIXD/KzDObXu/cOdsvPrPSY1SmcuzK2ViBPk8bCxlv3gQl7Jgkp3uYfOXLdNdIGLySdoj09xA==", + "requires": { + "@bluelovers/string-natural-compare": "^2.0.5", + "regexp-helper": "^1.0.34", + "tslib": "^2" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, "@octokit/auth-token": { "version": "2.4.5", "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.5.tgz", @@ -4564,6 +5105,23 @@ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" }, + "array-hyper-unique": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/array-hyper-unique/-/array-hyper-unique-2.0.8.tgz", + "integrity": "sha512-x0HKq5GCmt7CwUkhg9Kv3f0QssjADStancumaOplwMYN2UWtbaxYYw6oDfDbkn29ueYVPCijQqYHRoe2xpFp1g==", + "requires": { + "deep-eql": "= 4.0.0", + "lodash": "^4.17.21", + "tslib": "^2" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, "array-ify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", @@ -5553,6 +6111,11 @@ "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.48.tgz", "integrity": "sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w==" }, + "big.js": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-6.2.0.tgz", + "integrity": "sha512-paIKvJiAaOYdLt6MfnvxkDo64lTOV257XYJyX3oJnJQocIclUn+48k6ZerH/c5FxWE6DGJu1TKDYis7tqHg9kg==" + }, "bignumber.js": { "version": "7.2.1", "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-7.2.1.tgz", @@ -7197,6 +7760,21 @@ "parse5": "^3.0.1" } }, + "chinese-parseint2": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/chinese-parseint2/-/chinese-parseint2-1.1.5.tgz", + "integrity": "sha512-R1+cQ/3IHP0+E6p3fElgHjYMzsO3KYE8fFH9cTDXetWw9fNwqeUlCv+odbkP1vAnlTJBDVZp1+7QxiGp91zecQ==", + "requires": { + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, "chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", @@ -7223,6 +7801,34 @@ "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", "dev": true }, + "cjk-conv": { + "version": "1.2.139", + "resolved": "https://registry.npmjs.org/cjk-conv/-/cjk-conv-1.2.139.tgz", + "integrity": "sha512-BBe6dT4UcDnLAXjb2/x4yPIAqlI1xE1GpJ+X1xo+DeNFIvDwvUBHaHwXPDf+yQJQY7JyHTtO+SPnu8VyYOSJUA==", + "requires": { + "@lazy-cjk/jp-table-alias": "^1.0.38", + "@lazy-cjk/jp-table-comparison": "^1.0.28", + "@lazy-cjk/jp-table-convert": "^1.0.43", + "@lazy-cjk/jp-table-voice": "^1.0.36", + "@lazy-cjk/novel-filename": "^1.0.46", + "@lazy-cjk/util": "^1.0.17", + "@lazy-cjk/zh-convert": "^1.0.44", + "@lazy-cjk/zh-convert-table": "^1.0.22", + "@lazy-cjk/zh-slugify": "^1.0.82", + "@lazy-cjk/zh-table-alias": "^1.0.58", + "@lazy-cjk/zh-table-greedy": "^1.0.84", + "@lazy-cjk/zh-table-list": "^1.0.80", + "tslib": "^2.3.1", + "uni-string": "^1.1.12" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, "cjk-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/cjk-regex/-/cjk-regex-2.0.0.tgz", @@ -7255,6 +7861,11 @@ "ul": "^5.2.1" } }, + "class-proxy": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/class-proxy/-/class-proxy-1.1.2.tgz", + "integrity": "sha512-kowpC1EGn0b5ZxOMbF8f7IO03gg6dtI1rwBIHMfG5dEAeOVpZpukN9cT4K9cxv+IG8JihVdsqPr0V5bitB+pqQ==" + }, "cldrjs": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/cldrjs/-/cldrjs-0.5.5.tgz", @@ -8689,6 +9300,11 @@ "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==" }, + "core-decorators": { + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/core-decorators/-/core-decorators-0.20.0.tgz", + "integrity": "sha512-7cp/Pz3AmQXjRwhAsFN+8ndRiBNyLxtZgC/fhKvrwQTf2ZlZma6LnimoJPrOqgxZ0tIeI9VvSs+QKe0OPJ0SuA==" + }, "core-js": { "version": "3.14.0", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.14.0.tgz", @@ -8821,6 +9437,14 @@ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", "dev": true }, + "crlf-normalize": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/crlf-normalize/-/crlf-normalize-1.0.7.tgz", + "integrity": "sha512-USifFsvW0fI8BuHpR0zqHjr2uQdbQ5awWmk0UbWF/Y3jScR+6gFqukzfavi2FzrjQ65ihSMPNGx07K6CPno8sQ==", + "requires": { + "ts-type": "^2.1.4" + } + }, "cross-fetch": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.4.tgz", @@ -9328,6 +9952,14 @@ "lodash": "^4.17.5" } }, + "deep-eql": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.0.0.tgz", + "integrity": "sha512-GxJC5MOg2KyQlv6WiUF/VAnMj4MWnYiXo4oLgeptOELVoknyErb4Z8+5F/IM/K4g9/80YzzatxmWcyRwUseH0A==", + "requires": { + "type-detect": "^4.0.0" + } + }, "deep-equal": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.0.5.tgz", @@ -9365,14 +9997,21 @@ "deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" }, "deepmerge": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" }, + "deepmerge-plus": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/deepmerge-plus/-/deepmerge-plus-2.1.3.tgz", + "integrity": "sha512-nmRWdc9y7aqrhnZ1bWA+LOQuMV9WY6roWrZ7HN86l+JQ4HYRKXSQwOTNHseU88Py/knsov4j5Qh5RuFqCsNN8g==", + "requires": { + "is-mergeable-object": "1.1.0" + } + }, "defaults": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", @@ -9796,6 +10435,11 @@ "resolved": "https://registry.npmjs.org/dottie/-/dottie-2.0.2.tgz", "integrity": "sha512-fmrwR04lsniq/uSr8yikThDTrM7epXHBAAjH9TbeH3rEA8tdCO7mRzB9hdmdGyJCxF8KERo9CITcm3kGuoyMhg==" }, + "doublearray": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/doublearray/-/doublearray-0.0.2.tgz", + "integrity": "sha512-aw55FtZzT6AmiamEj2kvmR6BuFqvYgKZUkfQ7teqVRNqD5UE0rw8IeW/3gieHNKQ5sPuDKlljWEn4bzv5+1bHw==" + }, "duplexer": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", @@ -10249,6 +10893,14 @@ "next-tick": "~1.0.0" } }, + "es6-class-prototype": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/es6-class-prototype/-/es6-class-prototype-1.0.4.tgz", + "integrity": "sha512-w772noDRF8U+iSsg+wesXRNP61bMbKzky8JAvYEtQOI/DptYMN5cnNnGnjERGXoB+uPrhATbPz/wx7YCRwrpiA==", + "requires": { + "class-proxy": "^1.1.2" + } + }, "es6-iterator": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", @@ -10314,6 +10966,26 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, + "escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true + } + } + }, "eslint": { "version": "6.8.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", @@ -10508,14 +11180,12 @@ "estraverse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" }, "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" }, "etag": { "version": "1.8.1", @@ -10814,7 +11484,6 @@ "version": "3.2.4", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", - "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -10828,7 +11497,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, "requires": { "fill-range": "^7.0.1" } @@ -10837,7 +11505,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, "requires": { "to-regex-range": "^5.0.1" } @@ -10845,14 +11512,12 @@ "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, "micromatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, "requires": { "braces": "^3.0.1", "picomatch": "^2.0.5" @@ -10862,7 +11527,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, "requires": { "is-number": "^7.0.0" } @@ -10877,8 +11541,7 @@ "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, "fast-safe-stringify": { "version": "2.0.7", @@ -10894,7 +11557,6 @@ "version": "1.8.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.8.0.tgz", "integrity": "sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==", - "dev": true, "requires": { "reusify": "^1.0.4" } @@ -10969,7 +11631,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, "requires": { "to-regex-range": "^5.0.1" } @@ -11753,7 +12414,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "requires": { "is-glob": "^4.0.1" } @@ -13054,8 +13714,7 @@ "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "is-finite": { "version": "1.1.0", @@ -13071,7 +13730,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, "requires": { "is-extglob": "^2.1.1" } @@ -13120,6 +13778,11 @@ "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==" }, + "is-mergeable-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-mergeable-object/-/is-mergeable-object-1.1.0.tgz", + "integrity": "sha512-JfyDDwUdtS4yHCgUpxOyKB9dnfZ0gecufxB0eytX6BmSXSE+8dbxDGt+V7CNRIRJ9sYFV/WQt2KJG6hNob2sBw==" + }, "is-negative-zero": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", @@ -13134,8 +13797,7 @@ "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, "is-number-object": { "version": "1.0.7", @@ -13865,6 +14527,16 @@ "colornames": "^1.1.1" } }, + "kuromoji": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/kuromoji/-/kuromoji-0.1.2.tgz", + "integrity": "sha512-V0dUf+C2LpcPEXhoHLMAop/bOht16Dyr+mDiIE39yX3vqau7p80De/koFqpiTcL1zzdZlc3xuHZ8u5gjYRfFaQ==", + "requires": { + "async": "^2.0.1", + "doublearray": "0.0.2", + "zlibjs": "^0.3.1" + } + }, "largest-semantic-change": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/largest-semantic-change/-/largest-semantic-change-1.1.0.tgz", @@ -13968,7 +14640,6 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, "requires": { "prelude-ls": "~1.1.2", "type-check": "~0.3.2" @@ -15090,8 +15761,7 @@ "merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" }, "methods": { "version": "1.1.2", @@ -15667,6 +16337,70 @@ "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", "dev": true }, + "node-nlp": { + "version": "3.10.2", + "resolved": "https://registry.npmjs.org/node-nlp/-/node-nlp-3.10.2.tgz", + "integrity": "sha512-xvTGtbNJNeCNX4zmhDhmyLoocRoEYPRiYBitiD6zptvUjzK9gpO3VXl08QNpKJQXNXvdUE50AecRTaDVM0i8DQ==", + "requires": { + "@microsoft/recognizers-text-suite": "1.1.4", + "escodegen": "^1.12.0", + "esprima": "^4.0.1", + "kuromoji": "^0.1.2", + "novel-segment": "^2.5.0", + "xlsx": "^0.15.1" + }, + "dependencies": { + "cfb": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.2.2.tgz", + "integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==", + "requires": { + "adler-32": "~1.3.0", + "crc-32": "~1.2.0" + }, + "dependencies": { + "adler-32": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.3.1.tgz", + "integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==" + } + } + }, + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==" + }, + "frac": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz", + "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==" + }, + "ssf": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.10.3.tgz", + "integrity": "sha512-pRuUdW0WwyB2doSqqjWyzwCD6PkfxpHAHdZp39K3dp/Hq7f+xfMwNAWIi16DyrRg4gg9c/RvLYkJTSawTPTm1w==", + "requires": { + "frac": "~1.1.2" + } + }, + "xlsx": { + "version": "0.15.6", + "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.15.6.tgz", + "integrity": "sha512-7vD9eutyLs65iDjNFimVN+gk/oDkfkCgpQUjdE82QgzJCrBHC4bGPH7fzKVyy0UPp3gyFVQTQEFJaWaAvZCShQ==", + "requires": { + "adler-32": "~1.2.0", + "cfb": "^1.1.4", + "codepage": "~1.14.0", + "commander": "~2.17.1", + "crc-32": "~1.2.0", + "exit-on-epipe": "~1.0.1", + "ssf": "~0.10.3", + "wmf": "~1.0.1" + } + } + } + }, "node-ntlm-client": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/node-ntlm-client/-/node-ntlm-client-0.1.2.tgz", @@ -15813,6 +16547,44 @@ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==" }, + "novel-segment": { + "version": "2.7.96", + "resolved": "https://registry.npmjs.org/novel-segment/-/novel-segment-2.7.96.tgz", + "integrity": "sha512-Y0irLqxXTEP4a1NifL6KjUOBOogV7lyHBu3ndXcQz9HBhIQLp/Qd50TM9UQn4rfcHvSIuP2uw9n0B11RmguybQ==", + "requires": { + "@bluelovers/fast-glob": "^3.0.4", + "@lazy-cjk/zh-table-list": "^1.0.80", + "@novel-segment/postag": "^1.0.16", + "@novel-segment/stringify": "^1.0.4", + "@novel-segment/table-blacklist": "^1.0.4", + "@novel-segment/table-core-abstract": "^1.0.4", + "@novel-segment/table-dict": "^1.0.4", + "@novel-segment/table-stopword": "^1.0.4", + "@novel-segment/table-synonym": "^1.0.4", + "@novel-segment/types": "^1.0.5", + "array-hyper-unique": "^2.0.6", + "bluebird": "^3.7.2", + "cjk-conv": "^1.2.139", + "core-decorators": "^0.20.0", + "crlf-normalize": "^1.0.7", + "deepmerge-plus": "^2.1.3", + "regexp-cjk": "^3.3.106", + "segment-dict": "^2.3.178", + "sort-object-keys2": "^2.0.3", + "str-util": "^2.3.28", + "ts-enum-util": "4.0.2", + "ts-type": "^2.1.6", + "tslib": "^2.4.0", + "uni-string": "^1.1.12" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, "npm": { "version": "7.21.0", "resolved": "https://registry.npmjs.org/npm/-/npm-7.21.0.tgz", @@ -18146,7 +18918,6 @@ "version": "0.8.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, "requires": { "deep-is": "~0.1.3", "fast-levenshtein": "~2.0.6", @@ -19106,8 +19877,7 @@ "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" }, "prepend-http": { "version": "2.0.0", @@ -20128,6 +20898,137 @@ "integrity": "sha512-Cv9rjwyQwVhn3L097ysanWsEElurmxDj6Cc4Ut23z7e6hzRbrNvF3Le7yAciMfuzyb0sZwSr0ZHunMNCIoy2/g==", "dev": true }, + "regexp-cjk": { + "version": "3.3.106", + "resolved": "https://registry.npmjs.org/regexp-cjk/-/regexp-cjk-3.3.106.tgz", + "integrity": "sha512-b91TIepZj+qEfYhRIiXWwNGAmhLXjerFjlLyC+fNza8go8zopgdlLiZpV5Wi3GlsvyuggWMFIR9u4YMuT2CXOw==", + "requires": { + "@lazy-cjk/zh-table-list": "^1.0.80", + "array-hyper-unique": "^2.0.6", + "lodash": "^4.17.21", + "regexp-helper": "^1.0.34", + "regexp-parser-event": "^1.1.40", + "regexp-parser-literal": "^1.1.33", + "regexp-range": "^1.0.40", + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "regexp-helper": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/regexp-helper/-/regexp-helper-1.0.34.tgz", + "integrity": "sha512-0Sw9rTCwo/KLvzjrw4GAIoLMuuZutUZ3D0BMxDyTjr4MCOg2Ob8ShcC5BR8g7s7pTTHrUhq1cUzZS3qgqRPAhw==", + "requires": { + "regexp-helper-core": "^1.0.19", + "regexp-support": "^1.0.46", + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "regexp-helper-core": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/regexp-helper-core/-/regexp-helper-core-1.0.19.tgz", + "integrity": "sha512-MiR/okNBaeYsa+CLeA78lgN5PYZ+AgAKb2EzRa1SyiMThO25HMX9kzm54+kZsdvFLTO2rBNouN4toy+C2TeOsQ==", + "requires": { + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "regexp-parser-event": { + "version": "1.1.40", + "resolved": "https://registry.npmjs.org/regexp-parser-event/-/regexp-parser-event-1.1.40.tgz", + "integrity": "sha512-1IJgcYDg02hyB5eoVEOy6KrlbkyESMoswlnIOiL9Oq8JewQOijvX3NOSllqkS+Lpl11z2wQ5iOw0SJRt/UuCxg==", + "requires": { + "array-hyper-unique": "^2.0.6", + "regexp-parser-literal": "^1.1.33", + "regexpp2": "^1.3.23", + "ts-type": "^2.1.4", + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "regexp-parser-literal": { + "version": "1.1.33", + "resolved": "https://registry.npmjs.org/regexp-parser-literal/-/regexp-parser-literal-1.1.33.tgz", + "integrity": "sha512-TT0N5EWpn9iqjRvqAJD8CNXFSQ8jNXN0LB/Z6z6YCRIwktcOFo0zFXW+eTIYzPkzNVM+qvP19XKLDUSqjIs9Dg==", + "requires": { + "array-hyper-unique": "^2.0.6", + "emoji-regex": "^10.0.0", + "regexpp2": "^1.3.23", + "tslib": "^2.3.1", + "uni-string": "^1.1.12" + }, + "dependencies": { + "emoji-regex": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.1.0.tgz", + "integrity": "sha512-xAEnNCT3w2Tg6MA7ly6QqYJvEoY1tm9iIjJ3yMKK9JPlWuRHAMoe5iETwQnx3M9TVbFMfsrBgWKR+IsmswwNjg==" + }, + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "regexp-range": { + "version": "1.0.40", + "resolved": "https://registry.npmjs.org/regexp-range/-/regexp-range-1.0.40.tgz", + "integrity": "sha512-A+HkNkHaJQS9vGvT9cs53TGW1PDX1XS2Bq4Ek4WWBP3d/bTAuzslvCqExueuIvZ7VuNvzXWg4mSEM4oMJFn7Hw==", + "requires": { + "@lazy-cjk/japanese": "^1.2.27", + "array-hyper-unique": "^2.0.6", + "fill-range": "^7.0.1", + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, + "regexp-support": { + "version": "1.0.46", + "resolved": "https://registry.npmjs.org/regexp-support/-/regexp-support-1.0.46.tgz", + "integrity": "sha512-Se5W6rAZfXKJtpHro4FBL30UimmFM6lUJHxPGL83Ys5YyhTeQA8AuEMLHq2t770JrjpZy3UoXlb/JsR7olGMLg==", + "requires": { + "sort-object-keys2": "^2.0.3", + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, "regexp-util": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/regexp-util/-/regexp-util-1.2.2.tgz", @@ -20153,6 +21054,21 @@ "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", "dev": true }, + "regexpp2": { + "version": "1.3.23", + "resolved": "https://registry.npmjs.org/regexpp2/-/regexpp2-1.3.23.tgz", + "integrity": "sha512-aW4wc+pTO3GssR9Va9LsfkHgExLeyavuBp55Ulv4lkpFnodvHcr04g9aki4kDr+9/yWPQHl3SVRCI1+O6W92BA==", + "requires": { + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, "regexpu-core": { "version": "4.8.0", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", @@ -20488,8 +21404,7 @@ "reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" }, "rimraf": { "version": "3.0.2", @@ -20527,8 +21442,22 @@ "run-parallel": { "version": "1.1.9", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", - "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==", - "dev": true + "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==" + }, + "runes2": { + "version": "0.4.16", + "resolved": "https://registry.npmjs.org/runes2/-/runes2-0.4.16.tgz", + "integrity": "sha512-x7Yn5ZPXWXSNyQFIjljsKmYg4ef9/vblZQwrF8nSJdX10hX1Rd0B9InRI2YCiSf65nVXY3AfP/TpBQNI+NojHA==", + "requires": { + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } }, "runtypes": { "version": "5.1.0", @@ -20596,6 +21525,30 @@ "resolved": "https://registry.npmjs.org/scmp/-/scmp-2.1.0.tgz", "integrity": "sha512-o/mRQGk9Rcer/jEEw/yw4mwo3EU/NvYvp577/Btqrym9Qy5/MdWGBqipbALgd2lrdWTJ5/gqDusxfnQBxOxT2Q==" }, + "segment-dict": { + "version": "2.3.178", + "resolved": "https://registry.npmjs.org/segment-dict/-/segment-dict-2.3.178.tgz", + "integrity": "sha512-7/GnzYQfDlc95o/keR1vabFlvYcNUfSsby4xdflHfjFTbN+Pu3y0BngKCunfILfMNs8caG5ohmYJdW5bRx2+Tw==", + "requires": { + "@bluelovers/fast-glob": "^3.0.4", + "@novel-segment/dict-loader-core": "^1.0.16", + "@novel-segment/loader-stopword": "^1.0.16", + "@novel-segment/loaders": "^1.0.32", + "@novel-segment/stream-loader-core": "^1.0.19", + "@novel-segment/util": "^1.0.61", + "bluebird": "^3.7.2", + "core-decorators": "^0.20.0", + "crlf-normalize": "^1.0.7", + "tslib": "^2" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, "semantic-release": { "version": "17.4.3", "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-17.4.3.tgz", @@ -21764,6 +22717,11 @@ "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", "dev": true }, + "sort-object-keys2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/sort-object-keys2/-/sort-object-keys2-2.0.3.tgz", + "integrity": "sha512-iqhaVnv8sw6Gsj91Zdzyk2VJ7/Qt8XU3MfmOvHfLUISqswA51Ddi2Q44lVwLeGtxNGQ9qKvJpHRjcZvlQJ6srg==" + }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -22209,6 +23167,29 @@ "resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz", "integrity": "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==" }, + "str-util": { + "version": "2.3.28", + "resolved": "https://registry.npmjs.org/str-util/-/str-util-2.3.28.tgz", + "integrity": "sha512-SEkoCO6f5g1pf2NeYq4zMvJn5AeOajbO6e+MfjPEmZiUuYInOCK6tcE0+8RjiVK8nLW4DgaskM1m3ma3jqY8Rw==", + "requires": { + "@lazy-cjk/japanese": "^1.2.24", + "chinese-parseint2": "^1.1.5", + "cjk-conv": "^1.2.137", + "deepmerge": "^4.2.2", + "is-fullwidth-code-point": "<4 >=3", + "strip-ansi": "<7 >=6", + "ts-type": "^2.1.4", + "tslib": "^2.3.1", + "uni-string": "^1.1.12" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, "stream-combiner2": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", @@ -22227,6 +23208,21 @@ "stubs": "^3.0.0" } }, + "stream-pipe": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/stream-pipe/-/stream-pipe-1.0.4.tgz", + "integrity": "sha512-B60m1SSbH4yc7CTRj46hIu7/iDboTdurqEpXgzMxZMClTl2VCegn1lMr7OK0MTnRR3ziFpr7z5t15xUP31cqlw==", + "requires": { + "tslib": "^2.3.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, "stream-shift": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", @@ -22262,6 +23258,11 @@ "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", "dev": true }, + "string-natural-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" + }, "string-width": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", @@ -23071,7 +24072,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, "requires": { "is-number": "^7.0.0" } @@ -23398,6 +24398,11 @@ "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==", "dev": true }, + "ts-enum-util": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/ts-enum-util/-/ts-enum-util-4.0.2.tgz", + "integrity": "sha512-BB5qjvHYgYgOB/CaoA1Cy/B2QNnZ+nVBrJ15VV/AXGWx+AO83k5wgeLOJvkSLoKKavvH/M8Wj4ZbgROjsuYwzw==" + }, "ts-node": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.0.0.tgz", @@ -23416,6 +24421,22 @@ "yn": "3.1.1" } }, + "ts-type": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/ts-type/-/ts-type-2.1.6.tgz", + "integrity": "sha512-h2P5O6brCkIm6IN7x61BEC8RaZFKEWqS7Z2DWY8Z7/o+sl3RvCkaRvUeH4JG26T3Fm4zZkaeFex8QAmz24yBTA==", + "requires": { + "tslib": "^2.3.1", + "typedarray-dts": "^1.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, "tslib": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", @@ -23544,7 +24565,6 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, "requires": { "prelude-ls": "~1.1.2" } @@ -23573,6 +24593,11 @@ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, + "typedarray-dts": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typedarray-dts/-/typedarray-dts-1.0.0.tgz", + "integrity": "sha512-Ka0DBegjuV9IPYFT1h0Qqk5U4pccebNIJCGl8C5uU7xtOs+jpJvKGAY4fHGK25hTmXZOEUl9Cnsg5cS6K/b5DA==" + }, "typedarray-to-buffer": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", @@ -23728,6 +24753,23 @@ "xtend": "^4.0.0" } }, + "uni-string": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/uni-string/-/uni-string-1.1.12.tgz", + "integrity": "sha512-wMDiZh1eEv94B5P7/S/tvitoou8qIg17QMHMRyZLbsM0Mle50vjL2q/LA8CFiGMlaFtLfwNzqxBHvHQZ3oW9/w==", + "requires": { + "es6-class-prototype": "^1.0.4", + "runes2": "^0.4.16", + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + } + } + }, "unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", @@ -24399,8 +25441,7 @@ "word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" }, "wordwrap": { "version": "0.0.3", @@ -24794,6 +25835,11 @@ } } }, + "zlibjs": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/zlibjs/-/zlibjs-0.3.1.tgz", + "integrity": "sha1-UBl+2yihxCymWcyLTmqd3W1ERVQ=" + }, "zod": { "version": "1.11.17", "resolved": "https://registry.npmjs.org/zod/-/zod-1.11.17.tgz", diff --git a/package.json b/package.json index 8a005b8a..7ba43394 100644 --- a/package.json +++ b/package.json @@ -99,6 +99,7 @@ "ms-rest-azure": "3.0.0", "nexmo": "2.9.1", "node-cron": "3.0.0", + "node-nlp": "^3.10.2", "node-tesseract-ocr": "^2.2.1", "npm": "7.21.0", "opn": "6.0.0", diff --git a/packages/basic.gblib/services/GBVMService.ts b/packages/basic.gblib/services/GBVMService.ts index eb8a1090..f1b80479 100644 --- a/packages/basic.gblib/services/GBVMService.ts +++ b/packages/basic.gblib/services/GBVMService.ts @@ -41,6 +41,7 @@ const urlJoin = require('url-join'); import { DialogKeywords } from './DialogKeywords'; import { ScheduleServices } from './ScheduleServices'; import { HearDialog } from '../dialogs/HearDialog'; +import { GBConfigService } from '../../core.gbapp/services/GBConfigService'; //tslint:disable-next-line:no-submodule-imports const vm = require('vm'); const vb2ts = require('./vbscript-to-typescript'); @@ -497,12 +498,12 @@ export class GBVMService extends GBService { let include = null; do { include = /^include\b(.*)$/gmi.exec(basicCode); - + if (include) { let includeName = include[1].trim(); includeName = Path.join(Path.dirname(filename), includeName); includeName = includeName.substr(0, includeName.lastIndexOf(".")) + ".vbs"; - + // To use include, two /publish will be necessary (for now) // because of alphabet order may raise not found errors. @@ -721,8 +722,25 @@ export class GBVMService extends GBService { // in BASIC. const user = step ? await min.userProfile.get(step.context, {}) : null; + const sandbox: DialogKeywords = new DialogKeywords(min, deployer, step, user); + const contentLocale = min.core.getParam( + min.instance, + 'Default Content Language', + GBConfigService.get('DEFAULT_CONTENT_LANGUAGE') + ); + + const entities = await min["nerEngine"].findEntities( + step.context.activity['originalText'], + contentLocale); + + for (let i = 0; i < entities.length; i++) { + const v = entities[i]; + const variableName = `${v.entity}`; + sandbox[variableName] = v.option; + } + // Injects the .gbdialog generated code into the VM. const context = vm.createContext(sandbox); diff --git a/packages/core.gbapp/services/GBConversationalService.ts b/packages/core.gbapp/services/GBConversationalService.ts index 24df8bed..8eb2a239 100644 --- a/packages/core.gbapp/services/GBConversationalService.ts +++ b/packages/core.gbapp/services/GBConversationalService.ts @@ -662,6 +662,7 @@ export class GBConversationalService { } } + // TODO: Update botlib. public async routeNLP(step: GBDialogStep, min: GBMinInstance, text: string): Promise { return false; diff --git a/packages/core.gbapp/services/GBMinService.ts b/packages/core.gbapp/services/GBMinService.ts index 2d992acc..182b5cb6 100644 --- a/packages/core.gbapp/services/GBMinService.ts +++ b/packages/core.gbapp/services/GBMinService.ts @@ -44,6 +44,7 @@ const AuthenticationContext = require('adal-node').AuthenticationContext; const wash = require('washyourmouthoutwithsoap'); const { FacebookAdapter } = require('botbuilder-adapter-facebook'); const path = require('path'); +const { NerManager } = require('node-nlp'); import { AutoSaveStateMiddleware, BotFrameworkAdapter, @@ -246,6 +247,12 @@ export class GBMinService { await this.deployer.deployPackage(min, packagePath); } + // Loads Named Entity data for this bot. + + await KBService.RefreshNER(min); + + // Loads schedules. + const service = new ScheduleServices(); await service.loadSchedules(min); @@ -705,6 +712,7 @@ export class GBMinService { min.sandBoxMap = {}; min["scheduleMap"] = {}; min["conversationWelcomed"] = {}; + min["nerEngine"] = new NerManager();; min.packages = sysPackages; min.appPackages = appPackages; @@ -730,6 +738,8 @@ export class GBMinService { } }); + + if (min.instance.googlePrivateKey) { min['googleDirectLine'] = new GoogleChatDirectLine( min, diff --git a/packages/kb.gbapp/dialogs/AskDialog.ts b/packages/kb.gbapp/dialogs/AskDialog.ts index c353a6c4..d9478993 100644 --- a/packages/kb.gbapp/dialogs/AskDialog.ts +++ b/packages/kb.gbapp/dialogs/AskDialog.ts @@ -301,6 +301,8 @@ export class AskDialog extends IGBDialog { private static async handleAnswer(service: KBService, min: GBMinInstance, step: any, answer: GuaribasAnswer) { const text = answer.content; if (text.endsWith('.docx')) { + + const mainName = GBVMService.getMethodNameFromVBSFilename(text); return await GBVMService.callVM(mainName, min, step, this.deployer); } else { @@ -328,7 +330,7 @@ export class AskDialog extends IGBDialog { const data = step.options as AskDialogArgs; if (data !== undefined && data.questionId !== undefined) { const question = await service.getQuestionById(min.instance.instanceId, data.questionId); - const answer = await service.getAnswerById(min.instance.instanceId, question.answerId); + const answer = await service.getAnswerById(min.instance.instanceId, question.answerId ); // Sends the answer to all outputs, including projector. await service.sendAnswer(min, AskDialog.getChannel(step), step, answer); await step.replaceDialog('/ask', { isReturning: true }); diff --git a/packages/kb.gbapp/services/KBService.ts b/packages/kb.gbapp/services/KBService.ts index 35eddc8e..e156a532 100644 --- a/packages/kb.gbapp/services/KBService.ts +++ b/packages/kb.gbapp/services/KBService.ts @@ -166,6 +166,19 @@ export class KBService implements IGBKBService { return question; } + public static async getQuestionsNER(instanceId: number) { + const where = { + instanceId: instanceId, + content: { [Op.like]: `%(%` } + }; + + const questions = await GuaribasQuestion.findAll({ + where: where + }); + + return questions; + + } public async getQuestionsSEO(instanceId: number) { @@ -204,14 +217,13 @@ export class KBService implements IGBKBService { let question = await service.getQuestionFromAlternateText(instanceId, text); if (!question) { - const where={ + const where = { instanceId: instanceId, content: { [Op.like]: `%[^a-z]${text}[^a-z]%` } }; - if (from) - { - where['from']= from; + if (from) { + where['from'] = from; } question = await GuaribasQuestion.findOne({ where: where @@ -241,7 +253,7 @@ export class KBService implements IGBKBService { return undefined; } - + public async addAnswer(obj: GuaribasAnswer): Promise { @@ -392,9 +404,9 @@ export class KBService implements IGBKBService { } public static async getGroupReplies(instanceId: number): Promise { - return await GuaribasQuestion.findAll({ - where: { from: 'group', instanceId: instanceId } - }); + return await GuaribasQuestion.findAll({ + where: { from: 'group', instanceId: instanceId } + }); } public async importKbTabularFile( @@ -712,6 +724,28 @@ export class KBService implements IGBKBService { await this.undeployPackageFromStorage(instance, packageId); } + public static async RefreshNER(min: GBMinInstance) { + const questions = await KBService.getQuestionsNER(min.instance.instanceId); + const contentLocale = min.core.getParam( + min.instance, + 'Default Content Language', + GBConfigService.get('DEFAULT_CONTENT_LANGUAGE') + ); + + await CollectionUtil.asyncForEach(questions, async question => { + const text = question.content; + + let category = /.*\((.*)\).*/gi.exec(text)[1]; + let name =/(\w+)\(.*\).*/gi.exec(text)[1]; + + min["nerEngine"].addNamedEntityText(category, name, + [contentLocale], [name]); + + }); + + + } + /** * Deploys a knowledge base to the storage using the .gbkb format. * @@ -730,6 +764,7 @@ export class KBService implements IGBKBService { await deployer.rebuildIndex(instance, new AzureDeployerService(deployer).getKBSearchSchema(instance.searchIndex)); min['groupCache'] = await KBService.getGroupReplies(instance.instanceId); + await KBService.RefreshNER(min); GBLog.info(`[GBDeployer] Finished import of ${localPath}`); }