hunter-mate 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (403) hide show
  1. package/dist/assets/extension/_locales/en_US/messages.json +5 -0
  2. package/dist/assets/extension/_locales/zh_CN/messages.json +5 -0
  3. package/dist/assets/extension/background/service-worker.js +3253 -0
  4. package/dist/assets/extension/content/index.js +13660 -0
  5. package/dist/assets/extension/manifest.json +49 -0
  6. package/dist/assets/extension/package.json +24 -0
  7. package/dist/assets/extension/sidepanel/index.html +400 -0
  8. package/dist/assets/extension/sidepanel/index.js +852 -0
  9. package/dist/assets/server/agent-session/agent-session.controller.d.ts +32 -0
  10. package/dist/assets/server/agent-session/agent-session.controller.js +83 -0
  11. package/dist/assets/server/agent-session/agent-session.controller.js.map +1 -0
  12. package/dist/assets/server/agent-session/agent-session.guard.d.ts +4 -0
  13. package/dist/assets/server/agent-session/agent-session.guard.js +32 -0
  14. package/dist/assets/server/agent-session/agent-session.guard.js.map +1 -0
  15. package/dist/assets/server/agent-session/agent-session.module.d.ts +2 -0
  16. package/dist/assets/server/agent-session/agent-session.module.js +28 -0
  17. package/dist/assets/server/agent-session/agent-session.module.js.map +1 -0
  18. package/dist/assets/server/agent-session/agent-session.service.d.ts +54 -0
  19. package/dist/assets/server/agent-session/agent-session.service.js +431 -0
  20. package/dist/assets/server/agent-session/agent-session.service.js.map +1 -0
  21. package/dist/assets/server/agent-session/agent-session.types.d.ts +56 -0
  22. package/dist/assets/server/agent-session/agent-session.types.js +3 -0
  23. package/dist/assets/server/agent-session/agent-session.types.js.map +1 -0
  24. package/dist/assets/server/agent-session/entities/agent-event.entity.d.ts +12 -0
  25. package/dist/assets/server/agent-session/entities/agent-event.entity.js +73 -0
  26. package/dist/assets/server/agent-session/entities/agent-event.entity.js.map +1 -0
  27. package/dist/assets/server/agent-session/entities/agent-message.entity.d.ts +13 -0
  28. package/dist/assets/server/agent-session/entities/agent-message.entity.js +77 -0
  29. package/dist/assets/server/agent-session/entities/agent-message.entity.js.map +1 -0
  30. package/dist/assets/server/agent-session/entities/agent-session.entity.d.ts +14 -0
  31. package/dist/assets/server/agent-session/entities/agent-session.entity.js +83 -0
  32. package/dist/assets/server/agent-session/entities/agent-session.entity.js.map +1 -0
  33. package/dist/assets/server/app.module.d.ts +4 -0
  34. package/dist/assets/server/app.module.js +125 -0
  35. package/dist/assets/server/app.module.js.map +1 -0
  36. package/dist/assets/server/auth/auth.controller.d.ts +22 -0
  37. package/dist/assets/server/auth/auth.controller.js +88 -0
  38. package/dist/assets/server/auth/auth.controller.js.map +1 -0
  39. package/dist/assets/server/auth/auth.middleware.d.ts +5 -0
  40. package/dist/assets/server/auth/auth.middleware.js +34 -0
  41. package/dist/assets/server/auth/auth.middleware.js.map +1 -0
  42. package/dist/assets/server/auth/auth.module.d.ts +2 -0
  43. package/dist/assets/server/auth/auth.module.js +24 -0
  44. package/dist/assets/server/auth/auth.module.js.map +1 -0
  45. package/dist/assets/server/auth/auth.service.d.ts +30 -0
  46. package/dist/assets/server/auth/auth.service.js +183 -0
  47. package/dist/assets/server/auth/auth.service.js.map +1 -0
  48. package/dist/assets/server/auth/auth.types.d.ts +28 -0
  49. package/dist/assets/server/auth/auth.types.js +3 -0
  50. package/dist/assets/server/auth/auth.types.js.map +1 -0
  51. package/dist/assets/server/build-info.json +4 -0
  52. package/dist/assets/server/common/common.module.d.ts +2 -0
  53. package/dist/assets/server/common/common.module.js +22 -0
  54. package/dist/assets/server/common/common.module.js.map +1 -0
  55. package/dist/assets/server/common/crypto.service.d.ts +11 -0
  56. package/dist/assets/server/common/crypto.service.js +73 -0
  57. package/dist/assets/server/common/crypto.service.js.map +1 -0
  58. package/dist/assets/server/communication/communication-record.entity.d.ts +15 -0
  59. package/dist/assets/server/communication/communication-record.entity.js +80 -0
  60. package/dist/assets/server/communication/communication-record.entity.js.map +1 -0
  61. package/dist/assets/server/communication/communication.controller.d.ts +12 -0
  62. package/dist/assets/server/communication/communication.controller.js +61 -0
  63. package/dist/assets/server/communication/communication.controller.js.map +1 -0
  64. package/dist/assets/server/communication/communication.module.d.ts +2 -0
  65. package/dist/assets/server/communication/communication.module.js +25 -0
  66. package/dist/assets/server/communication/communication.module.js.map +1 -0
  67. package/dist/assets/server/communication/communication.service.d.ts +23 -0
  68. package/dist/assets/server/communication/communication.service.js +51 -0
  69. package/dist/assets/server/communication/communication.service.js.map +1 -0
  70. package/dist/assets/server/db/schema-validator.service.d.ts +25 -0
  71. package/dist/assets/server/db/schema-validator.service.js +107 -0
  72. package/dist/assets/server/db/schema-validator.service.js.map +1 -0
  73. package/dist/assets/server/db/schema-version.entity.d.ts +5 -0
  74. package/dist/assets/server/db/schema-version.entity.js +35 -0
  75. package/dist/assets/server/db/schema-version.entity.js.map +1 -0
  76. package/dist/assets/server/db/sqlite.module.d.ts +2 -0
  77. package/dist/assets/server/db/sqlite.module.js +79 -0
  78. package/dist/assets/server/db/sqlite.module.js.map +1 -0
  79. package/dist/assets/server/devops/devops-sink-init.d.ts +10 -0
  80. package/dist/assets/server/devops/devops-sink-init.js +96 -0
  81. package/dist/assets/server/devops/devops-sink-init.js.map +1 -0
  82. package/dist/assets/server/devops/devops-sink-init.spec.d.ts +1 -0
  83. package/dist/assets/server/devops/devops-sink-init.spec.js +71 -0
  84. package/dist/assets/server/devops/devops-sink-init.spec.js.map +1 -0
  85. package/dist/assets/server/devops/devops-sink.module.d.ts +2 -0
  86. package/dist/assets/server/devops/devops-sink.module.js +22 -0
  87. package/dist/assets/server/devops/devops-sink.module.js.map +1 -0
  88. package/dist/assets/server/extension/extension-control.controller.d.ts +67 -0
  89. package/dist/assets/server/extension/extension-control.controller.js +173 -0
  90. package/dist/assets/server/extension/extension-control.controller.js.map +1 -0
  91. package/dist/assets/server/extension/extension-control.service.d.ts +46 -0
  92. package/dist/assets/server/extension/extension-control.service.js +212 -0
  93. package/dist/assets/server/extension/extension-control.service.js.map +1 -0
  94. package/dist/assets/server/extension/extension-core.module.d.ts +2 -0
  95. package/dist/assets/server/extension/extension-core.module.js +21 -0
  96. package/dist/assets/server/extension/extension-core.module.js.map +1 -0
  97. package/dist/assets/server/extension/extension-version.controller.d.ts +6 -0
  98. package/dist/assets/server/extension/extension-version.controller.js +41 -0
  99. package/dist/assets/server/extension/extension-version.controller.js.map +1 -0
  100. package/dist/assets/server/extension/extension.module.d.ts +2 -0
  101. package/dist/assets/server/extension/extension.module.js +25 -0
  102. package/dist/assets/server/extension/extension.module.js.map +1 -0
  103. package/dist/assets/server/extraction/adapter.service.d.ts +41 -0
  104. package/dist/assets/server/extraction/adapter.service.js +161 -0
  105. package/dist/assets/server/extraction/adapter.service.js.map +1 -0
  106. package/dist/assets/server/extraction/entities/company-profile.entity.d.ts +14 -0
  107. package/dist/assets/server/extraction/entities/company-profile.entity.js +81 -0
  108. package/dist/assets/server/extraction/entities/company-profile.entity.js.map +1 -0
  109. package/dist/assets/server/extraction/entities/job-posting.entity.d.ts +15 -0
  110. package/dist/assets/server/extraction/entities/job-posting.entity.js +86 -0
  111. package/dist/assets/server/extraction/entities/job-posting.entity.js.map +1 -0
  112. package/dist/assets/server/extraction/entities/parse-log.entity.d.ts +15 -0
  113. package/dist/assets/server/extraction/entities/parse-log.entity.js +87 -0
  114. package/dist/assets/server/extraction/entities/parse-log.entity.js.map +1 -0
  115. package/dist/assets/server/extraction/entities/talent-profile.entity.d.ts +15 -0
  116. package/dist/assets/server/extraction/entities/talent-profile.entity.js +86 -0
  117. package/dist/assets/server/extraction/entities/talent-profile.entity.js.map +1 -0
  118. package/dist/assets/server/extraction/extraction-entity.controller.d.ts +100 -0
  119. package/dist/assets/server/extraction/extraction-entity.controller.js +310 -0
  120. package/dist/assets/server/extraction/extraction-entity.controller.js.map +1 -0
  121. package/dist/assets/server/extraction/extraction-rule.controller.d.ts +7 -0
  122. package/dist/assets/server/extraction/extraction-rule.controller.js +48 -0
  123. package/dist/assets/server/extraction/extraction-rule.controller.js.map +1 -0
  124. package/dist/assets/server/extraction/extraction-rule.entity.d.ts +15 -0
  125. package/dist/assets/server/extraction/extraction-rule.entity.js +80 -0
  126. package/dist/assets/server/extraction/extraction-rule.entity.js.map +1 -0
  127. package/dist/assets/server/extraction/extraction-rule.service.d.ts +24 -0
  128. package/dist/assets/server/extraction/extraction-rule.service.js +81 -0
  129. package/dist/assets/server/extraction/extraction-rule.service.js.map +1 -0
  130. package/dist/assets/server/extraction/extraction.module.d.ts +2 -0
  131. package/dist/assets/server/extraction/extraction.module.js +43 -0
  132. package/dist/assets/server/extraction/extraction.module.js.map +1 -0
  133. package/dist/assets/server/extraction/extraction.service.d.ts +62 -0
  134. package/dist/assets/server/extraction/extraction.service.js +347 -0
  135. package/dist/assets/server/extraction/extraction.service.js.map +1 -0
  136. package/dist/assets/server/extraction/script-rule.d.ts +13 -0
  137. package/dist/assets/server/extraction/script-rule.js +45 -0
  138. package/dist/assets/server/extraction/script-rule.js.map +1 -0
  139. package/dist/assets/server/extraction/structured-data.d.ts +7 -0
  140. package/dist/assets/server/extraction/structured-data.js +96 -0
  141. package/dist/assets/server/extraction/structured-data.js.map +1 -0
  142. package/dist/assets/server/hcapi/hcapi.module.d.ts +2 -0
  143. package/dist/assets/server/hcapi/hcapi.module.js +23 -0
  144. package/dist/assets/server/hcapi/hcapi.module.js.map +1 -0
  145. package/dist/assets/server/hcapi/hcapi.service.d.ts +28 -0
  146. package/dist/assets/server/hcapi/hcapi.service.js +81 -0
  147. package/dist/assets/server/hcapi/hcapi.service.js.map +1 -0
  148. package/dist/assets/server/health/health.controller.d.ts +19 -0
  149. package/dist/assets/server/health/health.controller.js +59 -0
  150. package/dist/assets/server/health/health.controller.js.map +1 -0
  151. package/dist/assets/server/jobcase/jobcase.controller.d.ts +12 -0
  152. package/dist/assets/server/jobcase/jobcase.controller.js +61 -0
  153. package/dist/assets/server/jobcase/jobcase.controller.js.map +1 -0
  154. package/dist/assets/server/jobcase/jobcase.entity.d.ts +13 -0
  155. package/dist/assets/server/jobcase/jobcase.entity.js +71 -0
  156. package/dist/assets/server/jobcase/jobcase.entity.js.map +1 -0
  157. package/dist/assets/server/jobcase/jobcase.module.d.ts +2 -0
  158. package/dist/assets/server/jobcase/jobcase.module.js +26 -0
  159. package/dist/assets/server/jobcase/jobcase.module.js.map +1 -0
  160. package/dist/assets/server/jobcase/jobcase.service.d.ts +21 -0
  161. package/dist/assets/server/jobcase/jobcase.service.js +56 -0
  162. package/dist/assets/server/jobcase/jobcase.service.js.map +1 -0
  163. package/dist/assets/server/llm/llm.module.d.ts +2 -0
  164. package/dist/assets/server/llm/llm.module.js +21 -0
  165. package/dist/assets/server/llm/llm.module.js.map +1 -0
  166. package/dist/assets/server/llm/llm.service.d.ts +18 -0
  167. package/dist/assets/server/llm/llm.service.js +65 -0
  168. package/dist/assets/server/llm/llm.service.js.map +1 -0
  169. package/dist/assets/server/main.d.ts +1 -0
  170. package/dist/assets/server/main.js +30 -0
  171. package/dist/assets/server/main.js.map +1 -0
  172. package/dist/assets/server/matching/matching.controller.d.ts +16 -0
  173. package/dist/assets/server/matching/matching.controller.js +97 -0
  174. package/dist/assets/server/matching/matching.controller.js.map +1 -0
  175. package/dist/assets/server/matching/matching.module.d.ts +2 -0
  176. package/dist/assets/server/matching/matching.module.js +36 -0
  177. package/dist/assets/server/matching/matching.module.js.map +1 -0
  178. package/dist/assets/server/matching/matching.service.d.ts +55 -0
  179. package/dist/assets/server/matching/matching.service.js +409 -0
  180. package/dist/assets/server/matching/matching.service.js.map +1 -0
  181. package/dist/assets/server/package.json +57 -0
  182. package/dist/assets/server/parsed-resume/parsed-resume.controller.d.ts +6 -0
  183. package/dist/assets/server/parsed-resume/parsed-resume.controller.js +42 -0
  184. package/dist/assets/server/parsed-resume/parsed-resume.controller.js.map +1 -0
  185. package/dist/assets/server/parsed-resume/parsed-resume.entity.d.ts +124 -0
  186. package/dist/assets/server/parsed-resume/parsed-resume.entity.js +72 -0
  187. package/dist/assets/server/parsed-resume/parsed-resume.entity.js.map +1 -0
  188. package/dist/assets/server/parsed-resume/parsed-resume.module.d.ts +2 -0
  189. package/dist/assets/server/parsed-resume/parsed-resume.module.js +26 -0
  190. package/dist/assets/server/parsed-resume/parsed-resume.module.js.map +1 -0
  191. package/dist/assets/server/parsed-resume/parsed-resume.service.d.ts +10 -0
  192. package/dist/assets/server/parsed-resume/parsed-resume.service.js +45 -0
  193. package/dist/assets/server/parsed-resume/parsed-resume.service.js.map +1 -0
  194. package/dist/assets/server/parsing/parse-error-report.entity.d.ts +11 -0
  195. package/dist/assets/server/parsing/parse-error-report.entity.js +66 -0
  196. package/dist/assets/server/parsing/parse-error-report.entity.js.map +1 -0
  197. package/dist/assets/server/parsing/parsing.controller.d.ts +19 -0
  198. package/dist/assets/server/parsing/parsing.controller.js +97 -0
  199. package/dist/assets/server/parsing/parsing.controller.js.map +1 -0
  200. package/dist/assets/server/parsing/parsing.module.d.ts +2 -0
  201. package/dist/assets/server/parsing/parsing.module.js +38 -0
  202. package/dist/assets/server/parsing/parsing.module.js.map +1 -0
  203. package/dist/assets/server/parsing/parsing.service.d.ts +38 -0
  204. package/dist/assets/server/parsing/parsing.service.js +263 -0
  205. package/dist/assets/server/parsing/parsing.service.js.map +1 -0
  206. package/dist/assets/server/query/fields-meta.controller.d.ts +28 -0
  207. package/dist/assets/server/query/fields-meta.controller.js +57 -0
  208. package/dist/assets/server/query/fields-meta.controller.js.map +1 -0
  209. package/dist/assets/server/query/query-builder.controller.d.ts +11 -0
  210. package/dist/assets/server/query/query-builder.controller.js +40 -0
  211. package/dist/assets/server/query/query-builder.controller.js.map +1 -0
  212. package/dist/assets/server/query/query-builder.service.d.ts +8 -0
  213. package/dist/assets/server/query/query-builder.service.js +41 -0
  214. package/dist/assets/server/query/query-builder.service.js.map +1 -0
  215. package/dist/assets/server/query/query.module.d.ts +2 -0
  216. package/dist/assets/server/query/query.module.js +23 -0
  217. package/dist/assets/server/query/query.module.js.map +1 -0
  218. package/dist/assets/server/recording/entities/recording-event.entity.d.ts +9 -0
  219. package/dist/assets/server/recording/entities/recording-event.entity.js +56 -0
  220. package/dist/assets/server/recording/entities/recording-event.entity.js.map +1 -0
  221. package/dist/assets/server/recording/recording.controller.d.ts +52 -0
  222. package/dist/assets/server/recording/recording.controller.js +73 -0
  223. package/dist/assets/server/recording/recording.controller.js.map +1 -0
  224. package/dist/assets/server/recording/recording.gateway.d.ts +15 -0
  225. package/dist/assets/server/recording/recording.gateway.js +117 -0
  226. package/dist/assets/server/recording/recording.gateway.js.map +1 -0
  227. package/dist/assets/server/recording/recording.module.d.ts +2 -0
  228. package/dist/assets/server/recording/recording.module.js +29 -0
  229. package/dist/assets/server/recording/recording.module.js.map +1 -0
  230. package/dist/assets/server/recording/recording.service.d.ts +59 -0
  231. package/dist/assets/server/recording/recording.service.js +111 -0
  232. package/dist/assets/server/recording/recording.service.js.map +1 -0
  233. package/dist/assets/server/remark/remark.controller.d.ts +21 -0
  234. package/dist/assets/server/remark/remark.controller.js +59 -0
  235. package/dist/assets/server/remark/remark.controller.js.map +1 -0
  236. package/dist/assets/server/remark/remark.entity.d.ts +18 -0
  237. package/dist/assets/server/remark/remark.entity.js +67 -0
  238. package/dist/assets/server/remark/remark.entity.js.map +1 -0
  239. package/dist/assets/server/remark/remark.module.d.ts +2 -0
  240. package/dist/assets/server/remark/remark.module.js +26 -0
  241. package/dist/assets/server/remark/remark.module.js.map +1 -0
  242. package/dist/assets/server/remark/remark.service.d.ts +8 -0
  243. package/dist/assets/server/remark/remark.service.js +39 -0
  244. package/dist/assets/server/remark/remark.service.js.map +1 -0
  245. package/dist/assets/server/report/report.controller.d.ts +18 -0
  246. package/dist/assets/server/report/report.controller.js +41 -0
  247. package/dist/assets/server/report/report.controller.js.map +1 -0
  248. package/dist/assets/server/report/report.module.d.ts +2 -0
  249. package/dist/assets/server/report/report.module.js +24 -0
  250. package/dist/assets/server/report/report.module.js.map +1 -0
  251. package/dist/assets/server/report/report.service.d.ts +23 -0
  252. package/dist/assets/server/report/report.service.js +54 -0
  253. package/dist/assets/server/report/report.service.js.map +1 -0
  254. package/dist/assets/server/rules/rules.controller.d.ts +6 -0
  255. package/dist/assets/server/rules/rules.controller.js +35 -0
  256. package/dist/assets/server/rules/rules.controller.js.map +1 -0
  257. package/dist/assets/server/rules/rules.module.d.ts +2 -0
  258. package/dist/assets/server/rules/rules.module.js +23 -0
  259. package/dist/assets/server/rules/rules.module.js.map +1 -0
  260. package/dist/assets/server/rules/rules.service.d.ts +10 -0
  261. package/dist/assets/server/rules/rules.service.js +26 -0
  262. package/dist/assets/server/rules/rules.service.js.map +1 -0
  263. package/dist/assets/server/search/search.controller.d.ts +6 -0
  264. package/dist/assets/server/search/search.controller.js +53 -0
  265. package/dist/assets/server/search/search.controller.js.map +1 -0
  266. package/dist/assets/server/search/search.module.d.ts +2 -0
  267. package/dist/assets/server/search/search.module.js +24 -0
  268. package/dist/assets/server/search/search.module.js.map +1 -0
  269. package/dist/assets/server/search/search.service.d.ts +6 -0
  270. package/dist/assets/server/search/search.service.js +46 -0
  271. package/dist/assets/server/search/search.service.js.map +1 -0
  272. package/dist/assets/server/sentry.d.ts +3 -0
  273. package/dist/assets/server/sentry.js +10 -0
  274. package/dist/assets/server/sentry.js.map +1 -0
  275. package/dist/assets/server/site/entities/site-registry.entity.d.ts +11 -0
  276. package/dist/assets/server/site/entities/site-registry.entity.js +66 -0
  277. package/dist/assets/server/site/entities/site-registry.entity.js.map +1 -0
  278. package/dist/assets/server/site/site.controller.d.ts +36 -0
  279. package/dist/assets/server/site/site.controller.js +60 -0
  280. package/dist/assets/server/site/site.controller.js.map +1 -0
  281. package/dist/assets/server/site/site.module.d.ts +2 -0
  282. package/dist/assets/server/site/site.module.js +26 -0
  283. package/dist/assets/server/site/site.module.js.map +1 -0
  284. package/dist/assets/server/site/site.service.d.ts +37 -0
  285. package/dist/assets/server/site/site.service.js +134 -0
  286. package/dist/assets/server/site/site.service.js.map +1 -0
  287. package/dist/assets/server/snapshot/raw-snapshot.entity.d.ts +35 -0
  288. package/dist/assets/server/snapshot/raw-snapshot.entity.js +62 -0
  289. package/dist/assets/server/snapshot/raw-snapshot.entity.js.map +1 -0
  290. package/dist/assets/server/snapshot/snapshot.controller.d.ts +18 -0
  291. package/dist/assets/server/snapshot/snapshot.controller.js +76 -0
  292. package/dist/assets/server/snapshot/snapshot.controller.js.map +1 -0
  293. package/dist/assets/server/snapshot/snapshot.module.d.ts +2 -0
  294. package/dist/assets/server/snapshot/snapshot.module.js +26 -0
  295. package/dist/assets/server/snapshot/snapshot.module.js.map +1 -0
  296. package/dist/assets/server/snapshot/snapshot.service.d.ts +10 -0
  297. package/dist/assets/server/snapshot/snapshot.service.js +48 -0
  298. package/dist/assets/server/snapshot/snapshot.service.js.map +1 -0
  299. package/dist/assets/server/system/system.controller.d.ts +39 -0
  300. package/dist/assets/server/system/system.controller.js +93 -0
  301. package/dist/assets/server/system/system.controller.js.map +1 -0
  302. package/dist/assets/server/system/system.module.d.ts +2 -0
  303. package/dist/assets/server/system/system.module.js +26 -0
  304. package/dist/assets/server/system/system.module.js.map +1 -0
  305. package/dist/assets/server/system/system.service.d.ts +86 -0
  306. package/dist/assets/server/system/system.service.js +433 -0
  307. package/dist/assets/server/system/system.service.js.map +1 -0
  308. package/dist/assets/server/talent-fingerprint/fingerprint-match.service.d.ts +28 -0
  309. package/dist/assets/server/talent-fingerprint/fingerprint-match.service.js +186 -0
  310. package/dist/assets/server/talent-fingerprint/fingerprint-match.service.js.map +1 -0
  311. package/dist/assets/server/talent-fingerprint/talent-fingerprint.entity.d.ts +30 -0
  312. package/dist/assets/server/talent-fingerprint/talent-fingerprint.entity.js +55 -0
  313. package/dist/assets/server/talent-fingerprint/talent-fingerprint.entity.js.map +1 -0
  314. package/dist/assets/server/talent-fingerprint/talent-fingerprint.module.d.ts +2 -0
  315. package/dist/assets/server/talent-fingerprint/talent-fingerprint.module.js +25 -0
  316. package/dist/assets/server/talent-fingerprint/talent-fingerprint.module.js.map +1 -0
  317. package/dist/assets/server/talent-fingerprint/talent-fingerprint.service.d.ts +8 -0
  318. package/dist/assets/server/talent-fingerprint/talent-fingerprint.service.js +44 -0
  319. package/dist/assets/server/talent-fingerprint/talent-fingerprint.service.js.map +1 -0
  320. package/dist/assets/server/talent-job-match/talent-job-match.controller.d.ts +6 -0
  321. package/dist/assets/server/talent-job-match/talent-job-match.controller.js +42 -0
  322. package/dist/assets/server/talent-job-match/talent-job-match.controller.js.map +1 -0
  323. package/dist/assets/server/talent-job-match/talent-job-match.entity.d.ts +33 -0
  324. package/dist/assets/server/talent-job-match/talent-job-match.entity.js +73 -0
  325. package/dist/assets/server/talent-job-match/talent-job-match.entity.js.map +1 -0
  326. package/dist/assets/server/talent-job-match/talent-job-match.module.d.ts +2 -0
  327. package/dist/assets/server/talent-job-match/talent-job-match.module.js +26 -0
  328. package/dist/assets/server/talent-job-match/talent-job-match.module.js.map +1 -0
  329. package/dist/assets/server/talent-job-match/talent-job-match.service.d.ts +9 -0
  330. package/dist/assets/server/talent-job-match/talent-job-match.service.js +42 -0
  331. package/dist/assets/server/talent-job-match/talent-job-match.service.js.map +1 -0
  332. package/dist/assets/server/talent-portrait/portrait-merge.service.d.ts +17 -0
  333. package/dist/assets/server/talent-portrait/portrait-merge.service.js +200 -0
  334. package/dist/assets/server/talent-portrait/portrait-merge.service.js.map +1 -0
  335. package/dist/assets/server/talent-portrait/talent-portrait.controller.d.ts +7 -0
  336. package/dist/assets/server/talent-portrait/talent-portrait.controller.js +52 -0
  337. package/dist/assets/server/talent-portrait/talent-portrait.controller.js.map +1 -0
  338. package/dist/assets/server/talent-portrait/talent-portrait.entity.d.ts +91 -0
  339. package/dist/assets/server/talent-portrait/talent-portrait.entity.js +71 -0
  340. package/dist/assets/server/talent-portrait/talent-portrait.entity.js.map +1 -0
  341. package/dist/assets/server/talent-portrait/talent-portrait.module.d.ts +2 -0
  342. package/dist/assets/server/talent-portrait/talent-portrait.module.js +27 -0
  343. package/dist/assets/server/talent-portrait/talent-portrait.module.js.map +1 -0
  344. package/dist/assets/server/talent-portrait/talent-portrait.service.d.ts +10 -0
  345. package/dist/assets/server/talent-portrait/talent-portrait.service.js +46 -0
  346. package/dist/assets/server/talent-portrait/talent-portrait.service.js.map +1 -0
  347. package/dist/assets/server/telemetry/telemetry.module.d.ts +2 -0
  348. package/dist/assets/server/telemetry/telemetry.module.js +24 -0
  349. package/dist/assets/server/telemetry/telemetry.module.js.map +1 -0
  350. package/dist/assets/server/telemetry/telemetry.service.d.ts +29 -0
  351. package/dist/assets/server/telemetry/telemetry.service.js +116 -0
  352. package/dist/assets/server/telemetry/telemetry.service.js.map +1 -0
  353. package/dist/bundled-assets.d.ts +22 -0
  354. package/dist/bundled-assets.js +80 -0
  355. package/dist/cache/db.js +10 -54
  356. package/dist/commands/addons.js +46 -71
  357. package/dist/commands/cache.js +29 -27
  358. package/dist/commands/config.d.ts +1 -1
  359. package/dist/commands/config.js +8 -12
  360. package/dist/commands/doctor.d.ts +0 -1
  361. package/dist/commands/doctor.js +52 -67
  362. package/dist/commands/extension.js +82 -96
  363. package/dist/commands/extras.d.ts +31 -1
  364. package/dist/commands/extras.js +248 -61
  365. package/dist/commands/init.js +18 -46
  366. package/dist/commands/install.js +20 -52
  367. package/dist/commands/job.js +27 -65
  368. package/dist/commands/login.js +50 -37
  369. package/dist/commands/logout.js +8 -12
  370. package/dist/commands/ops.js +94 -67
  371. package/dist/commands/record.js +21 -59
  372. package/dist/commands/report.js +14 -18
  373. package/dist/commands/search.js +14 -21
  374. package/dist/commands/server.d.ts +1 -1
  375. package/dist/commands/server.js +126 -112
  376. package/dist/commands/status.js +23 -27
  377. package/dist/commands/update.js +44 -79
  378. package/dist/config.d.ts +3 -0
  379. package/dist/config.js +12 -46
  380. package/dist/i18n/index.js +5 -11
  381. package/dist/i18n/locales/en-US.json +24 -1
  382. package/dist/i18n/locales/zh-CN.json +24 -1
  383. package/dist/index.cmd +3 -0
  384. package/dist/index.js +84 -97
  385. package/dist/index.ps1 +3 -0
  386. package/dist/keychain.js +9 -44
  387. package/dist/logger.d.ts +7 -0
  388. package/dist/logger.js +80 -0
  389. package/dist/native-check.d.ts +6 -0
  390. package/dist/native-check.js +23 -0
  391. package/dist/sentry.js +4 -8
  392. package/dist/updater.js +15 -52
  393. package/dist/utils/proc.d.ts +35 -0
  394. package/dist/utils/proc.js +81 -0
  395. package/dist/utils/spawn.d.ts +19 -0
  396. package/dist/utils/spawn.js +60 -0
  397. package/dist/version.d.ts +1 -1
  398. package/dist/version.js +183 -81
  399. package/dist/watchdog.d.ts +1 -0
  400. package/dist/watchdog.js +128 -0
  401. package/package.json +6 -5
  402. package/dist/commands/native-check.d.ts +0 -22
  403. package/dist/commands/native-check.js +0 -93
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var TelemetryService_1;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.TelemetryService = void 0;
17
+ const common_1 = require("@nestjs/common");
18
+ const typeorm_1 = require("@nestjs/typeorm");
19
+ const typeorm_2 = require("typeorm");
20
+ const config_1 = require("@nestjs/config");
21
+ const os = require("os");
22
+ const parse_log_entity_1 = require("../extraction/entities/parse-log.entity");
23
+ let TelemetryService = TelemetryService_1 = class TelemetryService {
24
+ parseLogRepo;
25
+ config;
26
+ logger = new common_1.Logger(TelemetryService_1.name);
27
+ reporting = false;
28
+ timer;
29
+ constructor(parseLogRepo, config) {
30
+ this.parseLogRepo = parseLogRepo;
31
+ this.config = config;
32
+ }
33
+ onApplicationBootstrap() {
34
+ if (!this.url) {
35
+ this.logger.log('HM_TELEMETRY_URL 未配置,parse_log 上报停用(纯本地模式)');
36
+ return;
37
+ }
38
+ setTimeout(() => this.reportUnreported(), 30_000);
39
+ this.timer = setInterval(() => this.reportUnreported(), 5 * 60_000);
40
+ this.timer.unref?.();
41
+ }
42
+ get url() {
43
+ const base = this.config.get('HM_TELEMETRY_URL');
44
+ return base ? `${base.replace(/\/$/, '')}/hunter-mate/telemetry/parse-log` : undefined;
45
+ }
46
+ async reportUnreported() {
47
+ const endpoint = this.url;
48
+ if (!endpoint || this.reporting)
49
+ return { skipped: true };
50
+ this.reporting = true;
51
+ try {
52
+ const rows = await this.parseLogRepo.find({
53
+ where: { reportedAt: (0, typeorm_2.IsNull)() },
54
+ order: { id: 'ASC' },
55
+ take: 200,
56
+ });
57
+ if (!rows.length)
58
+ return { reported: 0 };
59
+ const items = rows.map((r) => ({
60
+ localId: r.id,
61
+ sessionId: r.sessionId,
62
+ sourceUrl: r.sourceUrl,
63
+ domain: r.domain,
64
+ pageClass: r.pageClass,
65
+ matchedRuleIds: r.matchedRuleIds || [],
66
+ extractedFields: this.sanitize(r.extractedFields),
67
+ missingFields: r.missingFields || [],
68
+ hasSnapshot: r.hasSnapshot,
69
+ status: r.status,
70
+ entityId: r.entityId ?? null,
71
+ localCreatedAt: r.createdAt?.toISOString(),
72
+ }));
73
+ const res = await fetch(endpoint, {
74
+ method: 'POST',
75
+ headers: {
76
+ 'Content-Type': 'application/json',
77
+ 'X-Api-Key': this.config.get('HM_TELEMETRY_API_KEY') || '',
78
+ },
79
+ body: JSON.stringify({ clientId: this.clientId, items }),
80
+ });
81
+ if (!res.ok)
82
+ throw new Error(`HTTP ${res.status}`);
83
+ await this.parseLogRepo.update({ id: (0, typeorm_2.In)(rows.map((r) => r.id)) }, { reportedAt: new Date() });
84
+ this.logger.log(`telemetry reported ${rows.length} parse_log rows`);
85
+ return { reported: rows.length };
86
+ }
87
+ catch (err) {
88
+ this.logger.warn(`telemetry report failed: ${err.message}`);
89
+ return { error: err.message };
90
+ }
91
+ finally {
92
+ this.reporting = false;
93
+ }
94
+ }
95
+ get clientId() {
96
+ return `${os.userInfo().username}@${os.hostname()}`.slice(0, 64);
97
+ }
98
+ sanitize(fields) {
99
+ const out = {};
100
+ for (const [k, v] of Object.entries(fields || {})) {
101
+ if (v == null)
102
+ continue;
103
+ const s = String(v);
104
+ out[k] = s.length > 200 ? s.slice(0, 200) + '…' : s;
105
+ }
106
+ return out;
107
+ }
108
+ };
109
+ exports.TelemetryService = TelemetryService;
110
+ exports.TelemetryService = TelemetryService = TelemetryService_1 = __decorate([
111
+ (0, common_1.Injectable)(),
112
+ __param(0, (0, typeorm_1.InjectRepository)(parse_log_entity_1.ParseLog)),
113
+ __metadata("design:paramtypes", [typeorm_2.Repository,
114
+ config_1.ConfigService])
115
+ ], TelemetryService);
116
+ //# sourceMappingURL=telemetry.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.service.js","sourceRoot":"","sources":["../../src/telemetry/telemetry.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ export interface BundledAssets {
2
+ extensionDir: string;
3
+ serverEntry: string;
4
+ }
5
+ /**
6
+ * Locate the bundled server + extension assets.
7
+ *
8
+ * Resolution order (first hit wins):
9
+ * 1) npm-installed mode:
10
+ * - `<cliDir>/assets/server/main.js`
11
+ * - `<cliDir>/assets/extension/manifest.json`
12
+ * produced by `scripts/postbuild-assets.mjs` at build time.
13
+ * 2) monorepo dev mode (worktree layout):
14
+ * - `../../../server/dist/main.js` next to `packages/cli/dist/index.js`
15
+ * - `../../../extension/dist/manifest.json`
16
+ *
17
+ * Returns null if neither layout finds both pieces. Callers must show a
18
+ * clear "this npm package is missing server/extension assets — contact
19
+ * Hiredchina IT" message instead of generic "not found".
20
+ */
21
+ export declare function findBundledAssets(cliDir?: string): BundledAssets | null;
22
+ export declare function findExtensionParentDir(assets?: BundledAssets | null): string | null;
@@ -0,0 +1,80 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
5
+ /**
6
+ * Locate the bundled server + extension assets.
7
+ *
8
+ * Resolution order (first hit wins):
9
+ * 1) npm-installed mode:
10
+ * - `<cliDir>/assets/server/main.js`
11
+ * - `<cliDir>/assets/extension/manifest.json`
12
+ * produced by `scripts/postbuild-assets.mjs` at build time.
13
+ * 2) monorepo dev mode (worktree layout):
14
+ * - `../../../server/dist/main.js` next to `packages/cli/dist/index.js`
15
+ * - `../../../extension/dist/manifest.json`
16
+ *
17
+ * Returns null if neither layout finds both pieces. Callers must show a
18
+ * clear "this npm package is missing server/extension assets — contact
19
+ * Hiredchina IT" message instead of generic "not found".
20
+ */
21
+ export function findBundledAssets(cliDir) {
22
+ const baseDir = cliDir ?? findCliDir();
23
+ // (1) npm-installed mode
24
+ const installedServerEntry = path.join(baseDir, "assets", "server", "main.js");
25
+ const installedExtensionDir = path.join(baseDir, "assets", "extension");
26
+ if (fs.existsSync(installedServerEntry) &&
27
+ fs.existsSync(path.join(installedExtensionDir, "manifest.json"))) {
28
+ return {
29
+ serverEntry: installedServerEntry,
30
+ extensionDir: installedExtensionDir,
31
+ };
32
+ }
33
+ // (2) monorepo dev mode (CLI lives in packages/cli/dist)
34
+ const devServerEntry = path.resolve(baseDir, "..", "..", "..", "server", "dist", "main.js");
35
+ const devExtensionDir = path.resolve(baseDir, "..", "..", "..", "extension", "dist");
36
+ if (fs.existsSync(devServerEntry) &&
37
+ fs.existsSync(path.join(devExtensionDir, "manifest.json"))) {
38
+ return {
39
+ serverEntry: devServerEntry,
40
+ extensionDir: devExtensionDir,
41
+ };
42
+ }
43
+ // (3) monorepo dev mode via import.meta.url (more reliable for ts-node)
44
+ try {
45
+ const here = path.dirname(fileURLToPath(import.meta.url));
46
+ const dev2ServerEntry = path.resolve(here, "..", "..", "..", "server", "dist", "main.js");
47
+ const dev2ExtensionDir = path.resolve(here, "..", "..", "..", "extension", "dist");
48
+ if (fs.existsSync(dev2ServerEntry) &&
49
+ fs.existsSync(path.join(dev2ExtensionDir, "manifest.json"))) {
50
+ return {
51
+ serverEntry: dev2ServerEntry,
52
+ extensionDir: dev2ExtensionDir,
53
+ };
54
+ }
55
+ }
56
+ catch {
57
+ /* import.meta.url may be unavailable in CJS bundles; fall through */
58
+ }
59
+ return null;
60
+ }
61
+ /**
62
+ * Best-effort CLI directory resolution. We prefer `import.meta.url` because
63
+ * on Windows the npm `.cmd` shim sets argv[1] to the wrapper file, not the
64
+ * real `.js` entry. CJS fallback uses `__dirname` (reliable in bundled
65
+ * CJS output).
66
+ */
67
+ function findCliDir() {
68
+ try {
69
+ return path.dirname(fileURLToPath(import.meta.url));
70
+ }
71
+ catch {
72
+ return __dirname;
73
+ }
74
+ }
75
+ export function findExtensionParentDir(assets) {
76
+ const resolved = assets ?? findBundledAssets();
77
+ if (!resolved)
78
+ return null;
79
+ return path.dirname(resolved.extensionDir);
80
+ }
package/dist/cache/db.js CHANGED
@@ -1,63 +1,19 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.ensureCacheDir = ensureCacheDir;
40
- exports.getDb = getDb;
41
- exports.saveJobCase = saveJobCase;
42
- exports.listJobCases = listJobCases;
43
- exports.saveCommunicationRecord = saveCommunicationRecord;
44
- exports.listCommunicationRecords = listCommunicationRecords;
45
- const fs = __importStar(require("fs"));
46
- const path = __importStar(require("path"));
47
- const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
3
+ import Database from 'better-sqlite3';
48
4
  const HOME = process.env.HUNTER_MATE_HOME || process.env.HOME || process.env.USERPROFILE || '.';
