hydra-crawler 2.8.3 → 3.0.1

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.
Files changed (468) hide show
  1. package/dist/apis/{autocomplete.api.d.ts → autocomplete.api.d.mts} +4 -4
  2. package/dist/apis/autocomplete.api.mjs +14 -0
  3. package/dist/apis/autocomplete.api.mjs.map +1 -0
  4. package/dist/apis/{bugs.api.d.ts → bugs.api.d.mts} +4 -4
  5. package/dist/apis/bugs.api.mjs +18 -0
  6. package/dist/apis/bugs.api.mjs.map +1 -0
  7. package/dist/apis/{crawl.api.d.ts → crawl.api.d.mts} +4 -4
  8. package/dist/apis/crawl.api.mjs +17 -0
  9. package/dist/apis/crawl.api.mjs.map +1 -0
  10. package/dist/apis/{domains.api.d.ts → domains.api.d.mts} +4 -4
  11. package/dist/apis/{domains.api.js → domains.api.mjs} +10 -18
  12. package/dist/apis/domains.api.mjs.map +1 -0
  13. package/dist/apis/{images.api.d.ts → images.api.d.mts} +4 -4
  14. package/dist/apis/images.api.mjs +19 -0
  15. package/dist/apis/images.api.mjs.map +1 -0
  16. package/dist/apis/{statistics.api.d.ts → statistics.api.d.mts} +4 -4
  17. package/dist/apis/statistics.api.mjs +33 -0
  18. package/dist/apis/statistics.api.mjs.map +1 -0
  19. package/dist/apis/{test.api.d.ts → test.api.d.mts} +3 -3
  20. package/dist/apis/test.api.mjs +10 -0
  21. package/dist/apis/test.api.mjs.map +1 -0
  22. package/dist/apis/{urls.api.d.ts → urls.api.d.mts} +4 -4
  23. package/dist/apis/urls.api.mjs +21 -0
  24. package/dist/apis/urls.api.mjs.map +1 -0
  25. package/dist/apps/{cleanup.app.d.ts → cleanup.app.d.mts} +5 -5
  26. package/dist/apps/cleanup.app.mjs +129 -0
  27. package/dist/apps/cleanup.app.mjs.map +1 -0
  28. package/dist/apps/{cross-populate-export.app.d.ts → cross-populate-export.app.d.mts} +3 -3
  29. package/dist/apps/cross-populate-export.app.mjs +61 -0
  30. package/dist/apps/cross-populate-export.app.mjs.map +1 -0
  31. package/dist/apps/{cross-populate-import.app.d.ts → cross-populate-import.app.d.mts} +3 -3
  32. package/dist/apps/cross-populate-import.app.mjs +61 -0
  33. package/dist/apps/cross-populate-import.app.mjs.map +1 -0
  34. package/dist/apps/{denylist.app.d.ts → denylist.app.d.mts} +5 -5
  35. package/dist/apps/denylist.app.mjs +122 -0
  36. package/dist/apps/denylist.app.mjs.map +1 -0
  37. package/dist/apps/{expire.app.d.ts → expire.app.d.mts} +8 -7
  38. package/dist/apps/expire.app.mjs +51 -0
  39. package/dist/apps/expire.app.mjs.map +1 -0
  40. package/dist/apps/{export-domain-urls.d.ts → export-domain-urls.d.mts} +3 -3
  41. package/dist/apps/export-domain-urls.mjs +85 -0
  42. package/dist/apps/export-domain-urls.mjs.map +1 -0
  43. package/dist/apps/{extract-text.app.d.ts → extract-text.app.d.mts} +2 -2
  44. package/dist/apps/extract-text.app.mjs +43 -0
  45. package/dist/apps/extract-text.app.mjs.map +1 -0
  46. package/dist/apps/{hydra.app.d.ts → hydra.app.d.mts} +10 -10
  47. package/dist/apps/hydra.app.mjs +222 -0
  48. package/dist/apps/hydra.app.mjs.map +1 -0
  49. package/dist/apps/{import.app.d.ts → import.app.d.mts} +3 -3
  50. package/dist/apps/import.app.mjs +48 -0
  51. package/dist/apps/import.app.mjs.map +1 -0
  52. package/dist/apps/{internal-hydra-common.app.d.ts → internal-hydra-common.app.d.mts} +6 -6
  53. package/dist/apps/{internal-hydra-common.app.js → internal-hydra-common.app.mjs} +1 -1
  54. package/dist/apps/internal-hydra-common.app.mjs.map +1 -0
  55. package/dist/apps/{move-to-archive.app.d.ts → move-to-archive.app.d.mts} +2 -2
  56. package/dist/apps/move-to-archive.app.mjs +31 -0
  57. package/dist/apps/move-to-archive.app.mjs.map +1 -0
  58. package/dist/apps/{prune-archive.app.d.ts → prune-archive.app.d.mts} +2 -2
  59. package/dist/apps/prune-archive.app.mjs +40 -0
  60. package/dist/apps/prune-archive.app.mjs.map +1 -0
  61. package/dist/apps/{query.app.d.ts → query.app.d.mts} +6 -6
  62. package/dist/apps/query.app.mjs +69 -0
  63. package/dist/apps/query.app.mjs.map +1 -0
  64. package/dist/apps/{reattempt.app.d.ts → reattempt.app.d.mts} +6 -6
  65. package/dist/apps/reattempt.app.mjs +74 -0
  66. package/dist/apps/reattempt.app.mjs.map +1 -0
  67. package/dist/apps/{requeue-domain.app.d.ts → requeue-domain.app.d.mts} +3 -3
  68. package/dist/apps/requeue-domain.app.mjs +52 -0
  69. package/dist/apps/requeue-domain.app.mjs.map +1 -0
  70. package/dist/apps/{seed.app.d.ts → seed.app.d.mts} +5 -5
  71. package/dist/apps/seed.app.mjs +59 -0
  72. package/dist/apps/seed.app.mjs.map +1 -0
  73. package/dist/apps/{startup.app.d.ts → startup.app.d.mts} +3 -3
  74. package/dist/apps/startup.app.mjs +55 -0
  75. package/dist/apps/startup.app.mjs.map +1 -0
  76. package/dist/apps/{unarchive-urls.app.d.ts → unarchive-urls.app.d.mts} +5 -5
  77. package/dist/apps/unarchive-urls.app.mjs +71 -0
  78. package/dist/apps/unarchive-urls.app.mjs.map +1 -0
  79. package/dist/classes/{cleaner.d.ts → cleaner.d.mts} +2 -2
  80. package/dist/classes/cleaner.mjs +257 -0
  81. package/dist/classes/cleaner.mjs.map +1 -0
  82. package/dist/classes/{crawler.d.ts → crawler.d.mts} +10 -12
  83. package/dist/classes/crawler.mjs +418 -0
  84. package/dist/classes/crawler.mjs.map +1 -0
  85. package/dist/classes/{dns.js → dns.mjs} +4 -4
  86. package/dist/classes/dns.mjs.map +1 -0
  87. package/dist/classes/{expirer.d.ts → expirer.d.mts} +2 -2
  88. package/dist/classes/expirer.mjs +117 -0
  89. package/dist/classes/expirer.mjs.map +1 -0
  90. package/dist/classes/{expiry.d.ts → expiry.d.mts} +1 -1
  91. package/dist/classes/{expiry.js → expiry.mjs} +7 -9
  92. package/dist/classes/expiry.mjs.map +1 -0
  93. package/dist/classes/{lists.d.ts → lists.d.mts} +2 -2
  94. package/dist/classes/{lists.js → lists.mjs} +4 -4
  95. package/dist/classes/lists.mjs.map +1 -0
  96. package/dist/classes/{robot.d.ts → robot.d.mts} +3 -3
  97. package/dist/classes/robot.mjs +74 -0
  98. package/dist/classes/robot.mjs.map +1 -0
  99. package/dist/classes/{tracker.d.ts → tracker.d.mts} +3 -3
  100. package/dist/classes/tracker.mjs +101 -0
  101. package/dist/classes/tracker.mjs.map +1 -0
  102. package/dist/{cli.js → cli.mjs} +46 -58
  103. package/dist/cli.mjs.map +1 -0
  104. package/dist/enums/{eavailable-strategy.js → eavailable-strategy.mjs} +1 -1
  105. package/dist/enums/eavailable-strategy.mjs.map +1 -0
  106. package/dist/enums/{elist.js → elist.mjs} +1 -1
  107. package/dist/enums/elist.mjs.map +1 -0
  108. package/dist/enums/{eserver.js → eserver.mjs} +1 -1
  109. package/dist/enums/eserver.mjs.map +1 -0
  110. package/dist/enums/{ex-powered-by.js → ex-powered-by.mjs} +1 -1
  111. package/dist/enums/ex-powered-by.mjs.map +1 -0
  112. package/dist/helpers/{matcher.d.ts → matcher.d.mts} +1 -1
  113. package/dist/helpers/{matcher.js → matcher.mjs} +1 -1
  114. package/dist/helpers/matcher.mjs.map +1 -0
  115. package/dist/helpers/{random.d.ts → random.d.mts} +1 -1
  116. package/dist/helpers/{random.js → random.mjs} +1 -1
  117. package/dist/helpers/random.mjs.map +1 -0
  118. package/dist/helpers/{utf-decoder.d.ts → utf-decoder.d.mts} +0 -1
  119. package/dist/helpers/{utf-decoder.js → utf-decoder.mjs} +3 -3
  120. package/dist/helpers/utf-decoder.mjs.map +1 -0
  121. package/dist/interfaces/{iexpiry.d.ts → iexpiry.d.mts} +1 -1
  122. package/dist/interfaces/{iexpiry.js → iexpiry.mjs} +3 -3
  123. package/dist/interfaces/iexpiry.mjs.map +1 -0
  124. package/dist/interfaces/{imatch.js → imatch.mjs} +2 -2
  125. package/dist/interfaces/imatch.mjs.map +1 -0
  126. package/dist/interfaces/{iparser-config.js → iparser-config.mjs} +2 -2
  127. package/dist/interfaces/iparser-config.mjs.map +1 -0
  128. package/dist/interfaces/{iparser.d.ts → iparser.d.mts} +1 -1
  129. package/dist/interfaces/iparser.mjs +2 -0
  130. package/dist/interfaces/iparser.mjs.map +1 -0
  131. package/dist/interfaces/{irequest-outcome.d.ts → irequest-outcome.d.mts} +0 -2
  132. package/dist/interfaces/irequest-outcome.mjs +2 -0
  133. package/dist/interfaces/irequest-outcome.mjs.map +1 -0
  134. package/dist/interfaces/iserver.mjs +2 -0
  135. package/dist/interfaces/iserver.mjs.map +1 -0
  136. package/dist/parsers/accessibility-metrics.parser.d.mts +11 -0
  137. package/dist/parsers/accessibility-metrics.parser.mjs +30 -0
  138. package/dist/parsers/accessibility-metrics.parser.mjs.map +1 -0
  139. package/dist/parsers/asp-error.parser.d.mts +12 -0
  140. package/dist/parsers/asp-error.parser.mjs +38 -0
  141. package/dist/parsers/asp-error.parser.mjs.map +1 -0
  142. package/dist/parsers/{bad-words.parser.d.ts → bad-words.parser.d.mts} +6 -6
  143. package/dist/parsers/bad-words.parser.mjs +17 -0
  144. package/dist/parsers/bad-words.parser.mjs.map +1 -0
  145. package/dist/parsers/complex-english.parser.d.mts +15 -0
  146. package/dist/parsers/complex-english.parser.mjs +52 -0
  147. package/dist/parsers/complex-english.parser.mjs.map +1 -0
  148. package/dist/parsers/data.parser.d.mts +13 -0
  149. package/dist/parsers/{data.parser.js → data.parser.mjs} +8 -7
  150. package/dist/parsers/data.parser.mjs.map +1 -0
  151. package/dist/parsers/{dictionary.parser.d.ts → dictionary.parser.d.mts} +6 -6
  152. package/dist/parsers/dictionary.parser.mjs +63 -0
  153. package/dist/parsers/dictionary.parser.mjs.map +1 -0
  154. package/dist/parsers/html.parser.d.mts +13 -0
  155. package/dist/parsers/{html.parser.js → html.parser.mjs} +4 -3
  156. package/dist/parsers/html.parser.mjs.map +1 -0
  157. package/dist/parsers/hyperlinks.parser.d.mts +20 -0
  158. package/dist/parsers/hyperlinks.parser.mjs +104 -0
  159. package/dist/parsers/hyperlinks.parser.mjs.map +1 -0
  160. package/dist/parsers/image-tags.parser.d.mts +19 -0
  161. package/dist/parsers/image-tags.parser.mjs +42 -0
  162. package/dist/parsers/image-tags.parser.mjs.map +1 -0
  163. package/dist/parsers/{interest.parser.d.ts → interest.parser.d.mts} +7 -7
  164. package/dist/parsers/interest.parser.mjs +60 -0
  165. package/dist/parsers/interest.parser.mjs.map +1 -0
  166. package/dist/parsers/jpeg.parser.d.mts +11 -0
  167. package/dist/parsers/jpeg.parser.mjs +29 -0
  168. package/dist/parsers/jpeg.parser.mjs.map +1 -0
  169. package/dist/parsers/{llama-guard.parser.d.ts → llama-guard.parser.d.mts} +7 -7
  170. package/dist/parsers/llama-guard.parser.mjs +56 -0
  171. package/dist/parsers/llama-guard.parser.mjs.map +1 -0
  172. package/dist/parsers/{offence.parser.d.ts → offence.parser.d.mts} +7 -7
  173. package/dist/parsers/offence.parser.mjs +60 -0
  174. package/dist/parsers/offence.parser.mjs.map +1 -0
  175. package/dist/parsers/{ollama.parser.d.ts → ollama.parser.d.mts} +6 -6
  176. package/dist/parsers/ollama.parser.mjs +43 -0
  177. package/dist/parsers/ollama.parser.mjs.map +1 -0
  178. package/dist/parsers/{paragraphs.parser.d.ts → paragraphs.parser.d.mts} +5 -5
  179. package/dist/parsers/paragraphs.parser.mjs +38 -0
  180. package/dist/parsers/paragraphs.parser.mjs.map +1 -0
  181. package/dist/parsers/{parser.d.ts → parser.d.mts} +6 -6
  182. package/dist/parsers/parser.mjs +45 -0
  183. package/dist/parsers/parser.mjs.map +1 -0
  184. package/dist/parsers/php-error.parser.d.mts +12 -0
  185. package/dist/parsers/php-error.parser.mjs +42 -0
  186. package/dist/parsers/php-error.parser.mjs.map +1 -0
  187. package/dist/parsers/{phrase.parser.d.ts → phrase.parser.d.mts} +3 -3
  188. package/dist/parsers/phrase.parser.mjs +15 -0
  189. package/dist/parsers/phrase.parser.mjs.map +1 -0
  190. package/dist/parsers/{regex.parser.d.ts → regex.parser.d.mts} +3 -3
  191. package/dist/parsers/regex.parser.mjs +29 -0
  192. package/dist/parsers/regex.parser.mjs.map +1 -0
  193. package/dist/parsers/server.parser.d.mts +11 -0
  194. package/dist/parsers/server.parser.mjs +57 -0
  195. package/dist/parsers/server.parser.mjs.map +1 -0
  196. package/dist/parsers/{spelling.parser.d.ts → spelling.parser.d.mts} +6 -6
  197. package/dist/parsers/spelling.parser.mjs +17 -0
  198. package/dist/parsers/spelling.parser.mjs.map +1 -0
  199. package/dist/parsers/string.parser.d.mts +8 -0
  200. package/dist/parsers/{string.parser.js → string.parser.mjs} +5 -4
  201. package/dist/parsers/string.parser.mjs.map +1 -0
  202. package/dist/parsers/{text.parser.d.ts → text.parser.d.mts} +3 -3
  203. package/dist/parsers/text.parser.mjs +30 -0
  204. package/dist/parsers/text.parser.mjs.map +1 -0
  205. package/dist/parsers/{words.parser.d.ts → words.parser.d.mts} +3 -3
  206. package/dist/parsers/words.parser.mjs +29 -0
  207. package/dist/parsers/words.parser.mjs.map +1 -0
  208. package/dist/queries/complex-english.query.d.mts +2 -0
  209. package/dist/queries/{complex-english.query.js → complex-english.query.mjs} +18 -27
  210. package/dist/queries/complex-english.query.mjs.map +1 -0
  211. package/dist/queries/flash-content.query.d.mts +2 -0
  212. package/dist/queries/flash-content.query.mjs +80 -0
  213. package/dist/queries/flash-content.query.mjs.map +1 -0
  214. package/dist/queries/linking-to-domains.query.d.mts +2 -0
  215. package/dist/queries/linking-to-domains.query.mjs +128 -0
  216. package/dist/queries/linking-to-domains.query.mjs.map +1 -0
  217. package/dist/queries/llamaguard-unsafe-content.query.d.mts +2 -0
  218. package/dist/queries/llamaguard-unsafe-content.query.mjs +90 -0
  219. package/dist/queries/llamaguard-unsafe-content.query.mjs.map +1 -0
  220. package/dist/queries/readability-score.query.d.mts +2 -0
  221. package/dist/queries/{readability-score.query.js → readability-score.query.mjs} +11 -20
  222. package/dist/queries/readability-score.query.mjs.map +1 -0
  223. package/dist/servers/{crawl.server.d.ts → crawl.server.d.mts} +10 -10
  224. package/dist/servers/crawl.server.mjs +192 -0
  225. package/dist/servers/crawl.server.mjs.map +1 -0
  226. package/dist/servers/{express.server.d.ts → express.server.d.mts} +2 -3
  227. package/dist/servers/express.server.mjs +13 -0
  228. package/dist/servers/express.server.mjs.map +1 -0
  229. package/dist/servers/{maintenance.server.d.ts → maintenance.server.d.mts} +5 -5
  230. package/dist/servers/maintenance.server.mjs +97 -0
  231. package/dist/servers/maintenance.server.mjs.map +1 -0
  232. package/dist/servers/{rest.server.d.ts → rest.server.d.mts} +4 -4
  233. package/dist/servers/rest.server.mjs +62 -0
  234. package/dist/servers/rest.server.mjs.map +1 -0
  235. package/dist/servers/{socket-io.server.d.ts → socket-io.server.d.mts} +4 -4
  236. package/dist/servers/socket-io.server.mjs +22 -0
  237. package/dist/servers/socket-io.server.mjs.map +1 -0
  238. package/dist/services/{database.service.d.ts → database.service.d.mts} +12 -12
  239. package/dist/services/database.service.mjs +645 -0
  240. package/dist/services/database.service.mjs.map +1 -0
  241. package/dist/services/{ollama-rest.service.d.ts → ollama-rest.service.d.mts} +2 -2
  242. package/dist/services/ollama-rest.service.mjs +27 -0
  243. package/dist/services/ollama-rest.service.mjs.map +1 -0
  244. package/dist/services/{rig-llama-guard.service.d.ts → rig-llama-guard.service.d.mts} +2 -2
  245. package/dist/services/{rig-llama-guard.service.js → rig-llama-guard.service.mjs} +33 -43
  246. package/dist/services/rig-llama-guard.service.mjs.map +1 -0
  247. package/dist/services/{rig-queue-length.service.d.ts → rig-queue-length.service.d.mts} +1 -1
  248. package/dist/services/rig-queue-length.service.mjs +12 -0
  249. package/dist/services/rig-queue-length.service.mjs.map +1 -0
  250. package/dist/services/{rig-subjectivity-scale.service.d.ts → rig-subjectivity-scale.service.d.mts} +2 -2
  251. package/dist/services/rig-subjectivity-scale.service.mjs +82 -0
  252. package/dist/services/rig-subjectivity-scale.service.mjs.map +1 -0
  253. package/dist/services/{rig-ticket-rest.service.d.ts → rig-ticket-rest.service.d.mts} +3 -3
  254. package/dist/services/rig-ticket-rest.service.mjs +15 -0
  255. package/dist/services/rig-ticket-rest.service.mjs.map +1 -0
  256. package/dist/services/{rig-ticketed-promise.service.d.ts → rig-ticketed-promise.service.d.mts} +4 -6
  257. package/dist/services/{rig-ticketed-promise.service.js → rig-ticketed-promise.service.mjs} +7 -6
  258. package/dist/services/rig-ticketed-promise.service.mjs.map +1 -0
  259. package/dist/types/{tcrawl-config.js → tcrawl-config.mjs} +2 -2
  260. package/dist/types/tcrawl-config.mjs.map +1 -0
  261. package/dist/types/{thydra-config.js → thydra-config.mjs} +2 -2
  262. package/dist/types/thydra-config.mjs.map +1 -0
  263. package/dist/types/tparser-ctor.d.mts +7 -0
  264. package/dist/types/tparser-ctor.mjs +2 -0
  265. package/dist/types/tparser-ctor.mjs.map +1 -0
  266. package/dist/types/tquery.d.mts +7 -0
  267. package/dist/types/tquery.mjs +2 -0
  268. package/dist/types/tquery.mjs.map +1 -0
  269. package/dist/types/tqueue-length.mjs +2 -0
  270. package/dist/types/tqueue-length.mjs.map +1 -0
  271. package/dist/types/{trobots-config.js → trobots-config.mjs} +2 -2
  272. package/dist/types/trobots-config.mjs.map +1 -0
  273. package/package.json +37 -43
  274. package/dist/apis/autocomplete.api.js +0 -22
  275. package/dist/apis/autocomplete.api.js.map +0 -1
  276. package/dist/apis/bugs.api.js +0 -26
  277. package/dist/apis/bugs.api.js.map +0 -1
  278. package/dist/apis/crawl.api.js +0 -25
  279. package/dist/apis/crawl.api.js.map +0 -1
  280. package/dist/apis/domains.api.js.map +0 -1
  281. package/dist/apis/images.api.js +0 -27
  282. package/dist/apis/images.api.js.map +0 -1
  283. package/dist/apis/statistics.api.js +0 -41
  284. package/dist/apis/statistics.api.js.map +0 -1
  285. package/dist/apis/test.api.js +0 -19
  286. package/dist/apis/test.api.js.map +0 -1
  287. package/dist/apis/urls.api.js +0 -29
  288. package/dist/apis/urls.api.js.map +0 -1
  289. package/dist/apps/cleanup.app.js +0 -141
  290. package/dist/apps/cleanup.app.js.map +0 -1
  291. package/dist/apps/cross-populate-export.app.js +0 -75
  292. package/dist/apps/cross-populate-export.app.js.map +0 -1
  293. package/dist/apps/cross-populate-import.app.js +0 -100
  294. package/dist/apps/cross-populate-import.app.js.map +0 -1
  295. package/dist/apps/denylist.app.js +0 -132
  296. package/dist/apps/denylist.app.js.map +0 -1
  297. package/dist/apps/expire.app.js +0 -63
  298. package/dist/apps/expire.app.js.map +0 -1
  299. package/dist/apps/export-domain-urls.js +0 -99
  300. package/dist/apps/export-domain-urls.js.map +0 -1
  301. package/dist/apps/extract-text.app.js +0 -55
  302. package/dist/apps/extract-text.app.js.map +0 -1
  303. package/dist/apps/hydra.app.js +0 -218
  304. package/dist/apps/hydra.app.js.map +0 -1
  305. package/dist/apps/import.app.js +0 -57
  306. package/dist/apps/import.app.js.map +0 -1
  307. package/dist/apps/internal-hydra-common.app.js.map +0 -1
  308. package/dist/apps/move-to-archive.app.js +0 -46
  309. package/dist/apps/move-to-archive.app.js.map +0 -1
  310. package/dist/apps/prune-archive.app.js +0 -55
  311. package/dist/apps/prune-archive.app.js.map +0 -1
  312. package/dist/apps/query.app.js +0 -80
  313. package/dist/apps/query.app.js.map +0 -1
  314. package/dist/apps/reattempt.app.js +0 -83
  315. package/dist/apps/reattempt.app.js.map +0 -1
  316. package/dist/apps/requeue-domain.app.js +0 -64
  317. package/dist/apps/requeue-domain.app.js.map +0 -1
  318. package/dist/apps/seed.app.js +0 -69
  319. package/dist/apps/seed.app.js.map +0 -1
  320. package/dist/apps/startup.app.js +0 -64
  321. package/dist/apps/startup.app.js.map +0 -1
  322. package/dist/apps/unarchive-urls.app.js +0 -83
  323. package/dist/apps/unarchive-urls.app.js.map +0 -1
  324. package/dist/classes/cleaner.js +0 -266
  325. package/dist/classes/cleaner.js.map +0 -1
  326. package/dist/classes/crawler.js +0 -422
  327. package/dist/classes/crawler.js.map +0 -1
  328. package/dist/classes/dns.js.map +0 -1
  329. package/dist/classes/expirer.js +0 -121
  330. package/dist/classes/expirer.js.map +0 -1
  331. package/dist/classes/expiry.js.map +0 -1
  332. package/dist/classes/lists.js.map +0 -1
  333. package/dist/classes/robot.js +0 -82
  334. package/dist/classes/robot.js.map +0 -1
  335. package/dist/classes/tracker.js +0 -120
  336. package/dist/classes/tracker.js.map +0 -1
  337. package/dist/cli.js.map +0 -1
  338. package/dist/enums/eavailable-strategy.js.map +0 -1
  339. package/dist/enums/elist.js.map +0 -1
  340. package/dist/enums/eserver.js.map +0 -1
  341. package/dist/enums/ex-powered-by.js.map +0 -1
  342. package/dist/helpers/matcher.js.map +0 -1
  343. package/dist/helpers/random.js.map +0 -1
  344. package/dist/helpers/utf-decoder.js.map +0 -1
  345. package/dist/interfaces/iexpiry.js.map +0 -1
  346. package/dist/interfaces/imatch.js.map +0 -1
  347. package/dist/interfaces/iparser-config.js.map +0 -1
  348. package/dist/interfaces/iparser.js +0 -2
  349. package/dist/interfaces/iparser.js.map +0 -1
  350. package/dist/interfaces/irequest-outcome.js +0 -2
  351. package/dist/interfaces/irequest-outcome.js.map +0 -1
  352. package/dist/interfaces/iserver.js +0 -2
  353. package/dist/interfaces/iserver.js.map +0 -1
  354. package/dist/parsers/accessibility-metrics.parser.d.ts +0 -11
  355. package/dist/parsers/accessibility-metrics.parser.js +0 -40
  356. package/dist/parsers/accessibility-metrics.parser.js.map +0 -1
  357. package/dist/parsers/asp-error.parser.d.ts +0 -12
  358. package/dist/parsers/asp-error.parser.js +0 -48
  359. package/dist/parsers/asp-error.parser.js.map +0 -1
  360. package/dist/parsers/bad-words.parser.js +0 -27
  361. package/dist/parsers/bad-words.parser.js.map +0 -1
  362. package/dist/parsers/complex-english.parser.d.ts +0 -15
  363. package/dist/parsers/complex-english.parser.js +0 -61
  364. package/dist/parsers/complex-english.parser.js.map +0 -1
  365. package/dist/parsers/data.parser.d.ts +0 -14
  366. package/dist/parsers/data.parser.js.map +0 -1
  367. package/dist/parsers/dictionary.parser.js +0 -73
  368. package/dist/parsers/dictionary.parser.js.map +0 -1
  369. package/dist/parsers/html.parser.d.ts +0 -13
  370. package/dist/parsers/html.parser.js.map +0 -1
  371. package/dist/parsers/hyperlinks.parser.d.ts +0 -20
  372. package/dist/parsers/hyperlinks.parser.js +0 -115
  373. package/dist/parsers/hyperlinks.parser.js.map +0 -1
  374. package/dist/parsers/image-tags.parser.d.ts +0 -19
  375. package/dist/parsers/image-tags.parser.js +0 -52
  376. package/dist/parsers/image-tags.parser.js.map +0 -1
  377. package/dist/parsers/interest.parser.js +0 -69
  378. package/dist/parsers/interest.parser.js.map +0 -1
  379. package/dist/parsers/jpeg.parser.d.ts +0 -11
  380. package/dist/parsers/jpeg.parser.js +0 -39
  381. package/dist/parsers/jpeg.parser.js.map +0 -1
  382. package/dist/parsers/llama-guard.parser.js +0 -65
  383. package/dist/parsers/llama-guard.parser.js.map +0 -1
  384. package/dist/parsers/offence.parser.js +0 -69
  385. package/dist/parsers/offence.parser.js.map +0 -1
  386. package/dist/parsers/ollama.parser.js +0 -51
  387. package/dist/parsers/ollama.parser.js.map +0 -1
  388. package/dist/parsers/paragraphs.parser.js +0 -49
  389. package/dist/parsers/paragraphs.parser.js.map +0 -1
  390. package/dist/parsers/parser.js +0 -57
  391. package/dist/parsers/parser.js.map +0 -1
  392. package/dist/parsers/php-error.parser.d.ts +0 -12
  393. package/dist/parsers/php-error.parser.js +0 -52
  394. package/dist/parsers/php-error.parser.js.map +0 -1
  395. package/dist/parsers/phrase.parser.js +0 -26
  396. package/dist/parsers/phrase.parser.js.map +0 -1
  397. package/dist/parsers/regex.parser.js +0 -43
  398. package/dist/parsers/regex.parser.js.map +0 -1
  399. package/dist/parsers/server.parser.d.ts +0 -11
  400. package/dist/parsers/server.parser.js +0 -67
  401. package/dist/parsers/server.parser.js.map +0 -1
  402. package/dist/parsers/spelling.parser.js +0 -27
  403. package/dist/parsers/spelling.parser.js.map +0 -1
  404. package/dist/parsers/string.parser.d.ts +0 -8
  405. package/dist/parsers/string.parser.js.map +0 -1
  406. package/dist/parsers/text.parser.js +0 -41
  407. package/dist/parsers/text.parser.js.map +0 -1
  408. package/dist/parsers/words.parser.js +0 -40
  409. package/dist/parsers/words.parser.js.map +0 -1
  410. package/dist/queries/complex-english.query.d.ts +0 -2
  411. package/dist/queries/complex-english.query.js.map +0 -1
  412. package/dist/queries/flash-content.query.d.ts +0 -2
  413. package/dist/queries/flash-content.query.js +0 -82
  414. package/dist/queries/flash-content.query.js.map +0 -1
  415. package/dist/queries/linking-to-domains.query.d.ts +0 -2
  416. package/dist/queries/linking-to-domains.query.js +0 -130
  417. package/dist/queries/linking-to-domains.query.js.map +0 -1
  418. package/dist/queries/llamaguard-unsafe-content.query.d.ts +0 -2
  419. package/dist/queries/llamaguard-unsafe-content.query.js +0 -92
  420. package/dist/queries/llamaguard-unsafe-content.query.js.map +0 -1
  421. package/dist/queries/readability-score.query.d.ts +0 -2
  422. package/dist/queries/readability-score.query.js.map +0 -1
  423. package/dist/servers/crawl.server.js +0 -198
  424. package/dist/servers/crawl.server.js.map +0 -1
  425. package/dist/servers/express.server.js +0 -13
  426. package/dist/servers/express.server.js.map +0 -1
  427. package/dist/servers/maintenance.server.js +0 -103
  428. package/dist/servers/maintenance.server.js.map +0 -1
  429. package/dist/servers/rest.server.js +0 -46
  430. package/dist/servers/rest.server.js.map +0 -1
  431. package/dist/servers/socket-io.server.js +0 -61
  432. package/dist/servers/socket-io.server.js.map +0 -1
  433. package/dist/services/database.service.js +0 -795
  434. package/dist/services/database.service.js.map +0 -1
  435. package/dist/services/ollama-rest.service.js +0 -46
  436. package/dist/services/ollama-rest.service.js.map +0 -1
  437. package/dist/services/rig-llama-guard.service.js.map +0 -1
  438. package/dist/services/rig-queue-length.service.js +0 -22
  439. package/dist/services/rig-queue-length.service.js.map +0 -1
  440. package/dist/services/rig-subjectivity-scale.service.js +0 -96
  441. package/dist/services/rig-subjectivity-scale.service.js.map +0 -1
  442. package/dist/services/rig-ticket-rest.service.js +0 -29
  443. package/dist/services/rig-ticket-rest.service.js.map +0 -1
  444. package/dist/services/rig-ticketed-promise.service.js.map +0 -1
  445. package/dist/types/tcrawl-config.js.map +0 -1
  446. package/dist/types/thydra-config.js.map +0 -1
  447. package/dist/types/tparser-ctor.d.ts +0 -7
  448. package/dist/types/tparser-ctor.js +0 -2
  449. package/dist/types/tparser-ctor.js.map +0 -1
  450. package/dist/types/tquery.d.ts +0 -7
  451. package/dist/types/tquery.js +0 -2
  452. package/dist/types/tquery.js.map +0 -1
  453. package/dist/types/tqueue-length.js +0 -2
  454. package/dist/types/tqueue-length.js.map +0 -1
  455. package/dist/types/trobots-config.js.map +0 -1
  456. /package/dist/classes/{dns.d.ts → dns.d.mts} +0 -0
  457. /package/dist/{cli.d.ts → cli.d.mts} +0 -0
  458. /package/dist/enums/{eavailable-strategy.d.ts → eavailable-strategy.d.mts} +0 -0
  459. /package/dist/enums/{elist.d.ts → elist.d.mts} +0 -0
  460. /package/dist/enums/{eserver.d.ts → eserver.d.mts} +0 -0
  461. /package/dist/enums/{ex-powered-by.d.ts → ex-powered-by.d.mts} +0 -0
  462. /package/dist/interfaces/{imatch.d.ts → imatch.d.mts} +0 -0
  463. /package/dist/interfaces/{iparser-config.d.ts → iparser-config.d.mts} +0 -0
  464. /package/dist/interfaces/{iserver.d.ts → iserver.d.mts} +0 -0
  465. /package/dist/types/{tcrawl-config.d.ts → tcrawl-config.d.mts} +0 -0
  466. /package/dist/types/{thydra-config.d.ts → thydra-config.d.mts} +0 -0
  467. /package/dist/types/{tqueue-length.d.ts → tqueue-length.d.mts} +0 -0
  468. /package/dist/types/{trobots-config.d.ts → trobots-config.d.mts} +0 -0
