hunter-mate 0.1.2 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (448) hide show
  1. package/LICENSE +21 -0
  2. package/dist/assets/extension/_locales/en_US/messages.json +5 -0
  3. package/dist/assets/extension/_locales/zh_CN/messages.json +5 -0
  4. package/dist/assets/extension/background/service-worker.js +3342 -0
  5. package/dist/assets/extension/content/index.js +13765 -0
  6. package/dist/assets/extension/manifest.json +47 -0
  7. package/dist/assets/extension/package.json +24 -0
  8. package/dist/assets/extension/sidepanel/index.html +400 -0
  9. package/dist/assets/extension/sidepanel/index.js +926 -0
  10. package/dist/assets/server/agent-session/agent-session.controller.d.ts +32 -0
  11. package/dist/assets/server/agent-session/agent-session.controller.js +83 -0
  12. package/dist/assets/server/agent-session/agent-session.controller.js.map +1 -0
  13. package/dist/assets/server/agent-session/agent-session.guard.d.ts +4 -0
  14. package/dist/assets/server/agent-session/agent-session.guard.js +32 -0
  15. package/dist/assets/server/agent-session/agent-session.guard.js.map +1 -0
  16. package/dist/assets/server/agent-session/agent-session.module.d.ts +2 -0
  17. package/dist/assets/server/agent-session/agent-session.module.js +28 -0
  18. package/dist/assets/server/agent-session/agent-session.module.js.map +1 -0
  19. package/dist/assets/server/agent-session/agent-session.service.d.ts +54 -0
  20. package/dist/assets/server/agent-session/agent-session.service.js +431 -0
  21. package/dist/assets/server/agent-session/agent-session.service.js.map +1 -0
  22. package/dist/assets/server/agent-session/agent-session.types.d.ts +56 -0
  23. package/dist/assets/server/agent-session/agent-session.types.js +3 -0
  24. package/dist/assets/server/agent-session/agent-session.types.js.map +1 -0
  25. package/dist/assets/server/agent-session/entities/agent-event.entity.d.ts +12 -0
  26. package/dist/assets/server/agent-session/entities/agent-event.entity.js +73 -0
  27. package/dist/assets/server/agent-session/entities/agent-event.entity.js.map +1 -0
  28. package/dist/assets/server/agent-session/entities/agent-message.entity.d.ts +13 -0
  29. package/dist/assets/server/agent-session/entities/agent-message.entity.js +77 -0
  30. package/dist/assets/server/agent-session/entities/agent-message.entity.js.map +1 -0
  31. package/dist/assets/server/agent-session/entities/agent-session.entity.d.ts +14 -0
  32. package/dist/assets/server/agent-session/entities/agent-session.entity.js +83 -0
  33. package/dist/assets/server/agent-session/entities/agent-session.entity.js.map +1 -0
  34. package/dist/assets/server/app.module.d.ts +4 -0
  35. package/dist/assets/server/app.module.js +127 -0
  36. package/dist/assets/server/app.module.js.map +1 -0
  37. package/dist/assets/server/auth/auth.controller.d.ts +22 -0
  38. package/dist/assets/server/auth/auth.controller.js +88 -0
  39. package/dist/assets/server/auth/auth.controller.js.map +1 -0
  40. package/dist/assets/server/auth/auth.middleware.d.ts +5 -0
  41. package/dist/assets/server/auth/auth.middleware.js +34 -0
  42. package/dist/assets/server/auth/auth.middleware.js.map +1 -0
  43. package/dist/assets/server/auth/auth.module.d.ts +2 -0
  44. package/dist/assets/server/auth/auth.module.js +24 -0
  45. package/dist/assets/server/auth/auth.module.js.map +1 -0
  46. package/dist/assets/server/auth/auth.service.d.ts +30 -0
  47. package/dist/assets/server/auth/auth.service.js +183 -0
  48. package/dist/assets/server/auth/auth.service.js.map +1 -0
  49. package/dist/assets/server/auth/auth.types.d.ts +28 -0
  50. package/dist/assets/server/auth/auth.types.js +3 -0
  51. package/dist/assets/server/auth/auth.types.js.map +1 -0
  52. package/dist/assets/server/build-info.json +4 -0
  53. package/dist/assets/server/common/common.module.d.ts +2 -0
  54. package/dist/assets/server/common/common.module.js +22 -0
  55. package/dist/assets/server/common/common.module.js.map +1 -0
  56. package/dist/assets/server/common/crypto.service.d.ts +11 -0
  57. package/dist/assets/server/common/crypto.service.js +73 -0
  58. package/dist/assets/server/common/crypto.service.js.map +1 -0
  59. package/dist/assets/server/communication/communication-record.entity.d.ts +15 -0
  60. package/dist/assets/server/communication/communication-record.entity.js +80 -0
  61. package/dist/assets/server/communication/communication-record.entity.js.map +1 -0
  62. package/dist/assets/server/communication/communication.controller.d.ts +12 -0
  63. package/dist/assets/server/communication/communication.controller.js +61 -0
  64. package/dist/assets/server/communication/communication.controller.js.map +1 -0
  65. package/dist/assets/server/communication/communication.module.d.ts +2 -0
  66. package/dist/assets/server/communication/communication.module.js +25 -0
  67. package/dist/assets/server/communication/communication.module.js.map +1 -0
  68. package/dist/assets/server/communication/communication.service.d.ts +23 -0
  69. package/dist/assets/server/communication/communication.service.js +51 -0
  70. package/dist/assets/server/communication/communication.service.js.map +1 -0
  71. package/dist/assets/server/db/schema-validator.service.d.ts +25 -0
  72. package/dist/assets/server/db/schema-validator.service.js +107 -0
  73. package/dist/assets/server/db/schema-validator.service.js.map +1 -0
  74. package/dist/assets/server/db/schema-version.entity.d.ts +5 -0
  75. package/dist/assets/server/db/schema-version.entity.js +35 -0
  76. package/dist/assets/server/db/schema-version.entity.js.map +1 -0
  77. package/dist/assets/server/db/sqlite.module.d.ts +2 -0
  78. package/dist/assets/server/db/sqlite.module.js +83 -0
  79. package/dist/assets/server/db/sqlite.module.js.map +1 -0
  80. package/dist/assets/server/devops/devops-sink-init.d.ts +23 -0
  81. package/dist/assets/server/devops/devops-sink-init.js +101 -0
  82. package/dist/assets/server/devops/devops-sink-init.js.map +1 -0
  83. package/dist/assets/server/devops/devops-sink-init.spec.d.ts +1 -0
  84. package/dist/assets/server/devops/devops-sink-init.spec.js +71 -0
  85. package/dist/assets/server/devops/devops-sink-init.spec.js.map +1 -0
  86. package/dist/assets/server/devops/devops-sink.module.d.ts +2 -0
  87. package/dist/assets/server/devops/devops-sink.module.js +22 -0
  88. package/dist/assets/server/devops/devops-sink.module.js.map +1 -0
  89. package/dist/assets/server/doctor/doctor.controller.d.ts +13 -0
  90. package/dist/assets/server/doctor/doctor.controller.js +62 -0
  91. package/dist/assets/server/doctor/doctor.controller.js.map +1 -0
  92. package/dist/assets/server/doctor/doctor.module.d.ts +2 -0
  93. package/dist/assets/server/doctor/doctor.module.js +27 -0
  94. package/dist/assets/server/doctor/doctor.module.js.map +1 -0
  95. package/dist/assets/server/doctor/doctor.service.d.ts +15 -0
  96. package/dist/assets/server/doctor/doctor.service.js +209 -0
  97. package/dist/assets/server/doctor/doctor.service.js.map +1 -0
  98. package/dist/assets/server/doctor/doctor.types.d.ts +46 -0
  99. package/dist/assets/server/doctor/doctor.types.js +3 -0
  100. package/dist/assets/server/doctor/doctor.types.js.map +1 -0
  101. package/dist/assets/server/extension/extension-control.controller.d.ts +67 -0
  102. package/dist/assets/server/extension/extension-control.controller.js +173 -0
  103. package/dist/assets/server/extension/extension-control.controller.js.map +1 -0
  104. package/dist/assets/server/extension/extension-control.service.d.ts +46 -0
  105. package/dist/assets/server/extension/extension-control.service.js +212 -0
  106. package/dist/assets/server/extension/extension-control.service.js.map +1 -0
  107. package/dist/assets/server/extension/extension-core.module.d.ts +2 -0
  108. package/dist/assets/server/extension/extension-core.module.js +21 -0
  109. package/dist/assets/server/extension/extension-core.module.js.map +1 -0
  110. package/dist/assets/server/extension/extension-version.controller.d.ts +6 -0
  111. package/dist/assets/server/extension/extension-version.controller.js +41 -0
  112. package/dist/assets/server/extension/extension-version.controller.js.map +1 -0
  113. package/dist/assets/server/extension/extension.module.d.ts +2 -0
  114. package/dist/assets/server/extension/extension.module.js +25 -0
  115. package/dist/assets/server/extension/extension.module.js.map +1 -0
  116. package/dist/assets/server/extraction/adapter.service.d.ts +55 -0
  117. package/dist/assets/server/extraction/adapter.service.js +275 -0
  118. package/dist/assets/server/extraction/adapter.service.js.map +1 -0
  119. package/dist/assets/server/extraction/anomaly-report.service.d.ts +12 -0
  120. package/dist/assets/server/extraction/anomaly-report.service.js +81 -0
  121. package/dist/assets/server/extraction/anomaly-report.service.js.map +1 -0
  122. package/dist/assets/server/extraction/entities/adapter-rule.entity.d.ts +13 -0
  123. package/dist/assets/server/extraction/entities/adapter-rule.entity.js +71 -0
  124. package/dist/assets/server/extraction/entities/adapter-rule.entity.js.map +1 -0
  125. package/dist/assets/server/extraction/entities/company-profile.entity.d.ts +14 -0
  126. package/dist/assets/server/extraction/entities/company-profile.entity.js +81 -0
  127. package/dist/assets/server/extraction/entities/company-profile.entity.js.map +1 -0
  128. package/dist/assets/server/extraction/entities/job-posting.entity.d.ts +15 -0
  129. package/dist/assets/server/extraction/entities/job-posting.entity.js +86 -0
  130. package/dist/assets/server/extraction/entities/job-posting.entity.js.map +1 -0
  131. package/dist/assets/server/extraction/entities/parse-log.entity.d.ts +18 -0
  132. package/dist/assets/server/extraction/entities/parse-log.entity.js +102 -0
  133. package/dist/assets/server/extraction/entities/parse-log.entity.js.map +1 -0
  134. package/dist/assets/server/extraction/entities/talent-profile.entity.d.ts +15 -0
  135. package/dist/assets/server/extraction/entities/talent-profile.entity.js +86 -0
  136. package/dist/assets/server/extraction/entities/talent-profile.entity.js.map +1 -0
  137. package/dist/assets/server/extraction/extraction-entity.controller.d.ts +138 -0
  138. package/dist/assets/server/extraction/extraction-entity.controller.js +493 -0
  139. package/dist/assets/server/extraction/extraction-entity.controller.js.map +1 -0
  140. package/dist/assets/server/extraction/extraction-rule.controller.d.ts +7 -0
  141. package/dist/assets/server/extraction/extraction-rule.controller.js +48 -0
  142. package/dist/assets/server/extraction/extraction-rule.controller.js.map +1 -0
  143. package/dist/assets/server/extraction/extraction-rule.entity.d.ts +15 -0
  144. package/dist/assets/server/extraction/extraction-rule.entity.js +80 -0
  145. package/dist/assets/server/extraction/extraction-rule.entity.js.map +1 -0
  146. package/dist/assets/server/extraction/extraction-rule.service.d.ts +24 -0
  147. package/dist/assets/server/extraction/extraction-rule.service.js +89 -0
  148. package/dist/assets/server/extraction/extraction-rule.service.js.map +1 -0
  149. package/dist/assets/server/extraction/extraction.module.d.ts +2 -0
  150. package/dist/assets/server/extraction/extraction.module.js +53 -0
  151. package/dist/assets/server/extraction/extraction.module.js.map +1 -0
  152. package/dist/assets/server/extraction/extraction.service.d.ts +78 -0
  153. package/dist/assets/server/extraction/extraction.service.js +430 -0
  154. package/dist/assets/server/extraction/extraction.service.js.map +1 -0
  155. package/dist/assets/server/extraction/linkedin-extractor.d.ts +1 -0
  156. package/dist/assets/server/extraction/linkedin-extractor.js +244 -0
  157. package/dist/assets/server/extraction/linkedin-extractor.js.map +1 -0
  158. package/dist/assets/server/extraction/rrweb-snapshot.utils.d.ts +15 -0
  159. package/dist/assets/server/extraction/rrweb-snapshot.utils.js +48 -0
  160. package/dist/assets/server/extraction/rrweb-snapshot.utils.js.map +1 -0
  161. package/dist/assets/server/extraction/rrweb-snapshot.utils.spec.d.ts +1 -0
  162. package/dist/assets/server/extraction/rrweb-snapshot.utils.spec.js +60 -0
  163. package/dist/assets/server/extraction/rrweb-snapshot.utils.spec.js.map +1 -0
  164. package/dist/assets/server/extraction/script-rule.d.ts +14 -0
  165. package/dist/assets/server/extraction/script-rule.js +49 -0
  166. package/dist/assets/server/extraction/script-rule.js.map +1 -0
  167. package/dist/assets/server/extraction/snapshot-analysis.service.d.ts +23 -0
  168. package/dist/assets/server/extraction/snapshot-analysis.service.js +147 -0
  169. package/dist/assets/server/extraction/snapshot-analysis.service.js.map +1 -0
  170. package/dist/assets/server/extraction/structured-data.d.ts +7 -0
  171. package/dist/assets/server/extraction/structured-data.js +96 -0
  172. package/dist/assets/server/extraction/structured-data.js.map +1 -0
  173. package/dist/assets/server/hcapi/hcapi.module.d.ts +2 -0
  174. package/dist/assets/server/hcapi/hcapi.module.js +23 -0
  175. package/dist/assets/server/hcapi/hcapi.module.js.map +1 -0
  176. package/dist/assets/server/hcapi/hcapi.service.d.ts +28 -0
  177. package/dist/assets/server/hcapi/hcapi.service.js +81 -0
  178. package/dist/assets/server/hcapi/hcapi.service.js.map +1 -0
  179. package/dist/assets/server/health/health.controller.d.ts +19 -0
  180. package/dist/assets/server/health/health.controller.js +59 -0
  181. package/dist/assets/server/health/health.controller.js.map +1 -0
  182. package/dist/assets/server/jobcase/jobcase.controller.d.ts +12 -0
  183. package/dist/assets/server/jobcase/jobcase.controller.js +61 -0
  184. package/dist/assets/server/jobcase/jobcase.controller.js.map +1 -0
  185. package/dist/assets/server/jobcase/jobcase.entity.d.ts +13 -0
  186. package/dist/assets/server/jobcase/jobcase.entity.js +71 -0
  187. package/dist/assets/server/jobcase/jobcase.entity.js.map +1 -0
  188. package/dist/assets/server/jobcase/jobcase.module.d.ts +2 -0
  189. package/dist/assets/server/jobcase/jobcase.module.js +26 -0
  190. package/dist/assets/server/jobcase/jobcase.module.js.map +1 -0
  191. package/dist/assets/server/jobcase/jobcase.service.d.ts +21 -0
  192. package/dist/assets/server/jobcase/jobcase.service.js +56 -0
  193. package/dist/assets/server/jobcase/jobcase.service.js.map +1 -0
  194. package/dist/assets/server/llm/llm.module.d.ts +2 -0
  195. package/dist/assets/server/llm/llm.module.js +21 -0
  196. package/dist/assets/server/llm/llm.module.js.map +1 -0
  197. package/dist/assets/server/llm/llm.service.d.ts +18 -0
  198. package/dist/assets/server/llm/llm.service.js +65 -0
  199. package/dist/assets/server/llm/llm.service.js.map +1 -0
  200. package/dist/assets/server/main.d.ts +1 -0
  201. package/dist/assets/server/main.js +30 -0
  202. package/dist/assets/server/main.js.map +1 -0
  203. package/dist/assets/server/matching/matching.controller.d.ts +16 -0
  204. package/dist/assets/server/matching/matching.controller.js +97 -0
  205. package/dist/assets/server/matching/matching.controller.js.map +1 -0
  206. package/dist/assets/server/matching/matching.module.d.ts +2 -0
  207. package/dist/assets/server/matching/matching.module.js +36 -0
  208. package/dist/assets/server/matching/matching.module.js.map +1 -0
  209. package/dist/assets/server/matching/matching.service.d.ts +55 -0
  210. package/dist/assets/server/matching/matching.service.js +409 -0
  211. package/dist/assets/server/matching/matching.service.js.map +1 -0
  212. package/dist/assets/server/package.json +57 -0
  213. package/dist/assets/server/parsed-resume/parsed-resume.controller.d.ts +6 -0
  214. package/dist/assets/server/parsed-resume/parsed-resume.controller.js +42 -0
  215. package/dist/assets/server/parsed-resume/parsed-resume.controller.js.map +1 -0
  216. package/dist/assets/server/parsed-resume/parsed-resume.entity.d.ts +124 -0
  217. package/dist/assets/server/parsed-resume/parsed-resume.entity.js +72 -0
  218. package/dist/assets/server/parsed-resume/parsed-resume.entity.js.map +1 -0
  219. package/dist/assets/server/parsed-resume/parsed-resume.module.d.ts +2 -0
  220. package/dist/assets/server/parsed-resume/parsed-resume.module.js +26 -0
  221. package/dist/assets/server/parsed-resume/parsed-resume.module.js.map +1 -0
  222. package/dist/assets/server/parsed-resume/parsed-resume.service.d.ts +10 -0
  223. package/dist/assets/server/parsed-resume/parsed-resume.service.js +45 -0
  224. package/dist/assets/server/parsed-resume/parsed-resume.service.js.map +1 -0
  225. package/dist/assets/server/parsing/parse-error-report.entity.d.ts +11 -0
  226. package/dist/assets/server/parsing/parse-error-report.entity.js +66 -0
  227. package/dist/assets/server/parsing/parse-error-report.entity.js.map +1 -0
  228. package/dist/assets/server/parsing/parsing.controller.d.ts +19 -0
  229. package/dist/assets/server/parsing/parsing.controller.js +97 -0
  230. package/dist/assets/server/parsing/parsing.controller.js.map +1 -0
  231. package/dist/assets/server/parsing/parsing.module.d.ts +2 -0
  232. package/dist/assets/server/parsing/parsing.module.js +38 -0
  233. package/dist/assets/server/parsing/parsing.module.js.map +1 -0
  234. package/dist/assets/server/parsing/parsing.service.d.ts +38 -0
  235. package/dist/assets/server/parsing/parsing.service.js +263 -0
  236. package/dist/assets/server/parsing/parsing.service.js.map +1 -0
  237. package/dist/assets/server/query/fields-meta.controller.d.ts +28 -0
  238. package/dist/assets/server/query/fields-meta.controller.js +57 -0
  239. package/dist/assets/server/query/fields-meta.controller.js.map +1 -0
  240. package/dist/assets/server/query/query-builder.controller.d.ts +11 -0
  241. package/dist/assets/server/query/query-builder.controller.js +40 -0
  242. package/dist/assets/server/query/query-builder.controller.js.map +1 -0
  243. package/dist/assets/server/query/query-builder.service.d.ts +8 -0
  244. package/dist/assets/server/query/query-builder.service.js +41 -0
  245. package/dist/assets/server/query/query-builder.service.js.map +1 -0
  246. package/dist/assets/server/query/query.module.d.ts +2 -0
  247. package/dist/assets/server/query/query.module.js +23 -0
  248. package/dist/assets/server/query/query.module.js.map +1 -0
  249. package/dist/assets/server/recording/entities/recording-event.entity.d.ts +9 -0
  250. package/dist/assets/server/recording/entities/recording-event.entity.js +56 -0
  251. package/dist/assets/server/recording/entities/recording-event.entity.js.map +1 -0
  252. package/dist/assets/server/recording/entities/recording-snapshot.entity.d.ts +16 -0
  253. package/dist/assets/server/recording/entities/recording-snapshot.entity.js +91 -0
  254. package/dist/assets/server/recording/entities/recording-snapshot.entity.js.map +1 -0
  255. package/dist/assets/server/recording/recording-event-bus.service.d.ts +4 -0
  256. package/dist/assets/server/recording/recording-event-bus.service.js +25 -0
  257. package/dist/assets/server/recording/recording-event-bus.service.js.map +1 -0
  258. package/dist/assets/server/recording/recording-snapshot.service.d.ts +13 -0
  259. package/dist/assets/server/recording/recording-snapshot.service.js +81 -0
  260. package/dist/assets/server/recording/recording-snapshot.service.js.map +1 -0
  261. package/dist/assets/server/recording/recording-snapshot.service.spec.d.ts +1 -0
  262. package/dist/assets/server/recording/recording-snapshot.service.spec.js +65 -0
  263. package/dist/assets/server/recording/recording-snapshot.service.spec.js.map +1 -0
  264. package/dist/assets/server/recording/recording.controller.d.ts +54 -0
  265. package/dist/assets/server/recording/recording.controller.js +77 -0
  266. package/dist/assets/server/recording/recording.controller.js.map +1 -0
  267. package/dist/assets/server/recording/recording.gateway.d.ts +15 -0
  268. package/dist/assets/server/recording/recording.gateway.js +117 -0
  269. package/dist/assets/server/recording/recording.gateway.js.map +1 -0
  270. package/dist/assets/server/recording/recording.module.d.ts +2 -0
  271. package/dist/assets/server/recording/recording.module.js +36 -0
  272. package/dist/assets/server/recording/recording.module.js.map +1 -0
  273. package/dist/assets/server/recording/recording.service.d.ts +43 -0
  274. package/dist/assets/server/recording/recording.service.js +124 -0
  275. package/dist/assets/server/recording/recording.service.js.map +1 -0
  276. package/dist/assets/server/remark/remark.controller.d.ts +21 -0
  277. package/dist/assets/server/remark/remark.controller.js +59 -0
  278. package/dist/assets/server/remark/remark.controller.js.map +1 -0
  279. package/dist/assets/server/remark/remark.entity.d.ts +18 -0
  280. package/dist/assets/server/remark/remark.entity.js +67 -0
  281. package/dist/assets/server/remark/remark.entity.js.map +1 -0
  282. package/dist/assets/server/remark/remark.module.d.ts +2 -0
  283. package/dist/assets/server/remark/remark.module.js +26 -0
  284. package/dist/assets/server/remark/remark.module.js.map +1 -0
  285. package/dist/assets/server/remark/remark.service.d.ts +8 -0
  286. package/dist/assets/server/remark/remark.service.js +39 -0
  287. package/dist/assets/server/remark/remark.service.js.map +1 -0
  288. package/dist/assets/server/report/report.controller.d.ts +18 -0
  289. package/dist/assets/server/report/report.controller.js +41 -0
  290. package/dist/assets/server/report/report.controller.js.map +1 -0
  291. package/dist/assets/server/report/report.module.d.ts +2 -0
  292. package/dist/assets/server/report/report.module.js +24 -0
  293. package/dist/assets/server/report/report.module.js.map +1 -0
  294. package/dist/assets/server/report/report.service.d.ts +23 -0
  295. package/dist/assets/server/report/report.service.js +54 -0
  296. package/dist/assets/server/report/report.service.js.map +1 -0
  297. package/dist/assets/server/rules/rules.controller.d.ts +6 -0
  298. package/dist/assets/server/rules/rules.controller.js +35 -0
  299. package/dist/assets/server/rules/rules.controller.js.map +1 -0
  300. package/dist/assets/server/rules/rules.module.d.ts +2 -0
  301. package/dist/assets/server/rules/rules.module.js +23 -0
  302. package/dist/assets/server/rules/rules.module.js.map +1 -0
  303. package/dist/assets/server/rules/rules.service.d.ts +10 -0
  304. package/dist/assets/server/rules/rules.service.js +26 -0
  305. package/dist/assets/server/rules/rules.service.js.map +1 -0
  306. package/dist/assets/server/search/search.controller.d.ts +6 -0
  307. package/dist/assets/server/search/search.controller.js +53 -0
  308. package/dist/assets/server/search/search.controller.js.map +1 -0
  309. package/dist/assets/server/search/search.module.d.ts +2 -0
  310. package/dist/assets/server/search/search.module.js +24 -0
  311. package/dist/assets/server/search/search.module.js.map +1 -0
  312. package/dist/assets/server/search/search.service.d.ts +6 -0
  313. package/dist/assets/server/search/search.service.js +46 -0
  314. package/dist/assets/server/search/search.service.js.map +1 -0
  315. package/dist/assets/server/sentry.d.ts +3 -0
  316. package/dist/assets/server/sentry.js +10 -0
  317. package/dist/assets/server/sentry.js.map +1 -0
  318. package/dist/assets/server/site/entities/site-registry.entity.d.ts +13 -0
  319. package/dist/assets/server/site/entities/site-registry.entity.js +76 -0
  320. package/dist/assets/server/site/entities/site-registry.entity.js.map +1 -0
  321. package/dist/assets/server/site/site.controller.d.ts +38 -0
  322. package/dist/assets/server/site/site.controller.js +60 -0
  323. package/dist/assets/server/site/site.controller.js.map +1 -0
  324. package/dist/assets/server/site/site.module.d.ts +2 -0
  325. package/dist/assets/server/site/site.module.js +26 -0
  326. package/dist/assets/server/site/site.module.js.map +1 -0
  327. package/dist/assets/server/site/site.service.d.ts +38 -0
  328. package/dist/assets/server/site/site.service.js +141 -0
  329. package/dist/assets/server/site/site.service.js.map +1 -0
  330. package/dist/assets/server/snapshot/raw-snapshot.entity.d.ts +35 -0
  331. package/dist/assets/server/snapshot/raw-snapshot.entity.js +62 -0
  332. package/dist/assets/server/snapshot/raw-snapshot.entity.js.map +1 -0
  333. package/dist/assets/server/snapshot/snapshot.controller.d.ts +18 -0
  334. package/dist/assets/server/snapshot/snapshot.controller.js +76 -0
  335. package/dist/assets/server/snapshot/snapshot.controller.js.map +1 -0
  336. package/dist/assets/server/snapshot/snapshot.module.d.ts +2 -0
  337. package/dist/assets/server/snapshot/snapshot.module.js +26 -0
  338. package/dist/assets/server/snapshot/snapshot.module.js.map +1 -0
  339. package/dist/assets/server/snapshot/snapshot.service.d.ts +10 -0
  340. package/dist/assets/server/snapshot/snapshot.service.js +48 -0
  341. package/dist/assets/server/snapshot/snapshot.service.js.map +1 -0
  342. package/dist/assets/server/system/system.controller.d.ts +39 -0
  343. package/dist/assets/server/system/system.controller.js +93 -0
  344. package/dist/assets/server/system/system.controller.js.map +1 -0
  345. package/dist/assets/server/system/system.module.d.ts +2 -0
  346. package/dist/assets/server/system/system.module.js +26 -0
  347. package/dist/assets/server/system/system.module.js.map +1 -0
  348. package/dist/assets/server/system/system.service.d.ts +86 -0
  349. package/dist/assets/server/system/system.service.js +433 -0
  350. package/dist/assets/server/system/system.service.js.map +1 -0
  351. package/dist/assets/server/talent-fingerprint/fingerprint-match.service.d.ts +28 -0
  352. package/dist/assets/server/talent-fingerprint/fingerprint-match.service.js +186 -0
  353. package/dist/assets/server/talent-fingerprint/fingerprint-match.service.js.map +1 -0
  354. package/dist/assets/server/talent-fingerprint/talent-fingerprint.entity.d.ts +30 -0
  355. package/dist/assets/server/talent-fingerprint/talent-fingerprint.entity.js +55 -0
  356. package/dist/assets/server/talent-fingerprint/talent-fingerprint.entity.js.map +1 -0
  357. package/dist/assets/server/talent-fingerprint/talent-fingerprint.module.d.ts +2 -0
  358. package/dist/assets/server/talent-fingerprint/talent-fingerprint.module.js +25 -0
  359. package/dist/assets/server/talent-fingerprint/talent-fingerprint.module.js.map +1 -0
  360. package/dist/assets/server/talent-fingerprint/talent-fingerprint.service.d.ts +8 -0
  361. package/dist/assets/server/talent-fingerprint/talent-fingerprint.service.js +44 -0
  362. package/dist/assets/server/talent-fingerprint/talent-fingerprint.service.js.map +1 -0
  363. package/dist/assets/server/talent-job-match/talent-job-match.controller.d.ts +6 -0
  364. package/dist/assets/server/talent-job-match/talent-job-match.controller.js +42 -0
  365. package/dist/assets/server/talent-job-match/talent-job-match.controller.js.map +1 -0
  366. package/dist/assets/server/talent-job-match/talent-job-match.entity.d.ts +33 -0
  367. package/dist/assets/server/talent-job-match/talent-job-match.entity.js +73 -0
  368. package/dist/assets/server/talent-job-match/talent-job-match.entity.js.map +1 -0
  369. package/dist/assets/server/talent-job-match/talent-job-match.module.d.ts +2 -0
  370. package/dist/assets/server/talent-job-match/talent-job-match.module.js +26 -0
  371. package/dist/assets/server/talent-job-match/talent-job-match.module.js.map +1 -0
  372. package/dist/assets/server/talent-job-match/talent-job-match.service.d.ts +9 -0
  373. package/dist/assets/server/talent-job-match/talent-job-match.service.js +42 -0
  374. package/dist/assets/server/talent-job-match/talent-job-match.service.js.map +1 -0
  375. package/dist/assets/server/talent-portrait/portrait-merge.service.d.ts +17 -0
  376. package/dist/assets/server/talent-portrait/portrait-merge.service.js +200 -0
  377. package/dist/assets/server/talent-portrait/portrait-merge.service.js.map +1 -0
  378. package/dist/assets/server/talent-portrait/talent-portrait.controller.d.ts +7 -0
  379. package/dist/assets/server/talent-portrait/talent-portrait.controller.js +52 -0
  380. package/dist/assets/server/talent-portrait/talent-portrait.controller.js.map +1 -0
  381. package/dist/assets/server/talent-portrait/talent-portrait.entity.d.ts +91 -0
  382. package/dist/assets/server/talent-portrait/talent-portrait.entity.js +71 -0
  383. package/dist/assets/server/talent-portrait/talent-portrait.entity.js.map +1 -0
  384. package/dist/assets/server/talent-portrait/talent-portrait.module.d.ts +2 -0
  385. package/dist/assets/server/talent-portrait/talent-portrait.module.js +27 -0
  386. package/dist/assets/server/talent-portrait/talent-portrait.module.js.map +1 -0
  387. package/dist/assets/server/talent-portrait/talent-portrait.service.d.ts +10 -0
  388. package/dist/assets/server/talent-portrait/talent-portrait.service.js +46 -0
  389. package/dist/assets/server/talent-portrait/talent-portrait.service.js.map +1 -0
  390. package/dist/assets/server/telemetry/telemetry.module.d.ts +2 -0
  391. package/dist/assets/server/telemetry/telemetry.module.js +24 -0
  392. package/dist/assets/server/telemetry/telemetry.module.js.map +1 -0
  393. package/dist/assets/server/telemetry/telemetry.service.d.ts +29 -0
  394. package/dist/assets/server/telemetry/telemetry.service.js +116 -0
  395. package/dist/assets/server/telemetry/telemetry.service.js.map +1 -0
  396. package/dist/auto-doctor.d.ts +8 -0
  397. package/dist/auto-doctor.js +34 -0
  398. package/dist/bundled-assets.d.ts +22 -0
  399. package/dist/bundled-assets.js +80 -0
  400. package/dist/cache/db.js +10 -54
  401. package/dist/commands/addons.js +46 -71
  402. package/dist/commands/cache.js +29 -27
  403. package/dist/commands/config.d.ts +1 -1
  404. package/dist/commands/config.js +8 -12
  405. package/dist/commands/doctor.d.ts +38 -1
  406. package/dist/commands/doctor.js +214 -74
  407. package/dist/commands/extension.js +84 -98
  408. package/dist/commands/extras.d.ts +32 -2
  409. package/dist/commands/extras.js +252 -64
  410. package/dist/commands/init.js +18 -46
  411. package/dist/commands/install.js +31 -60
  412. package/dist/commands/job.js +27 -65
  413. package/dist/commands/login.js +50 -37
  414. package/dist/commands/logout.js +8 -12
  415. package/dist/commands/ops.js +94 -67
  416. package/dist/commands/record.js +21 -59
  417. package/dist/commands/report.js +14 -18
  418. package/dist/commands/search.js +14 -21
  419. package/dist/commands/server.d.ts +1 -1
  420. package/dist/commands/server.js +126 -112
  421. package/dist/commands/status.js +23 -27
  422. package/dist/commands/update.js +44 -79
  423. package/dist/config.d.ts +3 -0
  424. package/dist/config.js +12 -46
  425. package/dist/i18n/index.js +5 -11
  426. package/dist/i18n/locales/en-US.json +24 -1
  427. package/dist/i18n/locales/zh-CN.json +24 -1
  428. package/dist/index.cmd +3 -0
  429. package/dist/index.js +90 -98
  430. package/dist/index.ps1 +3 -0
  431. package/dist/keychain.js +9 -44
  432. package/dist/logger.d.ts +7 -0
  433. package/dist/logger.js +80 -0
  434. package/dist/native-check.d.ts +6 -0
  435. package/dist/native-check.js +23 -0
  436. package/dist/sentry.js +4 -8
  437. package/dist/updater.js +15 -52
  438. package/dist/utils/proc.d.ts +35 -0
  439. package/dist/utils/proc.js +81 -0
  440. package/dist/utils/spawn.d.ts +19 -0
  441. package/dist/utils/spawn.js +60 -0
  442. package/dist/version.d.ts +1 -1
  443. package/dist/version.js +183 -81
  444. package/dist/watchdog.d.ts +1 -0
  445. package/dist/watchdog.js +128 -0
  446. package/package.json +7 -6
  447. package/dist/commands/native-check.d.ts +0 -22
  448. package/dist/commands/native-check.js +0 -93
