hydra-crawler 2.8.4 → 3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/apis/{autocomplete.api.d.ts → autocomplete.api.d.mts} +4 -4
- package/dist/apis/autocomplete.api.mjs +14 -0
- package/dist/apis/autocomplete.api.mjs.map +1 -0
- package/dist/apis/{bugs.api.d.ts → bugs.api.d.mts} +4 -4
- package/dist/apis/bugs.api.mjs +18 -0
- package/dist/apis/bugs.api.mjs.map +1 -0
- package/dist/apis/{crawl.api.d.ts → crawl.api.d.mts} +4 -4
- package/dist/apis/crawl.api.mjs +17 -0
- package/dist/apis/crawl.api.mjs.map +1 -0
- package/dist/apis/{domains.api.d.ts → domains.api.d.mts} +4 -4
- package/dist/apis/{domains.api.js → domains.api.mjs} +10 -18
- package/dist/apis/domains.api.mjs.map +1 -0
- package/dist/apis/{images.api.d.ts → images.api.d.mts} +4 -4
- package/dist/apis/images.api.mjs +19 -0
- package/dist/apis/images.api.mjs.map +1 -0
- package/dist/apis/{statistics.api.d.ts → statistics.api.d.mts} +4 -4
- package/dist/apis/statistics.api.mjs +33 -0
- package/dist/apis/statistics.api.mjs.map +1 -0
- package/dist/apis/{test.api.d.ts → test.api.d.mts} +3 -3
- package/dist/apis/test.api.mjs +10 -0
- package/dist/apis/test.api.mjs.map +1 -0
- package/dist/apis/{urls.api.d.ts → urls.api.d.mts} +4 -4
- package/dist/apis/urls.api.mjs +21 -0
- package/dist/apis/urls.api.mjs.map +1 -0
- package/dist/apps/{cleanup.app.d.ts → cleanup.app.d.mts} +5 -5
- package/dist/apps/cleanup.app.mjs +129 -0
- package/dist/apps/cleanup.app.mjs.map +1 -0
- package/dist/apps/{cross-populate-export.app.d.ts → cross-populate-export.app.d.mts} +3 -3
- package/dist/apps/cross-populate-export.app.mjs +61 -0
- package/dist/apps/cross-populate-export.app.mjs.map +1 -0
- package/dist/apps/{cross-populate-import.app.d.ts → cross-populate-import.app.d.mts} +3 -3
- package/dist/apps/cross-populate-import.app.mjs +61 -0
- package/dist/apps/cross-populate-import.app.mjs.map +1 -0
- package/dist/apps/{denylist.app.d.ts → denylist.app.d.mts} +5 -5
- package/dist/apps/denylist.app.mjs +135 -0
- package/dist/apps/denylist.app.mjs.map +1 -0
- package/dist/apps/{expire.app.d.ts → expire.app.d.mts} +8 -7
- package/dist/apps/expire.app.mjs +51 -0
- package/dist/apps/expire.app.mjs.map +1 -0
- package/dist/apps/{export-domain-urls.d.ts → export-domain-urls.d.mts} +3 -3
- package/dist/apps/export-domain-urls.mjs +85 -0
- package/dist/apps/export-domain-urls.mjs.map +1 -0
- package/dist/apps/{extract-text.app.d.ts → extract-text.app.d.mts} +2 -2
- package/dist/apps/extract-text.app.mjs +43 -0
- package/dist/apps/extract-text.app.mjs.map +1 -0
- package/dist/apps/{hydra.app.d.ts → hydra.app.d.mts} +10 -10
- package/dist/apps/hydra.app.mjs +222 -0
- package/dist/apps/hydra.app.mjs.map +1 -0
- package/dist/apps/{import.app.d.ts → import.app.d.mts} +3 -3
- package/dist/apps/import.app.mjs +48 -0
- package/dist/apps/import.app.mjs.map +1 -0
- package/dist/apps/{internal-hydra-common.app.d.ts → internal-hydra-common.app.d.mts} +6 -6
- package/dist/apps/{internal-hydra-common.app.js → internal-hydra-common.app.mjs} +1 -1
- package/dist/apps/internal-hydra-common.app.mjs.map +1 -0
- package/dist/apps/{move-to-archive.app.d.ts → move-to-archive.app.d.mts} +2 -2
- package/dist/apps/move-to-archive.app.mjs +31 -0
- package/dist/apps/move-to-archive.app.mjs.map +1 -0
- package/dist/apps/{prune-archive.app.d.ts → prune-archive.app.d.mts} +2 -2
- package/dist/apps/prune-archive.app.mjs +40 -0
- package/dist/apps/prune-archive.app.mjs.map +1 -0
- package/dist/apps/{query.app.d.ts → query.app.d.mts} +6 -6
- package/dist/apps/query.app.mjs +69 -0
- package/dist/apps/query.app.mjs.map +1 -0
- package/dist/apps/{reattempt.app.d.ts → reattempt.app.d.mts} +6 -6
- package/dist/apps/reattempt.app.mjs +81 -0
- package/dist/apps/reattempt.app.mjs.map +1 -0
- package/dist/apps/{requeue-domain.app.d.ts → requeue-domain.app.d.mts} +3 -3
- package/dist/apps/requeue-domain.app.mjs +52 -0
- package/dist/apps/requeue-domain.app.mjs.map +1 -0
- package/dist/apps/{seed.app.d.ts → seed.app.d.mts} +5 -5
- package/dist/apps/seed.app.mjs +59 -0
- package/dist/apps/seed.app.mjs.map +1 -0
- package/dist/apps/{startup.app.d.ts → startup.app.d.mts} +3 -3
- package/dist/apps/startup.app.mjs +55 -0
- package/dist/apps/startup.app.mjs.map +1 -0
- package/dist/apps/{unarchive-urls.app.d.ts → unarchive-urls.app.d.mts} +5 -5
- package/dist/apps/unarchive-urls.app.mjs +78 -0
- package/dist/apps/unarchive-urls.app.mjs.map +1 -0
- package/dist/classes/{cleaner.d.ts → cleaner.d.mts} +2 -2
- package/dist/classes/cleaner.mjs +264 -0
- package/dist/classes/cleaner.mjs.map +1 -0
- package/dist/classes/{crawler.d.ts → crawler.d.mts} +10 -12
- package/dist/classes/{crawler.js → crawler.mjs} +216 -184
- package/dist/classes/crawler.mjs.map +1 -0
- package/dist/classes/{dns.js → dns.mjs} +4 -4
- package/dist/classes/dns.mjs.map +1 -0
- package/dist/classes/{expirer.d.ts → expirer.d.mts} +2 -2
- package/dist/classes/expirer.mjs +117 -0
- package/dist/classes/expirer.mjs.map +1 -0
- package/dist/classes/{expiry.d.ts → expiry.d.mts} +1 -1
- package/dist/classes/{expiry.js → expiry.mjs} +7 -9
- package/dist/classes/expiry.mjs.map +1 -0
- package/dist/classes/{lists.d.ts → lists.d.mts} +2 -2
- package/dist/classes/{lists.js → lists.mjs} +4 -4
- package/dist/classes/lists.mjs.map +1 -0
- package/dist/classes/{robot.d.ts → robot.d.mts} +3 -3
- package/dist/classes/robot.mjs +74 -0
- package/dist/classes/robot.mjs.map +1 -0
- package/dist/classes/{tracker.d.ts → tracker.d.mts} +3 -3
- package/dist/classes/tracker.mjs +101 -0
- package/dist/classes/tracker.mjs.map +1 -0
- package/dist/{cli.js → cli.mjs} +46 -58
- package/dist/cli.mjs.map +1 -0
- package/dist/enums/{eavailable-strategy.js → eavailable-strategy.mjs} +1 -1
- package/dist/enums/eavailable-strategy.mjs.map +1 -0
- package/dist/enums/{elist.js → elist.mjs} +1 -1
- package/dist/enums/elist.mjs.map +1 -0
- package/dist/enums/{eserver.js → eserver.mjs} +1 -1
- package/dist/enums/eserver.mjs.map +1 -0
- package/dist/enums/{ex-powered-by.js → ex-powered-by.mjs} +1 -1
- package/dist/enums/ex-powered-by.mjs.map +1 -0
- package/dist/helpers/{matcher.d.ts → matcher.d.mts} +1 -1
- package/dist/helpers/{matcher.js → matcher.mjs} +1 -1
- package/dist/helpers/matcher.mjs.map +1 -0
- package/dist/helpers/{random.d.ts → random.d.mts} +1 -1
- package/dist/helpers/{random.js → random.mjs} +1 -1
- package/dist/helpers/random.mjs.map +1 -0
- package/dist/helpers/{utf-decoder.d.ts → utf-decoder.d.mts} +0 -1
- package/dist/helpers/{utf-decoder.js → utf-decoder.mjs} +3 -3
- package/dist/helpers/utf-decoder.mjs.map +1 -0
- package/dist/interfaces/{iexpiry.d.ts → iexpiry.d.mts} +1 -1
- package/dist/interfaces/{iexpiry.js → iexpiry.mjs} +3 -3
- package/dist/interfaces/iexpiry.mjs.map +1 -0
- package/dist/interfaces/{imatch.js → imatch.mjs} +2 -2
- package/dist/interfaces/imatch.mjs.map +1 -0
- package/dist/interfaces/{iparser-config.js → iparser-config.mjs} +2 -2
- package/dist/interfaces/iparser-config.mjs.map +1 -0
- package/dist/interfaces/{iparser.d.ts → iparser.d.mts} +1 -1
- package/dist/interfaces/iparser.mjs +2 -0
- package/dist/interfaces/iparser.mjs.map +1 -0
- package/dist/interfaces/{irequest-outcome.d.ts → irequest-outcome.d.mts} +0 -2
- package/dist/interfaces/irequest-outcome.mjs +2 -0
- package/dist/interfaces/irequest-outcome.mjs.map +1 -0
- package/dist/interfaces/iserver.mjs +2 -0
- package/dist/interfaces/iserver.mjs.map +1 -0
- package/dist/parsers/accessibility-metrics.parser.d.mts +11 -0
- package/dist/parsers/accessibility-metrics.parser.mjs +30 -0
- package/dist/parsers/accessibility-metrics.parser.mjs.map +1 -0
- package/dist/parsers/asp-error.parser.d.mts +12 -0
- package/dist/parsers/asp-error.parser.mjs +38 -0
- package/dist/parsers/asp-error.parser.mjs.map +1 -0
- package/dist/parsers/{bad-words.parser.d.ts → bad-words.parser.d.mts} +6 -6
- package/dist/parsers/bad-words.parser.mjs +17 -0
- package/dist/parsers/bad-words.parser.mjs.map +1 -0
- package/dist/parsers/complex-english.parser.d.mts +15 -0
- package/dist/parsers/complex-english.parser.mjs +52 -0
- package/dist/parsers/complex-english.parser.mjs.map +1 -0
- package/dist/parsers/data.parser.d.mts +13 -0
- package/dist/parsers/{data.parser.js → data.parser.mjs} +8 -7
- package/dist/parsers/data.parser.mjs.map +1 -0
- package/dist/parsers/{dictionary.parser.d.ts → dictionary.parser.d.mts} +6 -6
- package/dist/parsers/dictionary.parser.mjs +63 -0
- package/dist/parsers/dictionary.parser.mjs.map +1 -0
- package/dist/parsers/html.parser.d.mts +13 -0
- package/dist/parsers/{html.parser.js → html.parser.mjs} +4 -3
- package/dist/parsers/html.parser.mjs.map +1 -0
- package/dist/parsers/hyperlinks.parser.d.mts +20 -0
- package/dist/parsers/hyperlinks.parser.mjs +104 -0
- package/dist/parsers/hyperlinks.parser.mjs.map +1 -0
- package/dist/parsers/image-tags.parser.d.mts +19 -0
- package/dist/parsers/image-tags.parser.mjs +42 -0
- package/dist/parsers/image-tags.parser.mjs.map +1 -0
- package/dist/parsers/{interest.parser.d.ts → interest.parser.d.mts} +7 -7
- package/dist/parsers/interest.parser.mjs +60 -0
- package/dist/parsers/interest.parser.mjs.map +1 -0
- package/dist/parsers/jpeg.parser.d.mts +11 -0
- package/dist/parsers/jpeg.parser.mjs +29 -0
- package/dist/parsers/jpeg.parser.mjs.map +1 -0
- package/dist/parsers/{llama-guard.parser.d.ts → llama-guard.parser.d.mts} +7 -7
- package/dist/parsers/llama-guard.parser.mjs +56 -0
- package/dist/parsers/llama-guard.parser.mjs.map +1 -0
- package/dist/parsers/{offence.parser.d.ts → offence.parser.d.mts} +7 -7
- package/dist/parsers/offence.parser.mjs +60 -0
- package/dist/parsers/offence.parser.mjs.map +1 -0
- package/dist/parsers/{ollama.parser.d.ts → ollama.parser.d.mts} +6 -6
- package/dist/parsers/ollama.parser.mjs +43 -0
- package/dist/parsers/ollama.parser.mjs.map +1 -0
- package/dist/parsers/{paragraphs.parser.d.ts → paragraphs.parser.d.mts} +5 -5
- package/dist/parsers/paragraphs.parser.mjs +38 -0
- package/dist/parsers/paragraphs.parser.mjs.map +1 -0
- package/dist/parsers/{parser.d.ts → parser.d.mts} +6 -6
- package/dist/parsers/parser.mjs +45 -0
- package/dist/parsers/parser.mjs.map +1 -0
- package/dist/parsers/php-error.parser.d.mts +12 -0
- package/dist/parsers/php-error.parser.mjs +42 -0
- package/dist/parsers/php-error.parser.mjs.map +1 -0
- package/dist/parsers/{phrase.parser.d.ts → phrase.parser.d.mts} +3 -3
- package/dist/parsers/phrase.parser.mjs +15 -0
- package/dist/parsers/phrase.parser.mjs.map +1 -0
- package/dist/parsers/{regex.parser.d.ts → regex.parser.d.mts} +3 -3
- package/dist/parsers/regex.parser.mjs +29 -0
- package/dist/parsers/regex.parser.mjs.map +1 -0
- package/dist/parsers/server.parser.d.mts +11 -0
- package/dist/parsers/server.parser.mjs +57 -0
- package/dist/parsers/server.parser.mjs.map +1 -0
- package/dist/parsers/{spelling.parser.d.ts → spelling.parser.d.mts} +6 -6
- package/dist/parsers/spelling.parser.mjs +17 -0
- package/dist/parsers/spelling.parser.mjs.map +1 -0
- package/dist/parsers/string.parser.d.mts +8 -0
- package/dist/parsers/{string.parser.js → string.parser.mjs} +5 -4
- package/dist/parsers/string.parser.mjs.map +1 -0
- package/dist/parsers/{text.parser.d.ts → text.parser.d.mts} +3 -3
- package/dist/parsers/text.parser.mjs +30 -0
- package/dist/parsers/text.parser.mjs.map +1 -0
- package/dist/parsers/{words.parser.d.ts → words.parser.d.mts} +3 -3
- package/dist/parsers/words.parser.mjs +29 -0
- package/dist/parsers/words.parser.mjs.map +1 -0
- package/dist/queries/complex-english.query.d.mts +2 -0
- package/dist/queries/{complex-english.query.js → complex-english.query.mjs} +26 -28
- package/dist/queries/complex-english.query.mjs.map +1 -0
- package/dist/queries/flash-content.query.d.mts +2 -0
- package/dist/queries/flash-content.query.mjs +80 -0
- package/dist/queries/flash-content.query.mjs.map +1 -0
- package/dist/queries/linking-to-domains.query.d.mts +2 -0
- package/dist/queries/linking-to-domains.query.mjs +128 -0
- package/dist/queries/linking-to-domains.query.mjs.map +1 -0
- package/dist/queries/llamaguard-unsafe-content.query.d.mts +2 -0
- package/dist/queries/llamaguard-unsafe-content.query.mjs +90 -0
- package/dist/queries/llamaguard-unsafe-content.query.mjs.map +1 -0
- package/dist/queries/readability-score.query.d.mts +2 -0
- package/dist/queries/{readability-score.query.js → readability-score.query.mjs} +11 -20
- package/dist/queries/readability-score.query.mjs.map +1 -0
- package/dist/servers/{crawl.server.d.ts → crawl.server.d.mts} +10 -10
- package/dist/servers/crawl.server.mjs +192 -0
- package/dist/servers/crawl.server.mjs.map +1 -0
- package/dist/servers/{express.server.d.ts → express.server.d.mts} +2 -3
- package/dist/servers/express.server.mjs +13 -0
- package/dist/servers/express.server.mjs.map +1 -0
- package/dist/servers/{maintenance.server.d.ts → maintenance.server.d.mts} +5 -5
- package/dist/servers/maintenance.server.mjs +97 -0
- package/dist/servers/maintenance.server.mjs.map +1 -0
- package/dist/servers/{rest.server.d.ts → rest.server.d.mts} +4 -4
- package/dist/servers/rest.server.mjs +62 -0
- package/dist/servers/rest.server.mjs.map +1 -0
- package/dist/servers/{socket-io.server.d.ts → socket-io.server.d.mts} +4 -4
- package/dist/servers/socket-io.server.mjs +22 -0
- package/dist/servers/socket-io.server.mjs.map +1 -0
- package/dist/services/{database.service.d.ts → database.service.d.mts} +12 -12
- package/dist/services/database.service.mjs +645 -0
- package/dist/services/database.service.mjs.map +1 -0
- package/dist/services/{ollama-rest.service.d.ts → ollama-rest.service.d.mts} +2 -2
- package/dist/services/ollama-rest.service.mjs +27 -0
- package/dist/services/ollama-rest.service.mjs.map +1 -0
- package/dist/services/{rig-llama-guard.service.d.ts → rig-llama-guard.service.d.mts} +2 -2
- package/dist/services/{rig-llama-guard.service.js → rig-llama-guard.service.mjs} +33 -43
- package/dist/services/rig-llama-guard.service.mjs.map +1 -0
- package/dist/services/{rig-queue-length.service.d.ts → rig-queue-length.service.d.mts} +1 -1
- package/dist/services/rig-queue-length.service.mjs +12 -0
- package/dist/services/rig-queue-length.service.mjs.map +1 -0
- package/dist/services/{rig-subjectivity-scale.service.d.ts → rig-subjectivity-scale.service.d.mts} +2 -2
- package/dist/services/rig-subjectivity-scale.service.mjs +82 -0
- package/dist/services/rig-subjectivity-scale.service.mjs.map +1 -0
- package/dist/services/{rig-ticket-rest.service.d.ts → rig-ticket-rest.service.d.mts} +3 -3
- package/dist/services/rig-ticket-rest.service.mjs +15 -0
- package/dist/services/rig-ticket-rest.service.mjs.map +1 -0
- package/dist/services/{rig-ticketed-promise.service.d.ts → rig-ticketed-promise.service.d.mts} +4 -6
- package/dist/services/{rig-ticketed-promise.service.js → rig-ticketed-promise.service.mjs} +7 -6
- package/dist/services/rig-ticketed-promise.service.mjs.map +1 -0
- package/dist/types/{tcrawl-config.js → tcrawl-config.mjs} +2 -2
- package/dist/types/tcrawl-config.mjs.map +1 -0
- package/dist/types/{thydra-config.js → thydra-config.mjs} +2 -2
- package/dist/types/thydra-config.mjs.map +1 -0
- package/dist/types/tparser-ctor.d.mts +7 -0
- package/dist/types/tparser-ctor.mjs +2 -0
- package/dist/types/tparser-ctor.mjs.map +1 -0
- package/dist/types/tquery.d.mts +7 -0
- package/dist/types/tquery.mjs +2 -0
- package/dist/types/tquery.mjs.map +1 -0
- package/dist/types/tqueue-length.mjs +2 -0
- package/dist/types/tqueue-length.mjs.map +1 -0
- package/dist/types/{trobots-config.js → trobots-config.mjs} +2 -2
- package/dist/types/trobots-config.mjs.map +1 -0
- package/package.json +37 -43
- package/dist/apis/autocomplete.api.js +0 -22
- package/dist/apis/autocomplete.api.js.map +0 -1
- package/dist/apis/bugs.api.js +0 -26
- package/dist/apis/bugs.api.js.map +0 -1
- package/dist/apis/crawl.api.js +0 -25
- package/dist/apis/crawl.api.js.map +0 -1
- package/dist/apis/domains.api.js.map +0 -1
- package/dist/apis/images.api.js +0 -27
- package/dist/apis/images.api.js.map +0 -1
- package/dist/apis/statistics.api.js +0 -41
- package/dist/apis/statistics.api.js.map +0 -1
- package/dist/apis/test.api.js +0 -19
- package/dist/apis/test.api.js.map +0 -1
- package/dist/apis/urls.api.js +0 -29
- package/dist/apis/urls.api.js.map +0 -1
- package/dist/apps/cleanup.app.js +0 -151
- package/dist/apps/cleanup.app.js.map +0 -1
- package/dist/apps/cross-populate-export.app.js +0 -75
- package/dist/apps/cross-populate-export.app.js.map +0 -1
- package/dist/apps/cross-populate-import.app.js +0 -100
- package/dist/apps/cross-populate-import.app.js.map +0 -1
- package/dist/apps/denylist.app.js +0 -132
- package/dist/apps/denylist.app.js.map +0 -1
- package/dist/apps/expire.app.js +0 -63
- package/dist/apps/expire.app.js.map +0 -1
- package/dist/apps/export-domain-urls.js +0 -99
- package/dist/apps/export-domain-urls.js.map +0 -1
- package/dist/apps/extract-text.app.js +0 -55
- package/dist/apps/extract-text.app.js.map +0 -1
- package/dist/apps/hydra.app.js +0 -218
- package/dist/apps/hydra.app.js.map +0 -1
- package/dist/apps/import.app.js +0 -57
- package/dist/apps/import.app.js.map +0 -1
- package/dist/apps/internal-hydra-common.app.js.map +0 -1
- package/dist/apps/move-to-archive.app.js +0 -46
- package/dist/apps/move-to-archive.app.js.map +0 -1
- package/dist/apps/prune-archive.app.js +0 -55
- package/dist/apps/prune-archive.app.js.map +0 -1
- package/dist/apps/query.app.js +0 -80
- package/dist/apps/query.app.js.map +0 -1
- package/dist/apps/reattempt.app.js +0 -83
- package/dist/apps/reattempt.app.js.map +0 -1
- package/dist/apps/requeue-domain.app.js +0 -64
- package/dist/apps/requeue-domain.app.js.map +0 -1
- package/dist/apps/seed.app.js +0 -69
- package/dist/apps/seed.app.js.map +0 -1
- package/dist/apps/startup.app.js +0 -64
- package/dist/apps/startup.app.js.map +0 -1
- package/dist/apps/unarchive-urls.app.js +0 -83
- package/dist/apps/unarchive-urls.app.js.map +0 -1
- package/dist/classes/cleaner.js +0 -266
- package/dist/classes/cleaner.js.map +0 -1
- package/dist/classes/crawler.js.map +0 -1
- package/dist/classes/dns.js.map +0 -1
- package/dist/classes/expirer.js +0 -121
- package/dist/classes/expirer.js.map +0 -1
- package/dist/classes/expiry.js.map +0 -1
- package/dist/classes/lists.js.map +0 -1
- package/dist/classes/robot.js +0 -82
- package/dist/classes/robot.js.map +0 -1
- package/dist/classes/tracker.js +0 -120
- package/dist/classes/tracker.js.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/enums/eavailable-strategy.js.map +0 -1
- package/dist/enums/elist.js.map +0 -1
- package/dist/enums/eserver.js.map +0 -1
- package/dist/enums/ex-powered-by.js.map +0 -1
- package/dist/helpers/matcher.js.map +0 -1
- package/dist/helpers/random.js.map +0 -1
- package/dist/helpers/utf-decoder.js.map +0 -1
- package/dist/interfaces/iexpiry.js.map +0 -1
- package/dist/interfaces/imatch.js.map +0 -1
- package/dist/interfaces/iparser-config.js.map +0 -1
- package/dist/interfaces/iparser.js +0 -2
- package/dist/interfaces/iparser.js.map +0 -1
- package/dist/interfaces/irequest-outcome.js +0 -2
- package/dist/interfaces/irequest-outcome.js.map +0 -1
- package/dist/interfaces/iserver.js +0 -2
- package/dist/interfaces/iserver.js.map +0 -1
- package/dist/parsers/accessibility-metrics.parser.d.ts +0 -11
- package/dist/parsers/accessibility-metrics.parser.js +0 -40
- package/dist/parsers/accessibility-metrics.parser.js.map +0 -1
- package/dist/parsers/asp-error.parser.d.ts +0 -12
- package/dist/parsers/asp-error.parser.js +0 -48
- package/dist/parsers/asp-error.parser.js.map +0 -1
- package/dist/parsers/bad-words.parser.js +0 -27
- package/dist/parsers/bad-words.parser.js.map +0 -1
- package/dist/parsers/complex-english.parser.d.ts +0 -15
- package/dist/parsers/complex-english.parser.js +0 -61
- package/dist/parsers/complex-english.parser.js.map +0 -1
- package/dist/parsers/data.parser.d.ts +0 -14
- package/dist/parsers/data.parser.js.map +0 -1
- package/dist/parsers/dictionary.parser.js +0 -73
- package/dist/parsers/dictionary.parser.js.map +0 -1
- package/dist/parsers/html.parser.d.ts +0 -13
- package/dist/parsers/html.parser.js.map +0 -1
- package/dist/parsers/hyperlinks.parser.d.ts +0 -20
- package/dist/parsers/hyperlinks.parser.js +0 -115
- package/dist/parsers/hyperlinks.parser.js.map +0 -1
- package/dist/parsers/image-tags.parser.d.ts +0 -19
- package/dist/parsers/image-tags.parser.js +0 -52
- package/dist/parsers/image-tags.parser.js.map +0 -1
- package/dist/parsers/interest.parser.js +0 -69
- package/dist/parsers/interest.parser.js.map +0 -1
- package/dist/parsers/jpeg.parser.d.ts +0 -11
- package/dist/parsers/jpeg.parser.js +0 -39
- package/dist/parsers/jpeg.parser.js.map +0 -1
- package/dist/parsers/llama-guard.parser.js +0 -65
- package/dist/parsers/llama-guard.parser.js.map +0 -1
- package/dist/parsers/offence.parser.js +0 -69
- package/dist/parsers/offence.parser.js.map +0 -1
- package/dist/parsers/ollama.parser.js +0 -51
- package/dist/parsers/ollama.parser.js.map +0 -1
- package/dist/parsers/paragraphs.parser.js +0 -49
- package/dist/parsers/paragraphs.parser.js.map +0 -1
- package/dist/parsers/parser.js +0 -57
- package/dist/parsers/parser.js.map +0 -1
- package/dist/parsers/php-error.parser.d.ts +0 -12
- package/dist/parsers/php-error.parser.js +0 -52
- package/dist/parsers/php-error.parser.js.map +0 -1
- package/dist/parsers/phrase.parser.js +0 -26
- package/dist/parsers/phrase.parser.js.map +0 -1
- package/dist/parsers/regex.parser.js +0 -43
- package/dist/parsers/regex.parser.js.map +0 -1
- package/dist/parsers/server.parser.d.ts +0 -11
- package/dist/parsers/server.parser.js +0 -67
- package/dist/parsers/server.parser.js.map +0 -1
- package/dist/parsers/spelling.parser.js +0 -27
- package/dist/parsers/spelling.parser.js.map +0 -1
- package/dist/parsers/string.parser.d.ts +0 -8
- package/dist/parsers/string.parser.js.map +0 -1
- package/dist/parsers/text.parser.js +0 -41
- package/dist/parsers/text.parser.js.map +0 -1
- package/dist/parsers/words.parser.js +0 -40
- package/dist/parsers/words.parser.js.map +0 -1
- package/dist/queries/complex-english.query.d.ts +0 -2
- package/dist/queries/complex-english.query.js.map +0 -1
- package/dist/queries/flash-content.query.d.ts +0 -2
- package/dist/queries/flash-content.query.js +0 -82
- package/dist/queries/flash-content.query.js.map +0 -1
- package/dist/queries/linking-to-domains.query.d.ts +0 -2
- package/dist/queries/linking-to-domains.query.js +0 -130
- package/dist/queries/linking-to-domains.query.js.map +0 -1
- package/dist/queries/llamaguard-unsafe-content.query.d.ts +0 -2
- package/dist/queries/llamaguard-unsafe-content.query.js +0 -92
- package/dist/queries/llamaguard-unsafe-content.query.js.map +0 -1
- package/dist/queries/readability-score.query.d.ts +0 -2
- package/dist/queries/readability-score.query.js.map +0 -1
- package/dist/servers/crawl.server.js +0 -198
- package/dist/servers/crawl.server.js.map +0 -1
- package/dist/servers/express.server.js +0 -13
- package/dist/servers/express.server.js.map +0 -1
- package/dist/servers/maintenance.server.js +0 -103
- package/dist/servers/maintenance.server.js.map +0 -1
- package/dist/servers/rest.server.js +0 -46
- package/dist/servers/rest.server.js.map +0 -1
- package/dist/servers/socket-io.server.js +0 -61
- package/dist/servers/socket-io.server.js.map +0 -1
- package/dist/services/database.service.js +0 -795
- package/dist/services/database.service.js.map +0 -1
- package/dist/services/ollama-rest.service.js +0 -46
- package/dist/services/ollama-rest.service.js.map +0 -1
- package/dist/services/rig-llama-guard.service.js.map +0 -1
- package/dist/services/rig-queue-length.service.js +0 -22
- package/dist/services/rig-queue-length.service.js.map +0 -1
- package/dist/services/rig-subjectivity-scale.service.js +0 -96
- package/dist/services/rig-subjectivity-scale.service.js.map +0 -1
- package/dist/services/rig-ticket-rest.service.js +0 -29
- package/dist/services/rig-ticket-rest.service.js.map +0 -1
- package/dist/services/rig-ticketed-promise.service.js.map +0 -1
- package/dist/types/tcrawl-config.js.map +0 -1
- package/dist/types/thydra-config.js.map +0 -1
- package/dist/types/tparser-ctor.d.ts +0 -7
- package/dist/types/tparser-ctor.js +0 -2
- package/dist/types/tparser-ctor.js.map +0 -1
- package/dist/types/tquery.d.ts +0 -7
- package/dist/types/tquery.js +0 -2
- package/dist/types/tquery.js.map +0 -1
- package/dist/types/tqueue-length.js +0 -2
- package/dist/types/tqueue-length.js.map +0 -1
- package/dist/types/trobots-config.js.map +0 -1
- /package/dist/classes/{dns.d.ts → dns.d.mts} +0 -0
- /package/dist/{cli.d.ts → cli.d.mts} +0 -0
- /package/dist/enums/{eavailable-strategy.d.ts → eavailable-strategy.d.mts} +0 -0
- /package/dist/enums/{elist.d.ts → elist.d.mts} +0 -0
- /package/dist/enums/{eserver.d.ts → eserver.d.mts} +0 -0
- /package/dist/enums/{ex-powered-by.d.ts → ex-powered-by.d.mts} +0 -0
- /package/dist/interfaces/{imatch.d.ts → imatch.d.mts} +0 -0
- /package/dist/interfaces/{iparser-config.d.ts → iparser-config.d.mts} +0 -0
- /package/dist/interfaces/{iserver.d.ts → iserver.d.mts} +0 -0
- /package/dist/types/{tcrawl-config.d.ts → tcrawl-config.d.mts} +0 -0
- /package/dist/types/{thydra-config.d.ts → thydra-config.d.mts} +0 -0
- /package/dist/types/{tqueue-length.d.ts → tqueue-length.d.mts} +0 -0
- /package/dist/types/{trobots-config.d.ts → trobots-config.d.mts} +0 -0
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import mongodb from 'mongodb';
|
|
2
|
+
import { commonsArrayChunk, commonsDateDateToYmdHis, commonsTypeHasPropertyDate } from 'tscommons-esm-core';
|
|
3
|
+
import { EStatus } from 'hydra-crawler-esm-assets';
|
|
4
|
+
import { commonsLogAlert, commonsLogDoing } from 'nodecommons-esm-log';
|
|
5
|
+
import { isTMongoIdRow } from '../services/database.service.mjs';
|
|
6
|
+
export class Expirer {
|
|
7
|
+
expiry;
|
|
8
|
+
database;
|
|
9
|
+
constructor(expiry, database) {
|
|
10
|
+
this.expiry = expiry;
|
|
11
|
+
this.database = database;
|
|
12
|
+
}
|
|
13
|
+
async listQueuedAndActive() {
|
|
14
|
+
const log = commonsLogDoing('expirer', 'Enumering queued and active domains');
|
|
15
|
+
const results = this.database.getUrls().aggregate([
|
|
16
|
+
{ $match: { status: { $in: [EStatus.QUEUED, EStatus.ACTIVE] } } },
|
|
17
|
+
{ $group: { _id: '$domain' } }
|
|
18
|
+
], { allowDiskUse: true });
|
|
19
|
+
const queued = await this.database.listQueryResults(results, isTMongoIdRow);
|
|
20
|
+
log.success(queued.length);
|
|
21
|
+
return queued
|
|
22
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
23
|
+
.map((q) => q._id);
|
|
24
|
+
}
|
|
25
|
+
async expire(limit) {
|
|
26
|
+
commonsLogAlert('Running expiry thread');
|
|
27
|
+
const queued = await this.listQueuedAndActive();
|
|
28
|
+
const expired = [];
|
|
29
|
+
{ // scope
|
|
30
|
+
const log = commonsLogDoing('expirer', 'Searching for expired URLs');
|
|
31
|
+
const results = this.database.getUrls().find({ $and: [
|
|
32
|
+
{ status: { $nin: [
|
|
33
|
+
EStatus.ARCHIVED,
|
|
34
|
+
EStatus.QUEUED,
|
|
35
|
+
EStatus.ACTIVE
|
|
36
|
+
] } },
|
|
37
|
+
{ domain: { $nin: queued } },
|
|
38
|
+
{ attempted: { $exists: true } }
|
|
39
|
+
] }, {});
|
|
40
|
+
const now = new Date().getTime() / 1000;
|
|
41
|
+
let tally = 0;
|
|
42
|
+
let found = 0;
|
|
43
|
+
while (true) {
|
|
44
|
+
tally++;
|
|
45
|
+
if ((tally % 1000) === 0)
|
|
46
|
+
log.progress(`${tally}, ${found}`);
|
|
47
|
+
if (limit !== undefined && tally > limit)
|
|
48
|
+
break;
|
|
49
|
+
const row = await results.next();
|
|
50
|
+
if (row === null)
|
|
51
|
+
break;
|
|
52
|
+
const interval = this.expiry.getBestExpiry(row.url);
|
|
53
|
+
if (!commonsTypeHasPropertyDate(row, 'attempted'))
|
|
54
|
+
continue;
|
|
55
|
+
const attempted = row['attempted'].getTime() / 1000;
|
|
56
|
+
if ((attempted + interval) < now) {
|
|
57
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
58
|
+
expired.push(row['_id']);
|
|
59
|
+
found++;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
log.success(found);
|
|
63
|
+
if (found === 0)
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
const batches = commonsArrayChunk(expired, 100);
|
|
67
|
+
{ // scope
|
|
68
|
+
const log = commonsLogDoing('expirer', 'Re-queuing expired');
|
|
69
|
+
let tally = 0;
|
|
70
|
+
for (const batch of batches) {
|
|
71
|
+
const batchIds = batch
|
|
72
|
+
.map((id) => new mongodb.ObjectId(id));
|
|
73
|
+
await this.database.getUrls().updateMany({ _id: { $in: batchIds } }, {
|
|
74
|
+
$set: { status: EStatus.QUEUED },
|
|
75
|
+
$unset: { ttl: true }
|
|
76
|
+
});
|
|
77
|
+
tally += 100;
|
|
78
|
+
log.progress(tally);
|
|
79
|
+
}
|
|
80
|
+
log.success();
|
|
81
|
+
}
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
async expireFixed(threshold) {
|
|
85
|
+
commonsLogAlert('Running fixed date expiry thread');
|
|
86
|
+
const queued = await this.listQueuedAndActive();
|
|
87
|
+
{ // scope
|
|
88
|
+
const log = commonsLogDoing('expirer', `Searching attempted before date ${commonsDateDateToYmdHis(threshold)}`);
|
|
89
|
+
const count = await this.database.getUrls().find({ $and: [
|
|
90
|
+
{ status: { $ne: EStatus.ARCHIVED } },
|
|
91
|
+
{ domain: { $nin: queued } },
|
|
92
|
+
{ attempted: { $exists: true } },
|
|
93
|
+
{ attempted: { $lt: threshold } }
|
|
94
|
+
] }, {}).count();
|
|
95
|
+
log.success(count);
|
|
96
|
+
if (count === 0)
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
{ // scope
|
|
100
|
+
const log = commonsLogDoing('expirer', 'Re-queuing expired');
|
|
101
|
+
await this.database.getUrls().updateMany({ $and: [
|
|
102
|
+
{ status: { $ne: EStatus.ARCHIVED } },
|
|
103
|
+
{ domain: { $nin: queued } },
|
|
104
|
+
{ attempted: { $exists: true } },
|
|
105
|
+
{ attempted: { $lt: threshold } }
|
|
106
|
+
] }, {
|
|
107
|
+
$set: { status: EStatus.QUEUED },
|
|
108
|
+
$unset: { ttl: true }
|
|
109
|
+
});
|
|
110
|
+
log.success();
|
|
111
|
+
}
|
|
112
|
+
// ?
|
|
113
|
+
// const log: CommonsSubLoggable = commonsLogDoing('expirer', 'Searching for expired URLs');
|
|
114
|
+
return true;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=expirer.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expirer.mjs","sourceRoot":"","sources":["../../src/classes/expirer.mts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
import { URL } from 'url';
|
|
2
|
-
import { commonsTypeHasPropertyString, commonsTypeIsArray, commonsTypeIsTArray } from 'tscommons-
|
|
3
|
-
import { commonsFileReadJsonFile } from 'nodecommons-
|
|
4
|
-
import { Matcher } from '../helpers/matcher';
|
|
5
|
-
import { isIExpiry, toIExpiry } from '../interfaces/iexpiry';
|
|
2
|
+
import { commonsTypeHasPropertyString, commonsTypeIsArray, commonsTypeIsTArray } from 'tscommons-esm-core';
|
|
3
|
+
import { commonsFileReadJsonFile } from 'nodecommons-esm-file';
|
|
4
|
+
import { Matcher } from '../helpers/matcher.mjs';
|
|
5
|
+
import { isIExpiry, toIExpiry } from '../interfaces/iexpiry.mjs';
|
|
6
6
|
export class Expiry {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.expiries = [];
|
|
9
|
-
}
|
|
10
7
|
static loadFromFile(file) {
|
|
11
8
|
const json = commonsFileReadJsonFile(file);
|
|
12
9
|
if (!commonsTypeIsArray(json))
|
|
@@ -16,7 +13,7 @@ export class Expiry {
|
|
|
16
13
|
try {
|
|
17
14
|
return toIExpiry(entry);
|
|
18
15
|
}
|
|
19
|
-
catch (
|
|
16
|
+
catch (_e) {
|
|
20
17
|
return undefined;
|
|
21
18
|
}
|
|
22
19
|
});
|
|
@@ -37,6 +34,7 @@ export class Expiry {
|
|
|
37
34
|
}
|
|
38
35
|
return total;
|
|
39
36
|
}
|
|
37
|
+
expiries = [];
|
|
40
38
|
add(expiries) {
|
|
41
39
|
for (const expiry of expiries) {
|
|
42
40
|
this.expiries.push(expiry);
|
|
@@ -60,4 +58,4 @@ export class Expiry {
|
|
|
60
58
|
return best.expiry;
|
|
61
59
|
}
|
|
62
60
|
}
|
|
63
|
-
//# sourceMappingURL=expiry.
|
|
61
|
+
//# sourceMappingURL=expiry.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expiry.mjs","sourceRoot":"","sources":["../../src/classes/expiry.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,OAAO,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE3G,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAW,SAAS,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE1E,MAAM,OAAO,MAAM;IACX,MAAM,CAAC,YAAY,CAAC,IAAY;QACtC,MAAM,IAAI,GAAY,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAEtE,MAAM,QAAQ,GAA0B,IAAI;aACzC,GAAG,CAAC,CAAC,KAAc,EAAqB,EAAE;YAC1C,IAAI,CAAC;gBACJ,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;YAAC,OAAO,EAAE,EAAE,CAAC;gBACb,OAAO,SAAS,CAAC;YAClB,CAAC;QACF,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,mBAAmB,CAAU,QAAQ,EAAE,SAAS,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC;QAExG,OAAO,QAAQ,CAAC;IACjB,CAAC;IAEO,MAAM,CAAC,QAAQ,CAAC,MAAe;QACtC,IAAI,KAAK,GAAW,CAAC,CAAC;QAEtB,IAAI,4BAA4B,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC1D,KAAK,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAO,CAAC,MAAM,CAAC;QAC7C,CAAC;QACD,IAAI,4BAA4B,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC;YAC5D,KAAK,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,QAAS,CAAC,MAAM,CAAC;QAC/C,CAAC;QACD,IAAI,4BAA4B,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC;YAC5D,KAAK,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,QAAS,CAAC,MAAM,CAAC;QAC/C,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAEO,QAAQ,GAAc,EAAE,CAAC;IAE1B,GAAG,CAAC,QAAmB;QAC7B,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;IACF,CAAC;IAEM,aAAa,CAAC,GAAW;QAC/B,MAAM,MAAM,GAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAEjC,IAAI,IAAuB,CAAC;QAC5B,IAAI,SAA2B,CAAC;QAEhC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;gBAAE,SAAS;YAErD,MAAM,KAAK,GAAW,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAE9C,IAAI,SAAS,KAAK,SAAS,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;gBAClD,IAAI,GAAG,MAAM,CAAC;gBACd,SAAS,GAAG,KAAK,CAAC;YACnB,CAAC;QACF,CAAC;QAED,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAEtE,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;CACD"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Matcher } from '../helpers/matcher';
|
|
2
|
-
import { ELISTS } from '../enums/elist';
|
|
1
|
+
import { Matcher } from '../helpers/matcher.mjs';
|
|
2
|
+
import { ELISTS } from '../enums/elist.mjs';
|
|
3
3
|
export class Lists {
|
|
4
|
+
lists = new Map();
|
|
4
5
|
constructor() {
|
|
5
|
-
this.lists = new Map();
|
|
6
6
|
for (const list of ELISTS) {
|
|
7
7
|
this.lists.set(list, []);
|
|
8
8
|
}
|
|
@@ -35,4 +35,4 @@ export class Lists {
|
|
|
35
35
|
.filter((hostname) => hostname !== '');
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
-
//# sourceMappingURL=lists.
|
|
38
|
+
//# sourceMappingURL=lists.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lists.mjs","sourceRoot":"","sources":["../../src/classes/lists.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAIjD,OAAO,EAAS,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,OAAO,KAAK;IACT,KAAK,GAAyB,IAAI,GAAG,EAAmB,CAAC;IAEjE;QACC,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1B,CAAC;IACF,CAAC;IAEM,GAAG,CAAC,IAAW,EAAE,OAAiB;QACxC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,IAAW,EAAE,GAAW;QACpC,MAAM,OAAO,GAAuB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QAE9C,OAAO,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAEM,aAAa,CAAC,IAAW;QAC/B,MAAM,OAAO,GAAuB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QAE9C,OAAO,OAAO;aACX,MAAM,CAAC,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC;aAC9D,GAAG,CAAC,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,QAAS,CAAC;aAC7C,GAAG,CAAC,CAAC,QAAgB,EAAU,EAAE,CAAC,QAAQ;aACxC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;aAC3B,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;aACpB,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;aACpB,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;aAC5B,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;aACnB,IAAI,EAAE,CACR;aACA,MAAM,CAAC,CAAC,QAAgB,EAAW,EAAE,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC;IAC3D,CAAC;CACD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { TCrawlConfig } from '../types/tcrawl-config';
|
|
2
|
-
import { TRobotsConfig } from '../types/trobots-config';
|
|
3
|
-
import { Tracker } from './tracker';
|
|
1
|
+
import { TCrawlConfig } from '../types/tcrawl-config.mjs';
|
|
2
|
+
import { TRobotsConfig } from '../types/trobots-config.mjs';
|
|
3
|
+
import { Tracker } from './tracker.mjs';
|
|
4
4
|
export declare class Robot {
|
|
5
5
|
private domain;
|
|
6
6
|
private crawlConfig;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import * as http from 'http';
|
|
2
|
+
import * as https from 'https';
|
|
3
|
+
import { URL } from 'url';
|
|
4
|
+
import { Crawler } from './crawler.mjs';
|
|
5
|
+
export class Robot {
|
|
6
|
+
domain;
|
|
7
|
+
crawlConfig;
|
|
8
|
+
robotsConfig;
|
|
9
|
+
tracker;
|
|
10
|
+
static parse(robotstxt, robotsConfig) {
|
|
11
|
+
const paths = [];
|
|
12
|
+
const sections = robotstxt.replace(/\r/g, '').split(/\n\n/);
|
|
13
|
+
for (let section of sections) {
|
|
14
|
+
section = section.trim();
|
|
15
|
+
const parse = section.match(/^User-agent: \*\n([\s\S]+)/i);
|
|
16
|
+
if (!parse)
|
|
17
|
+
continue;
|
|
18
|
+
for (const line of parse[1].trim().split('\n')) {
|
|
19
|
+
const match = line.trim().match(/^Disallow: (\/.*)$/i);
|
|
20
|
+
if (!match)
|
|
21
|
+
continue;
|
|
22
|
+
if (robotsConfig.ignoreWholeSiteDirectives && match[1] === '/')
|
|
23
|
+
continue;
|
|
24
|
+
paths.push(match[1]);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return [...new Set(paths)];
|
|
28
|
+
}
|
|
29
|
+
paths;
|
|
30
|
+
constructor(domain, crawlConfig, robotsConfig, tracker) {
|
|
31
|
+
this.domain = domain;
|
|
32
|
+
this.crawlConfig = crawlConfig;
|
|
33
|
+
this.robotsConfig = robotsConfig;
|
|
34
|
+
this.tracker = tracker;
|
|
35
|
+
this.paths = new Map();
|
|
36
|
+
}
|
|
37
|
+
async checkDomain(protocol) {
|
|
38
|
+
let outcome;
|
|
39
|
+
try {
|
|
40
|
+
switch (protocol) {
|
|
41
|
+
case 'http':
|
|
42
|
+
outcome = await Crawler.request(http, `http://${this.domain}/robots.txt`, this.crawlConfig.connectTimeout, this.crawlConfig.maxFileSize, this.tracker);
|
|
43
|
+
break;
|
|
44
|
+
case 'https':
|
|
45
|
+
outcome = await Crawler.request(https, `https://${this.domain}/robots.txt`, this.crawlConfig.connectTimeout, this.crawlConfig.maxFileSize, this.tracker);
|
|
46
|
+
break;
|
|
47
|
+
default: throw new Error('Unknown protocol');
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
catch (_ex) { /* ignore */ }
|
|
51
|
+
if (!outcome || !outcome.data)
|
|
52
|
+
return [];
|
|
53
|
+
return Robot.parse(outcome.data.toString(), this.robotsConfig);
|
|
54
|
+
}
|
|
55
|
+
async load() {
|
|
56
|
+
for (const protocol of ['http', 'https']) {
|
|
57
|
+
this.paths.set(protocol, await this.checkDomain(protocol));
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
isDisallowed(url) {
|
|
61
|
+
const whatwg = new URL(url);
|
|
62
|
+
const protocol = whatwg.protocol.match(/^(http(?:s?)):$/);
|
|
63
|
+
if (!protocol)
|
|
64
|
+
return false;
|
|
65
|
+
if (!this.paths.has(protocol[1]))
|
|
66
|
+
return false;
|
|
67
|
+
for (const path of this.paths.get(protocol[1])) {
|
|
68
|
+
if (whatwg.pathname.substring(0, path.length) === path)
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=robot.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"robot.mjs","sourceRoot":"","sources":["../../src/classes/robot.mts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { EStatus } from 'hydra-crawler-
|
|
2
|
-
import { SocketIoServer } from '../servers/socket-io.server';
|
|
3
|
-
import { DatabaseService } from '../services/database.service';
|
|
1
|
+
import { EStatus } from 'hydra-crawler-esm-assets';
|
|
2
|
+
import { SocketIoServer } from '../servers/socket-io.server.mjs';
|
|
3
|
+
import { DatabaseService } from '../services/database.service.mjs';
|
|
4
4
|
export declare class Tracker {
|
|
5
5
|
private databaseService;
|
|
6
6
|
private socketIoServer;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { commonsAsyncAbortInterval, commonsAsyncInterval } from 'tscommons-esm-async';
|
|
2
|
+
import { ECommonsInvocation } from 'tscommons-esm-async';
|
|
3
|
+
import { commonsGracefulAbortAddCallback } from 'nodecommons-esm-process';
|
|
4
|
+
import { commonsLogAlert } from 'nodecommons-esm-log';
|
|
5
|
+
export class Tracker {
|
|
6
|
+
databaseService;
|
|
7
|
+
socketIoServer;
|
|
8
|
+
map = new Map();
|
|
9
|
+
current = 0;
|
|
10
|
+
index = 0;
|
|
11
|
+
fetches = [];
|
|
12
|
+
linkTallies = 0;
|
|
13
|
+
domainTallies = 0;
|
|
14
|
+
constructor(databaseService, socketIoServer) {
|
|
15
|
+
this.databaseService = databaseService;
|
|
16
|
+
this.socketIoServer = socketIoServer;
|
|
17
|
+
commonsGracefulAbortAddCallback(() => {
|
|
18
|
+
commonsLogAlert('SIGINT abort flag is set. Aborting bandwidth.');
|
|
19
|
+
this.abort();
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
async fetching(url) {
|
|
23
|
+
const fetch = {
|
|
24
|
+
index: ++this.index,
|
|
25
|
+
url: url
|
|
26
|
+
};
|
|
27
|
+
this.fetches.push(fetch);
|
|
28
|
+
if (this.index > 1000)
|
|
29
|
+
this.index = 0;
|
|
30
|
+
while (this.fetches.length > 999)
|
|
31
|
+
this.fetches.shift();
|
|
32
|
+
await this.socketIoServer.fetching(fetch);
|
|
33
|
+
}
|
|
34
|
+
async outcome(url, failed, statusCode) {
|
|
35
|
+
const fetch = this.fetches
|
|
36
|
+
.find((f) => f.url === url);
|
|
37
|
+
if (!fetch)
|
|
38
|
+
return;
|
|
39
|
+
this.fetches = this.fetches
|
|
40
|
+
.filter((f) => f.index !== fetch.index);
|
|
41
|
+
const outcome = {
|
|
42
|
+
index: fetch.index,
|
|
43
|
+
failed: failed
|
|
44
|
+
};
|
|
45
|
+
if (statusCode !== undefined)
|
|
46
|
+
outcome.statusCode = statusCode;
|
|
47
|
+
await this.socketIoServer.outcome(outcome);
|
|
48
|
+
}
|
|
49
|
+
async done(url, statusCode) {
|
|
50
|
+
await this.outcome(url, false, statusCode);
|
|
51
|
+
}
|
|
52
|
+
async failed(url) {
|
|
53
|
+
await this.outcome(url, true);
|
|
54
|
+
}
|
|
55
|
+
bandwidth(size) {
|
|
56
|
+
this.current += size;
|
|
57
|
+
}
|
|
58
|
+
delta(status, delta) {
|
|
59
|
+
const existing = this.map.get(status) || 0;
|
|
60
|
+
this.map.set(status, existing + delta);
|
|
61
|
+
}
|
|
62
|
+
abort() {
|
|
63
|
+
commonsAsyncAbortInterval('sync');
|
|
64
|
+
commonsAsyncAbortInterval('bandwidth');
|
|
65
|
+
commonsAsyncAbortInterval('tally');
|
|
66
|
+
}
|
|
67
|
+
link(count = 1) {
|
|
68
|
+
this.linkTallies += count;
|
|
69
|
+
}
|
|
70
|
+
domain() {
|
|
71
|
+
this.domainTallies++;
|
|
72
|
+
}
|
|
73
|
+
async sync() {
|
|
74
|
+
const initial = await this.databaseService.listStatusTallies();
|
|
75
|
+
for (const status of initial.keys()) {
|
|
76
|
+
this.map.set(status, initial.get(status));
|
|
77
|
+
}
|
|
78
|
+
this.linkTallies = await this.databaseService.getLinkTalliesCount();
|
|
79
|
+
this.domainTallies = await this.databaseService.getDomainTalliesCount();
|
|
80
|
+
}
|
|
81
|
+
async start() {
|
|
82
|
+
await this.sync();
|
|
83
|
+
commonsAsyncInterval(1000, ECommonsInvocation.IF, async () => {
|
|
84
|
+
await this.socketIoServer.bandwidth(this.current);
|
|
85
|
+
this.current = 0;
|
|
86
|
+
}, 'bandwidth');
|
|
87
|
+
commonsAsyncInterval(1000, ECommonsInvocation.IF, async () => {
|
|
88
|
+
const tallies = {};
|
|
89
|
+
for (const status of this.map.keys()) {
|
|
90
|
+
tallies[status] = this.map.get(status);
|
|
91
|
+
}
|
|
92
|
+
await this.socketIoServer.statusTallies(tallies);
|
|
93
|
+
await this.socketIoServer.linkTallies(this.linkTallies);
|
|
94
|
+
await this.socketIoServer.domainTallies(this.domainTallies);
|
|
95
|
+
}, 'tally');
|
|
96
|
+
commonsAsyncInterval(60000, ECommonsInvocation.WHEN, async () => {
|
|
97
|
+
await this.sync();
|
|
98
|
+
}, 'sync');
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=tracker.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracker.mjs","sourceRoot":"","sources":["../../src/classes/tracker.mts"],"names":[],"mappings":"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"}
|
package/dist/{cli.js → cli.mjs}
RENAMED
|
@@ -1,45 +1,35 @@
|
|
|
1
1
|
//const log = require('why-is-node-running');
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
};
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
27
|
-
import {
|
|
28
|
-
import {
|
|
29
|
-
import {
|
|
30
|
-
import { CrossPopulateExportApp } from './apps/cross-populate-export.app';
|
|
31
|
-
import { CrossPopulateImportApp } from './apps/cross-populate-import.app';
|
|
32
|
-
import { ExtractTextApp } from './apps/extract-text.app';
|
|
33
|
-
import { ExportDomainUrlsApp } from './apps/export-domain-urls';
|
|
34
|
-
import { DatabaseService } from './services/database.service';
|
|
35
|
-
import { isIMatch } from './interfaces/imatch';
|
|
36
|
-
import { isIExpiry, toIExpiry } from './interfaces/iexpiry';
|
|
37
|
-
import { filenameFromEList, ELISTS } from './enums/elist';
|
|
2
|
+
import { CommonsFixedDate, commonsTypeIsObjectArray, commonsTypeIsTArray } from 'tscommons-esm-core';
|
|
3
|
+
import { isTCommonsScheduleTime } from 'tscommons-esm-async';
|
|
4
|
+
import { EStatus } from 'hydra-crawler-esm-assets';
|
|
5
|
+
import { CommonsArgs } from 'nodecommons-esm-cli';
|
|
6
|
+
import { commonsLogInfo, commonsLogSetLevel, ECommonsLogLevel } from 'nodecommons-esm-log';
|
|
7
|
+
import { isICommonsCredentials } from 'nodecommons-esm-database';
|
|
8
|
+
import { isIInternalHydraCommonDbApp, isIInternalHydraCommonListApp, isIInternalHydraCommonExpiryApp, isIInternalHydraCommonMaintenanceApp } from './apps/internal-hydra-common.app.mjs';
|
|
9
|
+
import { HydraApp } from './apps/hydra.app.mjs';
|
|
10
|
+
import { DenylistApp } from './apps/denylist.app.mjs';
|
|
11
|
+
import { CleanupApp } from './apps/cleanup.app.mjs';
|
|
12
|
+
import { ExpireApp } from './apps/expire.app.mjs';
|
|
13
|
+
import { ImportApp } from './apps/import.app.mjs';
|
|
14
|
+
import { ReattemptApp } from './apps/reattempt.app.mjs';
|
|
15
|
+
import { SeedApp } from './apps/seed.app.mjs';
|
|
16
|
+
import { StartupApp } from './apps/startup.app.mjs';
|
|
17
|
+
import { RequeueDomainApp } from './apps/requeue-domain.app.mjs';
|
|
18
|
+
import { UnarchiveUrlsApp } from './apps/unarchive-urls.app.mjs';
|
|
19
|
+
import { MoveToArchiveApp } from './apps/move-to-archive.app.mjs';
|
|
20
|
+
import { PruneArchiveApp } from './apps/prune-archive.app.mjs';
|
|
21
|
+
import { QueryApp } from './apps/query.app.mjs';
|
|
22
|
+
import { CrossPopulateExportApp } from './apps/cross-populate-export.app.mjs';
|
|
23
|
+
import { CrossPopulateImportApp } from './apps/cross-populate-import.app.mjs';
|
|
24
|
+
import { ExtractTextApp } from './apps/extract-text.app.mjs';
|
|
25
|
+
import { ExportDomainUrlsApp } from './apps/export-domain-urls.mjs';
|
|
26
|
+
import { DatabaseService } from './services/database.service.mjs';
|
|
27
|
+
import { isIMatch } from './interfaces/imatch.mjs';
|
|
28
|
+
import { isIExpiry, toIExpiry } from './interfaces/iexpiry.mjs';
|
|
29
|
+
import { filenameFromEList, ELISTS } from './enums/elist.mjs';
|
|
38
30
|
const args = new CommonsArgs();
|
|
39
31
|
if (args.hasAttribute('debug'))
|
|
40
|
-
|
|
41
|
-
if (args.hasAttribute('daemon'))
|
|
42
|
-
commonsOutputSetDaemon(true);
|
|
32
|
+
commonsLogSetLevel(ECommonsLogLevel.DEBUG);
|
|
43
33
|
let app;
|
|
44
34
|
if (args.hasAttribute('denylist')) {
|
|
45
35
|
app = new DenylistApp();
|
|
@@ -52,11 +42,11 @@ else if (args.hasAttribute('cleanup')) {
|
|
|
52
42
|
else if (args.hasAttribute('expire')) {
|
|
53
43
|
let threshold;
|
|
54
44
|
if (args.hasAttribute('days')) {
|
|
55
|
-
threshold = new
|
|
56
|
-
threshold.
|
|
45
|
+
threshold = new CommonsFixedDate();
|
|
46
|
+
threshold.day -= args.getFirstNumber('days');
|
|
57
47
|
}
|
|
58
48
|
if (args.hasAttribute('date')) {
|
|
59
|
-
threshold = args.
|
|
49
|
+
threshold = args.getFirstFixedDate('date');
|
|
60
50
|
}
|
|
61
51
|
app = new ExpireApp(threshold);
|
|
62
52
|
}
|
|
@@ -78,10 +68,8 @@ else if (args.hasAttribute('startup')) {
|
|
|
78
68
|
app = new StartupApp();
|
|
79
69
|
}
|
|
80
70
|
else if (args.hasAttribute('requeue-domain')) {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
const domain = args.getString('domain');
|
|
84
|
-
app = new RequeueDomainApp(domain, args.hasProperty('done-200-only'));
|
|
71
|
+
const domain = args.getFirstValue('domain');
|
|
72
|
+
app = new RequeueDomainApp(domain, args.hasAttribute('done-200-only'));
|
|
85
73
|
}
|
|
86
74
|
else if (args.hasAttribute('unarchive')) {
|
|
87
75
|
app = new UnarchiveUrlsApp();
|
|
@@ -93,23 +81,23 @@ else if (args.hasAttribute('prune-archive')) {
|
|
|
93
81
|
app = new PruneArchiveApp();
|
|
94
82
|
}
|
|
95
83
|
else if (args.hasAttribute('cross-populate-export')) {
|
|
96
|
-
const filename = args.
|
|
84
|
+
const filename = args.getFirstValue('filename');
|
|
97
85
|
app = new CrossPopulateExportApp(filename);
|
|
98
86
|
}
|
|
99
87
|
else if (args.hasAttribute('cross-populate-import')) {
|
|
100
|
-
const filename = args.
|
|
88
|
+
const filename = args.getFirstValue('filename');
|
|
101
89
|
app = new CrossPopulateImportApp(filename);
|
|
102
90
|
}
|
|
103
|
-
else if (args.
|
|
104
|
-
const query = args.
|
|
91
|
+
else if (args.hasAttribute('query')) {
|
|
92
|
+
const query = args.getFirstValue('query-name');
|
|
105
93
|
app = new QueryApp(query);
|
|
106
94
|
}
|
|
107
95
|
else if (args.hasAttribute('extract-text')) {
|
|
108
|
-
const url = args.
|
|
96
|
+
const url = args.getFirstValue('url');
|
|
109
97
|
app = new ExtractTextApp(url);
|
|
110
98
|
}
|
|
111
99
|
else if (args.hasAttribute('export-domain-urls')) {
|
|
112
|
-
const domain = args.
|
|
100
|
+
const domain = args.getFirstValue('domain');
|
|
113
101
|
app = new ExportDomainUrlsApp(domain);
|
|
114
102
|
}
|
|
115
103
|
else {
|
|
@@ -150,13 +138,13 @@ if (isIInternalHydraCommonMaintenanceApp(app)) {
|
|
|
150
138
|
throw new Error('Invalid schedule list');
|
|
151
139
|
app.setMaintenanceSchedule(data);
|
|
152
140
|
}
|
|
153
|
-
void (() =>
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
141
|
+
void (async () => {
|
|
142
|
+
commonsLogInfo(`Starting application: ${app.getAppName()}`);
|
|
143
|
+
await app.start();
|
|
144
|
+
commonsLogInfo('Application completed');
|
|
157
145
|
setTimeout(() => {
|
|
158
146
|
//log() // logs out active handles that are keeping node running
|
|
159
147
|
process.exit(0);
|
|
160
148
|
}, 100);
|
|
161
|
-
})
|
|
162
|
-
//# sourceMappingURL=cli.
|
|
149
|
+
})();
|
|
150
|
+
//# sourceMappingURL=cli.mjs.map
|
package/dist/cli.mjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.mjs","sourceRoot":"","sources":["../src/cli.mts"],"names":[],"mappings":"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"}
|
|
@@ -3,4 +3,4 @@ export var EAvailableStrategy;
|
|
|
3
3
|
EAvailableStrategy["LARGEST"] = "largest";
|
|
4
4
|
EAvailableStrategy["SMALLEST"] = "smallest";
|
|
5
5
|
})(EAvailableStrategy || (EAvailableStrategy = {}));
|
|
6
|
-
//# sourceMappingURL=eavailable-strategy.
|
|
6
|
+
//# sourceMappingURL=eavailable-strategy.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eavailable-strategy.mjs","sourceRoot":"","sources":["../../src/enums/eavailable-strategy.mts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,yCAAmB,CAAA;IACnB,2CAAqB,CAAA;AACvB,CAAC,EAHW,kBAAkB,KAAlB,kBAAkB,QAG7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elist.mjs","sourceRoot":"","sources":["../../src/enums/elist.mts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,KAGX;AAHD,WAAY,KAAK;IACf,sBAAa,CAAA;IACb,wBAAe,CAAA;AACjB,CAAC,EAHW,KAAK,KAAL,KAAK,QAGhB;AAED,MAAM,UAAU,UAAU,CAAC,GAAW;IACrC,QAAQ,GAAG,EAAE,CAAC;QACb,KAAK,MAAM;YACV,OAAO,KAAK,CAAC,IAAI,CAAC;QACnB,KAAK,OAAO;YACX,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAW;IAC5C,QAAQ,IAAI,EAAE,CAAC;QACd,KAAK,KAAK,CAAC,IAAI;YACd,OAAO,gBAAgB,CAAC;QACzB,KAAK,KAAK,CAAC,KAAK;YACf,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAY,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;KAC9C,GAAG,CAAC,CAAC,GAAW,EAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eserver.mjs","sourceRoot":"","sources":["../../src/enums/eserver.mts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,OAOX;AAPD,WAAY,OAAO;IACjB,4BAAiB,CAAA;IACjB,sBAAW,CAAA;IACX,0BAAe,CAAA;IACf,oCAAyB,CAAA;IACzB,gCAAqB,CAAA;IACrB,0BAAe,CAAA;AACjB,CAAC,EAPW,OAAO,KAAP,OAAO,QAOlB"}
|