hunter-mate 0.1.1 → 0.1.3

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 (403) hide show
  1. package/dist/assets/extension/_locales/en_US/messages.json +5 -0
  2. package/dist/assets/extension/_locales/zh_CN/messages.json +5 -0
  3. package/dist/assets/extension/background/service-worker.js +3253 -0
  4. package/dist/assets/extension/content/index.js +13660 -0
  5. package/dist/assets/extension/manifest.json +49 -0
  6. package/dist/assets/extension/package.json +24 -0
  7. package/dist/assets/extension/sidepanel/index.html +400 -0
  8. package/dist/assets/extension/sidepanel/index.js +852 -0
  9. package/dist/assets/server/agent-session/agent-session.controller.d.ts +32 -0
  10. package/dist/assets/server/agent-session/agent-session.controller.js +83 -0
  11. package/dist/assets/server/agent-session/agent-session.controller.js.map +1 -0
  12. package/dist/assets/server/agent-session/agent-session.guard.d.ts +4 -0
  13. package/dist/assets/server/agent-session/agent-session.guard.js +32 -0
  14. package/dist/assets/server/agent-session/agent-session.guard.js.map +1 -0
  15. package/dist/assets/server/agent-session/agent-session.module.d.ts +2 -0
  16. package/dist/assets/server/agent-session/agent-session.module.js +28 -0
  17. package/dist/assets/server/agent-session/agent-session.module.js.map +1 -0
  18. package/dist/assets/server/agent-session/agent-session.service.d.ts +54 -0
  19. package/dist/assets/server/agent-session/agent-session.service.js +431 -0
  20. package/dist/assets/server/agent-session/agent-session.service.js.map +1 -0
  21. package/dist/assets/server/agent-session/agent-session.types.d.ts +56 -0
  22. package/dist/assets/server/agent-session/agent-session.types.js +3 -0
  23. package/dist/assets/server/agent-session/agent-session.types.js.map +1 -0
  24. package/dist/assets/server/agent-session/entities/agent-event.entity.d.ts +12 -0
  25. package/dist/assets/server/agent-session/entities/agent-event.entity.js +73 -0
  26. package/dist/assets/server/agent-session/entities/agent-event.entity.js.map +1 -0
  27. package/dist/assets/server/agent-session/entities/agent-message.entity.d.ts +13 -0
  28. package/dist/assets/server/agent-session/entities/agent-message.entity.js +77 -0
  29. package/dist/assets/server/agent-session/entities/agent-message.entity.js.map +1 -0
  30. package/dist/assets/server/agent-session/entities/agent-session.entity.d.ts +14 -0
  31. package/dist/assets/server/agent-session/entities/agent-session.entity.js +83 -0
  32. package/dist/assets/server/agent-session/entities/agent-session.entity.js.map +1 -0
  33. package/dist/assets/server/app.module.d.ts +4 -0
  34. package/dist/assets/server/app.module.js +125 -0
  35. package/dist/assets/server/app.module.js.map +1 -0
  36. package/dist/assets/server/auth/auth.controller.d.ts +22 -0
  37. package/dist/assets/server/auth/auth.controller.js +88 -0
  38. package/dist/assets/server/auth/auth.controller.js.map +1 -0
  39. package/dist/assets/server/auth/auth.middleware.d.ts +5 -0
  40. package/dist/assets/server/auth/auth.middleware.js +34 -0
  41. package/dist/assets/server/auth/auth.middleware.js.map +1 -0
  42. package/dist/assets/server/auth/auth.module.d.ts +2 -0
  43. package/dist/assets/server/auth/auth.module.js +24 -0
  44. package/dist/assets/server/auth/auth.module.js.map +1 -0
  45. package/dist/assets/server/auth/auth.service.d.ts +30 -0
  46. package/dist/assets/server/auth/auth.service.js +183 -0
  47. package/dist/assets/server/auth/auth.service.js.map +1 -0
  48. package/dist/assets/server/auth/auth.types.d.ts +28 -0
  49. package/dist/assets/server/auth/auth.types.js +3 -0
  50. package/dist/assets/server/auth/auth.types.js.map +1 -0
  51. package/dist/assets/server/build-info.json +4 -0
  52. package/dist/assets/server/common/common.module.d.ts +2 -0
  53. package/dist/assets/server/common/common.module.js +22 -0
  54. package/dist/assets/server/common/common.module.js.map +1 -0
  55. package/dist/assets/server/common/crypto.service.d.ts +11 -0
  56. package/dist/assets/server/common/crypto.service.js +73 -0
  57. package/dist/assets/server/common/crypto.service.js.map +1 -0
  58. package/dist/assets/server/communication/communication-record.entity.d.ts +15 -0
  59. package/dist/assets/server/communication/communication-record.entity.js +80 -0
  60. package/dist/assets/server/communication/communication-record.entity.js.map +1 -0
  61. package/dist/assets/server/communication/communication.controller.d.ts +12 -0
  62. package/dist/assets/server/communication/communication.controller.js +61 -0
  63. package/dist/assets/server/communication/communication.controller.js.map +1 -0
  64. package/dist/assets/server/communication/communication.module.d.ts +2 -0
  65. package/dist/assets/server/communication/communication.module.js +25 -0
  66. package/dist/assets/server/communication/communication.module.js.map +1 -0
  67. package/dist/assets/server/communication/communication.service.d.ts +23 -0
  68. package/dist/assets/server/communication/communication.service.js +51 -0
  69. package/dist/assets/server/communication/communication.service.js.map +1 -0
  70. package/dist/assets/server/db/schema-validator.service.d.ts +25 -0
  71. package/dist/assets/server/db/schema-validator.service.js +107 -0
  72. package/dist/assets/server/db/schema-validator.service.js.map +1 -0
  73. package/dist/assets/server/db/schema-version.entity.d.ts +5 -0
  74. package/dist/assets/server/db/schema-version.entity.js +35 -0
  75. package/dist/assets/server/db/schema-version.entity.js.map +1 -0
  76. package/dist/assets/server/db/sqlite.module.d.ts +2 -0
  77. package/dist/assets/server/db/sqlite.module.js +79 -0
  78. package/dist/assets/server/db/sqlite.module.js.map +1 -0
  79. package/dist/assets/server/devops/devops-sink-init.d.ts +10 -0
  80. package/dist/assets/server/devops/devops-sink-init.js +96 -0
  81. package/dist/assets/server/devops/devops-sink-init.js.map +1 -0
  82. package/dist/assets/server/devops/devops-sink-init.spec.d.ts +1 -0
  83. package/dist/assets/server/devops/devops-sink-init.spec.js +71 -0
  84. package/dist/assets/server/devops/devops-sink-init.spec.js.map +1 -0
  85. package/dist/assets/server/devops/devops-sink.module.d.ts +2 -0
  86. package/dist/assets/server/devops/devops-sink.module.js +22 -0
  87. package/dist/assets/server/devops/devops-sink.module.js.map +1 -0
  88. package/dist/assets/server/extension/extension-control.controller.d.ts +67 -0
  89. package/dist/assets/server/extension/extension-control.controller.js +173 -0
  90. package/dist/assets/server/extension/extension-control.controller.js.map +1 -0
  91. package/dist/assets/server/extension/extension-control.service.d.ts +46 -0
  92. package/dist/assets/server/extension/extension-control.service.js +212 -0
  93. package/dist/assets/server/extension/extension-control.service.js.map +1 -0
  94. package/dist/assets/server/extension/extension-core.module.d.ts +2 -0
  95. package/dist/assets/server/extension/extension-core.module.js +21 -0
  96. package/dist/assets/server/extension/extension-core.module.js.map +1 -0
  97. package/dist/assets/server/extension/extension-version.controller.d.ts +6 -0
  98. package/dist/assets/server/extension/extension-version.controller.js +41 -0
  99. package/dist/assets/server/extension/extension-version.controller.js.map +1 -0
  100. package/dist/assets/server/extension/extension.module.d.ts +2 -0
  101. package/dist/assets/server/extension/extension.module.js +25 -0
  102. package/dist/assets/server/extension/extension.module.js.map +1 -0
  103. package/dist/assets/server/extraction/adapter.service.d.ts +41 -0
  104. package/dist/assets/server/extraction/adapter.service.js +161 -0
  105. package/dist/assets/server/extraction/adapter.service.js.map +1 -0
  106. package/dist/assets/server/extraction/entities/company-profile.entity.d.ts +14 -0
  107. package/dist/assets/server/extraction/entities/company-profile.entity.js +81 -0
  108. package/dist/assets/server/extraction/entities/company-profile.entity.js.map +1 -0
  109. package/dist/assets/server/extraction/entities/job-posting.entity.d.ts +15 -0
  110. package/dist/assets/server/extraction/entities/job-posting.entity.js +86 -0
  111. package/dist/assets/server/extraction/entities/job-posting.entity.js.map +1 -0
  112. package/dist/assets/server/extraction/entities/parse-log.entity.d.ts +15 -0
  113. package/dist/assets/server/extraction/entities/parse-log.entity.js +87 -0
  114. package/dist/assets/server/extraction/entities/parse-log.entity.js.map +1 -0
  115. package/dist/assets/server/extraction/entities/talent-profile.entity.d.ts +15 -0
  116. package/dist/assets/server/extraction/entities/talent-profile.entity.js +86 -0
  117. package/dist/assets/server/extraction/entities/talent-profile.entity.js.map +1 -0
  118. package/dist/assets/server/extraction/extraction-entity.controller.d.ts +100 -0
  119. package/dist/assets/server/extraction/extraction-entity.controller.js +310 -0
  120. package/dist/assets/server/extraction/extraction-entity.controller.js.map +1 -0
  121. package/dist/assets/server/extraction/extraction-rule.controller.d.ts +7 -0
  122. package/dist/assets/server/extraction/extraction-rule.controller.js +48 -0
  123. package/dist/assets/server/extraction/extraction-rule.controller.js.map +1 -0
  124. package/dist/assets/server/extraction/extraction-rule.entity.d.ts +15 -0
  125. package/dist/assets/server/extraction/extraction-rule.entity.js +80 -0
  126. package/dist/assets/server/extraction/extraction-rule.entity.js.map +1 -0
  127. package/dist/assets/server/extraction/extraction-rule.service.d.ts +24 -0
  128. package/dist/assets/server/extraction/extraction-rule.service.js +81 -0
  129. package/dist/assets/server/extraction/extraction-rule.service.js.map +1 -0
  130. package/dist/assets/server/extraction/extraction.module.d.ts +2 -0
  131. package/dist/assets/server/extraction/extraction.module.js +43 -0
  132. package/dist/assets/server/extraction/extraction.module.js.map +1 -0
  133. package/dist/assets/server/extraction/extraction.service.d.ts +62 -0
  134. package/dist/assets/server/extraction/extraction.service.js +347 -0
  135. package/dist/assets/server/extraction/extraction.service.js.map +1 -0
  136. package/dist/assets/server/extraction/script-rule.d.ts +13 -0
  137. package/dist/assets/server/extraction/script-rule.js +45 -0
  138. package/dist/assets/server/extraction/script-rule.js.map +1 -0
  139. package/dist/assets/server/extraction/structured-data.d.ts +7 -0
  140. package/dist/assets/server/extraction/structured-data.js +96 -0
  141. package/dist/assets/server/extraction/structured-data.js.map +1 -0
  142. package/dist/assets/server/hcapi/hcapi.module.d.ts +2 -0
  143. package/dist/assets/server/hcapi/hcapi.module.js +23 -0
  144. package/dist/assets/server/hcapi/hcapi.module.js.map +1 -0
  145. package/dist/assets/server/hcapi/hcapi.service.d.ts +28 -0
  146. package/dist/assets/server/hcapi/hcapi.service.js +81 -0
  147. package/dist/assets/server/hcapi/hcapi.service.js.map +1 -0
  148. package/dist/assets/server/health/health.controller.d.ts +19 -0
  149. package/dist/assets/server/health/health.controller.js +59 -0
  150. package/dist/assets/server/health/health.controller.js.map +1 -0
  151. package/dist/assets/server/jobcase/jobcase.controller.d.ts +12 -0
  152. package/dist/assets/server/jobcase/jobcase.controller.js +61 -0
  153. package/dist/assets/server/jobcase/jobcase.controller.js.map +1 -0
  154. package/dist/assets/server/jobcase/jobcase.entity.d.ts +13 -0
  155. package/dist/assets/server/jobcase/jobcase.entity.js +71 -0
  156. package/dist/assets/server/jobcase/jobcase.entity.js.map +1 -0
  157. package/dist/assets/server/jobcase/jobcase.module.d.ts +2 -0
  158. package/dist/assets/server/jobcase/jobcase.module.js +26 -0
  159. package/dist/assets/server/jobcase/jobcase.module.js.map +1 -0
  160. package/dist/assets/server/jobcase/jobcase.service.d.ts +21 -0
  161. package/dist/assets/server/jobcase/jobcase.service.js +56 -0
  162. package/dist/assets/server/jobcase/jobcase.service.js.map +1 -0
  163. package/dist/assets/server/llm/llm.module.d.ts +2 -0
  164. package/dist/assets/server/llm/llm.module.js +21 -0
  165. package/dist/assets/server/llm/llm.module.js.map +1 -0
  166. package/dist/assets/server/llm/llm.service.d.ts +18 -0
  167. package/dist/assets/server/llm/llm.service.js +65 -0
  168. package/dist/assets/server/llm/llm.service.js.map +1 -0
  169. package/dist/assets/server/main.d.ts +1 -0
  170. package/dist/assets/server/main.js +30 -0
  171. package/dist/assets/server/main.js.map +1 -0
  172. package/dist/assets/server/matching/matching.controller.d.ts +16 -0
  173. package/dist/assets/server/matching/matching.controller.js +97 -0
  174. package/dist/assets/server/matching/matching.controller.js.map +1 -0
  175. package/dist/assets/server/matching/matching.module.d.ts +2 -0
  176. package/dist/assets/server/matching/matching.module.js +36 -0
  177. package/dist/assets/server/matching/matching.module.js.map +1 -0
  178. package/dist/assets/server/matching/matching.service.d.ts +55 -0
  179. package/dist/assets/server/matching/matching.service.js +409 -0
  180. package/dist/assets/server/matching/matching.service.js.map +1 -0
  181. package/dist/assets/server/package.json +57 -0
  182. package/dist/assets/server/parsed-resume/parsed-resume.controller.d.ts +6 -0
  183. package/dist/assets/server/parsed-resume/parsed-resume.controller.js +42 -0
  184. package/dist/assets/server/parsed-resume/parsed-resume.controller.js.map +1 -0
  185. package/dist/assets/server/parsed-resume/parsed-resume.entity.d.ts +124 -0
  186. package/dist/assets/server/parsed-resume/parsed-resume.entity.js +72 -0
  187. package/dist/assets/server/parsed-resume/parsed-resume.entity.js.map +1 -0
  188. package/dist/assets/server/parsed-resume/parsed-resume.module.d.ts +2 -0
  189. package/dist/assets/server/parsed-resume/parsed-resume.module.js +26 -0
  190. package/dist/assets/server/parsed-resume/parsed-resume.module.js.map +1 -0
  191. package/dist/assets/server/parsed-resume/parsed-resume.service.d.ts +10 -0
  192. package/dist/assets/server/parsed-resume/parsed-resume.service.js +45 -0
  193. package/dist/assets/server/parsed-resume/parsed-resume.service.js.map +1 -0
  194. package/dist/assets/server/parsing/parse-error-report.entity.d.ts +11 -0
  195. package/dist/assets/server/parsing/parse-error-report.entity.js +66 -0
  196. package/dist/assets/server/parsing/parse-error-report.entity.js.map +1 -0
  197. package/dist/assets/server/parsing/parsing.controller.d.ts +19 -0
  198. package/dist/assets/server/parsing/parsing.controller.js +97 -0
  199. package/dist/assets/server/parsing/parsing.controller.js.map +1 -0
  200. package/dist/assets/server/parsing/parsing.module.d.ts +2 -0
  201. package/dist/assets/server/parsing/parsing.module.js +38 -0
  202. package/dist/assets/server/parsing/parsing.module.js.map +1 -0
  203. package/dist/assets/server/parsing/parsing.service.d.ts +38 -0
  204. package/dist/assets/server/parsing/parsing.service.js +263 -0
  205. package/dist/assets/server/parsing/parsing.service.js.map +1 -0
  206. package/dist/assets/server/query/fields-meta.controller.d.ts +28 -0
  207. package/dist/assets/server/query/fields-meta.controller.js +57 -0
  208. package/dist/assets/server/query/fields-meta.controller.js.map +1 -0
  209. package/dist/assets/server/query/query-builder.controller.d.ts +11 -0
  210. package/dist/assets/server/query/query-builder.controller.js +40 -0
  211. package/dist/assets/server/query/query-builder.controller.js.map +1 -0
  212. package/dist/assets/server/query/query-builder.service.d.ts +8 -0
  213. package/dist/assets/server/query/query-builder.service.js +41 -0
  214. package/dist/assets/server/query/query-builder.service.js.map +1 -0
  215. package/dist/assets/server/query/query.module.d.ts +2 -0
  216. package/dist/assets/server/query/query.module.js +23 -0
  217. package/dist/assets/server/query/query.module.js.map +1 -0
  218. package/dist/assets/server/recording/entities/recording-event.entity.d.ts +9 -0
  219. package/dist/assets/server/recording/entities/recording-event.entity.js +56 -0
  220. package/dist/assets/server/recording/entities/recording-event.entity.js.map +1 -0
  221. package/dist/assets/server/recording/recording.controller.d.ts +52 -0
  222. package/dist/assets/server/recording/recording.controller.js +73 -0
  223. package/dist/assets/server/recording/recording.controller.js.map +1 -0
  224. package/dist/assets/server/recording/recording.gateway.d.ts +15 -0
  225. package/dist/assets/server/recording/recording.gateway.js +117 -0
  226. package/dist/assets/server/recording/recording.gateway.js.map +1 -0
  227. package/dist/assets/server/recording/recording.module.d.ts +2 -0
  228. package/dist/assets/server/recording/recording.module.js +29 -0
  229. package/dist/assets/server/recording/recording.module.js.map +1 -0
  230. package/dist/assets/server/recording/recording.service.d.ts +59 -0
  231. package/dist/assets/server/recording/recording.service.js +111 -0
  232. package/dist/assets/server/recording/recording.service.js.map +1 -0
  233. package/dist/assets/server/remark/remark.controller.d.ts +21 -0
  234. package/dist/assets/server/remark/remark.controller.js +59 -0
  235. package/dist/assets/server/remark/remark.controller.js.map +1 -0
  236. package/dist/assets/server/remark/remark.entity.d.ts +18 -0
  237. package/dist/assets/server/remark/remark.entity.js +67 -0
  238. package/dist/assets/server/remark/remark.entity.js.map +1 -0
  239. package/dist/assets/server/remark/remark.module.d.ts +2 -0
  240. package/dist/assets/server/remark/remark.module.js +26 -0
  241. package/dist/assets/server/remark/remark.module.js.map +1 -0
  242. package/dist/assets/server/remark/remark.service.d.ts +8 -0
  243. package/dist/assets/server/remark/remark.service.js +39 -0
  244. package/dist/assets/server/remark/remark.service.js.map +1 -0
  245. package/dist/assets/server/report/report.controller.d.ts +18 -0
  246. package/dist/assets/server/report/report.controller.js +41 -0
  247. package/dist/assets/server/report/report.controller.js.map +1 -0
  248. package/dist/assets/server/report/report.module.d.ts +2 -0
  249. package/dist/assets/server/report/report.module.js +24 -0
  250. package/dist/assets/server/report/report.module.js.map +1 -0
  251. package/dist/assets/server/report/report.service.d.ts +23 -0
  252. package/dist/assets/server/report/report.service.js +54 -0
  253. package/dist/assets/server/report/report.service.js.map +1 -0
  254. package/dist/assets/server/rules/rules.controller.d.ts +6 -0
  255. package/dist/assets/server/rules/rules.controller.js +35 -0
  256. package/dist/assets/server/rules/rules.controller.js.map +1 -0
  257. package/dist/assets/server/rules/rules.module.d.ts +2 -0
  258. package/dist/assets/server/rules/rules.module.js +23 -0
  259. package/dist/assets/server/rules/rules.module.js.map +1 -0
  260. package/dist/assets/server/rules/rules.service.d.ts +10 -0
  261. package/dist/assets/server/rules/rules.service.js +26 -0
  262. package/dist/assets/server/rules/rules.service.js.map +1 -0
  263. package/dist/assets/server/search/search.controller.d.ts +6 -0
  264. package/dist/assets/server/search/search.controller.js +53 -0
  265. package/dist/assets/server/search/search.controller.js.map +1 -0
  266. package/dist/assets/server/search/search.module.d.ts +2 -0
  267. package/dist/assets/server/search/search.module.js +24 -0
  268. package/dist/assets/server/search/search.module.js.map +1 -0
  269. package/dist/assets/server/search/search.service.d.ts +6 -0
  270. package/dist/assets/server/search/search.service.js +46 -0
  271. package/dist/assets/server/search/search.service.js.map +1 -0
  272. package/dist/assets/server/sentry.d.ts +3 -0
  273. package/dist/assets/server/sentry.js +10 -0
  274. package/dist/assets/server/sentry.js.map +1 -0
  275. package/dist/assets/server/site/entities/site-registry.entity.d.ts +11 -0
  276. package/dist/assets/server/site/entities/site-registry.entity.js +66 -0
  277. package/dist/assets/server/site/entities/site-registry.entity.js.map +1 -0
  278. package/dist/assets/server/site/site.controller.d.ts +36 -0
  279. package/dist/assets/server/site/site.controller.js +60 -0
  280. package/dist/assets/server/site/site.controller.js.map +1 -0
  281. package/dist/assets/server/site/site.module.d.ts +2 -0
  282. package/dist/assets/server/site/site.module.js +26 -0
  283. package/dist/assets/server/site/site.module.js.map +1 -0
  284. package/dist/assets/server/site/site.service.d.ts +37 -0
  285. package/dist/assets/server/site/site.service.js +134 -0
  286. package/dist/assets/server/site/site.service.js.map +1 -0
  287. package/dist/assets/server/snapshot/raw-snapshot.entity.d.ts +35 -0
  288. package/dist/assets/server/snapshot/raw-snapshot.entity.js +62 -0
  289. package/dist/assets/server/snapshot/raw-snapshot.entity.js.map +1 -0
  290. package/dist/assets/server/snapshot/snapshot.controller.d.ts +18 -0
  291. package/dist/assets/server/snapshot/snapshot.controller.js +76 -0
  292. package/dist/assets/server/snapshot/snapshot.controller.js.map +1 -0
  293. package/dist/assets/server/snapshot/snapshot.module.d.ts +2 -0
  294. package/dist/assets/server/snapshot/snapshot.module.js +26 -0
  295. package/dist/assets/server/snapshot/snapshot.module.js.map +1 -0
  296. package/dist/assets/server/snapshot/snapshot.service.d.ts +10 -0
  297. package/dist/assets/server/snapshot/snapshot.service.js +48 -0
  298. package/dist/assets/server/snapshot/snapshot.service.js.map +1 -0
  299. package/dist/assets/server/system/system.controller.d.ts +39 -0
  300. package/dist/assets/server/system/system.controller.js +93 -0
  301. package/dist/assets/server/system/system.controller.js.map +1 -0
  302. package/dist/assets/server/system/system.module.d.ts +2 -0
  303. package/dist/assets/server/system/system.module.js +26 -0
  304. package/dist/assets/server/system/system.module.js.map +1 -0
  305. package/dist/assets/server/system/system.service.d.ts +86 -0
  306. package/dist/assets/server/system/system.service.js +433 -0
  307. package/dist/assets/server/system/system.service.js.map +1 -0
  308. package/dist/assets/server/talent-fingerprint/fingerprint-match.service.d.ts +28 -0
  309. package/dist/assets/server/talent-fingerprint/fingerprint-match.service.js +186 -0
  310. package/dist/assets/server/talent-fingerprint/fingerprint-match.service.js.map +1 -0
  311. package/dist/assets/server/talent-fingerprint/talent-fingerprint.entity.d.ts +30 -0
  312. package/dist/assets/server/talent-fingerprint/talent-fingerprint.entity.js +55 -0
  313. package/dist/assets/server/talent-fingerprint/talent-fingerprint.entity.js.map +1 -0
  314. package/dist/assets/server/talent-fingerprint/talent-fingerprint.module.d.ts +2 -0
  315. package/dist/assets/server/talent-fingerprint/talent-fingerprint.module.js +25 -0
  316. package/dist/assets/server/talent-fingerprint/talent-fingerprint.module.js.map +1 -0
  317. package/dist/assets/server/talent-fingerprint/talent-fingerprint.service.d.ts +8 -0
  318. package/dist/assets/server/talent-fingerprint/talent-fingerprint.service.js +44 -0
  319. package/dist/assets/server/talent-fingerprint/talent-fingerprint.service.js.map +1 -0
  320. package/dist/assets/server/talent-job-match/talent-job-match.controller.d.ts +6 -0
  321. package/dist/assets/server/talent-job-match/talent-job-match.controller.js +42 -0
  322. package/dist/assets/server/talent-job-match/talent-job-match.controller.js.map +1 -0
  323. package/dist/assets/server/talent-job-match/talent-job-match.entity.d.ts +33 -0
  324. package/dist/assets/server/talent-job-match/talent-job-match.entity.js +73 -0
  325. package/dist/assets/server/talent-job-match/talent-job-match.entity.js.map +1 -0
  326. package/dist/assets/server/talent-job-match/talent-job-match.module.d.ts +2 -0
  327. package/dist/assets/server/talent-job-match/talent-job-match.module.js +26 -0
  328. package/dist/assets/server/talent-job-match/talent-job-match.module.js.map +1 -0
  329. package/dist/assets/server/talent-job-match/talent-job-match.service.d.ts +9 -0
  330. package/dist/assets/server/talent-job-match/talent-job-match.service.js +42 -0
  331. package/dist/assets/server/talent-job-match/talent-job-match.service.js.map +1 -0
  332. package/dist/assets/server/talent-portrait/portrait-merge.service.d.ts +17 -0
  333. package/dist/assets/server/talent-portrait/portrait-merge.service.js +200 -0
  334. package/dist/assets/server/talent-portrait/portrait-merge.service.js.map +1 -0
  335. package/dist/assets/server/talent-portrait/talent-portrait.controller.d.ts +7 -0
  336. package/dist/assets/server/talent-portrait/talent-portrait.controller.js +52 -0
  337. package/dist/assets/server/talent-portrait/talent-portrait.controller.js.map +1 -0
  338. package/dist/assets/server/talent-portrait/talent-portrait.entity.d.ts +91 -0
  339. package/dist/assets/server/talent-portrait/talent-portrait.entity.js +71 -0
  340. package/dist/assets/server/talent-portrait/talent-portrait.entity.js.map +1 -0
  341. package/dist/assets/server/talent-portrait/talent-portrait.module.d.ts +2 -0
  342. package/dist/assets/server/talent-portrait/talent-portrait.module.js +27 -0
  343. package/dist/assets/server/talent-portrait/talent-portrait.module.js.map +1 -0
  344. package/dist/assets/server/talent-portrait/talent-portrait.service.d.ts +10 -0
  345. package/dist/assets/server/talent-portrait/talent-portrait.service.js +46 -0
  346. package/dist/assets/server/talent-portrait/talent-portrait.service.js.map +1 -0
  347. package/dist/assets/server/telemetry/telemetry.module.d.ts +2 -0
  348. package/dist/assets/server/telemetry/telemetry.module.js +24 -0
  349. package/dist/assets/server/telemetry/telemetry.module.js.map +1 -0
  350. package/dist/assets/server/telemetry/telemetry.service.d.ts +29 -0
  351. package/dist/assets/server/telemetry/telemetry.service.js +116 -0
  352. package/dist/assets/server/telemetry/telemetry.service.js.map +1 -0
  353. package/dist/bundled-assets.d.ts +22 -0
  354. package/dist/bundled-assets.js +80 -0
  355. package/dist/cache/db.js +10 -54
  356. package/dist/commands/addons.js +46 -71
  357. package/dist/commands/cache.js +29 -27
  358. package/dist/commands/config.d.ts +1 -1
  359. package/dist/commands/config.js +8 -12
  360. package/dist/commands/doctor.d.ts +0 -1
  361. package/dist/commands/doctor.js +52 -67
  362. package/dist/commands/extension.js +82 -96
  363. package/dist/commands/extras.d.ts +31 -1
  364. package/dist/commands/extras.js +248 -61
  365. package/dist/commands/init.js +18 -46
  366. package/dist/commands/install.js +20 -52
  367. package/dist/commands/job.js +27 -65
  368. package/dist/commands/login.js +50 -37
  369. package/dist/commands/logout.js +8 -12
  370. package/dist/commands/ops.js +94 -67
  371. package/dist/commands/record.js +21 -59
  372. package/dist/commands/report.js +14 -18
  373. package/dist/commands/search.js +14 -21
  374. package/dist/commands/server.d.ts +1 -1
  375. package/dist/commands/server.js +126 -112
  376. package/dist/commands/status.js +23 -27
  377. package/dist/commands/update.js +44 -79
  378. package/dist/config.d.ts +3 -0
  379. package/dist/config.js +12 -46
  380. package/dist/i18n/index.js +5 -11
  381. package/dist/i18n/locales/en-US.json +24 -1
  382. package/dist/i18n/locales/zh-CN.json +24 -1
  383. package/dist/index.cmd +3 -0
  384. package/dist/index.js +84 -97
  385. package/dist/index.ps1 +3 -0
  386. package/dist/keychain.js +9 -44
  387. package/dist/logger.d.ts +7 -0
  388. package/dist/logger.js +80 -0
  389. package/dist/native-check.d.ts +6 -0
  390. package/dist/native-check.js +23 -0
  391. package/dist/sentry.js +4 -8
  392. package/dist/updater.js +15 -52
  393. package/dist/utils/proc.d.ts +35 -0
  394. package/dist/utils/proc.js +81 -0
  395. package/dist/utils/spawn.d.ts +19 -0
  396. package/dist/utils/spawn.js +60 -0
  397. package/dist/version.d.ts +1 -1
  398. package/dist/version.js +183 -81
  399. package/dist/watchdog.d.ts +1 -0
  400. package/dist/watchdog.js +128 -0
  401. package/package.json +6 -5
  402. package/dist/commands/native-check.d.ts +0 -22
  403. package/dist/commands/native-check.js +0 -93
