hunter-mate 0.1.2 → 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 +83 -98
  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 +5 -4
  402. package/dist/commands/native-check.d.ts +0 -22
  403. package/dist/commands/native-check.js +0 -93
package/dist/index.js CHANGED
@@ -1,79 +1,54 @@
1
1
  #!/usr/bin/env node
2
- "use strict";
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k]; } };
8
- }
9
- Object.defineProperty(o, k2, desc);
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- o[k2] = m[k];
13
- }));
14
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
- Object.defineProperty(o, "default", { enumerable: true, value: v });
16
- }) : function(o, v) {
17
- o["default"] = v;
18
- });
19
- var __importStar = (this && this.__importStar) || (function () {
20
- var ownKeys = function(o) {
21
- ownKeys = Object.getOwnPropertyNames || function (o) {
22
- var ar = [];
23
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
- return ar;
25
- };
26
- return ownKeys(o);
27
- };
28
- return function (mod) {
29
- if (mod && mod.__esModule) return mod;
30
- var result = {};
31
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
- __setModuleDefault(result, mod);
33
- return result;
34
- };
35
- })();
36
- var __importDefault = (this && this.__importDefault) || function (mod) {
37
- return (mod && mod.__esModule) ? mod : { "default": mod };
38
- };
39
- Object.defineProperty(exports, "__esModule", { value: true });
40
- require("dotenv/config");
41
- const commander_1 = require("commander");
42
- const chalk_1 = __importDefault(require("chalk"));
43
- const sentry_1 = require("./sentry");
44
- const login_1 = require("./commands/login");
45
- const logout_1 = require("./commands/logout");
46
- const status_1 = require("./commands/status");
47
- const config_1 = require("./commands/config");
48
- const search_1 = require("./commands/search");
49
- const job_1 = require("./commands/job");
50
- const update_1 = require("./commands/update");
51
- const extension_1 = require("./commands/extension");
52
- const report_1 = require("./commands/report");
53
- const record_1 = require("./commands/record");
54
- const cache_1 = require("./commands/cache");
2
+ import 'dotenv/config';
3
+ import { Command } from 'commander';
4
+ import chalk from 'chalk';
5
+ import { initSentry } from './sentry.js';
6
+ import { loginCommand } from './commands/login.js';
7
+ import { logoutCommand } from './commands/logout.js';
8
+ import { statusCommand } from './commands/status.js';
9
+ import { configCommand } from './commands/config.js';
10
+ import { searchCommand } from './commands/search.js';
11
+ import { jobCommand } from './commands/job.js';
12
+ import { updateCommand } from './commands/update.js';
13
+ import { extensionCommand } from './commands/extension.js';
14
+ import { reportCommand } from './commands/report.js';
15
+ import { recordCommand } from './commands/record.js';
16
+ import { cacheCommand } from './commands/cache.js';
55
17
  // 对应 ChromePilot 的新命令(环境管理 / 运维 / 扩展管理)
56
- const init_1 = require("./commands/init");
57
- const install_1 = require("./commands/install");
58
- const server_1 = require("./commands/server");
59
- const doctor_1 = require("./commands/doctor");
60
- const extras_1 = require("./commands/extras");
61
- const ops_1 = require("./commands/ops");
62
- const addons_1 = require("./commands/addons");
63
- const i18n_1 = require("./i18n");
64
- // eslint-disable-next-line @typescript-eslint/no-var-requires
65
- const { version: CLI_VERSION } = require('../package.json');
66
- (0, sentry_1.initSentry)();
67
- const program = new commander_1.Command();
18
+ import { initCommand } from './commands/init.js';
19
+ import { installCommand } from './commands/install.js';
20
+ import { startCommand, stopCommand } from './commands/server.js';
21
+ import { doctorCommand } from './commands/doctor.js';
22
+ import { reloadCommand, openExtCommand, purgeCommand } from './commands/extras.js';
23
+ import { recordingsCommand, adapterCommand, memoryCommand, traceCommand, autofixCommand } from './commands/ops.js';
24
+ import { pluginCommand, skillCommand, externalCommand } from './commands/addons.js';
25
+ import { i18n } from './i18n/index.js';
26
+ import { initCliLogger, flushCliLogger, getCliLogger } from './logger.js';
27
+ import packageJson from '../package.json' with { type: 'json' };
28
+ const CLI_VERSION = packageJson.version;
29
+ initSentry();
30
+ // patchConsole + patchStreams:把业务代码里的 console.error/warn 统一转发到 logger-kit,
31
+ // 避免两套日志写法。AGENTS.md §11。
32
+ initCliLogger({ patchConsole: true, patchStreams: true }).catch(() => {
33
+ // 日志初始化失败不影响主流程
34
+ });
35
+ const program = new Command();
68
36
  program