@@ -1,42 +1,8 @@
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.externalCommand = exports.skillCommand = exports.pluginCommand = void 0;
37
- const commander_1 = require("commander");
38
- const fs = __importStar(require("fs"));
39
- const path = __importStar(require("path"));
1
+ import { Command } from 'commander';
2
+ import * as fs from 'fs';
3
+ import * as path from 'path';
4
+ import { spawnSyncSafe } from '../utils/spawn.js';
5
+ import { getCliLogger } from '../logger.js';
40
6
  function formatOpt(cmd) {
41
7
  return cmd.option('-f, --format <format>', '输出格式: table|json|yaml|md|csv', 'json');
42
8
  }
@@ -75,13 +41,14 @@ const writeJson = (f, v) => fs.writeFileSync(f, JSON.stringify(v, null, 2));
75
41
  // ---------------------------------------------------------------------------
76
42
  // plugin (对应 chromepilot plugin)
77
43
  // ---------------------------------------------------------------------------
78
- exports.pluginCommand = formatOpt(new commander_1.Command('plugin')
44
+ export const pluginCommand = formatOpt(new Command('plugin')
79
45
  .description('插件管理(对应 chromepilot plugin): list|install|update|uninstall|create')
80
46
  .argument('[action]', '操作 (默认 list)', 'list')
81
47
  .argument('[arg]', 'install:source / uninstall|update:name / create:name')).action(async (action, arg, opts) => {
82
48
  ensure(PLUGINS_DIR());
83
49
  // install/update/uninstall 后: server 在跑则自动热重载插件(磁盘 vs 运行版本对比)
84
- const syncPlugins = () => Promise.resolve().then(() => __importStar(require('../version'))).then(({ ensureRuntimeConsistency }) => ensureRuntimeConsistency({ force: true, verbose: true }))
50
+ const syncPlugins = () => import('../version.js')
51
+ .then(({ ensureRuntimeConsistency }) => ensureRuntimeConsistency({ force: true, verbose: true }))
85
52
  .catch(() => { });
86
53
  switch (action) {
87
54
  case 'list': {
@@ -103,12 +70,12 @@ exports.pluginCommand = formatOpt(new commander_1.Command('plugin')
103
70
  }
104
71
  case 'create': {
105
72
  if (!arg) {
106
- console.error('plugin create 需要 name');
73
+ getCliLogger().error('addons:plugin-create-missing-arg', { hint: 'plugin create 需要 name' });
107
74
  process.exit(1);
108
75
  }
109
76
  const dir = path.join(PLUGINS_DIR(), arg);
110
77
  if (fs.existsSync(dir)) {
111
- console.error(`plugin ${arg} already exists: ${dir}`);
78
+ getCliLogger().error('addons:plugin-already-exists', { hint: `plugin ${arg} already exists: ${dir}` });
112
79
  process.exit(1);
113
80
  }
114
81
  ensure(dir);
@@ -128,7 +95,7 @@ exports.pluginCommand = formatOpt(new commander_1.Command('plugin')
128
95
  }
129
96
  case 'install': {
130
97
  if (!arg) {
131
- console.error('plugin install 需要 source(本地路径或 npm 包名)');
98
+ getCliLogger().error('addons:plugin-install-missing-arg', { hint: 'plugin install 需要 source(本地路径或 npm 包名)' });
132
99
  process.exit(1);
133
100
  }
134
101
  // MVP: 本地路径复制;npm 包需单独调用 npm install --prefix
@@ -146,7 +113,7 @@ exports.pluginCommand = formatOpt(new commander_1.Command('plugin')
146
113
  }
147
114
  case 'update': {
148
115
  if (!arg) {
149
- console.error('plugin update 需要 name');
116
+ getCliLogger().error('addons:plugin-update-missing-arg', { hint: 'plugin update 需要 name' });
150
117
  process.exit(1);
151
118
  }
152
119
  const dir = path.join(PLUGINS_DIR(), arg);
@@ -155,18 +122,19 @@ exports.pluginCommand = formatOpt(new commander_1.Command('plugin')
155
122
  return;
156
123
  }
157
124
  // 真实更新: git 仓 → git pull;npm 包 → npm update;完成后触发 server 端热重载
158
- const { spawnSync } = require('child_process');
125
+ // spawnSyncSafe 跨平台处理:Windows 自动 shell:true + PATHEXT 解析(.cmd/.bat/.exe)
126
+ // POSIX 行为零变化(不依赖 shell)
159
127
  let updated = false;
160
128
  let detail = '';
161
129
  if (fs.existsSync(path.join(dir, '.git'))) {
162
- const r = spawnSync('git', ['-C', dir, 'pull', '--ff-only'], { encoding: 'utf-8', timeout: 60_000 });
130
+ const r = spawnSyncSafe('git', ['-C', dir, 'pull', '--ff-only'], { encoding: 'utf-8', timeout: 60_000 });
163
131
  updated = r.status === 0;
164
- detail = r.stdout?.trim() || r.stderr?.trim() || '';
132
+ detail = String(r.stdout ?? '').trim() || String(r.stderr ?? '').trim() || '';
165
133
  }
166
134
  else if (fs.existsSync(path.join(dir, 'package.json')) && fs.existsSync(path.join(dir, 'node_modules'))) {
167
- const r = spawnSync('npm', ['update', '--prefix', dir], { encoding: 'utf-8', timeout: 120_000 });
135
+ const r = spawnSyncSafe('npm', ['update', '--prefix', dir], { encoding: 'utf-8', timeout: 120_000 });
168
136
  updated = r.status === 0;
169
- detail = r.stdout?.trim() || r.stderr?.trim() || '';
137
+ detail = String(r.stdout ?? '').trim() || String(r.stderr ?? '').trim() || '';
170
138
  }
171
139
  else {
172
140
  detail = `非 git 仓且非 npm 安装目录,请手动更新: ${dir}`;
@@ -178,7 +146,7 @@ exports.pluginCommand = formatOpt(new commander_1.Command('plugin')
178
146
  }
179
147
  case 'uninstall': {
180
148
  if (!arg) {
181
- console.error('plugin uninstall 需要 name');
149
+ getCliLogger().error('addons:plugin-uninstall-missing-arg', { hint: 'plugin uninstall 需要 name' });
182
150
  process.exit(1);
183
151
  }
184
152
  const dir = path.join(PLUGINS_DIR(), arg);
@@ -192,14 +160,16 @@ exports.pluginCommand = formatOpt(new commander_1.Command('plugin')
192
160
  return;
193
161
  }
194
162
  default:
195
- console.error(`plugin: unknown action ${action}(支持: list|install|update|uninstall|create)`);
163
+ getCliLogger().error('addons:plugin-unknown-action', {
164
+ hint: `plugin: unknown action ${action}(支持: list|install|update|uninstall|create)`,
165
+ });
196
166
  process.exit(1);
197
167
  }
198
168
  });
199
169
  // ---------------------------------------------------------------------------
200
170
  // skill (对应 chromepilot skill)
201
171
  // ---------------------------------------------------------------------------
202
- exports.skillCommand = formatOpt(new commander_1.Command('skill')
172
+ export const skillCommand = formatOpt(new Command('skill')
203
173
  .description('本地 CLI 级 skill 管理(对应 chromepilot skill): list|show|path|create|remove|edit')
204
174
  .argument('[action]', '操作 (默认 list)', 'list')
205
175
  .argument('[name]', 'skill 名称')).action(async (action, name, opts) => {
@@ -216,7 +186,7 @@ exports.skillCommand = formatOpt(new commander_1.Command('skill')
216
186
  }
217
187
  case 'path': {
218
188
  if (!name) {
219
- console.error('skill path 需要 name');
189
+ getCliLogger().error('addons:skill-path-missing-name', { hint: 'skill path 需要 name' });
220
190
  process.exit(1);
221
191
  }
222
192
  const p = path.join(SKILLS_DIR(), name);
@@ -225,7 +195,7 @@ exports.skillCommand = formatOpt(new commander_1.Command('skill')
225
195
  }
226
196
  case 'show': {
227
197
  if (!name) {
228
- console.error('skill show 需要 name');
198
+ getCliLogger().error('addons:skill-show-missing-name', { hint: 'skill show 需要 name' });
229
199
  process.exit(1);
230
200
  }
231
201
  const sm = path.join(SKILLS_DIR(), name, 'SKILL.md');
@@ -238,12 +208,12 @@ exports.skillCommand = formatOpt(new commander_1.Command('skill')
238
208
  }
239
209
  case 'create': {
240
210
  if (!name) {
241
- console.error('skill create 需要 name');
211
+ getCliLogger().error('addons:skill-create-missing-name', { hint: 'skill create 需要 name' });
242
212
  process.exit(1);
243
213
  }
244
214
  const dir = path.join(SKILLS_DIR(), name);
245
215
  if (fs.existsSync(dir)) {
246
- console.error(`skill ${name} 已存在`);
216
+ getCliLogger().error('addons:skill-already-exists', { hint: `skill ${name} 已存在` });
247
217
  process.exit(1);
248
218
  }
249
219
  ensure(dir);
@@ -268,7 +238,7 @@ exports.skillCommand = formatOpt(new commander_1.Command('skill')
268
238
  }
269
239
  case 'remove': {
270
240
  if (!name) {
271
- console.error('skill remove 需要 name');
241
+ getCliLogger().error('addons:skill-remove-missing-name', { hint: 'skill remove 需要 name' });
272
242
  process.exit(1);
273
243
  }
274
244
  const dir = path.join(SKILLS_DIR(), name);
@@ -282,29 +252,33 @@ exports.skillCommand = formatOpt(new commander_1.Command('skill')
282
252
  }
283
253
  case 'edit': {
284
254
  if (!name) {
285
- console.error('skill edit 需要 name');
255
+ getCliLogger().error('addons:skill-edit-missing-name', { hint: 'skill edit 需要 name' });
286
256
  process.exit(1);
287
257
  }
288
258
  const sm = path.join(SKILLS_DIR(), name, 'SKILL.md');
289
259
  try {
290
- const { default: open } = await Promise.resolve().then(() => __importStar(require('open')));
260
+ const { default: open } = await import('open');
291
261
  await open(sm);
292
262
  printResult({ ok: true, opening: sm }, opts.format);
293
263
  }
294
264
  catch (e) {
295
- console.warn(`open not available: ${e.message}. 手动编辑: ${sm}`);
265
+ getCliLogger().warn('addons:skill-edit-open-failed', {
266
+ hint: `open not available: ${e.message}. 手动编辑: ${sm}`,
267
+ });
296
268
  }
297
269
  return;
298
270
  }
299
271
  default:
300
- console.error(`skill: unknown action ${action}(支持: list|show|path|create|remove|edit)`);
272
+ getCliLogger().error('addons:skill-unknown-action', {
273
+ hint: `skill: unknown action ${action}(支持: list|install|update|uninstall|create)`,
274
+ });
301
275
  process.exit(1);
302
276
  }
303
277
  });
304
278
  // ---------------------------------------------------------------------------
305
279
  // external (对应 chromepilot external)
306
280
  // ---------------------------------------------------------------------------
307
- exports.externalCommand = formatOpt(new commander_1.Command('external')
281
+ export const externalCommand = formatOpt(new Command('external')
308
282
  .description('外部 CLI 透传(对应 chromepilot external): list|register|install|run|unregister')
309
283
  .argument('[action]', '操作 (默认 list)', 'list')
310
284
  .argument('[name]', 'CLI 名称'))
@@ -319,7 +293,7 @@ exports.externalCommand = formatOpt(new commander_1.Command('external')
319
293
  return;
320
294
  case 'register': {
321
295
  if (!name || !opts.binary) {
322
- console.error('external register 需要 name + --binary <path>');
296
+ getCliLogger().error('addons:external-register-missing-arg', { hint: 'external register 需要 name + --binary <path>' });
323
297
  process.exit(1);
324
298
  }
325
299
  const e = { name, binary: opts.binary, description: opts.desc, registeredAt: new Date().toISOString() };
@@ -330,7 +304,7 @@ exports.externalCommand = formatOpt(new commander_1.Command('external')
330
304
  }
331
305
  case 'unregister': {
332
306
  if (!name) {
333
- console.error('external unregister 需要 name');
307
+ getCliLogger().error('addons:external-unregister-missing-name', { hint: 'external unregister 需要 name' });
334
308
  process.exit(1);
335
309
  }
336
310
  store.entries = store.entries.filter((x) => x.name !== name);
@@ -340,12 +314,12 @@ exports.externalCommand = formatOpt(new commander_1.Command('external')
340
314
  }
341
315
  case 'install': {
342
316
  if (!name) {
343
- console.error('external install 需要 name(已注册的 CLI)');
317
+ getCliLogger().error('addons:external-install-missing-name', { hint: 'external install 需要 name(已注册的 CLI)' });
344
318
  process.exit(1);
345
319
  }
346
320
  const e = store.entries.find((x) => x.name === name);
347
321
  if (!e) {
348
- console.error(`external not registered: ${name}`);
322
+ getCliLogger().error('addons:external-not-registered', { hint: `external not registered: ${name}` });
349
323
  process.exit(1);
350
324
  }
351
325
  // 校验可执行权限/存在
@@ -361,17 +335,18 @@ exports.externalCommand = formatOpt(new commander_1.Command('external')
361
335
  }
362
336
  case 'run': {
363
337
  if (!name) {
364
- console.error('external run 需要 name');
338
+ getCliLogger().error('addons:external-run-missing-name', { hint: 'external run 需要 name' });
365
339
  process.exit(1);
366
340
  }
367
341
  const e = store.entries.find((x) => x.name === name);
368
342
  if (!e) {
369
- console.error(`external not registered: ${name}. 先 hunter-mate external register ${name} --binary <path>`);
343
+ getCliLogger().error('addons:external-not-registered', { hint: `external not registered: ${name}. 先 hunter-mate external register ${name} --binary <path>` });
370
344
  process.exit(1);
371
345
  }
372
- const { spawnSync } = require('child_process');
346
+ // spawnSyncSafe 在 Windows 上自动开 shell:true 让 .cmd/.bat 可执行;
347
+ // POSIX 上 shell:false 与原行为一致。
373
348
  const extraArgs = process.argv.slice(process.argv.indexOf(name) + 1);
374
- const r = spawnSync(e.binary, extraArgs, { stdio: 'inherit', shell: false });
349
+ const r = spawnSyncSafe(e.binary, extraArgs, { stdio: 'inherit' });
375
350
  process.exit(r.status ?? 0);
376
351
  }
377
352
  }
@@ -1,58 +1,60 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.cacheCommand = void 0;
7
- exports.runCacheSync = runCacheSync;
8
- exports.runCacheClear = runCacheClear;
9
- const commander_1 = require("commander");
10
- const axios_1 = __importDefault(require("axios"));
11
- const config_1 = require("../config");
12
- const keychain_1 = require("../keychain");
13
- const db_1 = require("../cache/db");
14
- async function runCacheSync() {
15
- const config = (0, config_1.loadConfig)();
16
- const token = await (0, keychain_1.getToken)();
1
+ import { Command } from 'commander';
2
+ import axios from 'axios';
3
+ import { loadConfig } from '../config.js';
4
+ import { getToken } from '../keychain.js';
5
+ import { ensureCacheDir, saveJobCase, saveCommunicationRecord, getDb } from '../cache/db.js';
6
+ import { getCliLogger } from '../logger.js';
7
+ export async function runCacheSync() {
8
+ const config = loadConfig();
9
+ const token = await getToken();
17
10
  const headers = token ? { Authorization: `UTOKEN ${token}` } : {};
18
- (0, db_1.ensureCacheDir)();
11
+ ensureCacheDir();
19
12
  const [jobRes, commRes] = await Promise.all([
20
- axios_1.default.get(`${config.serverUrl}/job-cases`, { headers, proxy: false }),
21
- axios_1.default.get(`${config.serverUrl}/communication-records`, { headers, proxy: false }),
13
+ axios.get(`${config.serverUrl}/job-cases`, { headers, proxy: false }),
14
+ axios.get(`${config.serverUrl}/communication-records`, { headers, proxy: false }),
22
15
  ]);
23
16
  const jobCases = jobRes.data || [];
24
17
  const records = commRes.data || [];
25
18
  for (const jc of jobCases) {
26
- (0, db_1.saveJobCase)({ ...jc, createdAt: Date.parse(jc.createdAt) || Date.now() });
19
+ saveJobCase({ ...jc, createdAt: Date.parse(jc.createdAt) || Date.now() });
27
20
  }
28
21
  for (const r of records) {
29
- (0, db_1.saveCommunicationRecord)(r);
22
+ saveCommunicationRecord(r);
30
23
  }
31
24
  return { jobCaseCount: jobCases.length, communicationCount: records.length };
32
25
  }
33
- function runCacheClear() {
34
- const db = (0, db_1.getDb)();
26
+ export function runCacheClear() {
27
+ const db = getDb();
35
28
  db.exec('DELETE FROM job_cases; DELETE FROM communication_records; DELETE FROM search_history;');
36
29
  }
37
- exports.cacheCommand = new commander_1.Command('cache')
30
+ export const cacheCommand = new Command('cache')
38
31
  .description('本地缓存管理');
39
- exports.cacheCommand
32
+ cacheCommand
40
33
  .command('sync')
41
34
  .description('从服务器同步 JobCase 与沟通记录到本地 SQLite')
42
35
  .action(async () => {
43
36
  try {
44
37
  const result = await runCacheSync();
38
+ getCliLogger().info('cache:sync-success', {
39
+ jobCaseCount: result.jobCaseCount,
40
+ communicationCount: result.communicationCount,
41
+ });
45
42
  console.log(`同步完成:JobCase ${result.jobCaseCount} 条,沟通记录 ${result.communicationCount} 条`);
46
43
  }
47
44
  catch (err) {
48
- console.error('同步失败:', err.response?.data?.message || err.message);
45
+ // patchConsole 已统一转发,但 logger-kit 提供结构化字段,
46
+ // 业务错误统一走 getCliLogger().error
47
+ getCliLogger().error('cache:sync-failed', {
48
+ error: err.response?.data?.message || err.message,
49
+ });
49
50
  process.exit(1);
50
51
  }
51
52
  });
52
- exports.cacheCommand
53
+ cacheCommand
53
54
  .command('clear')
54
55
  .description('清空本地缓存')
55
56
  .action(() => {
56
57
  runCacheClear();
58
+ getCliLogger().info('cache:cleared');
57
59
  console.log('本地缓存已清空');
58
60
  });
@@ -4,5 +4,5 @@ export interface ConfigOptions {
4
4
  watchFolder?: string;
5
5
  lang?: string;
6
6
  }
7
- export declare function runConfig(options: ConfigOptions): import("../config").HunterMateConfig;
7
+ export declare function runConfig(options: ConfigOptions): import("../config.js").HunterMateConfig;
8
8
  export declare const configCommand: Command;
@@ -1,11 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.configCommand = void 0;
4
- exports.runConfig = runConfig;
5
- const commander_1 = require("commander");
6
- const config_1 = require("../config");
7
- const i18n_1 = require("../i18n");
8
- function runConfig(options) {
1
+ import { Command } from 'commander';
2
+ import { saveConfig } from '../config.js';
3
+ import { i18n } from '../i18n/index.js';
4
+ export function runConfig(options) {
9
5
  const updates = {};
10
6
  if (options.serverUrl)
11
7
  updates.serverUrl = options.serverUrl;
@@ -13,15 +9,15 @@ function runConfig(options) {
13
9
  updates.watchFolder = options.watchFolder;
14
10
  if (options.lang)
15
11
  updates.lang = options.lang;
16
- const saved = (0, config_1.saveConfig)(updates);
12
+ const saved = saveConfig(updates);
17
13
  return saved;
18
14
  }
19
- exports.configCommand = new commander_1.Command('config')
20
- .description(i18n_1.i18n.t('config.description'))
15
+ export const configCommand = new Command('config')
16
+ .description(i18n.t('config.description'))
21
17
  .option('--server-url <url>', 'Server URL')
22
18
  .option('--watch-folder <path>', 'Watch folder for job cases')
23
19
  .option('--lang <lang>', 'Output language')
24
20
  .action((options) => {
25
21
  runConfig(options);
26
- console.log(i18n_1.i18n.t('config.saved'));
22
+ console.log(i18n.t('config.saved'));
27
23
  });
@@ -4,18 +4,55 @@ interface DoctorCheck {
4
4
  status: 'ok' | 'warn' | 'fail' | 'skip';
5
5
  detail: string;
6
6
  }
7
+ export interface DoctorChecksOptions {
8
+ fix?: boolean;
9
+ checks?: string[];
10
+ dryRun?: boolean;
11
+ json?: boolean;
12
+ timeout?: number;
13
+ }
14
+ export interface DoctorRunResponse {
15
+ mode: 'check' | 'repair';
16
+ dryRun: boolean;
17
+ summary: 'ok' | 'warn' | 'error';
18
+ checks: Array<{
19
+ id: string;
20
+ name: string;
21
+ description: string;
22
+ severity: 'info' | 'warn' | 'error';
23
+ ok: boolean;
24
+ fixable: boolean;
25
+ details?: Record<string, any>;
26
+ message?: string;
27
+ }>;
28
+ repaired?: Array<{
29
+ dedupKey: string;
30
+ masterId: number;
31
+ removedIds: number[];
32
+ mergedFields: string[];
33
+ sourceUrl: string;
34
+ }>;
35
+ }
36
+ /**
37
+ * 调用 server /doctor/run 统一入口。
38
+ * 失败时返回 null,调用方决定如何处理。
39
+ */
40
+ export declare function runDoctorChecks(opts: DoctorChecksOptions): Promise<DoctorRunResponse | null>;
7
41
  /** 对应 ChromePilot doctor: 全链路健康检查 — 带 auto-heal, 无感启动 server/安装扩展 */
8
42
  export declare function runDoctor(opts: {
9
43
  json?: boolean;
10
- openExtensionFolder?: boolean;
11
44
  autoHeal?: boolean;
12
45
  interactive?: boolean;
46
+ fix?: boolean;
47
+ checks?: string[];
13
48
  }): Promise<{
14
49
  summary: 'pass' | 'warn' | 'fail';
15
50
  checks: DoctorCheck[];
16
51
  hints: string[];
17
52
  healed: string[];
18
53
  actions: string[];
54
+ data?: DoctorRunResponse | null;
19
55
  }>;
20
56
  export declare const doctorCommand: Command;
57
+ export declare const repairLinkedInDupesCommand: Command;
21
58
  export {};