@@ -1,50 +1,12 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.extensionCommand = void 0;
40
- exports.ensureEnvReady = ensureEnvReady;
41
- exports.runExtensionCheck = runExtensionCheck;
42
- const commander_1 = require("commander");
43
- const axios_1 = __importDefault(require("axios"));
44
- const ws_1 = __importDefault(require("ws"));
45
- const config_1 = require("../config");
46
- const i18n_1 = require("../i18n");
47
- const install_1 = require("./install");
1
+ import { Command } from 'commander';
2
+ import axios from 'axios';
3
+ import WebSocket from 'ws';
4
+ import * as fs from 'fs';
5
+ import * as path from 'path';
6
+ import { loadConfig } from '../config.js';
7
+ import { i18n } from '../i18n/index.js';
8
+ import { showInstallGuide, runInstall } from './install.js';
9
+ import { getCliLogger } from '../logger.js';
48
10
  const B = {
49
11
  reset: '\x1b[0m', bold: '\x1b[1m',
50
12
  green: '\x1b[32m', yellow: '\x1b[33m', red: '\x1b[31m', cyan: '\x1b[36m', magenta: '\x1b[35m',
@@ -53,16 +15,31 @@ const B = {
53
15
  // 共用: 构建 HTTP client(baseURL = hunter-mate config serverUrl)
54
16
  // ----------------------------------------------------------------------------
55
17
  function http(baseUrl) {
56
- return axios_1.default.create({
18
+ return axios.create({
57
19
  baseURL: baseUrl,
58
20
  timeout: 60_000,
59
21
  headers: { 'Content-Type': 'application/json' },
60
22
  });
61
23
  }
24
+ /** 带鉴权的 client(server /extensions* 端点要求 UTOKEN,与 job/record/search 等模块一致)。 */
25
+ async function httpAuth(baseUrl) {
26
+ const { getToken } = await import('../keychain.js');
27
+ const token = await getToken();
28
+ return axios.create({
29
+ baseURL: baseUrl,
30
+ timeout: 60_000,
31
+ headers: {
32
+ 'Content-Type': 'application/json',
33
+ ...(token ? { Authorization: `UTOKEN ${token}` } : {}),
34
+ },
35
+ });
36
+ }
62
37
  function requireServerUrl() {
63
- const config = (0, config_1.loadConfig)();
38
+ const config = loadConfig();
64
39
  if (!config.serverUrl) {
65
- console.error(`${B.red}✗ hunter-mate: serverUrl 未配置${B.reset}\n 请先 ${B.bold}hunter-mate config${B.reset} 设置 serverUrl`);
40
+ getCliLogger().error('extension:no-server-url', {
41
+ hint: '请先 hunter-mate config 设置 serverUrl',
42
+ });
66
43
  process.exit(1);
67
44
  }
68
45
  return config.serverUrl;
@@ -117,16 +94,16 @@ function JSON2YAML(input, indent = 0) {
117
94
  // ----------------------------------------------------------------------------
118
95
  let envReadyPromise = null;
119
96
  /** 确保环境就绪(自动启动 server、自动安装扩展、打印引导) */
120
- function ensureEnvReady() {
97
+ export function ensureEnvReady() {
121
98
  if (envReadyPromise)
122
99
  return envReadyPromise;
123
100
  envReadyPromise = (async () => {
124
- const config = (0, config_1.loadConfig)();
101
+ const config = loadConfig();
125
102
  const serverUrl = config.serverUrl;
126
103
  // 1) 检查 server 是否运行
127
104
  let serverUp = false;
128
105
  try {
129
- await axios_1.default.get(`${serverUrl}/health`, { timeout: 2000 });
106
+ await axios.get(`${serverUrl}/health`, { timeout: 2000 });
130
107
  serverUp = true;
131
108
  }
132
109
  catch {
@@ -135,13 +112,13 @@ function ensureEnvReady() {
135
112
  console.log(`${B.yellow}⚠ HunterMate Server 未运行, 正在自动启动...${B.reset}`);
136
113
  }
137
114
  try {
138
- const { runStart } = await Promise.resolve().then(() => __importStar(require('./server')));
115
+ const { runStart } = await import('./server.js');
139
116
  runStart({ foreground: false });
140
117
  // 等待 server 就绪(最多 8s)
141
118
  for (let i = 0; i < 16; i++) {
142
119
  await new Promise((r) => setTimeout(r, 500));
143
120
  try {
144
- await axios_1.default.get(`${serverUrl}/health`, { timeout: 1500 });
121
+ await axios.get(`${serverUrl}/health`, { timeout: 1500 });
145
122
  serverUp = true;
146
123
  break;
147
124
  }
@@ -151,13 +128,13 @@ function ensureEnvReady() {
151
128
  catch { /* ignore */ }
152
129
  }
153
130
  if (!serverUp) {
154
- console.error(`${B.red}✗ HunterMate Server 启动失败${B.reset}\n 请手动执行: ${B.bold}hunter-mate start -f${B.reset}`);
131
+ getCliLogger().error('extension:server-start-failed', {
132
+ hint: '请手动执行 hunter-mate start -f',
133
+ });
155
134
  process.exit(1);
156
135
  }
157
136
  // 2) 检查扩展是否安装
158
- const fs = require('fs');
159
- const path = require('path');
160
- const { runInit } = await Promise.resolve().then(() => __importStar(require('./init')));
137
+ const { runInit } = await import('./init.js');
161
138
  const init = runInit();
162
139
  const manifestPath = path.join(init.extensionDir, 'manifest.json');
163
140
  if (!fs.existsSync(manifestPath)) {
@@ -165,26 +142,25 @@ function ensureEnvReady() {
165
142
  if (!process.env.HUNTER_MATE_SILENT_START) {
166
143
  console.log(`${B.yellow}⚠ Hunter Mate 扩展未安装, 正在自动安装...${B.reset}`);
167
144
  }
168
- const r = (0, install_1.runInstall)(init.extensionDir);
145
+ const r = runInstall(init.extensionDir);
169
146
  if (!r.source) {
170
147
  // 内置 dist 不存在, 无法自动安装
171
- console.error(`${B.red}✗ 无法自动安装扩展(内置 extension dist 未构建)${B.reset}\n` +
172
- ` 请在 hunter-mate monorepo 执行:\n` +
173
- ` ${B.bold}pnpm --filter @hunter-mate/extension build${B.reset}\n` +
174
- ` 或手动安装: ${B.bold}hunter-mate install${B.reset}`);
148
+ getCliLogger().error('extension:auto-install-failed', {
149
+ hint: '请在 hunter-mate monorepo 执行 pnpm --filter @hunter-mate/extension build,或手动 hunter-mate install',
150
+ });
175
151
  process.exit(1);
176
152
  }
177
153
  console.log(`${B.green}✓ 扩展已自动安装到 ${r.target}${B.reset}`);
178
154
  // 打开目录引导
179
155
  try {
180
- const { default: open } = await Promise.resolve().then(() => __importStar(require('open')));
156
+ const { default: open } = await import('open');
181
157
  open(init.extensionDir).catch(() => { });
182
158
  }
183
159
  catch { }
184
- (0, install_1.showInstallGuide)(init.extensionDir);
160
+ showInstallGuide(init.extensionDir);
185
161
  // 打开 chrome://extensions
186
162
  try {
187
- const { default: open } = await Promise.resolve().then(() => __importStar(require('open')));
163
+ const { default: open } = await import('open');
188
164
  open('chrome://extensions').catch(() => { });
189
165
  }
190
166
  catch { }
@@ -193,12 +169,12 @@ function ensureEnvReady() {
193
169
  }
194
170
  // 3) 检查扩展是否连接
195
171
  try {
196
- const r = await http(serverUrl).get('/extensions', { timeout: 3000 });
172
+ const r = await (await httpAuth(serverUrl)).get('/extensions', { timeout: 3000 });
197
173
  const count = Array.isArray(r.data) ? r.data.length : 0;
198
174
  if (count === 0) {
199
175
  // 扩展已安装但未连接
200
176
  console.log(`${B.yellow}⚠ Hunter Mate 扩展已安装但尚未连接到 Chrome${B.reset}\n`);
201
- (0, install_1.showInstallGuide)(init.extensionDir);
177
+ showInstallGuide(init.extensionDir);
202
178
  console.log(`${B.bold}请确认:${B.reset}\n` +
203
179
  ` ${B.magenta}①${B.reset} Chrome 工具栏的 Hunter Mate 图标是否已显示?\n` +
204
180
  ` ${B.magenta}②${B.reset} 点击图标, 侧栏是否显示「已连接」?\n` +
@@ -213,7 +189,9 @@ function ensureEnvReady() {
213
189
  }
214
190
  catch {
215
191
  // /extensions 端点不可达
216
- console.error(`${B.red}✗ 无法检查扩展连接状态${B.reset}\n Server 可能未正确启动, 请执行: ${B.bold}hunter-mate start -f${B.reset}`);
192
+ getCliLogger().error('extension:check-failed', {
193
+ hint: 'Server 可能未正确启动, 请执行 hunter-mate start -f',
194
+ });
217
195
  process.exit(1);
218
196
  }
219
197
  })();
@@ -224,10 +202,10 @@ function ensureEnvReady() {
224
202
  // ----------------------------------------------------------------------------
225
203
  // 原 check 命令(增强: 自动修复 + 友好引导)
226
204
  // ----------------------------------------------------------------------------
227
- async function runExtensionCheck(timeoutMs = 5000) {
228
- const config = (0, config_1.loadConfig)();
205
+ export async function runExtensionCheck(timeoutMs = 5000) {
206
+ const config = loadConfig();
229
207
  const wsUrl = config.serverUrl.replace(/^http/, 'ws') + '/ws';
230
- const ws = new ws_1.default(wsUrl);
208
+ const ws = new WebSocket(wsUrl);
231
209
  return new Promise((resolve, reject) => {
232
210
  const timeout = setTimeout(() => {
233
211
  ws.terminate();
@@ -279,10 +257,10 @@ async function withEnvCheck(fn) {
279
257
  }
280
258
  catch (err) {
281
259
  const msg = err.response?.data?.message ?? err.response?.data?.error ?? err.message;
282
- console.error(`${B.red}✗ hunter-mate extension 执行失败:${B.reset} ${msg}`);
260
+ getCliLogger().error('extension:exec-failed', { error: msg });
283
261
  if (msg.includes('no Hunter Mate Chrome extension registered') || msg.includes('no Hunter Mate')) {
284
- const init = await Promise.resolve().then(() => __importStar(require('./init'))).then((m) => m.runInit());
285
- (0, install_1.showInstallGuide)(init.extensionDir);
262
+ const init = await import('./init.js').then((m) => m.runInit());
263
+ showInstallGuide(init.extensionDir);
286
264
  }
287
265
  process.exit(1);
288
266
  }
@@ -290,7 +268,7 @@ async function withEnvCheck(fn) {
290
268
  async function cmdList(opts) {
291
269
  return withEnvCheck(async () => {
292
270
  const serverUrl = requireServerUrl();
293
- const r = await http(serverUrl).get('/extensions');
271
+ const r = await (await httpAuth(serverUrl)).get('/extensions');
294
272
  const data = Array.isArray(r.data) && r.data.length > 0
295
273
  ? r.data
296
274
  : [{ extensionId: '(none connected)', hint: '请在 Chrome 中加载 Hunter Mate 扩展' }];
@@ -306,15 +284,18 @@ async function cmdControl(command, argsJson, opts) {
306
284
  params = JSON.parse(argsJson);
307
285
  }
308
286
  catch {
309
- console.error('extension control: args 必须是合法 JSON 字符串');
287
+ getCliLogger().error('extension:invalid-control-args', {
288
+ hint: 'args 必须是合法 JSON 字符串',
289
+ });
310
290
  process.exit(1);
311
291
  }
312
292
  }
313
- const r = await http(serverUrl).post('/extensions/control', {
293
+ const r = await (await httpAuth(serverUrl)).post('/extensions/control', {
314
294
  command,
315
295
  params,
316
296
  timeoutMs: opts.timeout ? Number(opts.timeout) : undefined,
317
297
  extensionId: opts.extensionId,
298
+ sessionId: opts.sessionId ?? opts.taskId,
318
299
  });
319
300
  printResult(r.data, opts.format);
320
301
  });
@@ -322,11 +303,12 @@ async function cmdControl(command, argsJson, opts) {
322
303
  async function cmdGoto(url, opts) {
323
304
  return withEnvCheck(async () => {
324
305
  const serverUrl = requireServerUrl();
325
- const r = await http(serverUrl).post('/extensions/goto', {
306
+ const r = await (await httpAuth(serverUrl)).post('/extensions/goto', {
326
307
  url,
327
308
  waitUntil: opts.waitUntil,
328
309
  timeoutMs: opts.timeout ? Number(opts.timeout) : undefined,
329
310
  extensionId: opts.extensionId,
311
+ sessionId: opts.sessionId ?? opts.taskId,
330
312
  });
331
313
  printResult(r.data, opts.format);
332
314
  });
@@ -334,7 +316,7 @@ async function cmdGoto(url, opts) {
334
316
  async function cmdEval(expression, opts) {
335
317
  return withEnvCheck(async () => {
336
318
  const serverUrl = requireServerUrl();
337
- const r = await http(serverUrl).post('/extensions/eval', {
319
+ const r = await (await httpAuth(serverUrl)).post('/extensions/eval', {
338
320
  expression,
339
321
  timeoutMs: opts.timeout ? Number(opts.timeout) : undefined,
340
322
  extensionId: opts.extensionId,
@@ -345,7 +327,7 @@ async function cmdEval(expression, opts) {
345
327
  async function cmdScreenshot(opts) {
346
328
  return withEnvCheck(async () => {
347
329
  const serverUrl = requireServerUrl();
348
- const r = await http(serverUrl).post('/extensions/screenshot', {
330
+ const r = await (await httpAuth(serverUrl)).post('/extensions/screenshot', {
349
331
  fullPage: opts.full ? true : undefined,
350
332
  selector: opts.selector,
351
333
  format: opts.imageFormat ?? 'png',
@@ -353,7 +335,7 @@ async function cmdScreenshot(opts) {
353
335
  extensionId: opts.extensionId,
354
336
  });
355
337
  if (opts.out) {
356
- const fs = await Promise.resolve().then(() => __importStar(require('fs')));
338
+ const fs = await import('fs');
357
339
  const body = r.data.result;
358
340
  const base64 = (body ?? '').replace(/^data:image\/(png|jpeg);base64,/, '');
359
341
  fs.writeFileSync(opts.out, Buffer.from(base64, 'base64'));
@@ -373,7 +355,9 @@ async function cmdRun(site, command, opts) {
373
355
  params = JSON.parse(opts.args);
374
356
  }
375
357
  catch {
376
- console.error('extension run --args 必须是合法 JSON 字符串');
358
+ getCliLogger().error('extension:invalid-run-args', {
359
+ hint: 'args 必须是合法 JSON 字符串',
360
+ });
377
361
  process.exit(1);
378
362
  }
379
363
  }
@@ -382,20 +366,22 @@ async function cmdRun(site, command, opts) {
382
366
  timeoutMs: opts.timeout ? Number(opts.timeout) : undefined,
383
367
  extensionId: opts.extensionId,
384
368
  };
385
- const r = await http(serverUrl).post(endpoint, payload);
369
+ const r = await (await httpAuth(serverUrl)).post(endpoint, payload);
386
370
  printResult(r.data, opts.format);
387
371
  });
388
372
  }
389
373
  // ----------------------------------------------------------------------------
390
374
  // commander 注册
391
375
  // ----------------------------------------------------------------------------
392
- exports.extensionCommand = new commander_1.Command('extension')
393
- .description(i18n_1.i18n.t('extension.description') + ' — 自动确保 server 运行 + 扩展就绪, 无感启动');
376
+ export const extensionCommand = new Command('extension')
377
+ .description(i18n.t('extension.description') + ' — 自动确保 server 运行 + 扩展就绪, 无感启动');
394
378
  const common = (cmd) => cmd
395
379
  .option('-f, --format <format>', '输出格式 json|yaml|table|md|csv', 'json')
396
380
  .option('-e, --extension-id <id>', '指定扩展实例(多浏览器时必填)')
381
+ .option('-s, --session-id <id>', '会话 ID,用于自动归组新标签页')
382
+ .option('-T, --task-id <id>', '等价于 --session-id')
397
383
  .option('-t, --timeout <ms>', '命令超时(ms),默认 15000');
398
- exports.extensionCommand
384
+ extensionCommand
399
385
  .command('check')
400
386
  .description('检查扩展连接状态(自动启动 server + 自动安装扩展 + 中文引导)')
401
387
  .action(async () => {
@@ -405,25 +391,25 @@ exports.extensionCommand
405
391
  console.log(`\n${B.green}✓ Hunter Mate 扩展已连接 (${count} 个浏览器实例)${B.reset}\n`);
406
392
  }
407
393
  catch (err) {
408
- console.error(`${B.red}✗ 扩展检查失败: ${err.message}${B.reset}`);
394
+ getCliLogger().error('extension:check-error', { error: err.message });
409
395
  process.exit(1);
410
396
  }
411
397
  });
412
- common(exports.extensionCommand
398
+ common(extensionCommand
413
399
  .command('list')
414
400
  .description('列出已连接的 Hunter Mate 浏览器扩展实例')).action(async (opts) => cmdList(opts));
415
- common(exports.extensionCommand
401
+ common(extensionCommand
416
402
  .command('control <command> [argsJson]')
417
- .description('通用页面控制(OpenCLI 风格, 对应 chromepilot control):cp.state/cp.find/cp.click/cp.fill/cp.select/cp.scroll/cp.eval/cp.screenshot/cp.goto/cp.waitFor')).action(async (command, argsJson, opts) => cmdControl(command, argsJson, opts));
418
- common(exports.extensionCommand
403
+ .description('通用页面控制(OpenCLI 全能力, 对应 chromepilot control):cp.state/cp.goto/cp.find/cp.click/cp.type/cp.fill/cp.select/cp.keys/cp.hover/cp.focus/cp.dblclick/cp.check/cp.uncheck/cp.get/cp.extract/cp.eval/cp.network/cp.frames/cp.wait/cp.upload/cp.drag/cp.scroll/cp.back/cp.screenshot/cp.insert/cp.cdp/cp.cookies/cp.window.close/cp.tab.*(list|new|select|close|bind|unbind)。参数 JSON 内 "__tab":"<tabId>" 定向 tab')).action(async (command, argsJson, opts) => cmdControl(command, argsJson, opts));
404
+ common(extensionCommand
419
405
  .command('goto <url>')
420
406
  .description('导航到指定 URL (对应 chromepilot control cp.goto)'))
421
407
  .option('--wait-until <mode>', 'domcontentloaded|load|networkidle0|networkidle2')
422
408
  .action(async (url, opts) => cmdGoto(url, opts));
423
- common(exports.extensionCommand
409
+ common(extensionCommand
424
410
  .command('eval <expression>')
425
411
  .description('在当前页面执行 JS 表达式 (对应 chromepilot control cp.eval)')).action(async (expression, opts) => cmdEval(expression, opts));
426
- common(exports.extensionCommand
412
+ common(extensionCommand
427
413
  .command('screenshot')
428
414
  .description('当前页面截图 (对应 chromepilot control cp.screenshot)'))
429
415
  .option('--full', '整页截图')
@@ -431,7 +417,7 @@ common(exports.extensionCommand
431
417
  .option('--image-format <fmt>', '图片格式 png|jpeg', 'png')
432
418
  .option('--out <file>', '保存到文件(否则输出 base64 JSON)')
433
419
  .action(async (opts) => cmdScreenshot(opts));
434
- common(exports.extensionCommand
420
+ common(extensionCommand
435
421
  .command('run <site> <command>')
436
422
  .description('站点适配器命令 (对应 chromepilot run): linkedin search|extract|invite 或 resume extract'))
437
423
  .option('--args <json>', '命令参数 JSON 字符串')
@@ -1,10 +1,40 @@
1
1
  import { Command } from 'commander';
2
- /** 对应 ChromePilot reload: 通过 WS 向所有已连接扩展广播 {type: 'reload'} */
2
+ /**
3
+ * 通知所有已连接扩展 reload(自愈主链路):
4
+ * 1) 优先 HTTP POST /system/broadcast-extension(返回明确 broadcast 计数和错误)
5
+ * 2) Fallback: 直连 WS /ws 发 {type:'broadcast', payload:{type:'reload'}}(兼容旧 server 无 HTTP 端点)
6
+ */
3
7
  export declare function runReload(timeoutMs?: number): Promise<{
4
8
  broadcast: number;
5
9
  msg: string;
10
+ errors?: Array<{
11
+ extensionId: string;
12
+ error: string;
13
+ }>;
6
14
  }>;
7
15
  /** 对应 ChromePilot open-ext / open-extension-folder: 打开 ~/.hunter-mate/extension */
8
16
  export declare function runOpenExt(target?: string): Promise<string>;
9
17
  export declare const reloadCommand: Command;
10
18
  export declare const openExtCommand: Command;
19
+ export interface PurgeResult {
20
+ ok: boolean;
21
+ skipped?: boolean;
22
+ root: string;
23
+ serverStopped: {
24
+ stopped: boolean;
25
+ pid: number | null;
26
+ msg: string;
27
+ } | null;
28
+ removedFiles?: number;
29
+ removedBytes?: number;
30
+ msg: string;
31
+ }
32
+ /**
33
+ * 彻底清理本地 hunter-mate:
34
+ * 1. 停止本地 server(若运行中)
35
+ * 2. 删除整个 ~/.hunter-mate 目录(含 config、token、cache DB、插件、skill、trace、日志、pid 等)
36
+ */
37
+ export declare function runPurge(opts: {
38
+ force?: boolean;
39
+ }): Promise<PurgeResult>;
40
+ export declare const purgeCommand: Command;