69
37
  .name('hunter-mate')
70
- .description(i18n_1.i18n.t('cli.description') + '(已对齐 ChromePilot: init/install/start/stop/status/recordings/control/adapter/run/memory/trace/autofix/external/plugin/skill/open-ext/doctor/reload)')
38
+ .description(i18n.t('cli.description') + '(已对齐 ChromePilot: init/install/start/stop/status/recordings/control/adapter/run/memory/trace/autofix/external/plugin/skill/open-ext/doctor/reload)+ purge|reset|uninstall')
71
39
  .version(CLI_VERSION)
72
- .option('--lang <lang>', i18n_1.i18n.t('cli.langOption'), 'zh-CN')
40
+ .option('--lang <lang>', i18n.t('cli.langOption'), 'zh-CN')
73
41
  .hook('preAction', async (thisCommand) => {
74
42
  const lang = thisCommand.opts().lang;
75
43
  if (lang)
76
- i18n_1.i18n.setLocale(lang);
44
+ i18n.setLocale(lang);
45
+ // 日志:command start
46
+ try {
47
+ getCliLogger().info('command:start', { command: thisCommand.name(), args: thisCommand.args });
48
+ }
49
+ catch {
50
+ // logger 未就绪时忽略
51
+ }
77
52
  // ADR-005 运行时一致性自动检测 + CLI 自更新(每次使用触发,版本判断):
78
53
  // 1) CLI 自更新: 节流 1h 对比 npm registry,落后自动 npm install -g(下一条命令生效);
79
54
  // dev 软链模式(wrapper 指向 hc-hw worktree dist)自动跳过。
@@ -86,50 +61,60 @@ program
86
61
  if (name === 'update' || name === 'start' || name === 'stop')
87
62
  return;
88
63
  try {
89
- const { maybeCliSelfUpdate } = await Promise.resolve().then(() => __importStar(require('./updater')));
64
+ const { maybeCliSelfUpdate } = await import('./updater.js');
90
65
  const upd = await maybeCliSelfUpdate();
91
66
  for (const line of upd.logs)
92
- console.log(chalk_1.default.gray(` [auto-update] ${line}`));
67
+ console.log(chalk.gray(` [auto-update] ${line}`));
93
68
  }
94
69
  catch {
95
70
  /* CLI 自更新检测永不阻塞主命令 */
96
71
  }
97
72
  try {
98
- const { ensureRuntimeConsistency } = await Promise.resolve().then(() => __importStar(require('./version')));
73
+ const { ensureRuntimeConsistency } = await import('./version.js');
99
74
  const report = await ensureRuntimeConsistency({});
100
75
  if (report.performed.length) {
101
76
  for (const line of report.performed)
102
- console.log(chalk_1.default.gray(` [auto-update] ${line}`));
77
+ console.log(chalk.gray(` [auto-update] ${line}`));
103
78
  }
104
79
  }
105
80
  catch {
106
81
  /* 一致性检测永不阻塞主命令 */
107
82
  }
83
+ })
84
+ .hook('postAction', async (thisCommand) => {
85
+ try {
86
+ getCliLogger().info('command:end', { command: thisCommand.name() });
87
+ await flushCliLogger();
88
+ }
89
+ catch {
90
+ // 日志发送失败不影响主流程
91
+ }
108
92
  });
