hunter-mate 0.1.7 → 0.1.11

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 (239) hide show
  1. package/dist/assets/extension/background/service-worker.js +808 -153
  2. package/dist/assets/extension/build-info.json +1 -0
  3. package/dist/assets/extension/content/index.js +23 -5
  4. package/dist/assets/extension/manifest.json +5 -4
  5. package/dist/assets/extension/offscreen/offscreen.html +8 -0
  6. package/dist/assets/extension/offscreen/offscreen.js +149 -0
  7. package/dist/assets/extension/package.json +8 -1
  8. package/dist/assets/extension/sidepanel/index.css +2 -0
  9. package/dist/assets/extension/sidepanel/index.html +7 -394
  10. package/dist/assets/extension/sidepanel/index.js +53 -923
  11. package/dist/assets/server/app.module.js +11 -1
  12. package/dist/assets/server/app.module.js.map +1 -1
  13. package/dist/assets/server/auth/auth.middleware.js +9 -1
  14. package/dist/assets/server/auth/auth.middleware.js.map +1 -1
  15. package/dist/assets/server/build-info.json +1 -1
  16. package/dist/assets/server/customer/customer.controller.d.ts +18 -0
  17. package/dist/assets/server/customer/customer.controller.js +81 -0
  18. package/dist/assets/server/customer/customer.controller.js.map +1 -0
  19. package/dist/assets/server/customer/customer.entity.d.ts +17 -0
  20. package/dist/assets/server/customer/customer.entity.js +82 -0
  21. package/dist/assets/server/customer/customer.entity.js.map +1 -0
  22. package/dist/assets/server/customer/customer.module.d.ts +2 -0
  23. package/dist/assets/server/customer/customer.module.js +28 -0
  24. package/dist/assets/server/customer/customer.module.js.map +1 -0
  25. package/dist/assets/server/customer/customer.service.d.ts +36 -0
  26. package/dist/assets/server/customer/customer.service.js +200 -0
  27. package/dist/assets/server/customer/customer.service.js.map +1 -0
  28. package/dist/assets/server/db/schema-validator.service.d.ts +2 -0
  29. package/dist/assets/server/db/schema-validator.service.js +32 -1
  30. package/dist/assets/server/db/schema-validator.service.js.map +1 -1
  31. package/dist/assets/server/db/sqlite.module.d.ts +1 -0
  32. package/dist/assets/server/db/sqlite.module.js +12 -2
  33. package/dist/assets/server/db/sqlite.module.js.map +1 -1
  34. package/dist/assets/server/devops/devops-sink-init.d.ts +1 -14
  35. package/dist/assets/server/devops/devops-sink-init.js +3 -8
  36. package/dist/assets/server/devops/devops-sink-init.js.map +1 -1
  37. package/dist/assets/server/extension/extension-control.controller.d.ts +17 -1
  38. package/dist/assets/server/extension/extension-control.controller.js +68 -12
  39. package/dist/assets/server/extension/extension-control.controller.js.map +1 -1
  40. package/dist/assets/server/extension/extension-control.service.d.ts +6 -1
  41. package/dist/assets/server/extension/extension-control.service.js +27 -1
  42. package/dist/assets/server/extension/extension-control.service.js.map +1 -1
  43. package/dist/assets/server/extension/extension.module.js +2 -1
  44. package/dist/assets/server/extension/extension.module.js.map +1 -1
  45. package/dist/assets/server/extraction/adapter.service.d.ts +3 -0
  46. package/dist/assets/server/extraction/adapter.service.js +127 -6
  47. package/dist/assets/server/extraction/adapter.service.js.map +1 -1
  48. package/dist/assets/server/extraction/anomaly-report.service.js +1 -1
  49. package/dist/assets/server/extraction/anomaly-report.service.js.map +1 -1
  50. package/dist/assets/server/extraction/entities/adapter-rule.entity.d.ts +2 -0
  51. package/dist/assets/server/extraction/entities/adapter-rule.entity.js +10 -0
  52. package/dist/assets/server/extraction/entities/adapter-rule.entity.js.map +1 -1
  53. package/dist/assets/server/extraction/extraction-entity.controller.d.ts +21 -3
  54. package/dist/assets/server/extraction/extraction-entity.controller.js +44 -9
  55. package/dist/assets/server/extraction/extraction-entity.controller.js.map +1 -1
  56. package/dist/assets/server/extraction/extraction.module.js +13 -3
  57. package/dist/assets/server/extraction/extraction.module.js.map +1 -1
  58. package/dist/assets/server/extraction/extraction.service.d.ts +4 -1
  59. package/dist/assets/server/extraction/extraction.service.js +71 -13
  60. package/dist/assets/server/extraction/extraction.service.js.map +1 -1
  61. package/dist/assets/server/extraction/harness-overlay.service.d.ts +41 -0
  62. package/dist/assets/server/extraction/harness-overlay.service.js +319 -0
  63. package/dist/assets/server/extraction/harness-overlay.service.js.map +1 -0
  64. package/dist/assets/server/extraction/liepin-extractor.d.ts +1 -0
  65. package/dist/assets/server/extraction/liepin-extractor.js +172 -0
  66. package/dist/assets/server/extraction/liepin-extractor.js.map +1 -0
  67. package/dist/assets/server/extraction/script-rule.js +14 -2
  68. package/dist/assets/server/extraction/script-rule.js.map +1 -1
  69. package/dist/assets/server/governance/action-audit.entity.d.ts +12 -0
  70. package/dist/assets/server/governance/action-audit.entity.js +66 -0
  71. package/dist/assets/server/governance/action-audit.entity.js.map +1 -0
  72. package/dist/assets/server/governance/governance.command-recorder.d.ts +17 -0
  73. package/dist/assets/server/governance/governance.command-recorder.js +98 -0
  74. package/dist/assets/server/governance/governance.command-recorder.js.map +1 -0
  75. package/dist/assets/server/governance/governance.controller.d.ts +14 -0
  76. package/dist/assets/server/governance/governance.controller.js +77 -0
  77. package/dist/assets/server/governance/governance.controller.js.map +1 -0
  78. package/dist/assets/server/governance/governance.ingester.d.ts +21 -0
  79. package/dist/assets/server/governance/governance.ingester.js +117 -0
  80. package/dist/assets/server/governance/governance.ingester.js.map +1 -0
  81. package/dist/assets/server/governance/governance.module.d.ts +2 -0
  82. package/dist/assets/server/governance/governance.module.js +27 -0
  83. package/dist/assets/server/governance/governance.module.js.map +1 -0
  84. package/dist/assets/server/governance/governance.service.d.ts +122 -0
  85. package/dist/assets/server/governance/governance.service.js +398 -0
  86. package/dist/assets/server/governance/governance.service.js.map +1 -0
  87. package/dist/assets/server/jobcase/jobcase.controller.d.ts +1 -0
  88. package/dist/assets/server/jobcase/jobcase.entity.d.ts +1 -0
  89. package/dist/assets/server/jobcase/jobcase.entity.js +6 -0
  90. package/dist/assets/server/jobcase/jobcase.entity.js.map +1 -1
  91. package/dist/assets/server/jobcase/jobcase.service.d.ts +2 -0
  92. package/dist/assets/server/jobcase/jobcase.service.js +2 -1
  93. package/dist/assets/server/jobcase/jobcase.service.js.map +1 -1
  94. package/dist/assets/server/main.js +1 -0
  95. package/dist/assets/server/main.js.map +1 -1
  96. package/dist/assets/server/package.json +1 -1
  97. package/dist/assets/server/preference/preference.controller.d.ts +14 -0
  98. package/dist/assets/server/preference/preference.controller.js +66 -0
  99. package/dist/assets/server/preference/preference.controller.js.map +1 -0
  100. package/dist/assets/server/preference/preference.entity.d.ts +13 -0
  101. package/dist/assets/server/preference/preference.entity.js +77 -0
  102. package/dist/assets/server/preference/preference.entity.js.map +1 -0
  103. package/dist/assets/server/preference/preference.module.d.ts +2 -0
  104. package/dist/assets/server/preference/preference.module.js +26 -0
  105. package/dist/assets/server/preference/preference.module.js.map +1 -0
  106. package/dist/assets/server/preference/preference.service.d.ts +33 -0
  107. package/dist/assets/server/preference/preference.service.js +122 -0
  108. package/dist/assets/server/preference/preference.service.js.map +1 -0
  109. package/dist/assets/server/recording/recording-event-queue.service.js +1 -1
  110. package/dist/assets/server/recording/recording-event-queue.service.js.map +1 -1
  111. package/dist/assets/server/recording/recording-retention.service.d.ts +19 -2
  112. package/dist/assets/server/recording/recording-retention.service.js +95 -6
  113. package/dist/assets/server/recording/recording-retention.service.js.map +1 -1
  114. package/dist/assets/server/recording/recording-snapshot.service.d.ts +1 -0
  115. package/dist/assets/server/recording/recording-snapshot.service.js +4 -0
  116. package/dist/assets/server/recording/recording-snapshot.service.js.map +1 -1
  117. package/dist/assets/server/recording/recording.controller.d.ts +10 -0
  118. package/dist/assets/server/recording/recording.controller.js +19 -0
  119. package/dist/assets/server/recording/recording.controller.js.map +1 -1
  120. package/dist/assets/server/recording/recording.gateway.js +15 -0
  121. package/dist/assets/server/recording/recording.gateway.js.map +1 -1
  122. package/dist/assets/server/recording/recording.module.js +6 -1
  123. package/dist/assets/server/recording/recording.module.js.map +1 -1
  124. package/dist/assets/server/recording/recording.service.d.ts +5 -0
  125. package/dist/assets/server/recording/recording.service.js +10 -0
  126. package/dist/assets/server/recording/recording.service.js.map +1 -1
  127. package/dist/assets/server/remark/remark.controller.d.ts +1 -1
  128. package/dist/assets/server/remark/remark.controller.js +1 -10
  129. package/dist/assets/server/remark/remark.controller.js.map +1 -1
  130. package/dist/assets/server/remark/remark.entity.d.ts +1 -1
  131. package/dist/assets/server/remark/remark.entity.js.map +1 -1
  132. package/dist/assets/server/site/entities/site-registry.entity.d.ts +1 -1
  133. package/dist/assets/server/site/entities/site-registry.entity.js +1 -1
  134. package/dist/assets/server/site/entities/site-registry.entity.js.map +1 -1
  135. package/dist/assets/server/site/site.controller.d.ts +1 -1
  136. package/dist/assets/server/site/site.service.d.ts +5 -1
  137. package/dist/assets/server/site/site.service.js +13 -0
  138. package/dist/assets/server/site/site.service.js.map +1 -1
  139. package/dist/assets/server/system/system.controller.d.ts +1 -0
  140. package/dist/assets/server/system/system.controller.js +1 -1
  141. package/dist/assets/server/system/system.controller.js.map +1 -1
  142. package/dist/assets/server/system/system.service.d.ts +1 -0
  143. package/dist/assets/server/system/system.service.js +3 -2
  144. package/dist/assets/server/system/system.service.js.map +1 -1
  145. package/dist/cache/db.js +6 -6
  146. package/dist/commands/addons.js +2 -1
  147. package/dist/commands/cache.js +1 -1
  148. package/dist/commands/case.d.ts +67 -0
  149. package/dist/commands/case.js +101 -0
  150. package/dist/commands/config.d.ts +4 -0
  151. package/dist/commands/config.js +8 -1
  152. package/dist/commands/customer.d.ts +25 -0
  153. package/dist/commands/customer.js +137 -0
  154. package/dist/commands/doctor.js +33 -9
  155. package/dist/commands/extension.js +21 -16
  156. package/dist/commands/extras.d.ts +18 -3
  157. package/dist/commands/extras.js +162 -5
  158. package/dist/commands/init.d.ts +1 -1
  159. package/dist/commands/init.js +3 -4
  160. package/dist/commands/install.d.ts +5 -0
  161. package/dist/commands/install.js +22 -42
  162. package/dist/commands/issue-env.d.ts +23 -0
  163. package/dist/commands/issue-env.js +101 -0
  164. package/dist/commands/job.d.ts +2 -1
  165. package/dist/commands/job.js +25 -5
  166. package/dist/commands/login.d.ts +4 -0
  167. package/dist/commands/login.js +57 -4
  168. package/dist/commands/migrate.d.ts +32 -0
  169. package/dist/commands/migrate.js +116 -0
  170. package/dist/commands/note.d.ts +3 -0
  171. package/dist/commands/note.js +75 -0
  172. package/dist/commands/ops.js +64 -13
  173. package/dist/commands/preference.d.ts +6 -0
  174. package/dist/commands/preference.js +80 -0
  175. package/dist/commands/record.js +1 -1
  176. package/dist/commands/report.js +1 -1
  177. package/dist/commands/search.js +1 -1
  178. package/dist/commands/server.d.ts +12 -0
  179. package/dist/commands/server.js +182 -18
  180. package/dist/commands/status.d.ts +4 -0
  181. package/dist/commands/status.js +16 -6
  182. package/dist/commands/update.js +7 -8
  183. package/dist/config.d.ts +21 -0
  184. package/dist/config.js +27 -0
  185. package/dist/extension-sync.d.ts +35 -0
  186. package/dist/extension-sync.js +159 -0
  187. package/dist/i18n/locales/en-US.json +17 -1
  188. package/dist/i18n/locales/zh-CN.json +17 -1
  189. package/dist/index.js +17 -0
  190. package/dist/keychain.d.ts +16 -1
  191. package/dist/keychain.js +43 -16
  192. package/dist/logger.js +2 -2
  193. package/dist/postinstall.d.ts +1 -0
  194. package/dist/postinstall.js +31 -0
  195. package/dist/updater.js +2 -2
  196. package/dist/utils/artifact-checksum.d.ts +4 -0
  197. package/dist/utils/artifact-checksum.js +40 -0
  198. package/dist/utils/command-error.d.ts +4 -2
  199. package/dist/utils/command-error.js +19 -3
  200. package/dist/utils/link.d.ts +18 -0
  201. package/dist/utils/link.js +83 -0
  202. package/dist/utils/local-http.d.ts +7 -0
  203. package/dist/utils/local-http.js +30 -0
  204. package/dist/version.js +86 -49
  205. package/dist/watchdog.d.ts +8 -0
  206. package/dist/watchdog.js +49 -9
  207. package/dist/web/dist/404.html +1 -1
  208. package/dist/web/dist/_next/static/chunks/app/logs/page-d478031d49f7ba00.js +1 -0
  209. package/dist/web/dist/_next/static/chunks/{main-app-80b038a312917d90.js → main-app-0af848156a5b13fc.js} +1 -1
  210. package/dist/web/dist/_next/static/chunks/pages/{_app-da7d628f49271ece.js → _app-3d844792ec91e4d1.js} +2 -2
  211. package/dist/web/dist/auth/verify.html +1 -1
  212. package/dist/web/dist/auth/verify.txt +1 -1
  213. package/dist/web/dist/companies.html +1 -1
  214. package/dist/web/dist/companies.txt +1 -1
  215. package/dist/web/dist/entity.html +1 -1
  216. package/dist/web/dist/entity.txt +1 -1
  217. package/dist/web/dist/index.html +1 -1
  218. package/dist/web/dist/index.txt +1 -1
  219. package/dist/web/dist/jobs.html +1 -1
  220. package/dist/web/dist/jobs.txt +1 -1
  221. package/dist/web/dist/logs.html +1 -1
  222. package/dist/web/dist/logs.txt +2 -2
  223. package/dist/web/dist/matching/jobs/placeholder/talents.html +1 -1
  224. package/dist/web/dist/matching/jobs/placeholder/talents.txt +1 -1
  225. package/dist/web/dist/matching/portraits/placeholder/jobs.html +1 -1
  226. package/dist/web/dist/matching/portraits/placeholder/jobs.txt +1 -1
  227. package/dist/web/dist/parselog.html +1 -1
  228. package/dist/web/dist/parselog.txt +1 -1
  229. package/dist/web/dist/recordings.html +1 -1
  230. package/dist/web/dist/recordings.txt +1 -1
  231. package/dist/web/dist/snapshots/placeholder/agent-prompt.html +1 -1
  232. package/dist/web/dist/snapshots/placeholder/agent-prompt.txt +1 -1
  233. package/dist/web/dist/talents.html +1 -1
  234. package/dist/web/dist/talents.txt +1 -1
  235. package/package.json +6 -4
  236. package/scripts/postinstall-run.mjs +14 -0
  237. package/dist/web/dist/_next/static/chunks/app/logs/page-9f41d44fa1add723.js +0 -1
  238. /package/dist/web/dist/_next/static/{hqJ-7vr4X71DNfzZugHJ- → 3bVkK4pAgbbmp5r0ThyBL}/_buildManifest.js +0 -0
  239. /package/dist/web/dist/_next/static/{hqJ-7vr4X71DNfzZugHJ- → 3bVkK4pAgbbmp5r0ThyBL}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"system.controller.js","sourceRoot":"","sources":["../../src/system/system.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA6D;AAC7D,sFAAiF;AACjF,qDAAiD;AAG1C,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAER;IACA;IAFnB,YACmB,MAAqB,EACrB,gBAAyC;QADzC,WAAM,GAAN,MAAM,CAAe;QACrB,qBAAgB,GAAhB,gBAAgB,CAAyB;IACzD,CAAC;IAIJ,QAAQ;QACN,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAS,CAAC;QAC9C,OAAO;YACL,GAAG,IAAI;YACP,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1D,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,WAAW,EAAE,CAAC,CAAC,WAAW;aAC3B,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAID,WAAW;QACT,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;QACzD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;QACvD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,WAAW,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC,MAAM,CAC3E,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,CAC5C,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAS,CAAC;QAClD,OAAO;YACL,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC/B,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI;gBAC5B,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,IAAI;aACnC,CAAC,CAAC;YACH,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY;SACjD,CAAC;IACJ,CAAC;IAID,aAAa,CAAS,IAAyB;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QAC3C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;IACnE,CAAC;IAID,kBAAkB,CAAS,IAA0C;QACnE,MAAM,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;QAClE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IAC5D,CAAC;CACF,CAAA;AArDY,4CAAgB;AAQ3B;IADC,IAAA,YAAG,EAAC,UAAU,CAAC;;;;gDAYf;AAID;IADC,IAAA,YAAG,EAAC,aAAa,CAAC;;;;mDAgBlB;AAID;IADC,IAAA,aAAI,EAAC,gBAAgB,CAAC;IACR,WAAA,IAAA,aAAI,GAAE,CAAA;;;;qDAGpB;AAID;IADC,IAAA,aAAI,EAAC,qBAAqB,CAAC;IACR,WAAA,IAAA,aAAI,GAAE,CAAA;;;;0DAGzB;2BApDU,gBAAgB;IAD5B,IAAA,mBAAU,EAAC,QAAQ,CAAC;qCAGQ,8BAAa;QACH,mDAAuB;GAHjD,gBAAgB,CAqD5B"}