49
5
  const CACHE_DIR = path.join(HOME, '.hunter-mate');
50
6
  const DB_FILE = path.join(CACHE_DIR, 'cache.db');
51
7
  let db = null;
52
- function ensureCacheDir() {
8
+ export function ensureCacheDir() {
53
9
  if (!fs.existsSync(CACHE_DIR)) {
54
10
  fs.mkdirSync(CACHE_DIR, { recursive: true });
55
11
  }
56
12
  }
57
- function getDb() {
13
+ export function getDb() {
58
14
  if (!db) {
59
15
  ensureCacheDir();
60
- db = new better_sqlite3_1.default(DB_FILE);
16
+ db = new Database(DB_FILE);
61
17
  initSchema(db);
62
18
  }
63
19
  return db;
@@ -83,21 +39,21 @@ function initSchema(db) {
83
39
  );
84
40
  `);
85
41
  }
86
- function saveJobCase(jobCase) {
42
+ export function saveJobCase(jobCase) {
87
43
  const stmt = getDb().prepare('INSERT OR REPLACE INTO job_cases (id, payload, created_at) VALUES (?, ?, ?)');
88
44
  stmt.run(jobCase.id, JSON.stringify(jobCase), jobCase.createdAt);
89
45
  }
90
- function listJobCases() {
46
+ export function listJobCases() {
91
47
  return getDb()
92
48
  .prepare('SELECT payload FROM job_cases ORDER BY created_at DESC')
93
49
  .all()
94
50
  .map((row) => JSON.parse(row.payload));
95
51
  }
96
- function saveCommunicationRecord(record) {
52
+ export function saveCommunicationRecord(record) {
97
53
  const stmt = getDb().prepare('INSERT OR REPLACE INTO communication_records (id, payload, created_at) VALUES (?, ?, ?)');
98
54
  stmt.run(String(record.id), JSON.stringify(record), Date.parse(record.createdAt) || Date.now());
99
55
  }
100
- function listCommunicationRecords() {
56
+ export function listCommunicationRecords() {
101
57
  return getDb()
102
58
  .prepare('SELECT payload FROM communication_records ORDER BY created_at DESC')
103
59
  .all()
@@ -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
  }