109
- program.addCommand(init_1.initCommand);
110
- program.addCommand(install_1.installCommand);
111
- program.addCommand(server_1.startCommand);
112
- program.addCommand(server_1.stopCommand);
113
- program.addCommand(login_1.loginCommand);
114
- program.addCommand(logout_1.logoutCommand);
115
- program.addCommand(status_1.statusCommand);
116
- program.addCommand(config_1.configCommand);
117
- program.addCommand(search_1.searchCommand);
118
- program.addCommand(job_1.jobCommand);
119
- program.addCommand(update_1.updateCommand);
120
- program.addCommand(extension_1.extensionCommand);
121
- program.addCommand(ops_1.recordingsCommand);
122
- program.addCommand(ops_1.adapterCommand);
123
- program.addCommand(ops_1.memoryCommand);
124
- program.addCommand(ops_1.traceCommand);
125
- program.addCommand(ops_1.autofixCommand);
126
- program.addCommand(addons_1.externalCommand);
127
- program.addCommand(addons_1.pluginCommand);
128
- program.addCommand(addons_1.skillCommand);
129
- program.addCommand(extras_1.openExtCommand);
130
- program.addCommand(doctor_1.doctorCommand);
131
- program.addCommand(extras_1.reloadCommand);
132
- program.addCommand(report_1.reportCommand);
133
- program.addCommand(record_1.recordCommand);
134
- program.addCommand(cache_1.cacheCommand);
93
+ program.addCommand(initCommand);
94
+ program.addCommand(installCommand);
95
+ program.addCommand(startCommand);
96
+ program.addCommand(stopCommand);
97
+ program.addCommand(loginCommand);
98
+ program.addCommand(logoutCommand);
99
+ program.addCommand(statusCommand);
100
+ program.addCommand(configCommand);
101
+ program.addCommand(searchCommand);
102
+ program.addCommand(jobCommand);
103
+ program.addCommand(updateCommand);
104
+ program.addCommand(extensionCommand);
105
+ program.addCommand(recordingsCommand);
106
+ program.addCommand(adapterCommand);
107
+ program.addCommand(memoryCommand);
108
+ program.addCommand(traceCommand);
109
+ program.addCommand(autofixCommand);
110
+ program.addCommand(externalCommand);
111
+ program.addCommand(pluginCommand);
112
+ program.addCommand(skillCommand);
113
+ program.addCommand(openExtCommand);
114
+ program.addCommand(doctorCommand);
115
+ program.addCommand(reloadCommand);
116
+ program.addCommand(purgeCommand);
117
+ program.addCommand(reportCommand);
118
+ program.addCommand(recordCommand);
119
+ program.addCommand(cacheCommand);
135
120
  program.parse();
package/dist/index.ps1 ADDED
@@ -0,0 +1,3 @@
1
+ # Generated by scripts/postbuild-shim.mjs; do not edit by hand.
2
+ $basedir = Split-Path $MyInvocation.MyCommand.Definition -Parent
3
+ & "$basedir\index.js" @args
package/dist/keychain.js CHANGED
@@ -1,49 +1,14 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.saveToken = saveToken;
37
- exports.getToken = getToken;
38
- exports.deleteToken = deleteToken;
39
- const fs = __importStar(require("fs"));
40
- const path = __importStar(require("path"));
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
41
3
  const SERVICE = 'hunter-mate';
42
4
  const ACCOUNT = 'user';
43
5
  const HOME = process.env.HUNTER_MATE_HOME || process.env.HOME || process.env.USERPROFILE || '.';
44
6
  const TOKEN_FILE = path.join(HOME, '.hunter-mate', 'token.json');
45
7
  function fallbackSave(token) {
46
8
  fs.mkdirSync(path.dirname(TOKEN_FILE), { recursive: true });
9
+ // POSIX 上 mode 0o600 强制 owner-only;Windows NTFS 上 mode bit 被忽略,
10
+ // 由用户目录 ACL 兜底(%USERPROFILE%\.hunter-mate 默认只有当前用户可访问)。
11
+ // 真正安全的 Windows 路径是走 keytar(Windows Credential Manager)→ setPassword。
47
12
  fs.writeFileSync(TOKEN_FILE, JSON.stringify({ token }), { mode: 0o600 });
48
13
  }