1
+ {"version":3,"file":"system.controller.js","sourceRoot":"","sources":["../../src/system/system.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA6D;AAC7D,sFAAiF;AACjF,qDAAiD;AAG1C,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAER;IACA;IAFnB,YACmB,MAAqB,EACrB,gBAAyC;QADzC,WAAM,GAAN,MAAM,CAAe;QACrB,qBAAgB,GAAhB,gBAAgB,CAAyB;IACzD,CAAC;IAIJ,QAAQ;QACN,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAS,CAAC;QAC9C,OAAO;YACL,GAAG,IAAI;YACP,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1D,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,WAAW,EAAE,CAAC,CAAC,WAAW;aAC3B,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAID,WAAW;QACT,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;QACzD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;QACvD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,WAAW,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC,MAAM,CAC3E,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,CAC5C,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAS,CAAC;QAClD,OAAO;YACL,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC/B,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI;gBAC5B,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,IAAI;aACnC,CAAC,CAAC;YACH,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY;SACjD,CAAC;IACJ,CAAC;IAID,aAAa,CAAS,IAAyB;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QAC3C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;IACnE,CAAC;IAKD,kBAAkB,CAAS,IAA0C;QACnE,MAAM,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;QAClE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IAC9E,CAAC;CACF,CAAA;AAtDY,4CAAgB;AAQ3B;IADC,IAAA,YAAG,EAAC,UAAU,CAAC;;;;gDAYf;AAID;IADC,IAAA,YAAG,EAAC,aAAa,CAAC;;;;mDAgBlB;AAID;IADC,IAAA,aAAI,EAAC,gBAAgB,CAAC;IACR,WAAA,IAAA,aAAI,GAAE,CAAA;;;;qDAGpB;AAKD;IADC,IAAA,aAAI,EAAC,qBAAqB,CAAC;IACR,WAAA,IAAA,aAAI,GAAE,CAAA;;;;0DAGzB;2BArDU,gBAAgB;IAD5B,IAAA,mBAAU,EAAC,QAAQ,CAAC;qCAGQ,8BAAa;QACH,mDAAuB;GAHjD,gBAAgB,CAsD5B"}
@@ -7,6 +7,7 @@ interface LoadedPlugin {
7
7
  hooks: HunterMatePluginHooks | null;
8
8
  error?: string;
9
9
  }
10
+ export declare const HM_DATA_ROOT: () => string;
10
11
  export declare class SystemService implements OnModuleInit, OnApplicationShutdown {
11
12
  private readonly logger;
12
13
  private readonly plugins;
@@ -10,14 +10,15 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  var SystemService_1;
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.SystemService = void 0;
13
+ exports.SystemService = exports.HM_DATA_ROOT = void 0;
14
14
  const common_1 = require("@nestjs/common");
15
15
  const fs = require("fs");
16
16
  const path = require("path");
17
17
  const crypto_1 = require("crypto");
18
18
  const module_1 = require("module");
19
19
  const HOME = () => process.env.HUNTER_MATE_HOME || process.env.HOME || process.env.USERPROFILE || '.';
20
- const ROOT = () => path.join(HOME(), '.hunter-mate');
20
+ const ROOT = () => process.env.HM_DATA_DIR || path.join(HOME(), '.hunter-mate');
21
+ exports.HM_DATA_ROOT = ROOT;
21
22
  const PLUGINS_DIR = () => path.join(ROOT(), 'plugins');
22
23
  const RUNTIME_FILE = () => path.join(ROOT(), 'runtime.json');
23
24
  const EXTENSION_DIR = () => path.join(ROOT(), 'extension');
@@ -1 +1 @@
1
- {"version":3,"file":"system.service.js","sourceRoot":"","sources":["../../src/system/system.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system.service.js","sourceRoot":"","sources":["../../src/system/system.service.ts"],"names":[],"mappings":"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"}
package/dist/cache/db.js CHANGED
@@ -1,19 +1,19 @@
1
1
  import * as fs from 'fs';
2
2
  import * as path from 'path';
3
3
  import Database from 'better-sqlite3';
4
- const HOME = process.env.HUNTER_MATE_HOME || process.env.HOME || process.env.USERPROFILE || '.';
5
- const CACHE_DIR = path.join(HOME, '.hunter-mate');
6
- const DB_FILE = path.join(CACHE_DIR, 'cache.db');
4
+ import { resolveDataDir } from '../config.js';
5
+ const DB_FILE = () => path.join(resolveDataDir(), 'cache.db');
7
6
  let db = null;
8
7
  export function ensureCacheDir() {
9
- if (!fs.existsSync(CACHE_DIR)) {
10
- fs.mkdirSync(CACHE_DIR, { recursive: true });
8
+ const dir = resolveDataDir();
9
+ if (!fs.existsSync(dir)) {
10
+ fs.mkdirSync(dir, { recursive: true });
11
11
  }
12
12
  }
13
13
  export function getDb() {
14
14
  if (!db) {
15
15
  ensureCacheDir();
16
- db = new Database(DB_FILE);
16
+ db = new Database(DB_FILE());
17
17
  initSchema(db);
18
18
  }
19
19
  return db;
@@ -2,6 +2,7 @@ import { Command } from 'commander';
2
2
  import * as fs from 'fs';
3
3
  import * as path from 'path';
4
4
  import { spawnSyncSafe } from '../utils/spawn.js';
5
+ import { resolveDataDir } from '../config.js';
5
6
  import { getCliLogger } from '../logger.js';
6
7
  function formatOpt(cmd) {
7
8
  return cmd.option('-f, --format <format>', '输出格式: table|json|yaml|md|csv', 'json');
@@ -23,7 +24,7 @@ const printResult = (data, format) => {
23
24
  }
24
25
  console.log(typeof data === 'string' ? data : JSON.stringify(data, null, 2));
25
26
  };
26
- const ROOT = () => path.join(process.env.HUNTER_MATE_HOME || process.env.HOME || process.env.USERPROFILE || '.', '.hunter-mate');
27
+ const ROOT = resolveDataDir;
27
28
  const PLUGINS_DIR = () => path.join(ROOT(), 'plugins');
28
29
  const SKILLS_DIR = () => path.join(ROOT(), 'skills');
29
30
  const EXTERNAL_FILE = () => path.join(ROOT(), 'externals.json');
@@ -45,7 +45,7 @@ cacheCommand
45
45
  catch (err) {
46
46
  // patchConsole 已统一转发,但 logger-kit 提供结构化字段,
47
47
  // 业务错误统一走 getCliLogger().error;终端可见性由 printCommandError 保证
48
- printCommandError('cache:sync-failed', err);
48
+ await printCommandError('cache:sync-failed', err);
49
49
  process.exit(1);
50
50
  }
51
51
  });
@@ -0,0 +1,67 @@
1
+ import { Command } from 'commander';
2
+ /**
3
+ * 记忆完整性探针:推荐前自检用。
4
+ * 输出 customer / positions / memory(备注+不合适原因) / preferences(三层) / missing(缺口清单,空=完整)。
5
+ */
6
+ export declare function runCaseCheck(customerRef: string, jobExternalId?: string): Promise<{
7
+ customer: {
8
+ known: boolean;
9
+ ref: string;
10
+ id?: undefined;
11
+ canonicalName?: undefined;
12
+ aliases?: undefined;
13
+ };
14
+ positions: never[];
15
+ memory: {
16
+ remarksCount: number;
17
+ lastRemarkAt: null;
18
+ rejectedReasons: never[];
19
+ };
20
+ preferences: {
21
+ user: never[];
22
+ customer: never[];
23
+ case: never[];
24
+ };
25
+ missing: string[];
26
+ jobCase?: undefined;
27
+ } | {
28
+ customer: {
29
+ known: boolean;
30
+ id: any;
31
+ canonicalName: any;
32
+ aliases: any;
33
+ ref?: undefined;
34
+ };
35
+ positions: {
36
+ id: any;
37
+ externalId: any;
38
+ title: any;
39
+ status: any;
40
+ createdAt: any;
41
+ }[];
42
+ jobCase: {
43
+ id: any;
44
+ externalId: any;
45
+ title: any;
46
+ } | null;
47
+ memory: {
48
+ remarksCount: number;
49
+ lastRemarkAt: any;
50
+ rejectedReasons: {
51
+ source: string;
52
+ content: string;
53
+ at: any;
54
+ }[];
55
+ };
56
+ preferences: {
57
+ case: any[];
58
+ customer: any[];
59
+ user: any[];
60
+ } | {
61
+ case: never[];
62
+ customer: never[];
63
+ user: never[];
64
+ };
65
+ missing: string[];
66
+ }>;
67
+ export declare const caseCommand: Command;
@@ -0,0 +1,101 @@
1
+ import { Command } from 'commander';
2
+ import axios from 'axios';
3
+ import { loadConfig } from '../config.js';
4
+ import { getToken } from '../keychain.js';
5
+ import { printCommandError } from '../utils/command-error.js';
6
+ import { resolveCustomer } from './customer.js';
7
+ async function authedHeaders() {
8
+ const token = await getToken().catch(() => undefined);
9
+ return token ? { Authorization: `UTOKEN ${token}` } : {};
10
+ }
11
+ async function getMergedPreferences(scope, scopeId, customerId) {
12
+ const config = loadConfig();
13
+ const res = await axios.get(`${config.serverUrl}/preferences`, {
14
+ params: { scope, scopeId, ...(customerId ? { customerId } : {}) },
15
+ headers: await authedHeaders(),
16
+ proxy: false,
17
+ });
18
+ return res.data;
19
+ }
20
+ /**
21
+ * 记忆完整性探针:推荐前自检用。
22
+ * 输出 customer / positions / memory(备注+不合适原因) / preferences(三层) / missing(缺口清单,空=完整)。
23
+ */
24
+ export async function runCaseCheck(customerRef, jobExternalId) {
25
+ const related = await resolveCustomer(customerRef);
26
+ if (!related) {
27
+ return {
28
+ customer: { known: false, ref: customerRef },
29
+ positions: [],
30
+ memory: { remarksCount: 0, lastRemarkAt: null, rejectedReasons: [] },
31
+ preferences: { user: [], customer: [], case: [] },
32
+ missing: [`客户 "${customerRef}" 未入库 — 先运行: hunter-mate customer upsert --name "${customerRef}"`],
33
+ };
34
+ }
35
+ const { customer, jobCases, remarks } = related;
36
+ let jobCase = null;
37
+ if (jobExternalId) {
38
+ jobCase = jobCases.find((j) => j.externalId === jobExternalId || String(j.id) === String(jobExternalId)) ?? null;
39
+ }
40
+ else if (jobCases.length) {
41
+ // 未指定 --job 时取最新职位 case 做三层检查;否则 scope 退化为 customer,
42
+ // case 层永远空数组、case 层缺口检测失效(RS 模拟 R2 抓出)
43
+ jobCase = [...jobCases].sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime())[0];
44
+ }
45
+ const prefs = await getMergedPreferences(jobCase ? 'case' : 'customer', jobCase ? jobCase.id : customer.id, customer.id).catch(() => ({ case: [], customer: [], user: [] }));
46
+ const feedbackRemarks = remarks.filter((r) => r.category === 'feedback');
47
+ const rejectedReasons = [
48
+ ...feedbackRemarks
49
+ .map((r) => ({ source: 'remark', content: String(r.content).slice(0, 200), at: r.createdAt })),
50
+ ...prefs.case
51
+ .filter((p) => p.dimension === 'reject_reason')
52
+ .map((p) => ({ source: 'preference', content: JSON.stringify(p.value), at: p.updatedAt })),
53
+ ];
54
+ const missing = [];
55
+ if (!jobCases.length)
56
+ missing.push(`客户 ${customer.canonicalName} 无关联职位 — 职位入库时带 --customer`);
57
+ if (jobCase && !prefs.case.length)
58
+ missing.push(`职位 "${jobCase.title ?? jobCase.externalId}" 无 case 层画像偏好 — 寻访后 preference set --scope case`);
59
+ if (!prefs.customer.length)
60
+ missing.push(`客户 ${customer.canonicalName} 无客户层偏好 — 沟通反馈后 preference set --scope customer`);
61
+ if (!remarks.length)
62
+ missing.push(`客户 ${customer.canonicalName} 无任何备注记录 — 推荐/反馈后 note add --target customer --id ${customer.id}`);
63
+ if (remarks.length && !feedbackRemarks.length)
64
+ missing.push('无 category=feedback 的反馈记录(过往推荐/不合适原因)');
65
+ return {
66
+ customer: {
67
+ known: true,
68
+ id: customer.id,
69
+ canonicalName: customer.canonicalName,
70
+ aliases: customer.aliases ?? [],
71
+ },
72
+ positions: jobCases.map((j) => ({ id: j.id, externalId: j.externalId, title: j.title, status: j.status, createdAt: j.createdAt })),
73
+ jobCase: jobCase ? { id: jobCase.id, externalId: jobCase.externalId, title: jobCase.title } : null,
74
+ memory: {
75
+ remarksCount: remarks.length,
76
+ lastRemarkAt: remarks[0]?.createdAt ?? null,
77
+ rejectedReasons,
78
+ },
79
+ preferences: prefs,
80
+ missing,
81
+ };
82
+ }
83
+ export const caseCommand = new Command('case').description('职位 case 记忆完整性检查(推荐前自检 / agent 流程判据)');
84
+ caseCommand
85
+ .command('check')
86
+ .requiredOption('--customer <nameOrId>', '客户名或 id')
87
+ .option('--job <externalId>', '职位 externalId 或 id(可选,细查单个 case)')
88
+ .option('--json', 'JSON 输出(默认)')
89
+ .action(async (opts) => {
90
+ try {
91
+ const report = await runCaseCheck(opts.customer, opts.job);
92
+ console.log(JSON.stringify(report, null, 2));
93
+ if (!opts.json && report.missing.length) {
94
+ console.error(`\n⚠ ${report.missing.length} 个记忆缺口(见 missing 字段)`);
95
+ }
96
+ }
97
+ catch (err) {
98
+ printCommandError('case:check-failed', err);
99
+ process.exit(1);
100
+ }
101
+ });
@@ -3,11 +3,15 @@ export interface ConfigOptions {
3
3
  serverUrl?: string;
4
4
  watchFolder?: string;
5
5
  lang?: string;
6
+ dataDir?: string;
7
+ harnessPath?: string;
6
8
  }
7
9
  export declare function runConfig(options: ConfigOptions): {
8
10
  serverUrl: string;
9
11
  saasUrl: string;
10
12
  lang: string;
11
13
  watchFolder?: string;
14
+ dataDir?: string;
15
+ harnessPath?: string;
12
16
  };
13
17
  export declare const configCommand: Command;
@@ -1,5 +1,5 @@
1
1
  import { Command } from 'commander';
2
- import { saveConfig } from '../config.js';
2
+ import { saveConfig, resolveDataDir } from '../config.js';
3
3
  import { i18n } from '../i18n/index.js';
4
4
  export function runConfig(options) {
5
5
  const updates = {};
@@ -9,6 +9,10 @@ export function runConfig(options) {
9
9
  updates.watchFolder = options.watchFolder;
10
10
  if (options.lang)
11
11
  updates.lang = options.lang;
12
+ if (options.dataDir)
13
+ updates.dataDir = options.dataDir;
14
+ if (options.harnessPath)
15
+ updates.harnessPath = options.harnessPath;
12
16
  const saved = saveConfig(updates);
13
17
  return saved;
14
18
  }
@@ -17,7 +21,10 @@ export const configCommand = new Command('config')
17
21
  .option('--server-url <url>', 'Server URL')
18
22
  .option('--watch-folder <path>', 'Watch folder for job cases')
19
23
  .option('--lang <lang>', 'Output language')
24
+ .option('--data-dir <path>', '重数据目录(数据库/日志/缓存等);迁移已有数据用 migrate-data-dir')
25
+ .option('--harness-path <path>', 'hunter-mate-harness 仓绝对路径(adapter sync 的 overlay 真相源;env HUNTER_MATE_HARNESS_PATH 优先)')
20
26
  .action((options) => {
21
27
  runConfig(options);
22
28
  console.log(i18n.t('config.saved'));
29
+ console.log(`dataDir: ${resolveDataDir()}`);
23
30
  });
@@ -0,0 +1,25 @@
1
+ import { Command } from 'commander';
2
+ export declare function runCustomerUpsert(opts: {
3
+ name: string;
4
+ alias?: string;
5
+ type?: string;
6
+ status?: string;
7
+ notes?: string;
8
+ }): Promise<{
9
+ customer: any;
10
+ created: boolean;
11
+ merged: boolean;
12
+ }>;
13
+ export declare function runCustomerList(query?: string): Promise<any[]>;
14
+ export declare function runCustomerRelated(id: number): Promise<{
15
+ customer: any;
16
+ jobCases: any[];
17
+ remarks: any[];
18
+ }>;
19
+ /** 按名称/别名/id 解析客户,返回 related 聚合;未命中返回 null */
20
+ export declare function resolveCustomer(nameOrId: string): Promise<{
21
+ customer: any;
22
+ jobCases: any[];
23
+ remarks: any[];
24
+ } | null>;
25
+ export declare const customerCommand: Command;
@@ -0,0 +1,137 @@
1
+ import { Command } from 'commander';
2
+ import axios from 'axios';
3
+ import { loadConfig } from '../config.js';
4
+ import { getToken } from '../keychain.js';
5
+ import { printCommandError } from '../utils/command-error.js';
6
+ async function authedHeaders() {
7
+ const token = await getToken().catch(() => undefined);
8
+ return token ? { Authorization: `UTOKEN ${token}` } : {};
9
+ }
10
+ function emit(jsonMode, data, human) {
11
+ if (jsonMode) {
12
+ console.log(JSON.stringify(data, null, 2));
13
+ }
14
+ else {
15
+ human();
16
+ }
17
+ }
18
+ export async function runCustomerUpsert(opts) {
19
+ const config = loadConfig();
20
+ const res = await axios.post(`${config.serverUrl}/customers`, {
21
+ name: opts.name,
22
+ aliases: opts.alias ? opts.alias.split(',').map((s) => s.trim()).filter(Boolean) : undefined,
23
+ typeStatus: opts.type || opts.status ? { type: opts.type, status: opts.status } : undefined,
24
+ notes: opts.notes,
25
+ }, { headers: await authedHeaders(), proxy: false });
26
+ return res.data;
27
+ }
28
+ export async function runCustomerList(query) {
29
+ const config = loadConfig();
30
+ const res = await axios.get(`${config.serverUrl}/customers`, {
31
+ params: query ? { query } : {},
32
+ headers: await authedHeaders(),
33
+ proxy: false,
34
+ });
35
+ return res.data;
36
+ }
37
+ export async function runCustomerRelated(id) {
38
+ const config = loadConfig();
39
+ const res = await axios.get(`${config.serverUrl}/customers/${id}/related`, {
40
+ headers: await authedHeaders(),
41
+ proxy: false,
42
+ });
43
+ return res.data;
44
+ }
45
+ /** 按名称/别名/id 解析客户,返回 related 聚合;未命中返回 null */
46
+ export async function resolveCustomer(nameOrId) {
47
+ if (/^\d+$/.test(nameOrId.trim())) {
48
+ try {
49
+ return await runCustomerRelated(parseInt(nameOrId, 10));
50
+ }
51
+ catch {
52
+ return null;
53
+ }
54
+ }
55
+ const hits = await runCustomerList(nameOrId);
56
+ if (!hits.length)
57
+ return null;
58
+ return runCustomerRelated(hits[0].id);
59
+ }
60
+ export const customerCommand = new Command('customer').description('客户(用人单位)归一化入库与查询 — 推荐记忆闭环锚点');
61
+ customerCommand
62
+ .command('upsert')
63
+ .requiredOption('--name <name>', '客户名(自动归一化去重,命中别名则合并)')
64
+ .option('--alias <a,b>', '额外别名,逗号分隔')
65
+ .option('--type <type>', '客户类型,如 enterprise/startup')
66
+ .option('--status <status>', '合作状态,如 active/paused')
67
+ .option('--notes <notes>', '备注')
68
+ .option('--json', 'JSON 输出(供 agent 解析)')
69
+ .action(async (opts) => {
70
+ try {
71
+ const result = await runCustomerUpsert(opts);
72
+ emit(opts.json, result, () => {
73
+ const { customer, created, merged } = result;
74
+ const tag = created ? '✓ 新建客户' : merged ? '✓ 命中已有客户(已合并别名/信息)' : '✓ 客户已存在';
75
+ console.log(`${tag}: [${customer.id}] ${customer.canonicalName}`);
76
+ if (customer.aliases?.length)
77
+ console.log(` 别名: ${customer.aliases.join(', ')}`);
78
+ });
79
+ }
80
+ catch (err) {
81
+ printCommandError('customer:upsert-failed', err);
82
+ process.exit(1);
83
+ }
84
+ });
85
+ customerCommand
86
+ .command('list')
87
+ .option('--query <q>', '按名称/别名搜索')
88
+ .option('--json', 'JSON 输出')
89
+ .action(async (opts) => {
90
+ try {
91
+ const list = await runCustomerList(opts.query);
92
+ emit(opts.json, list, () => {
93
+ if (!list.length) {
94
+ console.log('无客户记录');
95
+ return;
96
+ }
97
+ console.table(list.map((c) => ({
98
+ id: c.id,
99
+ name: c.canonicalName,
100
+ aliases: (c.aliases ?? []).join(','),
101
+ updatedAt: c.updatedAt,
102
+ })));
103
+ });
104
+ }
105
+ catch (err) {
106
+ printCommandError('customer:list-failed', err);
107
+ process.exit(1);
108
+ }
109
+ });
110
+ customerCommand
111
+ .command('show <id>')
112
+ .description('客户详情(含关联职位与备注)')
113
+ .option('--json', 'JSON 输出')
114
+ .action(async (id, opts) => {
115
+ try {
116
+ const data = await runCustomerRelated(parseInt(id, 10));
117
+ emit(opts.json, data, () => {
118
+ const { customer, jobCases, remarks } = data;
119
+ console.log(`[${customer.id}] ${customer.canonicalName}`);
120
+ if (customer.aliases?.length)
121
+ console.log(`别名: ${customer.aliases.join(', ')}`);
122
+ if (customer.notes)
123
+ console.log(`备注: ${customer.notes}`);
124
+ console.log(`职位(${jobCases.length}):`);
125
+ for (const j of jobCases)
126
+ console.log(` - [${j.id}] ${j.title ?? j.externalId} (${j.status})`);
127
+ console.log(`备注记录(${remarks.length}):`);
128
+ for (const r of remarks.slice(0, 10)) {
129
+ console.log(` - [${r.category}] ${String(r.content).slice(0, 80)}`);
130
+ }
131
+ });
132
+ }
133
+ catch (err) {
134
+ printCommandError('customer:show-failed', err);
135
+ process.exit(1);
136
+ }
137
+ });
@@ -9,7 +9,7 @@ import { runInstall } from './install.js';
9
9
  import { runExtensionCheck } from './extension.js';
10
10
  import { checkNativeModules } from '../native-check.js';
11
11
  import { getCliLogger } from '../logger.js';
12
- import { getToken } from '../keychain.js';
12
+ import { getToken, getTokenInfo } from '../keychain.js';
13
13
  const B = {
14
14
  reset: '\x1b[0m',
15
15
  bold: '\x1b[1m',
@@ -321,12 +321,24 @@ export async function runDoctor(opts) {
321
321
  hints.push('hunter-mate login');
322
322
  }
323
323
  else if (!serverUp) {
324
- loggedIn = true;
325
- checks.push({
326
- key: 'auth',
327
- status: 'ok',
328
- detail: '已登录 (server 未运行, 仅验证 token 存在性)',
329
- });
324
+ const issuer = (await getTokenInfo())?.issuer ?? 'unknown';
325
+ // hmh#43: SaaS 签发的 token 存在性 ok 但 server 起来后必 401,不能笼统报"已登录"
326
+ if (issuer === 'saas') {
327
+ checks.push({
328
+ key: 'auth',
329
+ status: 'warn',
330
+ detail: 'token 由 SaaS 签发(server 未运行,仅验证存在性);server 启动后数据面会 401,请重新登录',
331
+ });
332
+ hints.push('启动 server 后重新登录: hunter-mate login');
333
+ }
334
+ else {
335
+ loggedIn = true;
336
+ checks.push({
337
+ key: 'auth',
338
+ status: 'ok',
339
+ detail: '已登录 (server 未运行, 仅验证 token 存在性)',
340
+ });
341
+ }
330
342
  }
331
343
  else {
332
344
  try {
@@ -342,8 +354,20 @@ export async function runDoctor(opts) {
342
354
  const status = e?.response?.status;
343
355
  if (status === 401 || status === 403) {
344
356
  // 真实 fail: server 明确拒绝了这个 token
345
- checks.push({ key: 'auth', status: 'fail', detail: `token 已被 server 拒绝 (HTTP ${status}), 登录已过期或无权访问` });
346
- hints.push('重新登录: hunter-mate login');
357
+ const issuer = (await getTokenInfo())?.issuer ?? 'unknown';
358
+ if (issuer === 'saas') {
359
+ // hmh#43: 定向诊断,不再笼统报"登录已过期"
360
+ checks.push({
361
+ key: 'auth',
362
+ status: 'fail',
363
+ detail: `token 由 SaaS 签发,被本地 server 拒绝 (HTTP ${status});登录时本地 server 未运行`,
364
+ });
365
+ hints.push('保持 server 运行后重新登录: hunter-mate login');
366
+ }
367
+ else {
368
+ checks.push({ key: 'auth', status: 'fail', detail: `token 已被 server 拒绝 (HTTP ${status}), 登录已过期或无权访问` });
369
+ hints.push('重新登录: hunter-mate login');
370
+ }
347
371
  }
348
372
  else {
349
373
  // 网络/其他原因: 标 warn,不误报 fail