hunter-mate 0.1.2 → 0.1.4

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 (448) hide show
  1. package/LICENSE +21 -0
  2. package/dist/assets/extension/_locales/en_US/messages.json +5 -0
  3. package/dist/assets/extension/_locales/zh_CN/messages.json +5 -0
  4. package/dist/assets/extension/background/service-worker.js +3342 -0
  5. package/dist/assets/extension/content/index.js +13765 -0
  6. package/dist/assets/extension/manifest.json +47 -0
  7. package/dist/assets/extension/package.json +24 -0
  8. package/dist/assets/extension/sidepanel/index.html +400 -0
  9. package/dist/assets/extension/sidepanel/index.js +926 -0
  10. package/dist/assets/server/agent-session/agent-session.controller.d.ts +32 -0
  11. package/dist/assets/server/agent-session/agent-session.controller.js +83 -0
  12. package/dist/assets/server/agent-session/agent-session.controller.js.map +1 -0
  13. package/dist/assets/server/agent-session/agent-session.guard.d.ts +4 -0
  14. package/dist/assets/server/agent-session/agent-session.guard.js +32 -0
  15. package/dist/assets/server/agent-session/agent-session.guard.js.map +1 -0
  16. package/dist/assets/server/agent-session/agent-session.module.d.ts +2 -0
  17. package/dist/assets/server/agent-session/agent-session.module.js +28 -0
  18. package/dist/assets/server/agent-session/agent-session.module.js.map +1 -0
  19. package/dist/assets/server/agent-session/agent-session.service.d.ts +54 -0
  20. package/dist/assets/server/agent-session/agent-session.service.js +431 -0
  21. package/dist/assets/server/agent-session/agent-session.service.js.map +1 -0
  22. package/dist/assets/server/agent-session/agent-session.types.d.ts +56 -0
  23. package/dist/assets/server/agent-session/agent-session.types.js +3 -0
  24. package/dist/assets/server/agent-session/agent-session.types.js.map +1 -0
  25. package/dist/assets/server/agent-session/entities/agent-event.entity.d.ts +12 -0
  26. package/dist/assets/server/agent-session/entities/agent-event.entity.js +73 -0
  27. package/dist/assets/server/agent-session/entities/agent-event.entity.js.map +1 -0
  28. package/dist/assets/server/agent-session/entities/agent-message.entity.d.ts +13 -0
  29. package/dist/assets/server/agent-session/entities/agent-message.entity.js +77 -0
  30. package/dist/assets/server/agent-session/entities/agent-message.entity.js.map +1 -0
  31. package/dist/assets/server/agent-session/entities/agent-session.entity.d.ts +14 -0
  32. package/dist/assets/server/agent-session/entities/agent-session.entity.js +83 -0
  33. package/dist/assets/server/agent-session/entities/agent-session.entity.js.map +1 -0
  34. package/dist/assets/server/app.module.d.ts +4 -0
  35. package/dist/assets/server/app.module.js +127 -0
  36. package/dist/assets/server/app.module.js.map +1 -0
  37. package/dist/assets/server/auth/auth.controller.d.ts +22 -0
  38. package/dist/assets/server/auth/auth.controller.js +88 -0
  39. package/dist/assets/server/auth/auth.controller.js.map +1 -0
  40. package/dist/assets/server/auth/auth.middleware.d.ts +5 -0
  41. package/dist/assets/server/auth/auth.middleware.js +34 -0
  42. package/dist/assets/server/auth/auth.middleware.js.map +1 -0
  43. package/dist/assets/server/auth/auth.module.d.ts +2 -0
  44. package/dist/assets/server/auth/auth.module.js +24 -0
  45. package/dist/assets/server/auth/auth.module.js.map +1 -0
  46. package/dist/assets/server/auth/auth.service.d.ts +30 -0
  47. package/dist/assets/server/auth/auth.service.js +183 -0
  48. package/dist/assets/server/auth/auth.service.js.map +1 -0
  49. package/dist/assets/server/auth/auth.types.d.ts +28 -0
  50. package/dist/assets/server/auth/auth.types.js +3 -0
  51. package/dist/assets/server/auth/auth.types.js.map +1 -0
  52. package/dist/assets/server/build-info.json +4 -0
  53. package/dist/assets/server/common/common.module.d.ts +2 -0
  54. package/dist/assets/server/common/common.module.js +22 -0
  55. package/dist/assets/server/common/common.module.js.map +1 -0
  56. package/dist/assets/server/common/crypto.service.d.ts +11 -0
  57. package/dist/assets/server/common/crypto.service.js +73 -0
  58. package/dist/assets/server/common/crypto.service.js.map +1 -0
  59. package/dist/assets/server/communication/communication-record.entity.d.ts +15 -0
  60. package/dist/assets/server/communication/communication-record.entity.js +80 -0
  61. package/dist/assets/server/communication/communication-record.entity.js.map +1 -0
  62. package/dist/assets/server/communication/communication.controller.d.ts +12 -0
  63. package/dist/assets/server/communication/communication.controller.js +61 -0
  64. package/dist/assets/server/communication/communication.controller.js.map +1 -0
  65. package/dist/assets/server/communication/communication.module.d.ts +2 -0
  66. package/dist/assets/server/communication/communication.module.js +25 -0
  67. package/dist/assets/server/communication/communication.module.js.map +1 -0
  68. package/dist/assets/server/communication/communication.service.d.ts +23 -0
  69. package/dist/assets/server/communication/communication.service.js +51 -0
  70. package/dist/assets/server/communication/communication.service.js.map +1 -0
  71. package/dist/assets/server/db/schema-validator.service.d.ts +25 -0
  72. package/dist/assets/server/db/schema-validator.service.js +107 -0
  73. package/dist/assets/server/db/schema-validator.service.js.map +1 -0
  74. package/dist/assets/server/db/schema-version.entity.d.ts +5 -0
  75. package/dist/assets/server/db/schema-version.entity.js +35 -0
  76. package/dist/assets/server/db/schema-version.entity.js.map +1 -0
  77. package/dist/assets/server/db/sqlite.module.d.ts +2 -0
  78. package/dist/assets/server/db/sqlite.module.js +83 -0
  79. package/dist/assets/server/db/sqlite.module.js.map +1 -0
  80. package/dist/assets/server/devops/devops-sink-init.d.ts +23 -0
  81. package/dist/assets/server/devops/devops-sink-init.js +101 -0
  82. package/dist/assets/server/devops/devops-sink-init.js.map +1 -0
  83. package/dist/assets/server/devops/devops-sink-init.spec.d.ts +1 -0
  84. package/dist/assets/server/devops/devops-sink-init.spec.js +71 -0
  85. package/dist/assets/server/devops/devops-sink-init.spec.js.map +1 -0
  86. package/dist/assets/server/devops/devops-sink.module.d.ts +2 -0
  87. package/dist/assets/server/devops/devops-sink.module.js +22 -0
  88. package/dist/assets/server/devops/devops-sink.module.js.map +1 -0
  89. package/dist/assets/server/doctor/doctor.controller.d.ts +13 -0
  90. package/dist/assets/server/doctor/doctor.controller.js +62 -0
  91. package/dist/assets/server/doctor/doctor.controller.js.map +1 -0
  92. package/dist/assets/server/doctor/doctor.module.d.ts +2 -0
  93. package/dist/assets/server/doctor/doctor.module.js +27 -0
  94. package/dist/assets/server/doctor/doctor.module.js.map +1 -0
  95. package/dist/assets/server/doctor/doctor.service.d.ts +15 -0
  96. package/dist/assets/server/doctor/doctor.service.js +209 -0
  97. package/dist/assets/server/doctor/doctor.service.js.map +1 -0
  98. package/dist/assets/server/doctor/doctor.types.d.ts +46 -0
  99. package/dist/assets/server/doctor/doctor.types.js +3 -0
  100. package/dist/assets/server/doctor/doctor.types.js.map +1 -0
  101. package/dist/assets/server/extension/extension-control.controller.d.ts +67 -0
  102. package/dist/assets/server/extension/extension-control.controller.js +173 -0
  103. package/dist/assets/server/extension/extension-control.controller.js.map +1 -0
  104. package/dist/assets/server/extension/extension-control.service.d.ts +46 -0
  105. package/dist/assets/server/extension/extension-control.service.js +212 -0
  106. package/dist/assets/server/extension/extension-control.service.js.map +1 -0
  107. package/dist/assets/server/extension/extension-core.module.d.ts +2 -0
  108. package/dist/assets/server/extension/extension-core.module.js +21 -0
  109. package/dist/assets/server/extension/extension-core.module.js.map +1 -0
  110. package/dist/assets/server/extension/extension-version.controller.d.ts +6 -0
  111. package/dist/assets/server/extension/extension-version.controller.js +41 -0
  112. package/dist/assets/server/extension/extension-version.controller.js.map +1 -0
  113. package/dist/assets/server/extension/extension.module.d.ts +2 -0
  114. package/dist/assets/server/extension/extension.module.js +25 -0
  115. package/dist/assets/server/extension/extension.module.js.map +1 -0
  116. package/dist/assets/server/extraction/adapter.service.d.ts +55 -0
  117. package/dist/assets/server/extraction/adapter.service.js +275 -0
  118. package/dist/assets/server/extraction/adapter.service.js.map +1 -0
  119. package/dist/assets/server/extraction/anomaly-report.service.d.ts +12 -0
  120. package/dist/assets/server/extraction/anomaly-report.service.js +81 -0
  121. package/dist/assets/server/extraction/anomaly-report.service.js.map +1 -0
  122. package/dist/assets/server/extraction/entities/adapter-rule.entity.d.ts +13 -0
  123. package/dist/assets/server/extraction/entities/adapter-rule.entity.js +71 -0
  124. package/dist/assets/server/extraction/entities/adapter-rule.entity.js.map +1 -0
  125. package/dist/assets/server/extraction/entities/company-profile.entity.d.ts +14 -0
  126. package/dist/assets/server/extraction/entities/company-profile.entity.js +81 -0
  127. package/dist/assets/server/extraction/entities/company-profile.entity.js.map +1 -0
  128. package/dist/assets/server/extraction/entities/job-posting.entity.d.ts +15 -0
  129. package/dist/assets/server/extraction/entities/job-posting.entity.js +86 -0
  130. package/dist/assets/server/extraction/entities/job-posting.entity.js.map +1 -0
  131. package/dist/assets/server/extraction/entities/parse-log.entity.d.ts +18 -0
  132. package/dist/assets/server/extraction/entities/parse-log.entity.js +102 -0
  133. package/dist/assets/server/extraction/entities/parse-log.entity.js.map +1 -0
  134. package/dist/assets/server/extraction/entities/talent-profile.entity.d.ts +15 -0
  135. package/dist/assets/server/extraction/entities/talent-profile.entity.js +86 -0
  136. package/dist/assets/server/extraction/entities/talent-profile.entity.js.map +1 -0
  137. package/dist/assets/server/extraction/extraction-entity.controller.d.ts +138 -0
  138. package/dist/assets/server/extraction/extraction-entity.controller.js +493 -0
  139. package/dist/assets/server/extraction/extraction-entity.controller.js.map +1 -0
  140. package/dist/assets/server/extraction/extraction-rule.controller.d.ts +7 -0
  141. package/dist/assets/server/extraction/extraction-rule.controller.js +48 -0
  142. package/dist/assets/server/extraction/extraction-rule.controller.js.map +1 -0
  143. package/dist/assets/server/extraction/extraction-rule.entity.d.ts +15 -0
  144. package/dist/assets/server/extraction/extraction-rule.entity.js +80 -0
  145. package/dist/assets/server/extraction/extraction-rule.entity.js.map +1 -0
  146. package/dist/assets/server/extraction/extraction-rule.service.d.ts +24 -0
  147. package/dist/assets/server/extraction/extraction-rule.service.js +89 -0
  148. package/dist/assets/server/extraction/extraction-rule.service.js.map +1 -0
  149. package/dist/assets/server/extraction/extraction.module.d.ts +2 -0
  150. package/dist/assets/server/extraction/extraction.module.js +53 -0
  151. package/dist/assets/server/extraction/extraction.module.js.map +1 -0
  152. package/dist/assets/server/extraction/extraction.service.d.ts +78 -0
  153. package/dist/assets/server/extraction/extraction.service.js +430 -0
  154. package/dist/assets/server/extraction/extraction.service.js.map +1 -0
  155. package/dist/assets/server/extraction/linkedin-extractor.d.ts +1 -0
  156. package/dist/assets/server/extraction/linkedin-extractor.js +244 -0
  157. package/dist/assets/server/extraction/linkedin-extractor.js.map +1 -0
  158. package/dist/assets/server/extraction/rrweb-snapshot.utils.d.ts +15 -0
  159. package/dist/assets/server/extraction/rrweb-snapshot.utils.js +48 -0
  160. package/dist/assets/server/extraction/rrweb-snapshot.utils.js.map +1 -0
  161. package/dist/assets/server/extraction/rrweb-snapshot.utils.spec.d.ts +1 -0
  162. package/dist/assets/server/extraction/rrweb-snapshot.utils.spec.js +60 -0
  163. package/dist/assets/server/extraction/rrweb-snapshot.utils.spec.js.map +1 -0
  164. package/dist/assets/server/extraction/script-rule.d.ts +14 -0
  165. package/dist/assets/server/extraction/script-rule.js +49 -0
  166. package/dist/assets/server/extraction/script-rule.js.map +1 -0
  167. package/dist/assets/server/extraction/snapshot-analysis.service.d.ts +23 -0
  168. package/dist/assets/server/extraction/snapshot-analysis.service.js +147 -0
  169. package/dist/assets/server/extraction/snapshot-analysis.service.js.map +1 -0
  170. package/dist/assets/server/extraction/structured-data.d.ts +7 -0
  171. package/dist/assets/server/extraction/structured-data.js +96 -0
  172. package/dist/assets/server/extraction/structured-data.js.map +1 -0
  173. package/dist/assets/server/hcapi/hcapi.module.d.ts +2 -0
  174. package/dist/assets/server/hcapi/hcapi.module.js +23 -0
  175. package/dist/assets/server/hcapi/hcapi.module.js.map +1 -0
  176. package/dist/assets/server/hcapi/hcapi.service.d.ts +28 -0
  177. package/dist/assets/server/hcapi/hcapi.service.js +81 -0
  178. package/dist/assets/server/hcapi/hcapi.service.js.map +1 -0
  179. package/dist/assets/server/health/health.controller.d.ts +19 -0
  180. package/dist/assets/server/health/health.controller.js +59 -0
  181. package/dist/assets/server/health/health.controller.js.map +1 -0
  182. package/dist/assets/server/jobcase/jobcase.controller.d.ts +12 -0
  183. package/dist/assets/server/jobcase/jobcase.controller.js +61 -0
  184. package/dist/assets/server/jobcase/jobcase.controller.js.map +1 -0
  185. package/dist/assets/server/jobcase/jobcase.entity.d.ts +13 -0
  186. package/dist/assets/server/jobcase/jobcase.entity.js +71 -0
  187. package/dist/assets/server/jobcase/jobcase.entity.js.map +1 -0
  188. package/dist/assets/server/jobcase/jobcase.module.d.ts +2 -0
  189. package/dist/assets/server/jobcase/jobcase.module.js +26 -0
  190. package/dist/assets/server/jobcase/jobcase.module.js.map +1 -0
  191. package/dist/assets/server/jobcase/jobcase.service.d.ts +21 -0
  192. package/dist/assets/server/jobcase/jobcase.service.js +56 -0
  193. package/dist/assets/server/jobcase/jobcase.service.js.map +1 -0
  194. package/dist/assets/server/llm/llm.module.d.ts +2 -0
  195. package/dist/assets/server/llm/llm.module.js +21 -0
  196. package/dist/assets/server/llm/llm.module.js.map +1 -0
  197. package/dist/assets/server/llm/llm.service.d.ts +18 -0
  198. package/dist/assets/server/llm/llm.service.js +65 -0
  199. package/dist/assets/server/llm/llm.service.js.map +1 -0
  200. package/dist/assets/server/main.d.ts +1 -0
  201. package/dist/assets/server/main.js +30 -0
  202. package/dist/assets/server/main.js.map +1 -0
  203. package/dist/assets/server/matching/matching.controller.d.ts +16 -0
  204. package/dist/assets/server/matching/matching.controller.js +97 -0
  205. package/dist/assets/server/matching/matching.controller.js.map +1 -0
  206. package/dist/assets/server/matching/matching.module.d.ts +2 -0
  207. package/dist/assets/server/matching/matching.module.js +36 -0
  208. package/dist/assets/server/matching/matching.module.js.map +1 -0
  209. package/dist/assets/server/matching/matching.service.d.ts +55 -0
  210. package/dist/assets/server/matching/matching.service.js +409 -0
  211. package/dist/assets/server/matching/matching.service.js.map +1 -0
  212. package/dist/assets/server/package.json +57 -0
  213. package/dist/assets/server/parsed-resume/parsed-resume.controller.d.ts +6 -0
  214. package/dist/assets/server/parsed-resume/parsed-resume.controller.js +42 -0
  215. package/dist/assets/server/parsed-resume/parsed-resume.controller.js.map +1 -0
  216. package/dist/assets/server/parsed-resume/parsed-resume.entity.d.ts +124 -0
  217. package/dist/assets/server/parsed-resume/parsed-resume.entity.js +72 -0
  218. package/dist/assets/server/parsed-resume/parsed-resume.entity.js.map +1 -0
  219. package/dist/assets/server/parsed-resume/parsed-resume.module.d.ts +2 -0
  220. package/dist/assets/server/parsed-resume/parsed-resume.module.js +26 -0
  221. package/dist/assets/server/parsed-resume/parsed-resume.module.js.map +1 -0
  222. package/dist/assets/server/parsed-resume/parsed-resume.service.d.ts +10 -0
  223. package/dist/assets/server/parsed-resume/parsed-resume.service.js +45 -0
  224. package/dist/assets/server/parsed-resume/parsed-resume.service.js.map +1 -0
  225. package/dist/assets/server/parsing/parse-error-report.entity.d.ts +11 -0
  226. package/dist/assets/server/parsing/parse-error-report.entity.js +66 -0
  227. package/dist/assets/server/parsing/parse-error-report.entity.js.map +1 -0
  228. package/dist/assets/server/parsing/parsing.controller.d.ts +19 -0
  229. package/dist/assets/server/parsing/parsing.controller.js +97 -0
  230. package/dist/assets/server/parsing/parsing.controller.js.map +1 -0
  231. package/dist/assets/server/parsing/parsing.module.d.ts +2 -0
  232. package/dist/assets/server/parsing/parsing.module.js +38 -0
  233. package/dist/assets/server/parsing/parsing.module.js.map +1 -0
  234. package/dist/assets/server/parsing/parsing.service.d.ts +38 -0
  235. package/dist/assets/server/parsing/parsing.service.js +263 -0
  236. package/dist/assets/server/parsing/parsing.service.js.map +1 -0
  237. package/dist/assets/server/query/fields-meta.controller.d.ts +28 -0
  238. package/dist/assets/server/query/fields-meta.controller.js +57 -0
  239. package/dist/assets/server/query/fields-meta.controller.js.map +1 -0
  240. package/dist/assets/server/query/query-builder.controller.d.ts +11 -0
  241. package/dist/assets/server/query/query-builder.controller.js +40 -0
  242. package/dist/assets/server/query/query-builder.controller.js.map +1 -0
  243. package/dist/assets/server/query/query-builder.service.d.ts +8 -0
  244. package/dist/assets/server/query/query-builder.service.js +41 -0
  245. package/dist/assets/server/query/query-builder.service.js.map +1 -0
  246. package/dist/assets/server/query/query.module.d.ts +2 -0
  247. package/dist/assets/server/query/query.module.js +23 -0
  248. package/dist/assets/server/query/query.module.js.map +1 -0
  249. package/dist/assets/server/recording/entities/recording-event.entity.d.ts +9 -0
  250. package/dist/assets/server/recording/entities/recording-event.entity.js +56 -0
  251. package/dist/assets/server/recording/entities/recording-event.entity.js.map +1 -0
  252. package/dist/assets/server/recording/entities/recording-snapshot.entity.d.ts +16 -0
  253. package/dist/assets/server/recording/entities/recording-snapshot.entity.js +91 -0
  254. package/dist/assets/server/recording/entities/recording-snapshot.entity.js.map +1 -0
  255. package/dist/assets/server/recording/recording-event-bus.service.d.ts +4 -0
  256. package/dist/assets/server/recording/recording-event-bus.service.js +25 -0
  257. package/dist/assets/server/recording/recording-event-bus.service.js.map +1 -0
  258. package/dist/assets/server/recording/recording-snapshot.service.d.ts +13 -0
  259. package/dist/assets/server/recording/recording-snapshot.service.js +81 -0
  260. package/dist/assets/server/recording/recording-snapshot.service.js.map +1 -0
  261. package/dist/assets/server/recording/recording-snapshot.service.spec.d.ts +1 -0
  262. package/dist/assets/server/recording/recording-snapshot.service.spec.js +65 -0
  263. package/dist/assets/server/recording/recording-snapshot.service.spec.js.map +1 -0
  264. package/dist/assets/server/recording/recording.controller.d.ts +54 -0
  265. package/dist/assets/server/recording/recording.controller.js +77 -0
  266. package/dist/assets/server/recording/recording.controller.js.map +1 -0
  267. package/dist/assets/server/recording/recording.gateway.d.ts +15 -0
  268. package/dist/assets/server/recording/recording.gateway.js +117 -0
  269. package/dist/assets/server/recording/recording.gateway.js.map +1 -0
  270. package/dist/assets/server/recording/recording.module.d.ts +2 -0
  271. package/dist/assets/server/recording/recording.module.js +36 -0
  272. package/dist/assets/server/recording/recording.module.js.map +1 -0
  273. package/dist/assets/server/recording/recording.service.d.ts +43 -0
  274. package/dist/assets/server/recording/recording.service.js +124 -0
  275. package/dist/assets/server/recording/recording.service.js.map +1 -0
  276. package/dist/assets/server/remark/remark.controller.d.ts +21 -0
  277. package/dist/assets/server/remark/remark.controller.js +59 -0
  278. package/dist/assets/server/remark/remark.controller.js.map +1 -0
  279. package/dist/assets/server/remark/remark.entity.d.ts +18 -0
  280. package/dist/assets/server/remark/remark.entity.js +67 -0
  281. package/dist/assets/server/remark/remark.entity.js.map +1 -0
  282. package/dist/assets/server/remark/remark.module.d.ts +2 -0
  283. package/dist/assets/server/remark/remark.module.js +26 -0
  284. package/dist/assets/server/remark/remark.module.js.map +1 -0
  285. package/dist/assets/server/remark/remark.service.d.ts +8 -0
  286. package/dist/assets/server/remark/remark.service.js +39 -0
  287. package/dist/assets/server/remark/remark.service.js.map +1 -0
  288. package/dist/assets/server/report/report.controller.d.ts +18 -0
  289. package/dist/assets/server/report/report.controller.js +41 -0
  290. package/dist/assets/server/report/report.controller.js.map +1 -0
  291. package/dist/assets/server/report/report.module.d.ts +2 -0
  292. package/dist/assets/server/report/report.module.js +24 -0
  293. package/dist/assets/server/report/report.module.js.map +1 -0
  294. package/dist/assets/server/report/report.service.d.ts +23 -0
  295. package/dist/assets/server/report/report.service.js +54 -0
  296. package/dist/assets/server/report/report.service.js.map +1 -0
  297. package/dist/assets/server/rules/rules.controller.d.ts +6 -0
  298. package/dist/assets/server/rules/rules.controller.js +35 -0
  299. package/dist/assets/server/rules/rules.controller.js.map +1 -0
  300. package/dist/assets/server/rules/rules.module.d.ts +2 -0
  301. package/dist/assets/server/rules/rules.module.js +23 -0
  302. package/dist/assets/server/rules/rules.module.js.map +1 -0
  303. package/dist/assets/server/rules/rules.service.d.ts +10 -0
  304. package/dist/assets/server/rules/rules.service.js +26 -0
  305. package/dist/assets/server/rules/rules.service.js.map +1 -0
  306. package/dist/assets/server/search/search.controller.d.ts +6 -0
  307. package/dist/assets/server/search/search.controller.js +53 -0
  308. package/dist/assets/server/search/search.controller.js.map +1 -0
  309. package/dist/assets/server/search/search.module.d.ts +2 -0
  310. package/dist/assets/server/search/search.module.js +24 -0
  311. package/dist/assets/server/search/search.module.js.map +1 -0
  312. package/dist/assets/server/search/search.service.d.ts +6 -0
  313. package/dist/assets/server/search/search.service.js +46 -0
  314. package/dist/assets/server/search/search.service.js.map +1 -0
  315. package/dist/assets/server/sentry.d.ts +3 -0
  316. package/dist/assets/server/sentry.js +10 -0
  317. package/dist/assets/server/sentry.js.map +1 -0
  318. package/dist/assets/server/site/entities/site-registry.entity.d.ts +13 -0
  319. package/dist/assets/server/site/entities/site-registry.entity.js +76 -0
  320. package/dist/assets/server/site/entities/site-registry.entity.js.map +1 -0
  321. package/dist/assets/server/site/site.controller.d.ts +38 -0
  322. package/dist/assets/server/site/site.controller.js +60 -0
  323. package/dist/assets/server/site/site.controller.js.map +1 -0
  324. package/dist/assets/server/site/site.module.d.ts +2 -0
  325. package/dist/assets/server/site/site.module.js +26 -0
  326. package/dist/assets/server/site/site.module.js.map +1 -0
  327. package/dist/assets/server/site/site.service.d.ts +38 -0
  328. package/dist/assets/server/site/site.service.js +141 -0
  329. package/dist/assets/server/site/site.service.js.map +1 -0
  330. package/dist/assets/server/snapshot/raw-snapshot.entity.d.ts +35 -0
  331. package/dist/assets/server/snapshot/raw-snapshot.entity.js +62 -0
  332. package/dist/assets/server/snapshot/raw-snapshot.entity.js.map +1 -0
  333. package/dist/assets/server/snapshot/snapshot.controller.d.ts +18 -0
  334. package/dist/assets/server/snapshot/snapshot.controller.js +76 -0
  335. package/dist/assets/server/snapshot/snapshot.controller.js.map +1 -0
  336. package/dist/assets/server/snapshot/snapshot.module.d.ts +2 -0
  337. package/dist/assets/server/snapshot/snapshot.module.js +26 -0
  338. package/dist/assets/server/snapshot/snapshot.module.js.map +1 -0
  339. package/dist/assets/server/snapshot/snapshot.service.d.ts +10 -0
  340. package/dist/assets/server/snapshot/snapshot.service.js +48 -0
  341. package/dist/assets/server/snapshot/snapshot.service.js.map +1 -0
  342. package/dist/assets/server/system/system.controller.d.ts +39 -0
  343. package/dist/assets/server/system/system.controller.js +93 -0
  344. package/dist/assets/server/system/system.controller.js.map +1 -0
  345. package/dist/assets/server/system/system.module.d.ts +2 -0
  346. package/dist/assets/server/system/system.module.js +26 -0
  347. package/dist/assets/server/system/system.module.js.map +1 -0
  348. package/dist/assets/server/system/system.service.d.ts +86 -0
  349. package/dist/assets/server/system/system.service.js +433 -0
  350. package/dist/assets/server/system/system.service.js.map +1 -0
  351. package/dist/assets/server/talent-fingerprint/fingerprint-match.service.d.ts +28 -0
  352. package/dist/assets/server/talent-fingerprint/fingerprint-match.service.js +186 -0
  353. package/dist/assets/server/talent-fingerprint/fingerprint-match.service.js.map +1 -0
  354. package/dist/assets/server/talent-fingerprint/talent-fingerprint.entity.d.ts +30 -0
  355. package/dist/assets/server/talent-fingerprint/talent-fingerprint.entity.js +55 -0
  356. package/dist/assets/server/talent-fingerprint/talent-fingerprint.entity.js.map +1 -0
  357. package/dist/assets/server/talent-fingerprint/talent-fingerprint.module.d.ts +2 -0
  358. package/dist/assets/server/talent-fingerprint/talent-fingerprint.module.js +25 -0
  359. package/dist/assets/server/talent-fingerprint/talent-fingerprint.module.js.map +1 -0
  360. package/dist/assets/server/talent-fingerprint/talent-fingerprint.service.d.ts +8 -0
  361. package/dist/assets/server/talent-fingerprint/talent-fingerprint.service.js +44 -0
  362. package/dist/assets/server/talent-fingerprint/talent-fingerprint.service.js.map +1 -0
  363. package/dist/assets/server/talent-job-match/talent-job-match.controller.d.ts +6 -0
  364. package/dist/assets/server/talent-job-match/talent-job-match.controller.js +42 -0
  365. package/dist/assets/server/talent-job-match/talent-job-match.controller.js.map +1 -0
  366. package/dist/assets/server/talent-job-match/talent-job-match.entity.d.ts +33 -0
  367. package/dist/assets/server/talent-job-match/talent-job-match.entity.js +73 -0
  368. package/dist/assets/server/talent-job-match/talent-job-match.entity.js.map +1 -0
  369. package/dist/assets/server/talent-job-match/talent-job-match.module.d.ts +2 -0
  370. package/dist/assets/server/talent-job-match/talent-job-match.module.js +26 -0
  371. package/dist/assets/server/talent-job-match/talent-job-match.module.js.map +1 -0
  372. package/dist/assets/server/talent-job-match/talent-job-match.service.d.ts +9 -0
  373. package/dist/assets/server/talent-job-match/talent-job-match.service.js +42 -0
  374. package/dist/assets/server/talent-job-match/talent-job-match.service.js.map +1 -0
  375. package/dist/assets/server/talent-portrait/portrait-merge.service.d.ts +17 -0
  376. package/dist/assets/server/talent-portrait/portrait-merge.service.js +200 -0
  377. package/dist/assets/server/talent-portrait/portrait-merge.service.js.map +1 -0
  378. package/dist/assets/server/talent-portrait/talent-portrait.controller.d.ts +7 -0
  379. package/dist/assets/server/talent-portrait/talent-portrait.controller.js +52 -0
  380. package/dist/assets/server/talent-portrait/talent-portrait.controller.js.map +1 -0
  381. package/dist/assets/server/talent-portrait/talent-portrait.entity.d.ts +91 -0
  382. package/dist/assets/server/talent-portrait/talent-portrait.entity.js +71 -0
  383. package/dist/assets/server/talent-portrait/talent-portrait.entity.js.map +1 -0
  384. package/dist/assets/server/talent-portrait/talent-portrait.module.d.ts +2 -0
  385. package/dist/assets/server/talent-portrait/talent-portrait.module.js +27 -0
  386. package/dist/assets/server/talent-portrait/talent-portrait.module.js.map +1 -0
  387. package/dist/assets/server/talent-portrait/talent-portrait.service.d.ts +10 -0
  388. package/dist/assets/server/talent-portrait/talent-portrait.service.js +46 -0
  389. package/dist/assets/server/talent-portrait/talent-portrait.service.js.map +1 -0
  390. package/dist/assets/server/telemetry/telemetry.module.d.ts +2 -0
  391. package/dist/assets/server/telemetry/telemetry.module.js +24 -0
  392. package/dist/assets/server/telemetry/telemetry.module.js.map +1 -0
  393. package/dist/assets/server/telemetry/telemetry.service.d.ts +29 -0
  394. package/dist/assets/server/telemetry/telemetry.service.js +116 -0
  395. package/dist/assets/server/telemetry/telemetry.service.js.map +1 -0
  396. package/dist/auto-doctor.d.ts +8 -0
  397. package/dist/auto-doctor.js +34 -0
  398. package/dist/bundled-assets.d.ts +22 -0
  399. package/dist/bundled-assets.js +80 -0
  400. package/dist/cache/db.js +10 -54
  401. package/dist/commands/addons.js +46 -71
  402. package/dist/commands/cache.js +29 -27
  403. package/dist/commands/config.d.ts +1 -1
  404. package/dist/commands/config.js +8 -12
  405. package/dist/commands/doctor.d.ts +38 -1
  406. package/dist/commands/doctor.js +214 -74
  407. package/dist/commands/extension.js +84 -98
  408. package/dist/commands/extras.d.ts +32 -2
  409. package/dist/commands/extras.js +252 -64
  410. package/dist/commands/init.js +18 -46
  411. package/dist/commands/install.js +31 -60
  412. package/dist/commands/job.js +27 -65
  413. package/dist/commands/login.js +50 -37
  414. package/dist/commands/logout.js +8 -12
  415. package/dist/commands/ops.js +94 -67
  416. package/dist/commands/record.js +21 -59
  417. package/dist/commands/report.js +14 -18
  418. package/dist/commands/search.js +14 -21
  419. package/dist/commands/server.d.ts +1 -1
  420. package/dist/commands/server.js +126 -112
  421. package/dist/commands/status.js +23 -27
  422. package/dist/commands/update.js +44 -79
  423. package/dist/config.d.ts +3 -0
  424. package/dist/config.js +12 -46
  425. package/dist/i18n/index.js +5 -11
  426. package/dist/i18n/locales/en-US.json +24 -1
  427. package/dist/i18n/locales/zh-CN.json +24 -1
  428. package/dist/index.cmd +3 -0
  429. package/dist/index.js +90 -98
  430. package/dist/index.ps1 +3 -0
  431. package/dist/keychain.js +9 -44
  432. package/dist/logger.d.ts +7 -0
  433. package/dist/logger.js +80 -0
  434. package/dist/native-check.d.ts +6 -0
  435. package/dist/native-check.js +23 -0
  436. package/dist/sentry.js +4 -8
  437. package/dist/updater.js +15 -52
  438. package/dist/utils/proc.d.ts +35 -0
  439. package/dist/utils/proc.js +81 -0
  440. package/dist/utils/spawn.d.ts +19 -0
  441. package/dist/utils/spawn.js +60 -0
  442. package/dist/version.d.ts +1 -1
  443. package/dist/version.js +183 -81
  444. package/dist/watchdog.d.ts +1 -0
  445. package/dist/watchdog.js +128 -0
  446. package/package.json +7 -6
  447. package/dist/commands/native-check.d.ts +0 -22
  448. package/dist/commands/native-check.js +0 -93