49
14
  function fallbackGet() {
@@ -68,7 +33,7 @@ async function getKeytar() {
68
33
  if (process.platform === 'linux')
69
34
  return null;
70
35
  try {
71
- const mod = await Promise.resolve().then(() => __importStar(require('keytar')));
36
+ const mod = await import('keytar');
72
37
  // ESM/CJS 混用:部分导出在 default 上
73
38
  return mod.setPassword ? mod : mod.default || null;
74
39
  }
@@ -76,7 +41,7 @@ async function getKeytar() {
76
41
  return null;
77
42
  }
78
43
  }
79
- async function saveToken(token) {
44
+ export async function saveToken(token) {
80
45
  const keytar = await getKeytar();
81
46
  if (keytar) {
82
47
  try {
@@ -89,7 +54,7 @@ async function saveToken(token) {
89
54
  }
90
55
  fallbackSave(token);
91
56
  }
92
- async function getToken() {
57
+ export async function getToken() {
93
58
  const keytar = await getKeytar();
94
59
  if (keytar) {
95
60
  try {
@@ -103,7 +68,7 @@ async function getToken() {
103
68
  }
104
69
  return fallbackGet();
105
70
  }
106
- async function deleteToken() {
71
+ export async function deleteToken() {
107
72
  const keytar = await getKeytar();
108
73
  if (keytar) {
109
74
  try {
@@ -0,0 +1,7 @@
1
+ import { Logger } from "@chromepilot/logger-kit/client";
2
+ export declare function getCliLogger(): Logger;
3
+ export declare function initCliLogger(options?: {
4
+ patchConsole?: boolean;
5
+ patchStreams?: boolean;
6
+ }): Promise<Logger>;
7
+ export declare function flushCliLogger(): Promise<void>;
package/dist/logger.js ADDED
@@ -0,0 +1,80 @@
1
+ import { Logger, createHttpTransport } from "@chromepilot/logger-kit/client";
2
+ import { PersistentLogQueue } from "@chromepilot/logger-kit/queue-node";
3
+ import { loadConfig } from "./config.js";
4
+ import { getToken } from "./keychain.js";
5
+ import path from "node:path";
6
+ let logger = null;
7
+ let queue = null;
8
+ let drainTimer = null;
9
+ const noopLogger = {
10
+ debug: () => { },
11
+ info: () => { },
12
+ warn: () => { },
13
+ error: () => { },
14
+ log: () => { },
15
+ patchConsole: () => { },
16
+ patchProcessStreams: () => { },
17
+ flush: async () => { },
18
+ drainPersistent: async () => null,
19
+ };
20
+ export function getCliLogger() {
21
+ if (!logger) {
22
+ // 未显式初始化时返回 noop(测试/单工具命令兼容);主入口 index.ts 会先 init
23
+ return noopLogger;
24
+ }
25
+ return logger;
26
+ }
27
+ function homeDir() {
28
+ return process.env.HUNTER_MATE_HOME || process.env.HOME || process.env.USERPROFILE || ".";
29
+ }
30
+ export async function initCliLogger(options) {
31
+ const cfg = loadConfig();
32
+ const serverUrl = cfg.serverUrl.replace(/\/$/, "");
33
+ const token = await getToken();
34
+ // 持久化队列:server 不可达时落盘 ~/.hunter-mate/logs-pending.jsonl
35
+ queue = new PersistentLogQueue({
36
+ filePath: path.join(homeDir(), ".hunter-mate", "logs-pending.jsonl"),
37
+ maxBytes: 4 * 1024 * 1024,
38
+ });
39
+ await queue.load();
40
+ const transport = await createHttpTransport({
41
+ serverUrl,
42
+ headers: token ? { Authorization: `Bearer ${token}` } : {},
43
+ });
44
+ logger = new Logger({
45
+ context: "cli",
46
+ sessionId: () => process.env.HM_SESSION_ID || `cli-${process.pid}`,
47
+ send: transport,
48
+ flushIntervalMs: 1000,
49
+ maxBufferSize: 50,
50
+ persistentQueue: queue,
51
+ });
52
+ // 后台定时器:每 5s 尝试 drain(server 恢复后补发)
53
+ if (drainTimer)
54
+ clearInterval(drainTimer);
55
+ drainTimer = setInterval(() => {
56
+ if (queue && queue.size() > 0) {
57
+ queue.drain(transport).catch(() => { });
58
+ }
59
+ }, 5000);
60
+ drainTimer.unref?.();
61
+ if (options?.patchConsole !== false) {
62
+ logger.patchConsole();
63
+ }
64
+ if (options?.patchStreams !== false) {
65
+ logger.patchProcessStreams();
66
+ }
67
+ return logger;
68
+ }
69
+ export async function flushCliLogger() {
70
+ await logger?.flush();
71
+ if (queue && queue.size() > 0) {
72
+ const cfg = loadConfig();
73
+ const token = await getToken();
74
+ const transport = await createHttpTransport({
75
+ serverUrl: cfg.serverUrl.replace(/\/$/, ""),
76
+ headers: token ? { Authorization: `Bearer ${token}` } : {},
77
+ });
78
+ await queue.drain(transport).catch(() => { });
79
+ }
80
+ }
@@ -0,0 +1,6 @@
1
+ import { type NativeModuleStatus } from "@chromepilot/kit";
2
+ export type { NativeModuleStatus };
3
+ export declare const checkNativeModules: () => {
4
+ ok: boolean;
5
+ modules: NativeModuleStatus[];
6
+ };
@@ -0,0 +1,23 @@
1
+ import path from "node:path";
2
+ import fs from "node:fs";
3
+ import { fileURLToPath } from "node:url";
4
+ import { createNativeChecker } from "@chromepilot/kit";
5
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
6
+ function locateServerEntryDir() {
7
+ const candidates = [
8
+ path.resolve(__dirname, "../../server/dist"),
9
+ path.resolve(__dirname, "../../server/src"),
10
+ ];
11
+ for (const dir of candidates) {
12
+ if (fs.existsSync(path.join(dir, "main.js")) || fs.existsSync(path.join(dir, "main.ts"))) {
13
+ return dir;
14
+ }
15
+ }
16
+ return null;
17
+ }
18
+ const checker = createNativeChecker({
19
+ probeDir: () => locateServerEntryDir(),
20
+ skipDetail: "未找到 server 入口(packages/server/dist|src),跳过原生模块检查",
21
+ rebuildHint: (moduleName, compiledLabel) => `二选一:① 切回 ${compiledLabel} 的 node 再运行;② 用当前 node 重编译:pnpm rebuild -r ${moduleName}(重编后重启 server)`,
22
+ });
23
+ export const checkNativeModules = checker.checkNativeModules;
package/dist/sentry.js CHANGED
@@ -1,10 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Sentry = void 0;
4
- exports.initSentry = initSentry;
5
- const kit_1 = require("@chromepilot/kit");
6
- Object.defineProperty(exports, "Sentry", { enumerable: true, get: function () { return kit_1.Sentry; } });
1
+ import { initSentryFromEnv, Sentry } from '@chromepilot/kit';
7
2
  /** Sentry 初始化:通用骨架来自 @chromepilot/kit(HM_ 前缀 env 读取) */
8
- function initSentry() {
9
- return (0, kit_1.initSentryFromEnv)('HM');
3
+ export function initSentry() {
4
+ return initSentryFromEnv('HM');
10
5
  }
6
+ export { Sentry };
package/dist/updater.js CHANGED
@@ -1,42 +1,3 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.markUpdateChecked = exports.shouldCheckUpdate = exports.updateCheckIntervalMs = exports.npmSelfUpdate = exports.npmLatestVersion = void 0;
37
- exports.computeDevLinked = computeDevLinked;
38
- exports.isDevLinked = isDevLinked;
39
- exports.maybeCliSelfUpdate = maybeCliSelfUpdate;
40
1
  /**
41
2
  * CLI 自动更新(使用态)— 通用实现来自 @chromepilot/kit createCliUpdater。
42
3
  *
@@ -50,9 +11,11 @@ exports.maybeCliSelfUpdate = maybeCliSelfUpdate;
50
11
  * - HUNTER_MATE_UPDATE_CHECK_INTERVAL_MS 覆盖节流间隔(默认 3600000)
51
12
  * - HUNTER_MATE_DEV=1 强制视为 dev 模式(测试用)
52
13
  */
53
- const path = __importStar(require("path"));
54
- const kit_1 = require("@chromepilot/kit");
55
- const version_1 = require("./version");
14
+ import * as path from 'path';
15
+ import { fileURLToPath } from 'node:url';
16
+ import { createCliUpdater } from '@chromepilot/kit';
17
+ import { readInstalledVersions } from './version.js';
18
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
56
19
  const HOME = () => process.env.HUNTER_MATE_HOME || process.env.HOME || process.env.USERPROFILE || '.';
57
20
  const ROOT = () => path.join(HOME(), '.hunter-mate');
58
21
  /**
@@ -60,30 +23,30 @@ const ROOT = () => path.join(HOME(), '.hunter-mate');
60
23
  * 包根路径含 /worktrees/ 段(hc-hw local worktree 布局)或 HUNTER_MATE_DEV=1。
61
24
  * 注意:GitHub Release 二进制安装(~/.hunter-mate/bin)不属于 dev 模式。
62
25
  */
63
- function computeDevLinked(pkgRoot) {
26
+ export function computeDevLinked(pkgRoot) {
64
27
  if (process.env.HUNTER_MATE_DEV === '1')
65
28
  return true;
66
29
  return path.normalize(pkgRoot).includes(`${path.sep}worktrees${path.sep}`);
67
30
  }
68
- function isDevLinked() {
31
+ export function isDevLinked() {
69
32
  return computeDevLinked(path.join(__dirname, '..'));
70
33
  }
71
- const updater = (0, kit_1.createCliUpdater)({
34
+ const updater = createCliUpdater({
72
35
  npmPackage: 'hunter-mate',
73
36
  envPrefix: 'HUNTER_MATE',
74
37
  stateDir: ROOT,
75
- getInstalledVersion: () => (0, version_1.readInstalledVersions)().cli,
38
+ getInstalledVersion: () => readInstalledVersions().cli,
76
39
  isDev: isDevLinked,
77
40
  });
78
41
  // ---------------------------------------------------------------------------
79
42
  // 兼容导出(调用方零改动)
80
43
  // ---------------------------------------------------------------------------
81
- exports.npmLatestVersion = updater.npmLatestVersion;
82
- exports.npmSelfUpdate = updater.npmSelfUpdate;
83
- exports.updateCheckIntervalMs = updater.updateCheckIntervalMs;
84
- exports.shouldCheckUpdate = updater.shouldCheckUpdate;
85
- exports.markUpdateChecked = updater.markUpdateChecked;
44
+ export const npmLatestVersion = updater.npmLatestVersion;
45
+ export const npmSelfUpdate = updater.npmSelfUpdate;
46
+ export const updateCheckIntervalMs = updater.updateCheckIntervalMs;
47
+ export const shouldCheckUpdate = updater.shouldCheckUpdate;
48
+ export const markUpdateChecked = updater.markUpdateChecked;
86
49
  /** preAction 集成入口:返回日志行数组,永不 throw */
87
- async function maybeCliSelfUpdate() {
50
+ export async function maybeCliSelfUpdate() {
88
51
  return updater.autoCliUpdate();
89
52
  }
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Result of an attempted graceful termination.
3
+ *
4
+ * - `graceful`: the target acknowledged the signal and exited on its own
5
+ * before the grace deadline.
6
+ * - `forced`: we had to escalate to `SIGKILL` / `taskkill /F` after the
7
+ * deadline elapsed.
8
+ * - `esrch`: no such PID; the process was already gone (success).
9
+ * - `error`: an unexpected failure happened (e.g. permission denied on
10
+ * `taskkill`). Caller should inspect stderr.
11
+ */
12
+ export type KillOutcome = "graceful" | "forced" | "esrch" | "error";
13
+ /**
14
+ * Synchronous variant — useful for `stop` commands that cannot easily be
15
+ * turned into async functions. Returns `true` iff the first signal
16
+ * attempt appeared to succeed (status 0 from `taskkill`, or `SIGTERM`
17
+ * delivered without throwing on POSIX).
18
+ */
19
+ export declare function killGracefullySync(pid: number): boolean;
20
+ /**
21
+ * Async graceful termination.
22
+ *
23
+ * On Windows, `process.kill(pid, 'SIGTERM')` is a no-op (Node only supports
24
+ * `SIGKILL`/`SIGINT`/`SIGQUIT`/etc as process-group signals on POSIX).
25
+ * `taskkill /pid <pid> /T` without `/F` sends WM_CLOSE to GUI children and
26
+ * CTRL_BREAK to console children — which NestJS + Next.js turn into a
27
+ * graceful shutdown through `enableShutdownHooks()`. If the process is
28
+ * still alive after `graceMs`, we escalate to `/F` (force).
29
+ *
30
+ * On POSIX we send SIGTERM, wait `graceMs`, then SIGKILL as a last resort.
31
+ *
32
+ * The polling interval (200ms) is intentionally short so the function
33
+ * returns promptly when the child exits but does not busy-spin.
34
+ */
35
+ export declare function killGracefully(pid: number, graceMs?: number): Promise<KillOutcome>;
@@ -0,0 +1,81 @@
1
+ import { spawnSync } from "node:child_process";
2
+ /**
3
+ * Synchronous variant — useful for `stop` commands that cannot easily be
4
+ * turned into async functions. Returns `true` iff the first signal
5
+ * attempt appeared to succeed (status 0 from `taskkill`, or `SIGTERM`
6
+ * delivered without throwing on POSIX).
7
+ */
8
+ export function killGracefullySync(pid) {
9
+ if (process.platform === "win32") {
10
+ return (spawnSync("taskkill", ["/pid", String(pid), "/T"], { encoding: "utf-8" })
11
+ .status === 0);
12
+ }
13
+ try {
14
+ process.kill(pid, "SIGTERM");
15
+ return true;
16
+ }
17
+ catch {
18
+ return false;
19
+ }
20
+ }
21
+ /**
22
+ * Async graceful termination.
23
+ *
24
+ * On Windows, `process.kill(pid, 'SIGTERM')` is a no-op (Node only supports
25
+ * `SIGKILL`/`SIGINT`/`SIGQUIT`/etc as process-group signals on POSIX).
26
+ * `taskkill /pid <pid> /T` without `/F` sends WM_CLOSE to GUI children and
27
+ * CTRL_BREAK to console children — which NestJS + Next.js turn into a
28
+ * graceful shutdown through `enableShutdownHooks()`. If the process is
29
+ * still alive after `graceMs`, we escalate to `/F` (force).
30
+ *
31
+ * On POSIX we send SIGTERM, wait `graceMs`, then SIGKILL as a last resort.
32
+ *
33
+ * The polling interval (200ms) is intentionally short so the function
34
+ * returns promptly when the child exits but does not busy-spin.
35
+ */
36
+ export async function killGracefully(pid, graceMs = 5000) {
37
+ const deadline = Date.now() + graceMs;
38
+ const pollGone = async () => {
39
+ while (Date.now() < deadline) {
40
+ await new Promise((r) => setTimeout(r, 200));
41
+ try {
42
+ process.kill(pid, 0);
43
+ }
44
+ catch {
45
+ return true;
46
+ }
47
+ }
48
+ return false;
49
+ };
50
+ if (process.platform === "win32") {
51
+ const r1 = spawnSync("taskkill", ["/pid", String(pid), "/T"], {
52
+ encoding: "utf-8",
53
+ });
54
+ if (r1.status === 0)
55
+ return "graceful";
56
+ const out = `${r1.stdout ?? ""}${r1.stderr ?? ""}`;
57
+ if (/not found|找不到|0x.*找不到/i.test(out))
58
+ return "esrch";
59
+ if (await pollGone())
60
+ return "graceful";
61
+ const r2 = spawnSync("taskkill", ["/pid", String(pid), "/T", "/F"], { encoding: "utf-8" });
62
+ return r2.status === 0 ? "forced" : "error";
63
+ }
64
+ // POSIX path
65
+ try {
66
+ process.kill(pid, "SIGTERM");
67
+ }
68
+ catch (err) {
69
+ const e = err;
70
+ return e.code === "ESRCH" ? "esrch" : "error";
71
+ }
72
+ if (await pollGone())
73
+ return "graceful";
74
+ try {
75
+ process.kill(pid, "SIGKILL");
76
+ return "forced";
77
+ }
78
+ catch {
79
+ return "error";
80
+ }
81
+ }