@@ -1,5 +1,5 @@
1
- import { CommonsKeyRestClientService } from 'tscommons-es-rest';
2
- import { CommonsInternalHttpClientImplementation } from 'nodecommons-es-http';
1
+ import { CommonsKeyRestClientService } from 'tscommons-esm-rest';
2
+ import { CommonsInternalHttpClientImplementation } from 'nodecommons-esm-http';
3
3
  export declare class OllamaRestService extends CommonsKeyRestClientService {
4
4
  constructor(implementation: CommonsInternalHttpClientImplementation, url: string, key: string);
5
5
  listModels(): Promise<string[]>;
@@ -0,0 +1,27 @@
1
+ import { commonsTypeIsString, commonsTypeIsStringArray } from 'tscommons-esm-core';
2
+ import { ECommonsHttpContentType } from 'tscommons-esm-http';
3
+ import { CommonsKeyRestClientService } from 'tscommons-esm-rest';
4
+ export class OllamaRestService extends CommonsKeyRestClientService {
5
+ constructor(implementation, url, key) {
6
+ super(implementation, url, key, ECommonsHttpContentType.JSON);
7
+ }
8
+ async listModels() {
9
+ const result = await super.getRest('/models');
10
+ if (!commonsTypeIsStringArray(result))
11
+ throw new Error('Result was not a string array');
12
+ return result;
13
+ }
14
+ async generate(model, prompt) {
15
+ const body = {
16
+ prompt: prompt
17
+ };
18
+ const result = await super.postRest(`/generate/${model}`, body, undefined, undefined, {
19
+ maxReattempts: 0,
20
+ timeout: 30000
21
+ });
22
+ if (!commonsTypeIsString(result))
23
+ throw new Error('Result was not a string');
24
+ return result;
25
+ }
26
+ }
27
+ //# sourceMappingURL=ollama-rest.service.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ollama-rest.service.mjs","sourceRoot":"","sources":["../../src/services/ollama-rest.service.mts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AACnG,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAIjE,MAAM,OAAO,iBAAkB,SAAQ,2BAA2B;IACjE,YACE,cAAuD,EACvD,GAAW,EACX,GAAW;QAEZ,KAAK,CACH,cAAc,EACd,GAAG,EACH,GAAG,EACH,uBAAuB,CAAC,IAAI,CAC7B,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,UAAU;QACtB,MAAM,MAAM,GAAY,MAAM,KAAK,CAAC,OAAO,CAAW,SAAS,CAAC,CAAC;QACjE,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAExF,OAAO,MAAM,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,QAAQ,CACnB,KAAa,EACb,MAAc;QAEf,MAAM,IAAI,GAAmB;YAC3B,MAAM,EAAE,MAAM;SACf,CAAC;QAEF,MAAM,MAAM,GAAY,MAAM,KAAK,CAAC,QAAQ,CAC1C,aAAa,KAAK,EAAE,EACpB,IAAI,EACJ,SAAS,EACT,SAAS,EACT;YACE,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE,KAAK;SACf,CACF,CAAC;QACF,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAE7E,OAAO,MAAM,CAAC;IACf,CAAC;CACD"}
@@ -1,5 +1,5 @@
1
- import { CommonsFixedDuration } from 'tscommons-es-core';
2
- import { RigTicketedPromiseService } from './rig-ticketed-promise.service';
1
+ import { CommonsFixedDuration } from 'tscommons-esm-core';
2
+ import { RigTicketedPromiseService } from './rig-ticketed-promise.service.mjs';
3
3
  export declare enum ELlamaGuardClassification {
4
4
  SAFE = "safe",
5
5
  UNSAFE = "unsafe"
@@ -1,16 +1,7 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { commonsArrayRemoveUndefineds, commonsArrayUnique, commonsStringSplitString, commonsTypeHasPropertyEnum, commonsTypeHasPropertyEnumArray, commonsTypeIsString } from 'tscommons-es-core';
11
- import { CommonsInternalHttpClientImplementation } from 'nodecommons-es-http';
12
- import { OllamaRestService } from './ollama-rest.service';
13
- import { RigTicketedPromiseService } from './rig-ticketed-promise.service';
1
+ import { commonsArrayRemoveUndefineds, commonsArrayUnique, commonsStringSplitString, commonsTypeHasPropertyEnum, commonsTypeHasPropertyEnumArray, commonsTypeIsString } from 'tscommons-esm-core';
2
+ import { CommonsInternalHttpClientImplementation } from 'nodecommons-esm-http';
3
+ import { OllamaRestService } from './ollama-rest.service.mjs';
4
+ import { RigTicketedPromiseService } from './rig-ticketed-promise.service.mjs';
14
5
  export var ELlamaGuardClassification;
15
6
  (function (ELlamaGuardClassification) {
16
7
  ELlamaGuardClassification["SAFE"] = "safe";
@@ -220,13 +211,13 @@ function parseToTLlamaGuardResult(s) {
220
211
  };
221
212
  }
222
213
  export class RigLlamaGuardService extends RigTicketedPromiseService {
214
+ model;
223
215
  constructor(url, key, model) {
224
216
  super(new OllamaRestService(new CommonsInternalHttpClientImplementation(), `${url}/ollama`, key), url, 100);
225
217
  this.model = model;
226
218
  }
227
- generate(text, keepAlive) {
228
- return __awaiter(this, void 0, void 0, function* () {
229
- const prompt = `
219
+ async generate(text, keepAlive) {
220
+ const prompt = `
230
221
  <|begin_of_text|><|start_header_id|>user<|end_header_id|>
231
222
 
232
223
  Task: Check if there is unsafe content in 'Agent' messages in conversations according to our safety policy with the below categories.
@@ -258,33 +249,32 @@ Provide your safety assessment for ONLY THE LAST Agent in the above conversation
258
249
  - First line must read 'safe' or 'unsafe'.
259
250
  - If unsafe, a second line must include a comma-separated list of violated categories.<|eot_id|><|start_header_id|>assistant<|end_header_id|>
260
251
  `
261
- .trim()
262
- .replace('<<<TEXT>>>', text);
263
- const body = { prompt: prompt };
264
- if (keepAlive) {
265
- const mins = keepAlive.minutes;
266
- if (mins < 1)
267
- throw new Error('keepAlive cannot be less than 1 minute');
268
- body.keepLoaded = `${Math.round(mins)}m`;
269
- }
270
- try {
271
- const response = yield this.submitAndWaitAsPromise(`/generate/${this.model}`, body, (data) => commonsTypeIsString(data), undefined, undefined, {
272
- timeout: 30000,
273
- maxReattempts: 0
274
- });
275
- if (!commonsTypeIsString(response))
276
- return undefined;
277
- const parsed = parseToTLlamaGuardResult(response);
278
- if (!parsed)
279
- return undefined;
280
- if (!isTLlamaGuardResult(parsed))
281
- return undefined;
282
- return parsed;
283
- }
284
- catch (e) {
252
+ .trim()
253
+ .replace('<<<TEXT>>>', text);
254
+ const body = { prompt: prompt };
255
+ if (keepAlive) {
256
+ const mins = keepAlive.minutes;
257
+ if (mins < 1)
258
+ throw new Error('keepAlive cannot be less than 1 minute');
259
+ body.keepLoaded = `${Math.round(mins)}m`;
260
+ }
261
+ try {
262
+ const response = await this.submitAndWaitAsPromise(`/generate/${this.model}`, body, (data) => commonsTypeIsString(data), undefined, undefined, {
263
+ timeout: 30000,
264
+ maxReattempts: 0
265
+ });
266
+ if (!commonsTypeIsString(response))
285
267
  return undefined;
286
- }
287
- });
268
+ const parsed = parseToTLlamaGuardResult(response);
269
+ if (!parsed)
270
+ return undefined;
271
+ if (!isTLlamaGuardResult(parsed))
272
+ return undefined;
273
+ return parsed;
274
+ }
275
+ catch (_e) {
276
+ return undefined;
277
+ }
288
278
  }
289
279
  }
290
- //# sourceMappingURL=rig-llama-guard.service.js.map
280
+ //# sourceMappingURL=rig-llama-guard.service.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rig-llama-guard.service.mjs","sourceRoot":"","sources":["../../src/services/rig-llama-guard.service.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,kBAAkB,EAAwB,wBAAwB,EAAE,0BAA0B,EAAE,+BAA+B,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAExN,OAAO,EAAE,uCAAuC,EAAE,MAAM,sBAAsB,CAAC;AAE/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAwB,MAAM,oCAAoC,CAAC;AAErG,MAAM,CAAN,IAAY,yBAGX;AAHD,WAAY,yBAAyB;IACnC,0CAAa,CAAA;IACb,8CAAiB,CAAA;AACnB,CAAC,EAHW,yBAAyB,KAAzB,yBAAyB,QAGpC;AAED,MAAM,UAAU,2BAA2B,CAAC,IAAY;IACvD,QAAQ,IAAI,EAAE,CAAC;QACd,KAAK,yBAAyB,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC7C,OAAO,yBAAyB,CAAC,IAAI,CAAC;QACvC,KAAK,yBAAyB,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC/C,OAAO,yBAAyB,CAAC,MAAM,CAAC;IAC1C,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,IAA+B;IAC5E,QAAQ,IAAI,EAAE,CAAC;QACd,KAAK,yBAAyB,CAAC,IAAI;YAClC,OAAO,yBAAyB,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClD,KAAK,yBAAyB,CAAC,MAAM;YACpC,OAAO,yBAAyB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IACrD,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,IAAa;IACxD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAE7C,OAAO,2BAA2B,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,GAAW;IACzD,QAAQ,GAAG,EAAE,CAAC;QACb,KAAK,MAAM;YACV,OAAO,yBAAyB,CAAC,IAAI,CAAC;QACvC,KAAK,QAAQ;YACZ,OAAO,yBAAyB,CAAC,MAAM,CAAC;IAC1C,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,uDAAuD,GAAG,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAgC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC;KAC5G,GAAG,CAAC,CAAC,CAAS,EAA6B,EAAE,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,CAAC;AAEpF,MAAM,CAAN,IAAY,mBAeX;AAfD,WAAY,mBAAmB;IAC7B,gCAAS,CAAA;IACT,gCAAS,CAAA;IACT,gCAAS,CAAA;IACT,gCAAS,CAAA;IACT,gCAAS,CAAA;IACT,gCAAS,CAAA;IACT,gCAAS,CAAA;IACT,gCAAS,CAAA;IACT,gCAAS,CAAA;IACT,kCAAW,CAAA;IACX,kCAAW,CAAA;IACX,kCAAW,CAAA;IACX,kCAAW,CAAA;IACX,kCAAW,CAAA;AACb,CAAC,EAfW,mBAAmB,KAAnB,mBAAmB,QAe9B;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAY;IACjD,QAAQ,IAAI,EAAE,CAAC;QACd,KAAK,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE;YACrC,OAAO,mBAAmB,CAAC,EAAE,CAAC;QAC/B,KAAK,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE;YACrC,OAAO,mBAAmB,CAAC,EAAE,CAAC;QAC/B,KAAK,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE;YACrC,OAAO,mBAAmB,CAAC,EAAE,CAAC;QAC/B,KAAK,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE;YACrC,OAAO,mBAAmB,CAAC,EAAE,CAAC;QAC/B,KAAK,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE;YACrC,OAAO,mBAAmB,CAAC,EAAE,CAAC;QAC/B,KAAK,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE;YACrC,OAAO,mBAAmB,CAAC,EAAE,CAAC;QAC/B,KAAK,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE;YACrC,OAAO,mBAAmB,CAAC,EAAE,CAAC;QAC/B,KAAK,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE;YACrC,OAAO,mBAAmB,CAAC,EAAE,CAAC;QAC/B,KAAK,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE;YACrC,OAAO,mBAAmB,CAAC,EAAE,CAAC;QAC/B,KAAK,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE;YACtC,OAAO,mBAAmB,CAAC,GAAG,CAAC;QAChC,KAAK,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE;YACtC,OAAO,mBAAmB,CAAC,GAAG,CAAC;QAChC,KAAK,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE;YACtC,OAAO,mBAAmB,CAAC,GAAG,CAAC;QAChC,KAAK,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE;YACtC,OAAO,mBAAmB,CAAC,GAAG,CAAC;QAChC,KAAK,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE;YACtC,OAAO,mBAAmB,CAAC,GAAG,CAAC;IACjC,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAyB;IAChE,QAAQ,IAAI,EAAE,CAAC;QACd,KAAK,mBAAmB,CAAC,EAAE;YAC1B,OAAO,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC1C,KAAK,mBAAmB,CAAC,EAAE;YAC1B,OAAO,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC1C,KAAK,mBAAmB,CAAC,EAAE;YAC1B,OAAO,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC1C,KAAK,mBAAmB,CAAC,EAAE;YAC1B,OAAO,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC1C,KAAK,mBAAmB,CAAC,EAAE;YAC1B,OAAO,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC1C,KAAK,mBAAmB,CAAC,EAAE;YAC1B,OAAO,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC1C,KAAK,mBAAmB,CAAC,EAAE;YAC1B,OAAO,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC1C,KAAK,mBAAmB,CAAC,EAAE;YAC1B,OAAO,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC1C,KAAK,mBAAmB,CAAC,EAAE;YAC1B,OAAO,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC1C,KAAK,mBAAmB,CAAC,GAAG;YAC3B,OAAO,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC3C,KAAK,mBAAmB,CAAC,GAAG;YAC3B,OAAO,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC3C,KAAK,mBAAmB,CAAC,GAAG;YAC3B,OAAO,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC3C,KAAK,mBAAmB,CAAC,GAAG;YAC3B,OAAO,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC3C,KAAK,mBAAmB,CAAC,GAAG;YAC3B,OAAO,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAa;IAClD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAE7C,OAAO,qBAAqB,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,GAAW;IACnD,QAAQ,GAAG,EAAE,CAAC;QACb,KAAK,IAAI;YACR,OAAO,mBAAmB,CAAC,EAAE,CAAC;QAC/B,KAAK,IAAI;YACR,OAAO,mBAAmB,CAAC,EAAE,CAAC;QAC/B,KAAK,IAAI;YACR,OAAO,mBAAmB,CAAC,EAAE,CAAC;QAC/B,KAAK,IAAI;YACR,OAAO,mBAAmB,CAAC,EAAE,CAAC;QAC/B,KAAK,IAAI;YACR,OAAO,mBAAmB,CAAC,EAAE,CAAC;QAC/B,KAAK,IAAI;YACR,OAAO,mBAAmB,CAAC,EAAE,CAAC;QAC/B,KAAK,IAAI;YACR,OAAO,mBAAmB,CAAC,EAAE,CAAC;QAC/B,KAAK,IAAI;YACR,OAAO,mBAAmB,CAAC,EAAE,CAAC;QAC/B,KAAK,IAAI;YACR,OAAO,mBAAmB,CAAC,EAAE,CAAC;QAC/B,KAAK,KAAK;YACT,OAAO,mBAAmB,CAAC,GAAG,CAAC;QAChC,KAAK,KAAK;YACT,OAAO,mBAAmB,CAAC,GAAG,CAAC;QAChC,KAAK,KAAK;YACT,OAAO,mBAAmB,CAAC,GAAG,CAAC;QAChC,KAAK,KAAK;YACT,OAAO,mBAAmB,CAAC,GAAG,CAAC;QAChC,KAAK,KAAK;YACT,OAAO,mBAAmB,CAAC,GAAG,CAAC;IACjC,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,iDAAiD,GAAG,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,QAA6B;IACrE,QAAQ,QAAQ,EAAE,CAAC;QAClB,KAAK,mBAAmB,CAAC,EAAE,CAAC,CAAC,OAAO,gBAAgB,CAAC;QACrD,KAAK,mBAAmB,CAAC,EAAE,CAAC,CAAC,OAAO,oBAAoB,CAAC;QACzD,KAAK,mBAAmB,CAAC,EAAE,CAAC,CAAC,OAAO,YAAY,CAAC;QACjD,KAAK,mBAAmB,CAAC,EAAE,CAAC,CAAC,OAAO,oBAAoB,CAAC;QACzD,KAAK,mBAAmB,CAAC,EAAE,CAAC,CAAC,OAAO,YAAY,CAAC;QACjD,KAAK,mBAAmB,CAAC,EAAE,CAAC,CAAC,OAAO,oBAAoB,CAAC;QACzD,KAAK,mBAAmB,CAAC,EAAE,CAAC,CAAC,OAAO,SAAS,CAAC;QAC9C,KAAK,mBAAmB,CAAC,EAAE,CAAC,CAAC,OAAO,uBAAuB,CAAC;QAC5D,KAAK,mBAAmB,CAAC,EAAE,CAAC,CAAC,OAAO,wBAAwB,CAAC;QAC7D,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAC,OAAO,MAAM,CAAC;QAC5C,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAC,OAAO,WAAW,CAAC;QACjD,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAC,OAAO,gBAAgB,CAAC;QACtD,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAC,OAAO,WAAW,CAAC;QACjD,KAAK,mBAAmB,CAAC,GAAG,CAAC,CAAC,OAAO,wBAAwB,CAAC;IAC/D,CAAC;AACF,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAA0B,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC;KAC1F,GAAG,CAAC,CAAC,CAAS,EAAuB,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;AAaxE,SAAS,mBAAmB,CAAC,IAAa;IACzC,IAAI,CAAC,0BAA0B,CAA4B,IAAI,EAAE,gBAAgB,EAAE,2BAA2B,CAAC;QAAE,OAAO,KAAK,CAAC;IAE9H,IAAI,IAAI,CAAC,cAAc,KAAK,yBAAyB,CAAC,MAAM,EAAE,CAAC;QAC9D,IAAI,CAAC,+BAA+B,CAAsB,IAAI,EAAE,YAAY,EAAE,qBAAqB,CAAC;YAAE,OAAO,KAAK,CAAC;IACpH,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,wBAAwB,CAAC,CAAS;IAC1C,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACb,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;QAClB,OAAO;YACL,cAAc,EAAE,yBAAyB,CAAC,IAAI;SAC/C,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAyB,0EAA0E,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvH,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAEzB,MAAM,UAAU,GAA0B,kBAAkB,CAC1D,4BAA4B,CAC1B,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC;SAChD,GAAG,CAAC,CAAC,EAAU,EAAiC,EAAE,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CACjF,EACD,SAAS,EACT,CAAC,CAAsB,EAAE,CAAsB,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CACrE,CAAC;IAEF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAE1C,OAAO;QACL,cAAc,EAAE,yBAAyB,CAAC,MAAM;QAChD,UAAU,EAAE,UAAU;KACvB,CAAC;AACH,CAAC;AAED,MAAM,OAAO,oBAAqB,SAAQ,yBAAyB;IAIxD;IAHV,YACE,GAAW,EACX,GAAW,EACH,KAAa;QAEtB,KAAK,CACH,IAAI,iBAAiB,CACnB,IAAI,uCAAuC,EAAE,EAC7C,GAAG,GAAG,SAAS,EACf,GAAG,CACJ,EACD,GAAG,EACH,GAAG,CACJ,CAAC;QAVO,UAAK,GAAL,KAAK,CAAQ;IAWvB,CAAC;IAEM,KAAK,CAAC,QAAQ,CACnB,IAAY,EACZ,SAAgC;QAEjC,MAAM,MAAM,GAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BtB;aACE,IAAI,EAAE;aACN,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAE/B,MAAM,IAAI,GAAyB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACtD,IAAI,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,GAAW,SAAS,CAAC,OAAO,CAAC;YACvC,IAAI,IAAI,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAExE,IAAI,CAAC,UAAU,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAW,MAAM,IAAI,CAAC,sBAAsB,CAIxD,aAAa,IAAI,CAAC,KAAK,EAAE,EACzB,IAAI,EACJ,CAAC,IAAa,EAAkB,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAC5D,SAAS,EACT,SAAS,EACT;gBACE,OAAO,EAAE,KAAK;gBACd,aAAa,EAAE,CAAC;aACjB,CACF,CAAC;YACF,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC;gBAAE,OAAO,SAAS,CAAC;YAErD,MAAM,MAAM,GAA4B,wBAAwB,CAAC,QAAQ,CAAC,CAAC;YAC3E,IAAI,CAAC,MAAM;gBAAE,OAAO,SAAS,CAAC;YAC9B,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;gBAAE,OAAO,SAAS,CAAC;YAEnD,OAAO,MAAM,CAAC;QACf,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACb,OAAO,SAAS,CAAC;QAClB,CAAC;IACF,CAAC;CACD"}
@@ -1,4 +1,4 @@
1
- import { TQueueLength } from '../types/tqueue-length';
1
+ import { TQueueLength } from '../types/tqueue-length.mjs';
2
2
  export declare class RigQueueLengthService {
3
3
  private restService;
4
4
  constructor(url: string, key: string);
@@ -0,0 +1,12 @@
1
+ import { CommonsInternalHttpClientImplementation } from 'nodecommons-esm-http';
2
+ import { RigTicketRestService } from './rig-ticket-rest.service.mjs';
3
+ export class RigQueueLengthService {
4
+ restService;
5
+ constructor(url, key) {
6
+ this.restService = new RigTicketRestService(new CommonsInternalHttpClientImplementation(), `${url}/tickets`, key);
7
+ }
8
+ async getLength() {
9
+ return await this.restService.length();
10
+ }
11
+ }
12
+ //# sourceMappingURL=rig-queue-length.service.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rig-queue-length.service.mjs","sourceRoot":"","sources":["../../src/services/rig-queue-length.service.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uCAAuC,EAAE,MAAM,sBAAsB,CAAC;AAI/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE,MAAM,OAAO,qBAAqB;IACzB,WAAW,CAAuB;IAE1C,YACE,GAAW,EACX,GAAW;QAEZ,IAAI,CAAC,WAAW,GAAG,IAAI,oBAAoB,CACzC,IAAI,uCAAuC,EAAE,EAC7C,GAAG,GAAG,UAAU,EAChB,GAAG,CACJ,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,SAAS;QACrB,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;IACxC,CAAC;CACD"}
@@ -1,5 +1,5 @@
1
- import { CommonsFixedDuration } from 'tscommons-es-core';
2
- import { RigTicketedPromiseService } from './rig-ticketed-promise.service';
1
+ import { CommonsFixedDuration } from 'tscommons-esm-core';
2
+ import { RigTicketedPromiseService } from './rig-ticketed-promise.service.mjs';
3
3
  export type TSubjectivityResult = {
4
4
  score: number;
5
5
  reason?: string;
@@ -0,0 +1,82 @@
1
+ import { commonsTypeAttemptObject, commonsTypeHasPropertyNumber, commonsTypeHasPropertyStringOrUndefined, commonsTypeIsString } from 'tscommons-esm-core';
2
+ import { CommonsInternalHttpClientImplementation } from 'nodecommons-esm-http';
3
+ import { OllamaRestService } from './ollama-rest.service.mjs';
4
+ import { RigTicketedPromiseService } from './rig-ticketed-promise.service.mjs';
5
+ function isTSubjectivityResult(test) {
6
+ if (!commonsTypeHasPropertyNumber(test, 'score'))
7
+ return false;
8
+ if (!commonsTypeHasPropertyStringOrUndefined(test, 'reason'))
9
+ return false;
10
+ return true;
11
+ }
12
+ const GENERIC_PROMPT = `
13
+ The following text was extracted from a webpage as plain text:
14
+
15
+ \`\`\`\`\`\`\`\`\`\`\`\`\`\`\`\`\`\`\`
16
+ <<<TEXT>>>
17
+ \`\`\`\`\`\`\`\`\`\`\`\`\`\`\`\`\`\`\`
18
+
19
+ Generate a single numeric digit score <<<REASON>>>, using the following scale:
20
+ <<<SCALE>>>
21
+
22
+ Output the score and a single sentence justifying the reason for that score, using the JSON format:
23
+ { "score": <score>, "reason": "<reason>"}
24
+
25
+ Do not include any other prefix or suffix explanatory text.
26
+ `.trim();
27
+ const OFFENCE_PROMPT = GENERIC_PROMPT
28
+ .replace('<<<REASON>>>', 'for how offensive or controversial the text is')
29
+ .replace('<<<SCALE>>>', `
30
+ 0 = not offensive or controversial at all
31
+ 1 = mildly offensive or controversial to a few people
32
+ 2 = significantly offensive or controversial to most people
33
+ 3 = extremely offensive or highly controversial, potentially racist, sexist, homophobic or promoting hatred.
34
+ `.trim());
35
+ const INTEREST_PROMPT = GENERIC_PROMPT
36
+ .replace('<<<REASON>>>', 'for how interesting or enlightening the text is')
37
+ .replace('SCALE', `
38
+ 0 = purely function information with no further interest, such as opening times or directions
39
+ 1 = information that is partially interesting or intriguing, such as informative descriptions
40
+ 2 = opinion and commentary which is likely to be interesting to many people
41
+ 3 = highly informative and interesting or enlightening commentary, which most people would rate highly.
42
+ `.trim());
43
+ export class RigSubjectivityScaleService extends RigTicketedPromiseService {
44
+ model;
45
+ constructor(url, key, model) {
46
+ super(new OllamaRestService(new CommonsInternalHttpClientImplementation(), `${url}/ollama`, key), url, 100);
47
+ this.model = model;
48
+ }
49
+ async generateSubjectivityScore(text, prompt, keepAlive) {
50
+ prompt = prompt
51
+ .replace('<<<TEXT>>>', text);
52
+ const body = { prompt: prompt };
53
+ if (keepAlive) {
54
+ const mins = keepAlive.minutes;
55
+ if (mins < 1)
56
+ throw new Error('keepAlive cannot be less than 1 minute');
57
+ body.keepLoaded = `${Math.round(mins)}m`;
58
+ }
59
+ try {
60
+ const response = await this.submitAndWaitAsPromise(`/generate/${this.model}`, body, (data) => commonsTypeIsString(data), undefined, undefined, {
61
+ timeout: 30000,
62
+ maxReattempts: 0
63
+ });
64
+ const attempt = commonsTypeAttemptObject(response);
65
+ if (!attempt)
66
+ return undefined;
67
+ if (!isTSubjectivityResult(attempt))
68
+ return undefined;
69
+ return attempt;
70
+ }
71
+ catch (_e) {
72
+ return undefined;
73
+ }
74
+ }
75
+ async generateOffenceScore(text, keepAlive) {
76
+ return await this.generateSubjectivityScore(text, OFFENCE_PROMPT, keepAlive);
77
+ }
78
+ async generateInterestScore(text, keepAlive) {
79
+ return await this.generateSubjectivityScore(text, INTEREST_PROMPT, keepAlive);
80
+ }
81
+ }
82
+ //# sourceMappingURL=rig-subjectivity-scale.service.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rig-subjectivity-scale.service.mjs","sourceRoot":"","sources":["../../src/services/rig-subjectivity-scale.service.mts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { CommonsKeyRestClientService } from 'tscommons-es-rest';
2
- import { CommonsInternalHttpClientImplementation } from 'nodecommons-es-http';
3
- import { TQueueLength } from '../types/tqueue-length';
1
+ import { CommonsKeyRestClientService } from 'tscommons-esm-rest';
2
+ import { CommonsInternalHttpClientImplementation } from 'nodecommons-esm-http';
3
+ import { TQueueLength } from '../types/tqueue-length.mjs';
4
4
  export declare class RigTicketRestService extends CommonsKeyRestClientService {
5
5
  constructor(implementation: CommonsInternalHttpClientImplementation, url: string, key: string);
6
6
  length(): Promise<TQueueLength>;
@@ -0,0 +1,15 @@
1
+ import { commonsTypeIsNumberPropertyObjectT } from 'tscommons-esm-core';
2
+ import { ECommonsHttpContentType } from 'tscommons-esm-http';
3
+ import { CommonsKeyRestClientService } from 'tscommons-esm-rest';
4
+ export class RigTicketRestService extends CommonsKeyRestClientService {
5
+ constructor(implementation, url, key) {
6
+ super(implementation, url, key, ECommonsHttpContentType.JSON);
7
+ }
8
+ async length() {
9
+ const result = await super.getRest('/length');
10
+ if (!commonsTypeIsNumberPropertyObjectT(result))
11
+ throw new Error('Result was not a number key object');
12
+ return result;
13
+ }
14
+ }
15
+ //# sourceMappingURL=rig-ticket-rest.service.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rig-ticket-rest.service.mjs","sourceRoot":"","sources":["../../src/services/rig-ticket-rest.service.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAMjE,MAAM,OAAO,oBAAqB,SAAQ,2BAA2B;IACpE,YACE,cAAuD,EACvD,GAAW,EACX,GAAW;QAEZ,KAAK,CACH,cAAc,EACd,GAAG,EACH,GAAG,EACH,uBAAuB,CAAC,IAAI,CAC7B,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,MAAM;QAClB,MAAM,MAAM,GAAY,MAAM,KAAK,CAAC,OAAO,CAAe,SAAS,CAAC,CAAC;QACrE,IAAI,CAAC,kCAAkC,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAEvG,OAAO,MAAsB,CAAC;IAC/B,CAAC;CACD"}
@@ -1,6 +1,6 @@
1
- import { TEncoded, TEncodedObject } from 'tscommons-es-core';
2
- import { CommonsRestClientService } from 'tscommons-es-rest';
3
- import { TCommonsHttpRequestOptions } from 'tscommons-es-http';
1
+ import { TEncoded, TEncodedObject } from 'tscommons-esm-core';
2
+ import { CommonsRestClientService } from 'tscommons-esm-rest';
3
+ import { TCommonsHttpRequestOptions } from 'tscommons-esm-http';
4
4
  export type TPromptAndKeepLoaded = {
5
5
  prompt: string;
6
6
  keepLoaded?: string;
@@ -10,7 +10,5 @@ export declare abstract class RigTicketedPromiseService {
10
10
  private socketIoUrl;
11
11
  private connectToSubmitDelay;
12
12
  constructor(restService: CommonsRestClientService, socketIoUrl: string, connectToSubmitDelay?: number);
13
- submitAndWaitAsPromise<ResultT extends TEncoded = TEncoded, BodyT extends (TEncodedObject & TPromptAndKeepLoaded) = (TEncodedObject & TPromptAndKeepLoaded), ParamsT extends TEncodedObject = TEncodedObject, HeadersT extends TEncodedObject = TEncodedObject>(script: string, body: BodyT, checker: (data: unknown) => data is ResultT, params?: ParamsT | undefined, // the params can be explicitly undefined (none) as well as optional
14
- headers?: HeadersT | undefined, // the headers can be explicitly undefined (none) as well as optional
15
- options?: TCommonsHttpRequestOptions): Promise<ResultT>;
13
+ submitAndWaitAsPromise<ResultT extends TEncoded = TEncoded, BodyT extends (TEncodedObject & TPromptAndKeepLoaded) = (TEncodedObject & TPromptAndKeepLoaded), ParamsT extends TEncodedObject = TEncodedObject, HeadersT extends TEncodedObject = TEncodedObject>(script: string, body: BodyT, checker: (data: unknown) => data is ResultT, params?: ParamsT, headers?: HeadersT, options?: TCommonsHttpRequestOptions): Promise<ResultT>;
16
14
  }
@@ -1,15 +1,16 @@
1
- import { ECommonsHttpMethod } from 'tscommons-es-http';
2
- import { commonsTicketedNodeGenericSubmitAndWaitAsPromise } from 'nodecommons-es-socket-io-ticketed';
1
+ import { ECommonsHttpMethod } from 'tscommons-esm-http';
2
+ import { commonsTicketedNodeGenericSubmitAndWaitAsPromise } from 'nodecommons-esm-socket-io-ticketed';
3
3
  export class RigTicketedPromiseService {
4
+ restService;
5
+ socketIoUrl;
6
+ connectToSubmitDelay;
4
7
  constructor(restService, socketIoUrl, connectToSubmitDelay = 100) {
5
8
  this.restService = restService;
6
9
  this.socketIoUrl = socketIoUrl;
7
10
  this.connectToSubmitDelay = connectToSubmitDelay;
8
11
  }
9
- submitAndWaitAsPromise(script, body, checker, params, // the params can be explicitly undefined (none) as well as optional
10
- headers, // the headers can be explicitly undefined (none) as well as optional
11
- options = {}) {
12
+ submitAndWaitAsPromise(script, body, checker, params, headers, options = {}) {
12
13
  return commonsTicketedNodeGenericSubmitAndWaitAsPromise(this.socketIoUrl, 'rig-marshall', this.restService, ECommonsHttpMethod.POST, script, body, checker, params, headers, options, this.connectToSubmitDelay);
13
14
  }
14
15
  }
15
- //# sourceMappingURL=rig-ticketed-promise.service.js.map
16
+ //# sourceMappingURL=rig-ticketed-promise.service.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rig-ticketed-promise.service.mjs","sourceRoot":"","sources":["../../src/services/rig-ticketed-promise.service.mts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAA8B,MAAM,oBAAoB,CAAC;AAEpF,OAAO,EAAE,gDAAgD,EAAE,MAAM,oCAAoC,CAAC;AAOtG,MAAM,OAAgB,yBAAyB;IAEpC;IACA;IACA;IAHV,YACU,WAAqC,EACrC,WAAmB,EACnB,uBAA+B,GAAG;QAFlC,gBAAW,GAAX,WAAW,CAA0B;QACrC,gBAAW,GAAX,WAAW,CAAQ;QACnB,yBAAoB,GAApB,oBAAoB,CAAc;IACzC,CAAC;IAEG,sBAAsB,CAM3B,MAAc,EACd,IAAW,EACX,OAA2C,EAC3C,MAAgB,EAChB,OAAkB,EAClB,UAAsC,EAAE;QAEzC,OAAO,gDAAgD,CAMrD,IAAI,CAAC,WAAW,EAChB,cAAc,EACd,IAAI,CAAC,WAAW,EAChB,kBAAkB,CAAC,IAAI,EACvB,MAAM,EACN,IAAI,EACJ,OAAO,EACP,MAAM,EACN,OAAO,EACP,OAAO,EACP,IAAI,CAAC,oBAAoB,CAC1B,CAAC;IACH,CAAC;CACD"}
@@ -1,4 +1,4 @@
1
- import { commonsTypeHasPropertyBooleanOrUndefined, commonsTypeHasPropertyNumber, commonsTypeHasPropertyStringArray } from 'tscommons-es-core';
1
+ import { commonsTypeHasPropertyBooleanOrUndefined, commonsTypeHasPropertyNumber, commonsTypeHasPropertyStringArray } from 'tscommons-esm-core';
2
2
  export function isTCrawlConfig(test) {
3
3
  if (!commonsTypeHasPropertyNumber(test, 'findNewAvailableDelay'))
4
4
  return false;
@@ -28,4 +28,4 @@ export function isTCrawlConfig(test) {
28
28
  return false;
29
29
  return true;
30
30
  }
31
- //# sourceMappingURL=tcrawl-config.js.map
31
+ //# sourceMappingURL=tcrawl-config.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tcrawl-config.mjs","sourceRoot":"","sources":["../../src/types/tcrawl-config.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wCAAwC,EAAE,4BAA4B,EAAE,iCAAiC,EAAE,MAAM,oBAAoB,CAAC;AAgB/I,MAAM,UAAU,cAAc,CAAC,IAAa;IAC3C,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,uBAAuB,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/E,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,aAAa,CAAC;QAAE,OAAO,KAAK,CAAC;IACrE,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,oBAAoB,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5E,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,4BAA4B,CAAC;QAAE,OAAO,KAAK,CAAC;IACpF,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,mBAAmB,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3E,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,eAAe,CAAC;QAAE,OAAO,KAAK,CAAC;IACvE,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,gBAAgB,CAAC;QAAE,OAAO,KAAK,CAAC;IACxE,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,aAAa,CAAC;QAAE,OAAO,KAAK,CAAC;IACrE,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,cAAc,CAAC;QAAE,OAAO,KAAK,CAAC;IAEtE,IAAI,CAAC,iCAAiC,CAAC,IAAI,EAAE,aAAa,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1E,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACvC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAgB,CAAC;YAAE,OAAO,KAAK,CAAC;IACrD,CAAC;IAED,IAAI,CAAC,wCAAwC,CAAC,IAAI,EAAE,uBAAuB,CAAC;QAAE,OAAO,KAAK,CAAC;IAE3F,OAAO,IAAI,CAAC;AACb,CAAC"}
@@ -1,7 +1,7 @@
1
- import { commonsTypeHasPropertyString } from 'tscommons-es-core';
1
+ import { commonsTypeHasPropertyString } from 'tscommons-esm-core';
2
2
  export function isTHydraConfig(test) {
3
3
  if (!commonsTypeHasPropertyString(test, 'startUrl'))
4
4
  return false;
5
5
  return true;
6
6
  }
7
- //# sourceMappingURL=thydra-config.js.map
7
+ //# sourceMappingURL=thydra-config.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thydra-config.mjs","sourceRoot":"","sources":["../../src/types/thydra-config.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAMlE,MAAM,UAAU,cAAc,CAAC,IAAa;IAC3C,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,UAAU,CAAC;QAAE,OAAO,KAAK,CAAC;IAElE,OAAO,IAAI,CAAC;AACb,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { TPropertyObject } from 'tscommons-esm-core';
2
+ import { IParser } from '../interfaces/iparser.mjs';
3
+ import { IRequestOutcome } from '../interfaces/irequest-outcome.mjs';
4
+ import { IParserConfig } from '../interfaces/iparser-config.mjs';
5
+ export type TParserCtor = {
6
+ new (url?: string, outcome?: IRequestOutcome, config?: TPropertyObject<IParserConfig>): IParser;
7
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tparser-ctor.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tparser-ctor.mjs","sourceRoot":"","sources":["../../src/types/tparser-ctor.mts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { TPropertyObject } from 'tscommons-esm-core';
2
+ import { CommonsArgs } from 'nodecommons-esm-cli';
3
+ import { Lists } from '../classes/lists.mjs';
4
+ import { Expiry } from '../classes/expiry.mjs';
5
+ import { DatabaseService } from '../services/database.service.mjs';
6
+ import { IParserConfig } from '../interfaces/iparser-config.mjs';
7
+ export type TQuery = (args: CommonsArgs, databaseService: DatabaseService, lists: Lists, expiry: Expiry, parsersConfig: TPropertyObject<IParserConfig>) => Promise<void>;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tquery.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tquery.mjs","sourceRoot":"","sources":["../../src/types/tquery.mts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tqueue-length.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tqueue-length.mjs","sourceRoot":"","sources":["../../src/types/tqueue-length.mts"],"names":[],"mappings":""}
@@ -1,7 +1,7 @@
1
- import { commonsTypeHasPropertyBoolean } from 'tscommons-es-core';
1
+ import { commonsTypeHasPropertyBoolean } from 'tscommons-esm-core';
2
2
  export function isTRobotsConfig(test) {
3
3
  if (!commonsTypeHasPropertyBoolean(test, 'ignoreWholeSiteDirectives'))
4
4
  return false;
5
5
  return true;
6
6
  }
7
- //# sourceMappingURL=trobots-config.js.map
7
+ //# sourceMappingURL=trobots-config.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trobots-config.mjs","sourceRoot":"","sources":["../../src/types/trobots-config.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAMnE,MAAM,UAAU,eAAe,CAAC,IAAa;IAC5C,IAAI,CAAC,6BAA6B,CAAC,IAAI,EAAE,2BAA2B,CAAC;QAAE,OAAO,KAAK,CAAC;IAEpF,OAAO,IAAI,CAAC;AACb,CAAC"}
package/package.json CHANGED
@@ -1,64 +1,58 @@
1
1
  {
2
2
  "name": "hydra-crawler",
3
- "version": "2.8.3",
3
+ "version": "3.0.1",
4
4
  "description": "Node.js Hydra web crawler",
5
5
  "author": "Pete Morris",
6
6
  "license": "ISC",
7
- "main": "dist/cli.js",
8
7
  "type": "module",
9
- "types": "dist/index.d.ts",
10
8
  "scripts": {
9
+ "tsc": "./node_modules/typescript/bin/tsc",
11
10
  "start": "node dist/cli.js",
12
- "publish-major": "rm -rf dist; tsc && npx eslint . && npm version major && npm install && npm publish && git add . && git commit -m 'publish'",
13
- "publish-minor": "rm -rf dist; tsc && npx eslint . && npm version minor && npm install && npm publish && git add . && git commit -m 'publish'",
14
- "publish-patch": "rm -rf dist; tsc && npx eslint . && npm version patch && npm install && npm publish && git add . && git commit -m 'publish'"
11
+ "publish-major": "rm -rf dist; npm run tsc && npx eslint . && npm version major && npm install && npm publish && git add . && git commit -m 'publish'",
12
+ "publish-minor": "rm -rf dist; npm run tsc && npx eslint . && npm version minor && npm install && npm publish && git add . && git commit -m 'publish'",
13
+ "publish-patch": "rm -rf dist; npm run tsc && npx eslint . && npm version patch && npm install && npm publish && git add . && git commit -m 'publish'"
15
14
  },
16
15
  "bin": {
17
16
  "hydra-crawler": "./dist/cli.js"
18
17
  },
18
+ "main": "dist/cli.mjs",
19
19
  "dependencies": {
20
- "chardet": "^1.6.0",
21
- "cheerio": "1.0.0-rc.12",
22
- "express": "^4.18.2",
23
- "hydra-crawler-ts-assets": "2.0.1",
20
+ "chardet": "^2.1.0",
21
+ "cheerio": "^1.0.0",
22
+ "express": "^5.1.0",
23
+ "hydra-crawler-esm-assets": "^3.0.1",
24
24
  "jpeg-js": "^0.4.4",
25
25
  "memcached-promisify": "^2.0.0",
26
- "mongodb": "^5.0.1",
27
- "nodecommons-es-app": "^1.1.2",
28
- "nodecommons-es-app-socket-io": "3.0.3",
29
- "nodecommons-es-cli": "^2.1.1",
30
- "nodecommons-es-config": "^1.0.8",
31
- "nodecommons-es-database": "^2.2.8",
32
- "nodecommons-es-database-mongodb": "^1.0.9",
33
- "nodecommons-es-express": "^4.0.3",
34
- "nodecommons-es-file": "^1.1.5",
35
- "nodecommons-es-http": "^2.5.3",
36
- "nodecommons-es-process": "^1.5.2",
37
- "nodecommons-es-rest": "^2.0.14",
38
- "nodecommons-es-security": "^1.0.10",
39
- "nodecommons-es-socket-io": "3.0.7",
40
- "nodecommons-es-socket-io-ticketed": "^3.1.1",
41
- "tscommons-es-async": "^1.2.4",
42
- "tscommons-es-config": "^1.0.6",
43
- "tscommons-es-core": "^1.25.1",
44
- "tscommons-es-format": "1.1.1",
45
- "tscommons-es-rest": "^1.1.2",
26
+ "mongodb": "^6.15.0",
27
+ "nodecommons-esm-app": "^0.0.10",
28
+ "nodecommons-esm-app-socket-io": "^0.0.7",
29
+ "nodecommons-esm-cli": "^0.0.10",
30
+ "nodecommons-esm-config": "^0.0.9",
31
+ "nodecommons-esm-database": "^0.0.12",
32
+ "nodecommons-esm-database-mongodb": "^0.0.5",
33
+ "nodecommons-esm-express": "^0.0.10",
34
+ "nodecommons-esm-file": "^0.0.5",
35
+ "nodecommons-esm-http": "^0.0.8",
36
+ "nodecommons-esm-log": "^0.0.7",
37
+ "nodecommons-esm-process": "^0.1.0",
38
+ "nodecommons-esm-rest": "^0.0.9",
39
+ "nodecommons-esm-security": "^0.0.5",
40
+ "nodecommons-esm-socket-io-ticketed": "^0.0.6",
41
+ "tscommons-esm-async": "^0.0.9",
42
+ "tscommons-esm-config": "^0.0.5",
43
+ "tscommons-esm-core": "^0.0.5",
44
+ "tscommons-esm-format": "^0.0.5",
45
+ "tscommons-esm-http": "^0.0.6",
46
+ "tscommons-esm-rest": "^0.0.6",
46
47
  "unfluff": "^3.2.0"
47
48
  },
48
49
  "devDependencies": {
49
- "@types/chardet": "^0.8.1",
50
- "@types/cheerio": "0.22.32",
51
- "@types/express": "^4.17.17",
52
- "@types/mongodb": "^4.0.6",
53
- "@types/node": "18.6.1",
54
- "@typescript-eslint/eslint-plugin": "^5.53.0",
55
- "@typescript-eslint/parser": "^5.53.0",
56
- "eslint": "^8.35.0",
57
- "eslint-config-prettier": "^8.6.0",
58
- "eslint-plugin-import": "^2.27.5",
59
- "eslint-plugin-jsdoc": "^40.0.0",
60
- "eslint-plugin-prefer-arrow": "^1.2.3",
61
- "typescript": "^4.8.4"
50
+ "@stylistic/eslint-plugin-ts": "^2.11.0",
51
+ "@types/node": "^22.10.0",
52
+ "eslint-plugin-import": "^2.31.0",
53
+ "eslint-plugin-prefer-arrow-functions": "^3.4.1",
54
+ "typescript": "^5.7.2",
55
+ "typescript-eslint": "^8.16.0"
62
56
  },
63
57
  "files": [
64
58
  "dist/**/*"
@@ -1,22 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { CommonsRestApi } from 'nodecommons-es-rest';
11
- export class AutocompleteApi extends CommonsRestApi {
12
- constructor(restServer, databaseService, path) {
13
- super(restServer);
14
- this.databaseService = databaseService;
15
- super.getHandler(`${path}rest/autocomplete/domain/:term[idname]`, (req, _res) => __awaiter(this, void 0, void 0, function* () {
16
- const domains = yield this.databaseService.listDomainsByLike(req.strictParams.term);
17
- return domains
18
- .map((domain) => domain.domain);
19
- }));
20
- }
21
- }
22
- //# sourceMappingURL=autocomplete.api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"autocomplete.api.js","sourceRoot":"","sources":["../../src/apis/autocomplete.api.ts"],"names":[],"mappings":";;;;;;;;;AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAMrD,MAAM,OAAO,eAAgB,SAAQ,cAAiE;IACrG,YACE,UAAsB,EACd,eAAgC,EACxC,IAAY;QAEb,KAAK,CAAC,UAAU,CAAC,CAAC;QAHT,oBAAe,GAAf,eAAe,CAAiB;QAKzC,KAAK,CAAC,UAAU,CACd,GAAG,IAAI,wCAAwC,EAC/C,CAAO,GAAoC,EAAE,IAAsB,EAAqB,EAAE;YACzF,MAAM,OAAO,GAAc,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAc,CAAC,CAAC;YAEzG,OAAO,OAAO;iBACX,GAAG,CAAC,CAAC,MAAe,EAAU,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC,CAAA,CACF,CAAC;IACH,CAAC;CACD"}