@@ -0,0 +1,493 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ExtractionEntityController = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const typeorm_1 = require("@nestjs/typeorm");
18
+ const typeorm_2 = require("typeorm");
19
+ const extraction_service_1 = require("./extraction.service");
20
+ const adapter_service_1 = require("./adapter.service");
21
+ const recording_event_entity_1 = require("../recording/entities/recording-event.entity");
22
+ const parse_log_entity_1 = require("./entities/parse-log.entity");
23
+ const adapter_rule_entity_1 = require("./entities/adapter-rule.entity");
24
+ const talent_profile_entity_1 = require("./entities/talent-profile.entity");
25
+ const job_posting_entity_1 = require("./entities/job-posting.entity");
26
+ const company_profile_entity_1 = require("./entities/company-profile.entity");
27
+ let ExtractionEntityController = class ExtractionEntityController {
28
+ extractionService;
29
+ adapterService;
30
+ parseLogRepo;
31
+ adapterRuleRepo;
32
+ talentRepo;
33
+ jobRepo;
34
+ companyRepo;
35
+ constructor(extractionService, adapterService, parseLogRepo, adapterRuleRepo, talentRepo, jobRepo, companyRepo) {
36
+ this.extractionService = extractionService;
37
+ this.adapterService = adapterService;
38
+ this.parseLogRepo = parseLogRepo;
39
+ this.adapterRuleRepo = adapterRuleRepo;
40
+ this.talentRepo = talentRepo;
41
+ this.jobRepo = jobRepo;
42
+ this.companyRepo = companyRepo;
43
+ }
44
+ listAdapters() {
45
+ return this.adapterService.list();
46
+ }
47
+ async createAdapterRule(body) {
48
+ if (!body.platform || !body.hostPattern || !body.ruleType) {
49
+ throw new common_1.BadRequestException('platform, hostPattern, ruleType required');
50
+ }
51
+ const rule = this.adapterRuleRepo.create({
52
+ platform: body.platform,
53
+ version: body.version || '1.0.0',
54
+ hostPattern: body.hostPattern,
55
+ pathPattern: body.pathPattern || '.*',
56
+ ruleType: body.ruleType,
57
+ rulePayload: body.rulePayload || {},
58
+ priority: body.priority ?? 0,
59
+ enabled: body.enabled ?? true,
60
+ });
61
+ const saved = await this.adapterRuleRepo.save(rule);
62
+ return { id: saved.id, platform: saved.platform, version: saved.version };
63
+ }
64
+ extractAdapter(body) {
65
+ return this.adapterService.run(body);
66
+ }
67
+ async listEntities(type = 'talent', limit, q, from, to) {
68
+ const take = Math.min(Number(limit) || 20, 100);
69
+ const like = q ? `%${q}%` : undefined;
70
+ if (type === 'job') {
71
+ const baseQb = this.jobRepo.createQueryBuilder('j');
72
+ if (like) {
73
+ baseQb.andWhere(new typeorm_2.Brackets((b) => {
74
+ b.where('j.title LIKE :q', { q: like })
75
+ .orWhere('j.company LIKE :q', { q: like })
76
+ .orWhere('j.source LIKE :q', { q: like })
77
+ .orWhere('j.sourceUrl LIKE :q', { q: like });
78
+ }));
79
+ }
80
+ if (from)
81
+ baseQb.andWhere('j.createdAt >= :from', { from });
82
+ if (to)
83
+ baseQb.andWhere('j.createdAt <= :to', { to });
84
+ const rawItems = await baseQb.orderBy('j.updatedAt', 'DESC').take(take).getMany();
85
+ const seen = new Set();
86
+ const items = [];
87
+ for (const item of rawItems) {
88
+ const key = (0, extraction_service_1.normalizeUrlForDedup)(item.sourceUrl);
89
+ if (seen.has(key))
90
+ continue;
91
+ seen.add(key);
92
+ items.push(item);
93
+ }
94
+ return { type, total: items.length, items };
95
+ }
96
+ if (type === 'company') {
97
+ const baseQb = this.companyRepo.createQueryBuilder('c');
98
+ if (like) {
99
+ baseQb.andWhere(new typeorm_2.Brackets((b) => {
100
+ b.where('c.name LIKE :q', { q: like })
101
+ .orWhere('c.source LIKE :q', { q: like })
102
+ .orWhere('c.sourceUrl LIKE :q', { q: like });
103
+ }));
104
+ }
105
+ if (from)
106
+ baseQb.andWhere('c.createdAt >= :from', { from });
107
+ if (to)
108
+ baseQb.andWhere('c.createdAt <= :to', { to });
109
+ const rawItems = await baseQb.orderBy('c.updatedAt', 'DESC').take(take).getMany();
110
+ const seen = new Set();
111
+ const items = [];
112
+ for (const item of rawItems) {
113
+ const key = (0, extraction_service_1.normalizeUrlForDedup)(item.sourceUrl);
114
+ if (seen.has(key))
115
+ continue;
116
+ seen.add(key);
117
+ items.push(item);
118
+ }
119
+ return { type, total: items.length, items };
120
+ }
121
+ const baseQb = this.talentRepo.createQueryBuilder('t');
122
+ if (like) {
123
+ baseQb.andWhere(new typeorm_2.Brackets((b) => {
124
+ b.where('t.name LIKE :q', { q: like })
125
+ .orWhere('t.headline LIKE :q', { q: like })
126
+ .orWhere('t.source LIKE :q', { q: like })
127
+ .orWhere('t.sourceUrl LIKE :q', { q: like });
128
+ }));
129
+ }
130
+ if (from)
131
+ baseQb.andWhere('t.createdAt >= :from', { from });
132
+ if (to)
133
+ baseQb.andWhere('t.createdAt <= :to', { to });
134
+ const rawItems = await baseQb.orderBy('t.updatedAt', 'DESC').take(take).getMany();
135
+ const seen = new Set();
136
+ const items = [];
137
+ for (const item of rawItems) {
138
+ const key = (0, extraction_service_1.normalizeUrlForDedup)(item.sourceUrl);
139
+ if (seen.has(key))
140
+ continue;
141
+ seen.add(key);
142
+ items.push(item);
143
+ }
144
+ return { type: 'talent', total: items.length, items };
145
+ }
146
+ async countEntities(type = 'talent', since, q, from, to) {
147
+ const like = q ? `%${q}%` : undefined;
148
+ const repo = type === 'job'
149
+ ? this.jobRepo
150
+ : type === 'company'
151
+ ? this.companyRepo
152
+ : this.talentRepo;
153
+ const alias = type === 'job' ? 'j' : type === 'company' ? 'c' : 't';
154
+ const qb = repo.createQueryBuilder(alias);
155
+ if (since) {
156
+ qb.andWhere(`${alias}.updatedAt > :since`, { since });
157
+ }
158
+ if (from)
159
+ qb.andWhere(`${alias}.createdAt >= :from`, { from });
160
+ if (to)
161
+ qb.andWhere(`${alias}.createdAt <= :to`, { to });
162
+ if (like) {
163
+ const textFields = type === 'job'
164
+ ? ['j.title', 'j.company', 'j.source', 'j.sourceUrl']
165
+ : type === 'company'
166
+ ? ['c.name', 'c.source', 'c.sourceUrl']
167
+ : ['t.name', 't.headline', 't.source', 't.sourceUrl'];
168
+ qb.andWhere(new typeorm_2.Brackets((b) => {
169
+ for (const field of textFields) {
170
+ b.orWhere(`${field} LIKE :q`, { q: like });
171
+ }
172
+ }));
173
+ }
174
+ const count = await qb.getCount();
175
+ return { type, count };
176
+ }
177
+ async getEntityByUrl(url) {
178
+ if (!url)
179
+ throw new common_1.BadRequestException('url required');
180
+ const sourceUrl = url;
181
+ let domain = '';
182
+ try {
183
+ domain = (0, extraction_service_1.etldPlus1)(new URL(sourceUrl).hostname);
184
+ }
185
+ catch {
186
+ throw new common_1.BadRequestException('invalid url');
187
+ }
188
+ const dedupKey = `${domain}:${(0, extraction_service_1.normalizeUrlForDedup)(sourceUrl)}`;
189
+ const candidates = [];
190
+ const talentByDedup = await this.talentRepo.find({ where: { dedupKey } });
191
+ const talentByUrl = await this.talentRepo.find({ where: { sourceUrl } });
192
+ for (const e of new Set([...talentByDedup, ...talentByUrl]))
193
+ candidates.push({ entity: e, type: 'talent' });
194
+ const jobByDedup = await this.jobRepo.find({ where: { dedupKey } });
195
+ const jobByUrl = await this.jobRepo.find({ where: { sourceUrl } });
196
+ for (const e of new Set([...jobByDedup, ...jobByUrl]))
197
+ candidates.push({ entity: e, type: 'job' });
198
+ const companyByDedup = await this.companyRepo.find({ where: { dedupKey } });
199
+ const companyByUrl = await this.companyRepo.find({ where: { sourceUrl } });
200
+ for (const e of new Set([...companyByDedup, ...companyByUrl]))
201
+ candidates.push({ entity: e, type: 'company' });
202
+ if (candidates.length === 0) {
203
+ return { found: false, url, dedupKey };
204
+ }
205
+ candidates.sort((a, b) => {
206
+ const ta = a.entity.updatedAt ? new Date(a.entity.updatedAt).getTime() : 0;
207
+ const tb = b.entity.updatedAt ? new Date(b.entity.updatedAt).getTime() : 0;
208
+ return tb - ta;
209
+ });
210
+ const { entity, type } = candidates[0];
211
+ const latestParse = await this.parseLogRepo.findOne({
212
+ where: { sourceUrl: entity.sourceUrl },
213
+ order: { createdAt: 'DESC' },
214
+ });
215
+ if (latestParse?.extractedFields && Object.keys(latestParse.extractedFields).length > 0) {
216
+ entity.extracted = { ...entity.extracted, ...latestParse.extractedFields };
217
+ }
218
+ return {
219
+ found: true,
220
+ type,
221
+ entity,
222
+ latestParse: latestParse ?? null,
223
+ };
224
+ }
225
+ async getEntity(type, id) {
226
+ const entityId = parseInt(id, 10);
227
+ if (Number.isNaN(entityId)) {
228
+ throw new common_1.BadRequestException('Invalid entity id');
229
+ }
230
+ if (type === 'talent') {
231
+ const entity = await this.talentRepo.findOne({ where: { id: entityId } });
232
+ if (!entity)
233
+ throw new common_1.NotFoundException(`Talent ${id} not found`);
234
+ return { type, entity };
235
+ }
236
+ if (type === 'job') {
237
+ const entity = await this.jobRepo.findOne({ where: { id: entityId } });
238
+ if (!entity)
239
+ throw new common_1.NotFoundException(`Job ${id} not found`);
240
+ return { type, entity };
241
+ }
242
+ if (type === 'company') {
243
+ const entity = await this.companyRepo.findOne({ where: { id: entityId } });
244
+ if (!entity)
245
+ throw new common_1.NotFoundException(`Company ${id} not found`);
246
+ return { type, entity };
247
+ }
248
+ throw new common_1.BadRequestException('Invalid entity type');
249
+ }
250
+ async getEntitySources(type, id) {
251
+ const entityId = parseInt(id, 10);
252
+ if (Number.isNaN(entityId)) {
253
+ throw new common_1.BadRequestException('Invalid entity id');
254
+ }
255
+ const validTypes = ['talent', 'job', 'company'];
256
+ if (!validTypes.includes(type)) {
257
+ throw new common_1.BadRequestException('Invalid entity type');
258
+ }
259
+ const items = await this.parseLogRepo.find({
260
+ where: { entityId, pageClass: type },
261
+ order: { createdAt: 'DESC' },
262
+ });
263
+ return { type, entityId, items };
264
+ }
265
+ async listParseLog(limit, status, q, from, to) {
266
+ const take = Math.min(Number(limit) || 50, 500);
267
+ const qb = this.parseLogRepo.createQueryBuilder('p').orderBy('p.createdAt', 'DESC').take(take);
268
+ if (status)
269
+ qb.andWhere('p.status = :status', { status: status });
270
+ if (q) {
271
+ const like = `%${q}%`;
272
+ qb.andWhere(new typeorm_2.Brackets((b) => {
273
+ b.where('p.sourceUrl LIKE :q', { q: like })
274
+ .orWhere('p.domain LIKE :q', { q: like })
275
+ .orWhere('p.sessionId LIKE :q', { q: like });
276
+ }));
277
+ }
278
+ if (from)
279
+ qb.andWhere('p.createdAt >= :from', { from });
280
+ if (to)
281
+ qb.andWhere('p.createdAt <= :to', { to });
282
+ const items = await qb.getMany();
283
+ const total = await this.parseLogRepo.count();
284
+ const abnormal = await this.parseLogRepo
285
+ .createQueryBuilder('p')
286
+ .where("p.status != 'ok'")
287
+ .getCount();
288
+ return { items, total, abnormal };
289
+ }
290
+ async countParseLog(since, status, q, from, to) {
291
+ const qb = this.parseLogRepo.createQueryBuilder('p');
292
+ if (since) {
293
+ qb.andWhere('p.createdAt > :since', { since });
294
+ }
295
+ if (status)
296
+ qb.andWhere('p.status = :status', { status: status });
297
+ if (q) {
298
+ const like = `%${q}%`;
299
+ qb.andWhere(new typeorm_2.Brackets((b) => {
300
+ b.where('p.sourceUrl LIKE :q', { q: like })
301
+ .orWhere('p.domain LIKE :q', { q: like })
302
+ .orWhere('p.sessionId LIKE :q', { q: like });
303
+ }));
304
+ }
305
+ if (from)
306
+ qb.andWhere('p.createdAt >= :from', { from });
307
+ if (to)
308
+ qb.andWhere('p.createdAt <= :to', { to });
309
+ const count = await qb.getCount();
310
+ return { count };
311
+ }
312
+ async getParseLog(id) {
313
+ const parseId = parseInt(id, 10);
314
+ if (Number.isNaN(parseId)) {
315
+ throw new common_1.BadRequestException('Invalid parse log id');
316
+ }
317
+ const item = await this.parseLogRepo.findOne({ where: { id: parseId } });
318
+ if (!item)
319
+ throw new common_1.NotFoundException(`Parse log ${id} not found`);
320
+ return item;
321
+ }
322
+ async suggestRule(sessionId) {
323
+ const eventRepo = this.parseLogRepo.manager.getRepository(recording_event_entity_1.RecordingEvent);
324
+ const events = await eventRepo.find({ where: { sessionId }, order: { createdAt: 'ASC' } });
325
+ return this.extractionService.suggestRule(sessionId, events);
326
+ }
327
+ parse(sessionId) {
328
+ return this.extractionService.parseSession(sessionId);
329
+ }
330
+ async setTags(type, id, body) {
331
+ const entityId = parseInt(id, 10);
332
+ const tags = Array.isArray(body?.tags) ? body.tags.filter((t) => typeof t === 'string' && t.trim()).map((t) => t.trim()) : [];
333
+ if (type === 'talent') {
334
+ const entity = await this.talentRepo.findOne({ where: { id: entityId } });
335
+ if (!entity)
336
+ throw new Error('Talent not found');
337
+ entity.tags = tags;
338
+ const saved = await this.talentRepo.save(entity);
339
+ return { type, id: saved.id, tags: saved.tags };
340
+ }
341
+ if (type === 'job') {
342
+ const entity = await this.jobRepo.findOne({ where: { id: entityId } });
343
+ if (!entity)
344
+ throw new Error('Job not found');
345
+ entity.tags = tags;
346
+ const saved = await this.jobRepo.save(entity);
347
+ return { type, id: saved.id, tags: saved.tags };
348
+ }
349
+ if (type === 'company') {
350
+ const entity = await this.companyRepo.findOne({ where: { id: entityId } });
351
+ if (!entity)
352
+ throw new Error('Company not found');
353
+ entity.tags = tags;
354
+ const saved = await this.companyRepo.save(entity);
355
+ return { type, id: saved.id, tags: saved.tags };
356
+ }
357
+ throw new Error('Invalid entity type');
358
+ }
359
+ };
360
+ exports.ExtractionEntityController = ExtractionEntityController;
361
+ __decorate([
362
+ (0, common_1.Get)('adapters'),
363
+ __metadata("design:type", Function),
364
+ __metadata("design:paramtypes", []),
365
+ __metadata("design:returntype", void 0)
366
+ ], ExtractionEntityController.prototype, "listAdapters", null);
367
+ __decorate([
368
+ (0, common_1.Post)('adapters'),
369
+ __param(0, (0, common_1.Body)()),
370
+ __metadata("design:type", Function),
371
+ __metadata("design:paramtypes", [Object]),
372
+ __metadata("design:returntype", Promise)
373
+ ], ExtractionEntityController.prototype, "createAdapterRule", null);
374
+ __decorate([
375
+ (0, common_1.Post)('extract/adapter'),
376
+ __param(0, (0, common_1.Body)()),
377
+ __metadata("design:type", Function),
378
+ __metadata("design:paramtypes", [Object]),
379
+ __metadata("design:returntype", void 0)
380
+ ], ExtractionEntityController.prototype, "extractAdapter", null);
381
+ __decorate([
382
+ (0, common_1.Get)('entities'),
383
+ __param(0, (0, common_1.Query)('type')),
384
+ __param(1, (0, common_1.Query)('limit')),
385
+ __param(2, (0, common_1.Query)('q')),
386
+ __param(3, (0, common_1.Query)('from')),
387
+ __param(4, (0, common_1.Query)('to')),
388
+ __metadata("design:type", Function),
389
+ __metadata("design:paramtypes", [Object, String, String, String, String]),
390
+ __metadata("design:returntype", Promise)
391
+ ], ExtractionEntityController.prototype, "listEntities", null);
392
+ __decorate([
393
+ (0, common_1.Get)('entities/count'),
394
+ __param(0, (0, common_1.Query)('type')),
395
+ __param(1, (0, common_1.Query)('since')),
396
+ __param(2, (0, common_1.Query)('q')),
397
+ __param(3, (0, common_1.Query)('from')),
398
+ __param(4, (0, common_1.Query)('to')),
399
+ __metadata("design:type", Function),
400
+ __metadata("design:paramtypes", [Object, String, String, String, String]),
401
+ __metadata("design:returntype", Promise)
402
+ ], ExtractionEntityController.prototype, "countEntities", null);
403
+ __decorate([
404
+ (0, common_1.Get)('entities/by-url'),
405
+ __param(0, (0, common_1.Query)('url')),
406
+ __metadata("design:type", Function),
407
+ __metadata("design:paramtypes", [String]),
408
+ __metadata("design:returntype", Promise)
409
+ ], ExtractionEntityController.prototype, "getEntityByUrl", null);
410
+ __decorate([
411
+ (0, common_1.Get)('entities/:type/:id'),
412
+ __param(0, (0, common_1.Param)('type')),
413
+ __param(1, (0, common_1.Param)('id')),
414
+ __metadata("design:type", Function),
415
+ __metadata("design:paramtypes", [String, String]),
416
+ __metadata("design:returntype", Promise)
417
+ ], ExtractionEntityController.prototype, "getEntity", null);
418
+ __decorate([
419
+ (0, common_1.Get)('entities/:type/:id/sources'),
420
+ __param(0, (0, common_1.Param)('type')),
421
+ __param(1, (0, common_1.Param)('id')),
422
+ __metadata("design:type", Function),
423
+ __metadata("design:paramtypes", [String, String]),
424
+ __metadata("design:returntype", Promise)
425
+ ], ExtractionEntityController.prototype, "getEntitySources", null);
426
+ __decorate([
427
+ (0, common_1.Get)('parse-log'),
428
+ __param(0, (0, common_1.Query)('limit')),
429
+ __param(1, (0, common_1.Query)('status')),
430
+ __param(2, (0, common_1.Query)('q')),
431
+ __param(3, (0, common_1.Query)('from')),
432
+ __param(4, (0, common_1.Query)('to')),
433
+ __metadata("design:type", Function),
434
+ __metadata("design:paramtypes", [String, String, String, String, String]),
435
+ __metadata("design:returntype", Promise)
436
+ ], ExtractionEntityController.prototype, "listParseLog", null);
437
+ __decorate([
438
+ (0, common_1.Get)('parse-log/count'),
439
+ __param(0, (0, common_1.Query)('since')),
440
+ __param(1, (0, common_1.Query)('status')),
441
+ __param(2, (0, common_1.Query)('q')),
442
+ __param(3, (0, common_1.Query)('from')),
443
+ __param(4, (0, common_1.Query)('to')),
444
+ __metadata("design:type", Function),
445
+ __metadata("design:paramtypes", [String, String, String, String, String]),
446
+ __metadata("design:returntype", Promise)
447
+ ], ExtractionEntityController.prototype, "countParseLog", null);
448
+ __decorate([
449
+ (0, common_1.Get)('parse-log/:id'),
450
+ __param(0, (0, common_1.Param)('id')),
451
+ __metadata("design:type", Function),
452
+ __metadata("design:paramtypes", [String]),
453
+ __metadata("design:returntype", Promise)
454
+ ], ExtractionEntityController.prototype, "getParseLog", null);
455
+ __decorate([
456
+ (0, common_1.Get)('api/recordings/:sessionId/suggest'),
457
+ __param(0, (0, common_1.Param)('sessionId')),
458
+ __metadata("design:type", Function),
459
+ __metadata("design:paramtypes", [String]),
460
+ __metadata("design:returntype", Promise)
461
+ ], ExtractionEntityController.prototype, "suggestRule", null);
462
+ __decorate([
463
+ (0, common_1.Post)('parse/:sessionId'),
464
+ __param(0, (0, common_1.Param)('sessionId')),
465
+ __metadata("design:type", Function),
466
+ __metadata("design:paramtypes", [String]),
467
+ __metadata("design:returntype", void 0)
468
+ ], ExtractionEntityController.prototype, "parse", null);
469
+ __decorate([
470
+ (0, common_1.Patch)('entities/:type/:id/tags'),
471
+ __param(0, (0, common_1.Param)('type')),
472
+ __param(1, (0, common_1.Param)('id')),
473
+ __param(2, (0, common_1.Body)()),
474
+ __metadata("design:type", Function),
475
+ __metadata("design:paramtypes", [String, String, Object]),
476
+ __metadata("design:returntype", Promise)
477
+ ], ExtractionEntityController.prototype, "setTags", null);
478
+ exports.ExtractionEntityController = ExtractionEntityController = __decorate([
479
+ (0, common_1.Controller)(),
480
+ __param(2, (0, typeorm_1.InjectRepository)(parse_log_entity_1.ParseLog)),
481
+ __param(3, (0, typeorm_1.InjectRepository)(adapter_rule_entity_1.AdapterRule)),
482
+ __param(4, (0, typeorm_1.InjectRepository)(talent_profile_entity_1.TalentProfile)),
483
+ __param(5, (0, typeorm_1.InjectRepository)(job_posting_entity_1.JobPosting)),
484
+ __param(6, (0, typeorm_1.InjectRepository)(company_profile_entity_1.CompanyProfile)),
485
+ __metadata("design:paramtypes", [extraction_service_1.ExtractionService,
486
+ adapter_service_1.AdapterService,
487
+ typeorm_2.Repository,
488
+ typeorm_2.Repository,
489
+ typeorm_2.Repository,
490
+ typeorm_2.Repository,
491
+ typeorm_2.Repository])
492
+ ], ExtractionEntityController);
493
+ //# sourceMappingURL=extraction-entity.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extraction-entity.controller.js","sourceRoot":"","sources":["../../src/extraction/extraction-entity.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { ExtractionRuleService, CreateRuleDto } from './extraction-rule.service';
2
+ export declare class ExtractionRuleController {
3
+ private readonly service;
4
+ constructor(service: ExtractionRuleService);
5
+ create(dto: CreateRuleDto): Promise<import("./extraction-rule.entity").ExtractionRule>;
6
+ findEnabled(): Promise<import("./extraction-rule.entity").ExtractionRule[]>;
7
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ExtractionRuleController = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const extraction_rule_service_1 = require("./extraction-rule.service");
18
+ let ExtractionRuleController = class ExtractionRuleController {
19
+ service;
20
+ constructor(service) {
21
+ this.service = service;
22
+ }
23
+ create(dto) {
24
+ return this.service.create(dto);
25
+ }
26
+ findEnabled() {
27
+ return this.service.findEnabled();
28
+ }
29
+ };
30
+ exports.ExtractionRuleController = ExtractionRuleController;
31
+ __decorate([
32
+ (0, common_1.Post)(),
33
+ __param(0, (0, common_1.Body)()),
34
+ __metadata("design:type", Function),
35
+ __metadata("design:paramtypes", [Object]),
36
+ __metadata("design:returntype", void 0)
37
+ ], ExtractionRuleController.prototype, "create", null);
38
+ __decorate([
39
+ (0, common_1.Get)(),
40
+ __metadata("design:type", Function),
41
+ __metadata("design:paramtypes", []),
42
+ __metadata("design:returntype", void 0)
43
+ ], ExtractionRuleController.prototype, "findEnabled", null);
44
+ exports.ExtractionRuleController = ExtractionRuleController = __decorate([
45
+ (0, common_1.Controller)('extraction-rules'),
46
+ __metadata("design:paramtypes", [extraction_rule_service_1.ExtractionRuleService])
47
+ ], ExtractionRuleController);
48
+ //# sourceMappingURL=extraction-rule.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extraction-rule.controller.js","sourceRoot":"","sources":["../../src/extraction/extraction-rule.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA6D;AAC7D,uEAAiF;AAG1E,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IACN;IAA7B,YAA6B,OAA8B;QAA9B,YAAO,GAAP,OAAO,CAAuB;IAAG,CAAC;IAG/D,MAAM,CAAS,GAAkB;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAGD,WAAW;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IACpC,CAAC;CACF,CAAA;AAZY,4DAAwB;AAInC;IADC,IAAA,aAAI,GAAE;IACC,WAAA,IAAA,aAAI,GAAE,CAAA;;;;sDAEb;AAGD;IADC,IAAA,YAAG,GAAE;;;;2DAGL;mCAXU,wBAAwB;IADpC,IAAA,mBAAU,EAAC,kBAAkB,CAAC;qCAES,+CAAqB;GADhD,wBAAwB,CAYpC"}
@@ -0,0 +1,15 @@
1
+ export type RuleType = 'selector' | 'regex' | 'script';
2
+ export declare class ExtractionRule {
3
+ id: number;
4
+ ruleId: string;
5
+ version: string;
6
+ targetHost: string;
7
+ targetPathPattern: string;
8
+ ruleType: RuleType;
9
+ entityType?: 'talent' | 'job' | 'company' | null;
10
+ rulePayload: Record<string, any>;
11
+ extractedSchema?: Record<string, any>;
12
+ priority: number;
13
+ enabled: boolean;
14
+ createdAt: Date;
15
+ }