hunter-mate 0.1.25 → 0.1.27

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 (90) hide show
  1. package/dist/assets/extension/background/{service-worker.20261017183328.js → service-worker.20261020181646.js} +60 -4
  2. package/dist/assets/extension/background/service-worker.js +60 -4
  3. package/dist/assets/extension/build-info.json +1 -1
  4. package/dist/assets/extension/content/index.js +284 -64
  5. package/dist/assets/extension/manifest.json +3 -3
  6. package/dist/assets/extension/sidepanel/index.html +1 -1
  7. package/dist/assets/extension/sidepanel/index.js +14 -14
  8. package/dist/assets/server/main.mjs +2318 -1987
  9. package/dist/index.js +52 -68
  10. package/dist/watchdog.js +62 -6
  11. package/dist/web/dist/404.html +1 -1
  12. package/dist/web/dist/_next/static/chunks/187-f067914dcd1330c2.js +32 -0
  13. package/dist/web/dist/_next/static/chunks/253-f4ac7af6647e4dba.js +1 -0
  14. package/dist/web/dist/_next/static/chunks/{589-f984bff035a1cb85.js → 589-5bb84ab8060e960b.js} +1 -1
  15. package/dist/web/dist/_next/static/chunks/659-b23050764c004f5f.js +1 -0
  16. package/dist/web/dist/_next/static/chunks/{686-9f419b70feea9470.js → 686-5f4ee3649cce07f1.js} +1 -1
  17. package/dist/web/dist/_next/static/chunks/728-cffab7e836020551.js +12 -0
  18. package/dist/web/dist/_next/static/chunks/{865-0ed23dd43c0832a2.js → 865-8e1d8c34192526ed.js} +1 -1
  19. package/dist/web/dist/_next/static/chunks/896-9dce6a3bc525edba.js +1 -0
  20. package/dist/web/dist/_next/static/chunks/{935-7be3e60dd8bc29d2.js → 935-12f1084f0e18c962.js} +1 -1
  21. package/dist/web/dist/_next/static/chunks/{a7067448-e416655baf443992.js → a7067448-3f2b194cfadb91fb.js} +1 -1
  22. package/dist/web/dist/_next/static/chunks/app/_not-found/{page-5b7249eb3c9a6cb9.js → page-46929212b0496a89.js} +1 -1
  23. package/dist/web/dist/_next/static/chunks/app/admin/data/{page-14698e9c4ddaa6d9.js → page-666f99fbfee46cc9.js} +1 -1
  24. package/dist/web/dist/_next/static/chunks/app/auth/verify/{page-05304d5803008d61.js → page-2da5807d6cdfdb4e.js} +1 -1
  25. package/dist/web/dist/_next/static/chunks/app/companies/{page-e8d02fe997579315.js → page-390d5e3073ec151d.js} +1 -1
  26. package/dist/web/dist/_next/static/chunks/app/company/admin/{page-c2584183bc4b34d1.js → page-02244f3f1a212c76.js} +1 -1
  27. package/dist/web/dist/_next/static/chunks/app/entity/{page-08755f96102f0565.js → page-d59a8103f8107d3b.js} +1 -1
  28. package/dist/web/dist/_next/static/chunks/app/jobs/page-fa83ce1b6c3b345d.js +1 -0
  29. package/dist/web/dist/_next/static/chunks/app/layout-15c4c2ba595b2a92.js +1 -0
  30. package/dist/web/dist/_next/static/chunks/app/logs/{page-be50a4e10b1a0024.js → page-badf48f4e7e32e17.js} +1 -1
  31. package/dist/web/dist/_next/static/chunks/app/matching/jobs/[id]/talents/{page-cf445b0cb8c2cb0a.js → page-73bca3864b8b9e44.js} +1 -1
  32. package/dist/web/dist/_next/static/chunks/app/matching/portraits/[id]/jobs/{page-c7ff0d79b6a75915.js → page-477c66bee61225fa.js} +1 -1
  33. package/dist/web/dist/_next/static/chunks/app/{page-bd282e1e5f0965f1.js → page-8ea324b366e3d374.js} +1 -1
  34. package/dist/web/dist/_next/static/chunks/app/parselog/{page-9814e75d6900a743.js → page-4f5c186442feb386.js} +1 -1
  35. package/dist/web/dist/_next/static/chunks/app/recordings/page-0fb8cafdd2f6762c.js +1 -0
  36. package/dist/web/dist/_next/static/chunks/app/resource-usage/{page-f6fa06bfe21bcd32.js → page-76be36ca978391a3.js} +1 -1
  37. package/dist/web/dist/_next/static/chunks/app/shared/[token]/{page-c9c5042a2d07c0bc.js → page-fe2b986867d317c0.js} +1 -1
  38. package/dist/web/dist/_next/static/chunks/app/snapshots/[id]/agent-prompt/{page-f54cf2f0058035ca.js → page-60ea46364a74b294.js} +1 -1
  39. package/dist/web/dist/_next/static/chunks/app/talents/{page-0edef6d07b3cf69d.js → page-5a2caa7a503ee041.js} +1 -1
  40. package/dist/web/dist/_next/static/chunks/app/team/insights/{page-8b3934df3e292368.js → page-5385dcd363f6e0cd.js} +1 -1
  41. package/dist/web/dist/_next/static/chunks/webpack-9cebd25e322e2cd7.js +1 -0
  42. package/dist/web/dist/_next/static/css/8f3c454cab3414d0.css +3 -0
  43. package/dist/web/dist/admin/data.html +1 -1
  44. package/dist/web/dist/admin/data.txt +5 -5
  45. package/dist/web/dist/auth/verify.html +1 -1
  46. package/dist/web/dist/auth/verify.txt +5 -5
  47. package/dist/web/dist/companies.html +1 -1
  48. package/dist/web/dist/companies.txt +5 -5
  49. package/dist/web/dist/company/admin.html +1 -1
  50. package/dist/web/dist/company/admin.txt +5 -5
  51. package/dist/web/dist/entity.html +1 -1
  52. package/dist/web/dist/entity.txt +5 -5
  53. package/dist/web/dist/index.html +1 -1
  54. package/dist/web/dist/index.txt +5 -5
  55. package/dist/web/dist/jobs.html +1 -1
  56. package/dist/web/dist/jobs.txt +5 -5
  57. package/dist/web/dist/logs.html +1 -1
  58. package/dist/web/dist/logs.txt +5 -5
  59. package/dist/web/dist/matching/jobs/placeholder/talents.html +1 -1
  60. package/dist/web/dist/matching/jobs/placeholder/talents.txt +5 -5
  61. package/dist/web/dist/matching/portraits/placeholder/jobs.html +1 -1
  62. package/dist/web/dist/matching/portraits/placeholder/jobs.txt +5 -5
  63. package/dist/web/dist/parselog.html +1 -1
  64. package/dist/web/dist/parselog.txt +5 -5
  65. package/dist/web/dist/recordings.html +1 -1
  66. package/dist/web/dist/recordings.txt +5 -5
  67. package/dist/web/dist/resource-usage.html +1 -1
  68. package/dist/web/dist/resource-usage.txt +5 -5
  69. package/dist/web/dist/shared/placeholder.html +1 -1
  70. package/dist/web/dist/shared/placeholder.txt +5 -5
  71. package/dist/web/dist/snapshots/placeholder/agent-prompt.html +1 -1
  72. package/dist/web/dist/snapshots/placeholder/agent-prompt.txt +5 -5
  73. package/dist/web/dist/talents.html +1 -1
  74. package/dist/web/dist/talents.txt +5 -5
  75. package/dist/web/dist/team/insights.html +1 -1
  76. package/dist/web/dist/team/insights.txt +5 -5
  77. package/package.json +3 -6
  78. package/dist/web/dist/_next/static/chunks/105-dcd8f6d5867c8995.js +0 -32
  79. package/dist/web/dist/_next/static/chunks/166.b263e636ff66212f.js +0 -1
  80. package/dist/web/dist/_next/static/chunks/253-a05d05b94bfbd7a4.js +0 -1
  81. package/dist/web/dist/_next/static/chunks/555-e2a871b9d2eccb03.js +0 -12
  82. package/dist/web/dist/_next/static/chunks/852-ad19b97821a4cf9e.js +0 -1
  83. package/dist/web/dist/_next/static/chunks/app/jobs/page-4827a9ef286b6483.js +0 -1
  84. package/dist/web/dist/_next/static/chunks/app/layout-af39afc7866e74db.js +0 -1
  85. package/dist/web/dist/_next/static/chunks/app/recordings/page-441016638b43c4f8.js +0 -1
  86. package/dist/web/dist/_next/static/chunks/webpack-54e74ccc9e9451ee.js +0 -1
  87. package/dist/web/dist/_next/static/css/10ba1fa1d6ce23a7.css +0 -3
  88. package/dist/web/dist/_next/static/css/f60d210841fab76b.css +0 -1
  89. /package/dist/web/dist/_next/static/{5MA8faUttk6FzlxGWnOlM → tYFZz41gyWi4-BhxuxlGU}/_buildManifest.js +0 -0
  90. /package/dist/web/dist/_next/static/{5MA8faUttk6FzlxGWnOlM → tYFZz41gyWi4-BhxuxlGU}/_ssgManifest.js +0 -0
package/dist/index.js CHANGED
@@ -4974,7 +4974,7 @@ var require_source = __commonJS({
4974
4974
  }
4975
4975
  });
4976
4976
 
4977
- // ../../node_modules/.pnpm/@chromepilot+kit@0.1.8_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/updater.js
4977
+ // ../../node_modules/.pnpm/@chromepilot+kit@0.1.13_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/updater.js
4978
4978
  import fs from "node:fs";
4979
4979
  import path from "node:path";
4980
4980
  import { spawnSync } from "node:child_process";
@@ -5100,13 +5100,13 @@ function createCliUpdater(opts) {
5100
5100
  }
5101
5101
  var LAST_CHECK_BASENAME, DEFAULT_INTERVAL_MS;
5102
5102
  var init_updater = __esm({
5103
- "../../node_modules/.pnpm/@chromepilot+kit@0.1.8_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/updater.js"() {
5103
+ "../../node_modules/.pnpm/@chromepilot+kit@0.1.13_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/updater.js"() {
5104
5104
  LAST_CHECK_BASENAME = ".last-cli-update-check";
5105
5105
  DEFAULT_INTERVAL_MS = 60 * 60 * 1e3;
5106
5106
  }
5107
5107
  });
5108
5108
 
5109
- // ../../node_modules/.pnpm/@chromepilot+kit@0.1.8_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/native-check.js
5109
+ // ../../node_modules/.pnpm/@chromepilot+kit@0.1.13_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/native-check.js
5110
5110
  import { createRequire } from "node:module";
5111
5111
  import path2 from "node:path";
5112
5112
  function abiToNodeLabel(abi) {
@@ -5180,7 +5180,7 @@ function createNativeChecker(opts) {
5180
5180
  }
5181
5181
  var ABI_NODE_MAP;
5182
5182
  var init_native_check = __esm({
5183
- "../../node_modules/.pnpm/@chromepilot+kit@0.1.8_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/native-check.js"() {
5183
+ "../../node_modules/.pnpm/@chromepilot+kit@0.1.13_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/native-check.js"() {
5184
5184
  ABI_NODE_MAP = {
5185
5185
  127: "Node 22",
5186
5186
  131: "Node 23",
@@ -45211,7 +45211,7 @@ var init_esm8 = __esm({
45211
45211
  }
45212
45212
  });
45213
45213
 
45214
- // ../../node_modules/.pnpm/@chromepilot+kit@0.1.8_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/sentry.js
45214
+ // ../../node_modules/.pnpm/@chromepilot+kit@0.1.13_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/sentry.js
45215
45215
  function isLocalDsn(dsn) {
45216
45216
  try {
45217
45217
  const url2 = new URL(dsn);
@@ -45263,18 +45263,18 @@ function initSentryFromEnv(envPrefix, o = {}) {
45263
45263
  });
45264
45264
  }
45265
45265
  var init_sentry = __esm({
45266
- "../../node_modules/.pnpm/@chromepilot+kit@0.1.8_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/sentry.js"() {
45266
+ "../../node_modules/.pnpm/@chromepilot+kit@0.1.13_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/sentry.js"() {
45267
45267
  init_esm8();
45268
45268
  }
45269
45269
  });
45270
45270
 
45271
- // ../../node_modules/.pnpm/@chromepilot+kit@0.1.8_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/redactor.js
45271
+ // ../../node_modules/.pnpm/@chromepilot+kit@0.1.13_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/redactor.js
45272
45272
  var init_redactor = __esm({
45273
- "../../node_modules/.pnpm/@chromepilot+kit@0.1.8_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/redactor.js"() {
45273
+ "../../node_modules/.pnpm/@chromepilot+kit@0.1.13_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/redactor.js"() {
45274
45274
  }
45275
45275
  });
45276
45276
 
45277
- // ../../node_modules/.pnpm/@chromepilot+kit@0.1.8_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/config.js
45277
+ // ../../node_modules/.pnpm/@chromepilot+kit@0.1.13_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/config.js
45278
45278
  import fs2 from "node:fs";
45279
45279
  import path3 from "node:path";
45280
45280
  function createJsonConfigStore(opts) {
@@ -45306,51 +45306,58 @@ function createJsonConfigStore(opts) {
45306
45306
  return store2;
45307
45307
  }
45308
45308
  var init_config = __esm({
45309
- "../../node_modules/.pnpm/@chromepilot+kit@0.1.8_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/config.js"() {
45309
+ "../../node_modules/.pnpm/@chromepilot+kit@0.1.13_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/config.js"() {
45310
45310
  }
45311
45311
  });
45312
45312
 
45313
- // ../../node_modules/.pnpm/@chromepilot+kit@0.1.8_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/protocol.js
45313
+ // ../../node_modules/.pnpm/@chromepilot+kit@0.1.13_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/protocol.js
45314
45314
  var init_protocol = __esm({
45315
- "../../node_modules/.pnpm/@chromepilot+kit@0.1.8_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/protocol.js"() {
45315
+ "../../node_modules/.pnpm/@chromepilot+kit@0.1.13_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/protocol.js"() {
45316
45316
  }
45317
45317
  });
45318
45318
 
45319
- // ../../node_modules/.pnpm/@chromepilot+kit@0.1.8_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/usagesink.js
45319
+ // ../../node_modules/.pnpm/@chromepilot+kit@0.1.13_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/url-key.js
45320
+ var init_url_key = __esm({
45321
+ "../../node_modules/.pnpm/@chromepilot+kit@0.1.13_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/url-key.js"() {
45322
+ }
45323
+ });
45324
+
45325
+ // ../../node_modules/.pnpm/@chromepilot+kit@0.1.13_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/usagesink.js
45320
45326
  var init_usagesink = __esm({
45321
- "../../node_modules/.pnpm/@chromepilot+kit@0.1.8_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/usagesink.js"() {
45327
+ "../../node_modules/.pnpm/@chromepilot+kit@0.1.13_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/usagesink.js"() {
45322
45328
  }
45323
45329
  });
45324
45330
 
45325
- // ../../node_modules/.pnpm/@chromepilot+kit@0.1.8_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/logsink.js
45331
+ // ../../node_modules/.pnpm/@chromepilot+kit@0.1.13_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/logsink.js
45326
45332
  var init_logsink = __esm({
45327
- "../../node_modules/.pnpm/@chromepilot+kit@0.1.8_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/logsink.js"() {
45333
+ "../../node_modules/.pnpm/@chromepilot+kit@0.1.13_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/logsink.js"() {
45328
45334
  }
45329
45335
  });
45330
45336
 
45331
- // ../../node_modules/.pnpm/@chromepilot+kit@0.1.8_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/deferred-reload.js
45337
+ // ../../node_modules/.pnpm/@chromepilot+kit@0.1.13_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/deferred-reload.js
45332
45338
  var DEFAULT_PENDING_RELOAD_TTL_MS;
45333
45339
  var init_deferred_reload = __esm({
45334
- "../../node_modules/.pnpm/@chromepilot+kit@0.1.8_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/deferred-reload.js"() {
45340
+ "../../node_modules/.pnpm/@chromepilot+kit@0.1.13_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/deferred-reload.js"() {
45335
45341
  DEFAULT_PENDING_RELOAD_TTL_MS = 30 * 6e4;
45336
45342
  }
45337
45343
  });
45338
45344
 
45339
- // ../../node_modules/.pnpm/@chromepilot+kit@0.1.8_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/connection.js
45345
+ // ../../node_modules/.pnpm/@chromepilot+kit@0.1.13_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/connection.js
45340
45346
  var init_connection = __esm({
45341
- "../../node_modules/.pnpm/@chromepilot+kit@0.1.8_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/connection.js"() {
45347
+ "../../node_modules/.pnpm/@chromepilot+kit@0.1.13_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/connection.js"() {
45342
45348
  }
45343
45349
  });
45344
45350
 
45345
- // ../../node_modules/.pnpm/@chromepilot+kit@0.1.8_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/index.js
45351
+ // ../../node_modules/.pnpm/@chromepilot+kit@0.1.13_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/index.js
45346
45352
  var init_dist = __esm({
45347
- "../../node_modules/.pnpm/@chromepilot+kit@0.1.8_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/index.js"() {
45353
+ "../../node_modules/.pnpm/@chromepilot+kit@0.1.13_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/index.js"() {
45348
45354
  init_updater();
45349
45355
  init_native_check();
45350
45356
  init_sentry();
45351
45357
  init_redactor();
45352
45358
  init_config();
45353
45359
  init_protocol();
45360
+ init_url_key();
45354
45361
  init_usagesink();
45355
45362
  init_logsink();
45356
45363
  init_deferred_reload();
@@ -62809,26 +62816,8 @@ function fallbackDelete() {
62809
62816
  fs4.unlinkSync(tokenFile());
62810
62817
  }
62811
62818
  }
62812
- async function getKeytar() {
62813
- if (process.platform === "linux") return null;
62814
- try {
62815
- const mod = await import("keytar");
62816
- return mod.setPassword ? mod : mod.default || null;
62817
- } catch {
62818
- return null;
62819
- }
62820
- }
62821
62819
  async function saveToken(token, issuer = "local") {
62822
62820
  invalidateSessionCache();
62823
- const payload = JSON.stringify({ token, issuer });
62824
- const keytar = await getKeytar();
62825
- if (keytar) {
62826
- try {
62827
- await keytar.setPassword(SERVICE, ACCOUNT, payload);
62828
- return;
62829
- } catch {
62830
- }
62831
- }
62832
62821
  fallbackSave({ token, issuer });
62833
62822
  }
62834
62823
  async function getToken() {
@@ -62893,35 +62882,18 @@ async function getTokenInfo() {
62893
62882
  return (await getSessionStatus()).info;
62894
62883
  }
62895
62884
  async function getTokenInfoLocal() {
62896
- const keytar = await getKeytar();
62897
- if (keytar) {
62898
- try {
62899
- const raw = await keytar.getPassword(SERVICE, ACCOUNT);
62900
- if (raw) return parseStored(raw);
62901
- } catch {
62902
- }
62903
- }
62904
62885
  return fallbackGet();
62905
62886
  }
62906
62887
  async function deleteToken() {
62907
62888
  invalidateSessionCache();
62908
- const keytar = await getKeytar();
62909
- if (keytar) {
62910
- try {
62911
- await keytar.deletePassword(SERVICE, ACCOUNT);
62912
- } catch {
62913
- }
62914
- }
62915
62889
  fallbackDelete();
62916
62890
  }
62917
- var SERVICE, ACCOUNT, sessionCache, SESSION_CACHE_TTL_MS;
62891
+ var sessionCache, SESSION_CACHE_TTL_MS;
62918
62892
  var init_keychain = __esm({
62919
62893
  "src/keychain.ts"() {
62920
62894
  "use strict";
62921
62895
  init_axios2();
62922
62896
  init_config2();
62923
- SERVICE = "hunter-mate";
62924
- ACCOUNT = "user";
62925
62897
  sessionCache = null;
62926
62898
  SESSION_CACHE_TTL_MS = 6e4;
62927
62899
  }
@@ -64233,14 +64205,14 @@ async function runStartLocked(opts, ctx) {
64233
64205
  tail = log3.split("\n").slice(-30).join("\n").trim();
64234
64206
  } catch {
64235
64207
  }
64236
- cleanPidFile(WATCHDOG_PID_FILE());
64208
+ const wdAlive = watchdogAlive(wd.pid ?? null);
64237
64209
  return {
64238
64210
  started: false,
64239
64211
  pid: wd.pid ?? null,
64240
64212
  url: url2,
64241
- msg: (notes.length ? notes.join("\n") + "\n" : "") + `\u2717 server watchdog \u542F\u52A8\u540E ${probeDeadlineMs / 1e3}s \u5185\u672A\u5C31\u7EEA(pid=${wd.pid}),\u65E5\u5FD7\u5C3E\u90E8:
64213
+ msg: (notes.length ? notes.join("\n") + "\n" : "") + `\u23F3 server \u5C1A\u672A\u5C31\u7EEA(\u5DF2\u7B49\u5F85 ${probeDeadlineMs / 1e3}s${wdAlive ? ",watchdog \u4ECD\u5728\u540E\u53F0\u62C9\u8D77" : ",watchdog \u5DF2\u9000\u51FA"}),\u65E5\u5FD7\u5C3E\u90E8:
64242
64214
  ${tail || "(server.log \u4E3A\u7A7A)"}
64243
- \u6392\u969C: hunter-mate doctor \u6216 TROUBLESHOOTING.md#server-\u542F\u52A8\u5373\u5D29abi`
64215
+ ` + (wdAlive ? `\u5EFA\u8BAE:\u7A0D\u5019\u6267\u884C hunter-mate status \u786E\u8BA4\u5C31\u7EEA;\u9AD8\u8D1F\u8F7D\u673A\u5668\u9996\u6B21\u542F\u52A8\u53EF\u80FD\u9700\u8981 1-2 \u5206\u949F` : `\u6392\u969C: hunter-mate doctor \u6216 TROUBLESHOOTING.md#server-\u542F\u52A8\u5373\u5D29`)
64244
64216
  };
64245
64217
  }
64246
64218
  try {
@@ -71736,7 +71708,7 @@ init_axios2();
71736
71708
  import * as fs23 from "fs";
71737
71709
  import * as path25 from "path";
71738
71710
 
71739
- // ../../node_modules/.pnpm/@chromepilot+kit@0.1.8_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/diagnose.js
71711
+ // ../../node_modules/.pnpm/@chromepilot+kit@0.1.13_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/diagnose.js
71740
71712
  import { execFile as execFile2 } from "node:child_process";
71741
71713
  function isChromeRunning(platform3 = process.platform) {
71742
71714
  if (platform3 !== "darwin")
@@ -71921,6 +71893,20 @@ ${B3.bold}${B3.cyan}\u256D\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
71921
71893
  } catch (e) {
71922
71894
  checks.push({ key: "harness_path", status: "skip", detail: `\u8DF3\u8FC7(\u8BFB\u53D6\u914D\u7F6E\u5931\u8D25): ${e.message}` });
71923
71895
  }
71896
+ {
71897
+ const hcapiBase = process.env.HCAPI_BASE_URL || "http://localhost:7001";
71898
+ const reachable = await axios_default.get(hcapiBase, { timeout: 3e3, proxy: false, validateStatus: () => true }).then(() => true).catch(() => false);
71899
+ if (reachable) {
71900
+ checks.push({ key: "hcapi_reachable", status: "ok", detail: hcapiBase });
71901
+ } else {
71902
+ checks.push({
71903
+ key: "hcapi_reachable",
71904
+ status: "warn",
71905
+ detail: `hcapi \u4E0D\u53EF\u8FBE: ${hcapiBase}(u_person \u4EBA\u624D\u6C60\u641C\u7D22\u5C06\u5931\u8D25;LinkedIn \u9002\u914D\u5668\u4E0D\u53D7\u5F71\u54CD)`
71906
+ });
71907
+ hints.push("\u5728 server \u7684 .env \u914D\u7F6E HCAPI_BASE_URL(\u751F\u4EA7: https://hcapi.hiredchina.com)\u4E0E HCAPI_INTERNAL_TOKEN \u540E\u91CD\u542F server");
71908
+ }
71909
+ }
71924
71910
  const manifestPath = path25.join(initResult.extensionDir, "manifest.json");
71925
71911
  let extInstalled = fs23.existsSync(manifestPath);
71926
71912
  if (extInstalled) {
@@ -72125,7 +72111,7 @@ ${B3.bold}${B3.cyan}\u256D\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
72125
72111
  }
72126
72112
  }
72127
72113
  } catch (e) {
72128
- checks.push({ key: "auth", status: "skip", detail: `\u8DF3\u8FC7(keychain \u8BFB\u53D6\u5931\u8D25): ${e.message}` });
72114
+ checks.push({ key: "auth", status: "skip", detail: `\u8DF3\u8FC7(\u672C\u5730\u7F13\u5B58\u8BFB\u53D6\u5931\u8D25): ${e.message}` });
72129
72115
  }
72130
72116
  let data = null;
72131
72117
  if (serverUp) {
@@ -73486,7 +73472,7 @@ recommendCommand.command("list").description("\u6309\u804C\u4F4D\u67E5\u63A8\u83
73486
73472
  process.exit(1);
73487
73473
  }
73488
73474
  });
73489
- recommendCommand.command("add").description("\u63A8\u8350\u5EFA\u6863(\u5E42\u7B49):\u5BFB\u8BBF\u4EA4\u4ED8\u767B\u8BB0;--stage recommended \u8FDB\u63A8\u8350\u4EBA\u624D\u6C60").argument("<jobCaseId>", "\u804C\u4F4D case id(\u6570\u5B57)").option("--entity <id>", "\u4EBA\u624D\u5B9E\u4F53 id(talent_profiles)").option("--portrait <id>", "\u4EBA\u624D\u7EDF\u4E00\u6863\u6848 id(talent_portraits)").option("--stage <stage>", "\u76EE\u6807\u9636\u6BB5", "recommended").option("--note <text>", "\u5907\u6CE8(\u5982\u53BB\u91CD\u6821\u9A8C\u7ED3\u8BBA)").option("--form <k=v,k=v>", "\u9636\u6BB5\u8868\u5355\u952E\u503C\u5BF9(\u9017\u53F7\u5206\u9694,\u6A21\u677F\u89C1 GET /recommendations/meta)").option("--name <name>", "\u4EBA\u624D\u540D\u5FEB\u7167(\u8DE8\u7AEF\u53EF\u8BFB)").option("--headline <text>", "headline \u5FEB\u7167").option("--source <text>", "\u6765\u6E90\u5FEB\u7167(\u5982 linkedin/liepin)").option("--url <url>", "\u4E3B\u9875 URL:\u672A\u7ED9 --entity/--portrait \u65F6\u5148\u7ECF /ingest/talents \u5EFA\u6863\u4EBA\u624D\u5B9E\u4F53,\u518D\u6302\u63A8\u8350\u8BB0\u5F55").option("--json", "JSON \u8F93\u51FA\u5EFA\u6863\u7ED3\u679C", false).action(async (jobCaseId, opts) => {
73475
+ recommendCommand.command("add").description("\u63A8\u8350\u5EFA\u6863(\u5E42\u7B49):\u5BFB\u8BBF\u4EA4\u4ED8\u767B\u8BB0;--stage recommended \u8FDB\u63A8\u8350\u4EBA\u624D\u6C60").argument("<jobCaseId>", "\u804C\u4F4D case id(\u6570\u5B57)").option("--entity <id>", "\u4EBA\u624D\u5B9E\u4F53 id(talent_profiles)").option("--portrait <id>", "\u4EBA\u624D\u7EDF\u4E00\u6863\u6848 id(talent_portraits)").option("--stage <stage>", "\u76EE\u6807\u9636\u6BB5", "recommended").option("--note <text>", "\u5907\u6CE8(\u5982\u53BB\u91CD\u6821\u9A8C\u7ED3\u8BBA)").option("--form <k=v,k=v>", "\u9636\u6BB5\u8868\u5355\u952E\u503C\u5BF9(\u9017\u53F7\u5206\u9694,\u6A21\u677F\u89C1 GET /recommendations/meta)").option("--reason <text>", "\u63A8\u8350\u7406\u7531(AI \u7406\u7531,\u8FDB scores.aiReason;\u7528\u6237\u5BA1\u9605\u9875\u636E\u6B64\u5224\u65AD,\u5BFB\u8BBF\u4EA4\u4ED8\u5FC5\u586B)").option("--name <name>", "\u4EBA\u624D\u540D\u5FEB\u7167(\u8DE8\u7AEF\u53EF\u8BFB)").option("--headline <text>", "headline \u5FEB\u7167").option("--source <text>", "\u6765\u6E90\u5FEB\u7167(\u5982 linkedin/liepin)").option("--url <url>", "\u4E3B\u9875 URL:\u672A\u7ED9 --entity/--portrait \u65F6\u5148\u7ECF /ingest/talents \u5EFA\u6863\u4EBA\u624D\u5B9E\u4F53,\u518D\u6302\u63A8\u8350\u8BB0\u5F55").option("--json", "JSON \u8F93\u51FA\u5EFA\u6863\u7ED3\u679C", false).action(async (jobCaseId, opts) => {
73490
73476
  try {
73491
73477
  const config = loadConfig();
73492
73478
  const headers = await authedHeaders5();
@@ -73525,6 +73511,7 @@ recommendCommand.command("add").description("\u63A8\u8350\u5EFA\u6863(\u5E42\u7B
73525
73511
  portraitId,
73526
73512
  note: opts.note,
73527
73513
  formData,
73514
+ scores: opts.reason ? { aiReason: opts.reason } : void 0,
73528
73515
  snapshot: Object.keys(snapshot).length ? snapshot : void 0
73529
73516
  },
73530
73517
  { headers, proxy: false, timeout: 1e4 }
@@ -73761,7 +73748,7 @@ function installLocalProxyBypass() {
73761
73748
  // package.json
73762
73749
  var package_default = {
73763
73750
  name: "hunter-mate",
73764
- version: "0.1.25",
73751
+ version: "0.1.27",
73765
73752
  type: "module",
73766
73753
  description: "HiredChina \u730E\u5934 Agent \u6570\u636E\u52A9\u624B CLI:\u4EBA\u624D\u5E93/\u5BA2\u6237/\u804C\u4F4D\u6570\u636E\u8BBF\u95EE,\u6D4F\u89C8\u5668\u5F55\u5236\u89E3\u6790\u7B80\u5386,server/\u6269\u5C55\u4E00\u81F4\u6027\u81EA\u6108",
73767
73754
  license: "MIT",
@@ -73832,9 +73819,6 @@ var package_default = {
73832
73819
  uuid: "^9.0.0",
73833
73820
  vitest: "^1.3.0",
73834
73821
  ws: "^8.21.3"
73835
- },
73836
- optionalDependencies: {
73837
- keytar: "^7.9.0"
73838
73822
  }
73839
73823
  };
73840
73824
 
package/dist/watchdog.js CHANGED
@@ -35,10 +35,10 @@ function isMainModule(metaUrl) {
35
35
  // src/config.ts
36
36
  import * as path3 from "path";
37
37
 
38
- // ../../node_modules/.pnpm/@chromepilot+kit@0.1.8_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/updater.js
38
+ // ../../node_modules/.pnpm/@chromepilot+kit@0.1.13_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/updater.js
39
39
  var DEFAULT_INTERVAL_MS = 60 * 60 * 1e3;
40
40
 
41
- // ../../node_modules/.pnpm/@chromepilot+kit@0.1.8_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/config.js
41
+ // ../../node_modules/.pnpm/@chromepilot+kit@0.1.13_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/config.js
42
42
  import fs2 from "node:fs";
43
43
  import path2 from "node:path";
44
44
  function createJsonConfigStore(opts) {
@@ -70,7 +70,7 @@ function createJsonConfigStore(opts) {
70
70
  return store2;
71
71
  }
72
72
 
73
- // ../../node_modules/.pnpm/@chromepilot+kit@0.1.8_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/deferred-reload.js
73
+ // ../../node_modules/.pnpm/@chromepilot+kit@0.1.13_@sentry+node@10.70.0_@opentelemetry+core@2.10.0_@opentelemetry+api@1.9.1__/node_modules/@chromepilot/kit/dist/deferred-reload.js
74
74
  var DEFAULT_PENDING_RELOAD_TTL_MS = 30 * 6e4;
75
75
 
76
76
  // src/config.ts
@@ -111,6 +111,16 @@ var LivenessProbe = class {
111
111
  }
112
112
  failCount = 0;
113
113
  timer = null;
114
+ /** 启动宽限截止:spawn 后这段时间内探测一律跳过(高负载机器 boot 可达 2min+,2026-10-19 实证) */
115
+ graceUntilMs = 0;
116
+ /** spawn 时刻:maxBootMs 总窗口从这里起算 */
117
+ spawnMs = 0;
118
+ /** 每次拉起子进程时调用:重设启动宽限并清零失败计数 */
119
+ markBootStart(graceMs) {
120
+ this.graceUntilMs = Date.now() + graceMs;
121
+ this.spawnMs = Date.now();
122
+ this.failCount = 0;
123
+ }
114
124
  async doCheck() {
115
125
  const check = this.opts.check || ((url) => new Promise((resolve2, reject) => {
116
126
  const req = http.get(url, { timeout: 5e3 }, (res) => {
@@ -128,12 +138,22 @@ var LivenessProbe = class {
128
138
  }));
129
139
  await check(this.opts.healthUrl);
130
140
  }
131
- /** 立即探测一次并更新失败计数;达到阈值时回调 onFailure 并清零 */
141
+ /** 立即探测一次并更新失败计数;达到阈值时回调 onFailure 并清零。
142
+ * 启动宽限期内直接跳过(子进程尚在 boot,探测无意义且会误判假活)。
143
+ * boot 窗口内日志仍在推进(isBootProgressing)时不计失败;
144
+ * 超过 maxBootMs 后恢复计数,防"永远 boot 中"的僵尸态漏检。 */
132
145
  async checkNow() {
146
+ if (Date.now() < this.graceUntilMs) return;
133
147
  try {
134
148
  await this.doCheck();
135
149
  this.failCount = 0;
150
+ this.opts.onSuccess?.();
136
151
  } catch (err) {
152
+ const maxBootMs = this.opts.maxBootMs ?? Number.POSITIVE_INFINITY;
153
+ if (this.spawnMs > 0 && Date.now() - this.spawnMs < maxBootMs && this.opts.isBootProgressing?.()) {
154
+ this.failCount = 0;
155
+ return;
156
+ }
137
157
  this.failCount++;
138
158
  if (this.failCount >= this.opts.threshold) {
139
159
  const lastError = err.message;
@@ -237,6 +257,9 @@ async function runWatchdog() {
237
257
  const logFile = process.env.HM_SERVER_LOG;
238
258
  const nodeArgs = parseNodeArgs(process.env.HM_SERVER_NODE_ARGS);
239
259
  const maxRestartDelayMs = Number(process.env.HM_WATCHDOG_MAX_DELAY_MS || "30000");
260
+ const bootGraceMs = Number(process.env.HM_WATCHDOG_BOOT_GRACE_MS || "150000");
261
+ const maxBootMs = Number(process.env.HM_WATCHDOG_MAX_BOOT_MS || "600000");
262
+ const maxConsecutiveBoots = Number(process.env.HM_WATCHDOG_MAX_CONSECUTIVE_BOOTS || "8");
240
263
  if (!entry || !logFile) {
241
264
  console.error("[HunterMate watchdog] HM_SERVER_ENTRY and HM_SERVER_LOG are required");
242
265
  process.exit(1);
@@ -257,17 +280,35 @@ async function runWatchdog() {
257
280
  }
258
281
  let child = null;
259
282
  let restartCount = 0;
283
+ let consecutiveBoots = 0;
260
284
  let restartTimer = null;
261
285
  let stopping = false;
262
286
  let crashReason;
287
+ let lastLogMtimeMs = 0;
263
288
  const probe = new LivenessProbe({
264
289
  healthUrl,
265
290
  intervalMs: Number(process.env.HM_WATCHDOG_PROBE_INTERVAL_MS || 3e4),
266
291
  threshold: Number(process.env.HM_WATCHDOG_PROBE_THRESHOLD || 3),
292
+ onSuccess: () => {
293
+ restartCount = 0;
294
+ consecutiveBoots = 0;
295
+ },
296
+ isBootProgressing: () => {
297
+ try {
298
+ const m = fs3.statSync(logFile).mtimeMs;
299
+ if (m > lastLogMtimeMs) {
300
+ lastLogMtimeMs = m;
301
+ return true;
302
+ }
303
+ } catch {
304
+ }
305
+ return false;
306
+ },
307
+ maxBootMs,
267
308
  onFailure: (lastError) => {
268
- if (stopping || !child || child.killed) return;
309
+ if (stopping || !child || child.killed || child.exitCode !== null) return;
269
310
  console.error(`[HunterMate watchdog] server unresponsive (last error: ${lastError}), killing for restart`);
270
- crashReason = `liveness probe failed: ${lastError}`;
311
+ crashReason = `liveness probe failed: ${lastError} (child pid=${child.pid})`;
271
312
  try {
272
313
  child.kill("SIGKILL");
273
314
  } catch {
@@ -290,6 +331,13 @@ async function runWatchdog() {
290
331
  windowsHide: true
291
332
  });
292
333
  if (child.pid) writePid(SERVER_PID_FILE(), child.pid);
334
+ try {
335
+ lastLogMtimeMs = fs3.statSync(logFile).mtimeMs;
336
+ } catch {
337
+ lastLogMtimeMs = 0;
338
+ }
339
+ consecutiveBoots++;
340
+ probe.markBootStart(bootGraceMs);
293
341
  probe.start();
294
342
  child.on("exit", (code, signal) => {
295
343
  try {
@@ -306,6 +354,14 @@ async function runWatchdog() {
306
354
  console.log(`[HunterMate watchdog] child exited (code=${code}) but ${healthUrl} healthy (port adopted by another server), stopping restart loop`);
307
355
  process.exit(0);
308
356
  }
357
+ if (consecutiveBoots >= maxConsecutiveBoots) {
358
+ logCrash(code ?? null, signal, restartCount, `circuit breaker: ${consecutiveBoots} consecutive boots without healthy /health, giving up`);
359
+ console.error(
360
+ `[HunterMate watchdog] circuit breaker open: ${consecutiveBoots} consecutive boots without healthy /health. Giving up; restart manually after the machine recovers (hm start / hm doctor).`
361
+ );
362
+ stop();
363
+ process.exit(1);
364
+ }
309
365
  scheduleRestart();
310
366
  });
311
367
  });
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/10ba1fa1d6ce23a7.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-54e74ccc9e9451ee.js"/><script src="/_next/static/chunks/a7067448-e416655baf443992.js" async=""></script><script src="/_next/static/chunks/935-7be3e60dd8bc29d2.js" async=""></script><script src="/_next/static/chunks/main-app-f496bd51a73ef9f3.js" async=""></script><script src="/_next/static/chunks/589-f984bff035a1cb85.js" async=""></script><script src="/_next/static/chunks/105-dcd8f6d5867c8995.js" async=""></script><script src="/_next/static/chunks/app/layout-af39afc7866e74db.js" async=""></script><meta name="robots" content="noindex"/><title>HunterMate 采集仪表盘</title><meta name="description" content="HunterMate 采集/解析/入库仪表盘"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="flex h-screen overflow-hidden bg-gray-50 text-gray-900"><div class="flex h-screen w-screen flex-col items-center justify-center bg-gray-50"><span class="hm-spinner" aria-label="加载中"></span><div class="mt-4 text-sm text-gray-400">正在加载,请稍候…</div></div><script src="/_next/static/chunks/webpack-54e74ccc9e9451ee.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/10ba1fa1d6ce23a7.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[76939,[],\"\"]\n4:I[74268,[],\"\"]\n5:I[81050,[],\"\"]\n6:I[15214,[\"589\",\"static/chunks/589-f984bff035a1cb85.js\",\"105\",\"static/chunks/105-dcd8f6d5867c8995.js\",\"185\",\"static/chunks/app/layout-af39afc7866e74db.js\"],\"AuthGate\"]\n7:I[67188,[\"589\",\"static/chunks/589-f984bff035a1cb85.js\",\"105\",\"static/chunks/105-dcd8f6d5867c8995.js\",\"185\",\"static/chunks/app/layout-af39afc7866e74db.js\"],\"AntdProvider\"]\n8:I[9424,[\"589\",\"static/chunks/589-f984bff035a1cb85.js\",\"105\",\"static/chunks/105-dcd8f6d5867c8995.js\",\"185\",\"static/chunks/app/layout-af39afc7866e74db.js\"],\"SystemSidebar\"]\ne:I[62319,[],\"\"]\n9:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\na:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\nb:{\"display\":\"inline-block\"}\nc:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\nf:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L2\",null,{\"buildId\":\"5MA8faUttk6FzlxGWnOlM\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"_not-found\"],\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L3\",[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null],null],null]},[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/10ba1fa1d6ce23a7.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"zh-CN\",\"children\":[\"$\",\"body\",null,{\"className\":\"flex h-screen overflow-hidden bg-gray-50 text-gray-900\",\"children\":[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$L7\",null,{\"children\":[[\"$\",\"$L8\",null,{}],[\"$\",\"main\",null,{\"className\":\"flex-1 overflow-hidden\",\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$9\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$a\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$b\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$c\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]]}]}]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$Ld\"],\"globalErrorComponent\":\"$e\",\"missingSlots\":\"$Wf\"}]\n"])</script><script>self.__next_f.push([1,"d:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"HunterMate 采集仪表盘\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"HunterMate 采集/解析/入库仪表盘\"}]]\n3:null\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/8f3c454cab3414d0.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-9cebd25e322e2cd7.js"/><script src="/_next/static/chunks/a7067448-3f2b194cfadb91fb.js" async=""></script><script src="/_next/static/chunks/935-12f1084f0e18c962.js" async=""></script><script src="/_next/static/chunks/main-app-f496bd51a73ef9f3.js" async=""></script><script src="/_next/static/chunks/589-5bb84ab8060e960b.js" async=""></script><script src="/_next/static/chunks/187-f067914dcd1330c2.js" async=""></script><script src="/_next/static/chunks/app/layout-15c4c2ba595b2a92.js" async=""></script><meta name="robots" content="noindex"/><title>HunterMate 采集仪表盘</title><meta name="description" content="HunterMate 采集/解析/入库仪表盘"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="flex h-screen overflow-hidden bg-gray-50 text-gray-900"><div class="flex h-screen w-screen flex-col items-center justify-center bg-gray-50"><span class="hm-spinner" aria-label="加载中"></span><div class="mt-4 text-sm text-gray-400">正在加载,请稍候…</div></div><script src="/_next/static/chunks/webpack-9cebd25e322e2cd7.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/8f3c454cab3414d0.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[76939,[],\"\"]\n4:I[74268,[],\"\"]\n5:I[81050,[],\"\"]\n6:I[15214,[\"589\",\"static/chunks/589-5bb84ab8060e960b.js\",\"187\",\"static/chunks/187-f067914dcd1330c2.js\",\"185\",\"static/chunks/app/layout-15c4c2ba595b2a92.js\"],\"AuthGate\"]\n7:I[67188,[\"589\",\"static/chunks/589-5bb84ab8060e960b.js\",\"187\",\"static/chunks/187-f067914dcd1330c2.js\",\"185\",\"static/chunks/app/layout-15c4c2ba595b2a92.js\"],\"AntdProvider\"]\n8:I[9424,[\"589\",\"static/chunks/589-5bb84ab8060e960b.js\",\"187\",\"static/chunks/187-f067914dcd1330c2.js\",\"185\",\"static/chunks/app/layout-15c4c2ba595b2a92.js\"],\"SystemSidebar\"]\ne:I[62319,[],\"\"]\n9:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\na:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\nb:{\"display\":\"inline-block\"}\nc:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\nf:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L2\",null,{\"buildId\":\"tYFZz41gyWi4-BhxuxlGU\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"_not-found\"],\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L3\",[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null],null],null]},[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/8f3c454cab3414d0.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"zh-CN\",\"children\":[\"$\",\"body\",null,{\"className\":\"flex h-screen overflow-hidden bg-gray-50 text-gray-900\",\"children\":[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$L7\",null,{\"children\":[[\"$\",\"$L8\",null,{}],[\"$\",\"main\",null,{\"className\":\"flex-1 overflow-hidden\",\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$9\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$a\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$b\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$c\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]]}]}]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$Ld\"],\"globalErrorComponent\":\"$e\",\"missingSlots\":\"$Wf\"}]\n"])</script><script>self.__next_f.push([1,"d:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"HunterMate 采集仪表盘\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"HunterMate 采集/解析/入库仪表盘\"}]]\n3:null\n"])</script></body></html>