hunter-mate 0.1.8 → 0.1.12

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 (81) hide show
  1. package/dist/assets/extension/background/service-worker.js +88 -8
  2. package/dist/assets/extension/build-info.json +1 -1
  3. package/dist/assets/extension/content/index.js +1 -1
  4. package/dist/assets/extension/manifest.json +1 -1
  5. package/dist/assets/extension/offscreen/offscreen.js +1 -1
  6. package/dist/assets/extension/sidepanel/index.css +1 -1
  7. package/dist/assets/extension/sidepanel/index.js +7 -7
  8. package/dist/assets/server/build-info.json +1 -1
  9. package/dist/assets/server/extension/extension-control.controller.d.ts +5 -1
  10. package/dist/assets/server/extension/extension-control.controller.js +29 -13
  11. package/dist/assets/server/extension/extension-control.controller.js.map +1 -1
  12. package/dist/assets/server/extension/extension.module.js +2 -1
  13. package/dist/assets/server/extension/extension.module.js.map +1 -1
  14. package/dist/assets/server/extraction/extraction.service.js +12 -9
  15. package/dist/assets/server/extraction/extraction.service.js.map +1 -1
  16. package/dist/assets/server/extraction/script-rule.js +10 -2
  17. package/dist/assets/server/extraction/script-rule.js.map +1 -1
  18. package/dist/assets/server/governance/governance.command-recorder.d.ts +17 -0
  19. package/dist/assets/server/governance/governance.command-recorder.js +98 -0
  20. package/dist/assets/server/governance/governance.command-recorder.js.map +1 -0
  21. package/dist/assets/server/governance/governance.ingester.d.ts +1 -0
  22. package/dist/assets/server/governance/governance.ingester.js +6 -3
  23. package/dist/assets/server/governance/governance.ingester.js.map +1 -1
  24. package/dist/assets/server/governance/governance.module.js +3 -2
  25. package/dist/assets/server/governance/governance.module.js.map +1 -1
  26. package/dist/assets/server/governance/governance.service.d.ts +8 -0
  27. package/dist/assets/server/governance/governance.service.js +42 -0
  28. package/dist/assets/server/governance/governance.service.js.map +1 -1
  29. package/dist/assets/server/recording/recording.gateway.js +4 -0
  30. package/dist/assets/server/recording/recording.gateway.js.map +1 -1
  31. package/dist/commands/extension.js +3 -1
  32. package/dist/commands/extras.d.ts +2 -6
  33. package/dist/commands/extras.js +90 -42
  34. package/dist/commands/install.d.ts +5 -0
  35. package/dist/commands/install.js +22 -42
  36. package/dist/commands/login.js +27 -1
  37. package/dist/commands/server.d.ts +5 -0
  38. package/dist/commands/server.js +142 -16
  39. package/dist/extension-sync.d.ts +35 -0
  40. package/dist/extension-sync.js +159 -0
  41. package/dist/index.js +3 -0
  42. package/dist/postinstall.d.ts +1 -0
  43. package/dist/postinstall.js +31 -0
  44. package/dist/utils/artifact-checksum.d.ts +4 -0
  45. package/dist/utils/artifact-checksum.js +40 -0
  46. package/dist/utils/local-http.d.ts +7 -0
  47. package/dist/utils/local-http.js +30 -0
  48. package/dist/version.js +53 -41
  49. package/dist/watchdog.d.ts +8 -0
  50. package/dist/watchdog.js +46 -6
  51. package/dist/web/dist/404.html +1 -1
  52. package/dist/web/dist/_next/static/chunks/{main-app-80b038a312917d90.js → main-app-0af848156a5b13fc.js} +1 -1
  53. package/dist/web/dist/_next/static/chunks/pages/{_app-da7d628f49271ece.js → _app-3d844792ec91e4d1.js} +2 -2
  54. package/dist/web/dist/auth/verify.html +1 -1
  55. package/dist/web/dist/auth/verify.txt +1 -1
  56. package/dist/web/dist/companies.html +1 -1
  57. package/dist/web/dist/companies.txt +1 -1
  58. package/dist/web/dist/entity.html +1 -1
  59. package/dist/web/dist/entity.txt +1 -1
  60. package/dist/web/dist/index.html +1 -1
  61. package/dist/web/dist/index.txt +1 -1
  62. package/dist/web/dist/jobs.html +1 -1
  63. package/dist/web/dist/jobs.txt +1 -1
  64. package/dist/web/dist/logs.html +1 -1
  65. package/dist/web/dist/logs.txt +1 -1
  66. package/dist/web/dist/matching/jobs/placeholder/talents.html +1 -1
  67. package/dist/web/dist/matching/jobs/placeholder/talents.txt +1 -1
  68. package/dist/web/dist/matching/portraits/placeholder/jobs.html +1 -1
  69. package/dist/web/dist/matching/portraits/placeholder/jobs.txt +1 -1
  70. package/dist/web/dist/parselog.html +1 -1
  71. package/dist/web/dist/parselog.txt +1 -1
  72. package/dist/web/dist/recordings.html +1 -1
  73. package/dist/web/dist/recordings.txt +1 -1
  74. package/dist/web/dist/snapshots/placeholder/agent-prompt.html +1 -1
  75. package/dist/web/dist/snapshots/placeholder/agent-prompt.txt +1 -1
  76. package/dist/web/dist/talents.html +1 -1
  77. package/dist/web/dist/talents.txt +1 -1
  78. package/package.json +5 -3
  79. package/scripts/postinstall-run.mjs +14 -0
  80. /package/dist/web/dist/_next/static/{WdJr3NhHjlu5xN0qOap1k → RSIT2tCOW5--9YD-rmuF7}/_buildManifest.js +0 -0
  81. /package/dist/web/dist/_next/static/{WdJr3NhHjlu5xN0qOap1k → RSIT2tCOW5--9YD-rmuF7}/_ssgManifest.js +0 -0
@@ -85,9 +85,12 @@ let GovernanceService = GovernanceService_1 = class GovernanceService {
85
85
  ? await this.buildAdvisory(profile, site, accountType)
86
86
  : emptyAdvisory();
87
87
  if (!profile) {
88
+ const un = this.profileUnavailable(site, harnessPath);
88
89
  return {
89
90
  available: false,
90
91
  reason: exports.RISK_PROFILE_UNAVAILABLE,
92
+ reasonCode: un?.code,
93
+ reasonDetail: un?.detail,
91
94
  site,
92
95
  accountType,
93
96
  actions: [],
@@ -248,6 +251,45 @@ let GovernanceService = GovernanceService_1 = class GovernanceService {
248
251
  this.derivationCache.set(cacheKey, result);
249
252
  return result;
250
253
  }
254
+ profileUnavailable(site, harnessPath) {
255
+ const root = this.resolveHarnessPath(harnessPath);
256
+ if (!root)
257
+ return { code: 'harness_path_missing' };
258
+ let ref = null;
259
+ try {
260
+ ref = this.resolveRiskProfileRef(site, root);
261
+ }
262
+ catch {
263
+ return { code: 'risk_profile_missing' };
264
+ }
265
+ if (!ref)
266
+ return { code: 'risk_profile_missing' };
267
+ const profileFile = path.join(root, 'adapters', ref);
268
+ if (!fs.existsSync(profileFile))
269
+ return { code: 'risk_profile_missing', detail: profileFile };
270
+ try {
271
+ const doc = (0, harness_overlay_service_1.parseYamlSubset)(fs.readFileSync(profileFile, 'utf-8'), ref);
272
+ if (!doc || typeof doc !== 'object' || !doc.account_quotas || !doc.schedule || !doc.pacing || !doc.hard_rules) {
273
+ return { code: 'risk_profile_invalid', detail: profileFile };
274
+ }
275
+ }
276
+ catch (e) {
277
+ return { code: 'risk_profile_invalid', detail: `${profileFile}: ${e?.message || e}` };
278
+ }
279
+ return null;
280
+ }
281
+ async recentAuditExists(site, actionType, url, windowMs = 60 * 60 * 1000) {
282
+ const since = new Date(Date.now() - windowMs);
283
+ const escaped = url.replace(/[%_\\]/g, (m) => `\\${m}`);
284
+ const row = await this.auditRepo
285
+ .createQueryBuilder('a')
286
+ .where('a.site = :site', { site })
287
+ .andWhere('a.actionType = :actionType', { actionType })
288
+ .andWhere('a.createdAt >= :since', { since })
289
+ .andWhere("a.detail LIKE :pat ESCAPE '\\'", { pat: `%${escaped}%` })
290
+ .getOne();
291
+ return !!row;
292
+ }
251
293
  resolveRiskProfileRef(site, root) {
252
294
  const adaptersDir = path.join(root, 'adapters');
253
295
  const indexFile = path.join(adaptersDir, 'index.yaml');
@@ -1 +1 @@
1
- {"version":3,"file":"governance.service.js","sourceRoot":"","sources":["../../src/governance/governance.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAscA,0CAQC;AAyCD,kCAEC;AAED,gCAEC;AAGD,kCAKC;AAED,oCAEC;AAzgBD,2CAAoD;AACpD,6CAAmD;AACnD,qCAA8C;AAC9C,yBAAyB;AACzB,6BAA6B;AAC7B,+DAA0E;AAC1E,mFAAwE;AA4HxE,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;AAG9D,MAAM,cAAc,GAA+B;IACjD,yBAAyB;IACzB,uBAAuB;IACvB,iBAAiB;IACjB,qBAAqB;CACtB,CAAC;AAGW,QAAA,wBAAwB,GAAG,0BAA0B,CAAC;AAG5D,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAQT;IAPF,MAAM,GAAG,IAAI,eAAM,CAAC,mBAAiB,CAAC,IAAI,CAAC,CAAC;IAE5C,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC9C,eAAe,GAAG,IAAI,GAAG,EAAyC,CAAC;IAEpF,YAEmB,SAAkC;QAAlC,cAAS,GAAT,SAAS,CAAyB;IAClD,CAAC;IAKJ,KAAK,CAAC,MAAM,CAAC,GAAoB;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YACnC,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,IAAI;YACxB,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;YACpE,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,IAAI;SAC/B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAKD,KAAK,CAAC,KAAK,CACT,IAAY,EACZ,WAAmB,EACnB,UAAgC,EAChC,WAAoB;QAEpB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,gCAAwB,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACzE,CAAC;QAED,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAE/B,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAErF,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAE1E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAExB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,QAAQ;iBAClB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;iBACpC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtG,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,kBAAkB,KAAK,CAAC,MAAM,EAAE;gBACxC,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE;gBACjC,KAAK;gBACL,QAAQ,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC;aAC/D,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;IAClG,CAAC;IAKD,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,WAAmB,EAAE,WAAoB;QAClE,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,OAAO;YACtB,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC;YACtD,CAAC,CAAC,aAAa,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;gBACL,SAAS,EAAE,KAAK;gBAChB,MAAM,EAAE,gCAAwB;gBAChC,IAAI;gBACJ,WAAW;gBACX,OAAO,EAAE,EAAE;gBACX,QAAQ;aACT,CAAC;QACJ,CAAC;QACD,MAAM,UAAU,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAC/D,MAAM,OAAO,GAAsC,EAAE,CAAC;QACtD,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACjD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAClC,IAAI,EACJ,WAAW,EACX,UAAkC,EAClC,OAAO,EACP,UAAU,CAAC,UAAU,CAAC,CACvB,CAAC;YACF,OAAO,CAAC,IAAI,CAAC;gBACX,UAAU;gBACV,KAAK;gBACL,KAAK,EAAE;oBACL,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM;oBACtC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,UAAU;iBAC/C;aACF,CAAC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IACnE,CAAC;IAKO,KAAK,CAAC,WAAW,CACvB,IAAY,EACZ,WAAmB,EACnB,UAAkB,EAClB,QAAqB,EACrB,KAAiC;QAEjC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,MAAM,GAAsC;YAChD,IAAI,EAAE,KAAK,EAAE,QAAQ,IAAI,IAAI;YAC7B,GAAG,EAAE,KAAK,EAAE,OAAO,IAAI,IAAI;YAC3B,IAAI,EAAE,KAAK,EAAE,QAAQ,IAAI,IAAI;YAC7B,KAAK,EAAE,KAAK,EAAE,SAAS,IAAI,IAAI;SAChC,CAAC;QACF,MAAM,MAAM,GAA6B;YACvC,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC;YACtB,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC;YACpB,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC;YACtB,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC;SACzB,CAAC;QACF,MAAM,KAAK,GAAkB,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7E,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,UAAU,CAAC,IAAY,EAAE,WAAmB,EAAE,UAAkB,EAAE,KAAW;QACnF,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC1B,KAAK,EAAE;gBACL,IAAI;gBACJ,WAAW;gBACX,UAAU,EAAE,UAAkC;gBAC9C,SAAS,EAAE,IAAA,iBAAO,EAAC,KAAK,EAAE,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC;aACrD;SACF,CAAC,CAAC;IACL,CAAC;IAKO,KAAK,CAAC,aAAa,CAAC,OAAoB,EAAE,IAAY,EAAE,WAAmB;QACjF,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,gBAAgB,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,GAAG,SAAS,IAAI,IAAI,IAAI,OAAO,CAAC;QAErD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QACjG,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;QACjE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;IAC9C,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,IAAY,EAAE,WAAmB,EAAE,KAAW,EAAE,GAAS;QAC1F,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS;aAC/B,kBAAkB,CAAC,GAAG,CAAC;aACvB,MAAM,CAAC,kBAAkB,EAAE,OAAO,CAAC;aACnC,KAAK,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,CAAC;aACjC,QAAQ,CAAC,8BAA8B,EAAE,EAAE,WAAW,EAAE,CAAC;aACzD,QAAQ,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,CAAC;aAC5C,SAAS,EAA4B,CAAC;QACzC,IAAI,CAAC,KAAK,EAAE,KAAK;YAAE,OAAO,CAAC,CAAC;QAC5B,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC;IAOD,SAAS,CAAC,OAAoB,EAAE,QAAiB,EAAE,eAAe,GAAG,CAAC;QACpE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,iBAAiB,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/D,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;QACvD,IAAI,QAAQ;YAAE,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,oBAAoB,IAAI,CAAC,CAAC;QACjE,IAAI,eAAe,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,oBAAoB,IAAI,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC5F,GAAG,IAAI,CAAC,CAAC;QACX,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAKD,kBAAkB,CAAC,WAAoB;QACrC,MAAM,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7E,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAI9B,IAAI,CAAC;YACH,MAAM,IAAI,GACR,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC;YACrF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;YAC/D,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC1D,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBACtD,IAAI,OAAO;oBAAE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,WAAW,CAAC,IAAY,EAAE,WAAoB;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC9D,IAAI,CAAC,cAAc;gBAAE,OAAO,IAAI,CAAC;YACjC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;YAChE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC7C,MAAM,GAAG,GAAG,IAAA,yCAAe,EAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC;YACnF,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;gBAC9G,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oEAAoE,WAAW,EAAE,CAAC,CAAC;gBACpG,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAkB,CAAC,CAAC;YACrD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACzC,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,IAAI,MAAM,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;YACxE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAOD,oBAAoB,CAAC,IAAY,EAAE,WAAoB;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;QAC1F,IAAI,MAAM,GAAkC,IAAI,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC9D,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAC9B,IAAI,EACJ,UAAU,EACV,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAC5B,wBAAwB,CACzB,CAAC;gBACF,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;oBAClC,MAAM,GAAG,GAAG,IAAA,yCAAe,EAAC,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,wBAAwB,CAAC,CAAC;oBAChG,MAAM,KAAK,GAAU,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5E,MAAM,KAAK,GAAG,KAAK;yBAChB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ,CAAC;yBACtF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;oBACpE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;wBAAE,MAAM,GAAG,KAAK,CAAC;gBACvC,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,IAAI,MAAM,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC3C,OAAO,MAAM,CAAC;IAChB,CAAC;IAGO,qBAAqB,CAAC,IAAY,EAAE,IAAY;QACtD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3C,MAAM,KAAK,GAAG,IAAA,yCAAe,EAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC;QACjF,MAAM,QAAQ,GAAU,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,EAAE,WAAW,IAAI,CAAC,CAAC,EAAE,WAAW;gBAAE,SAAS;YACjD,IAAI,CAAC;gBACH,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzC,OAAO,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;YAET,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,iBAAiB;QACf,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;CACF,CAAA;AA/SY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;IAQR,WAAA,IAAA,0BAAgB,EAAC,iCAAW,CAAC,CAAA;qCACF,oBAAU;GAR7B,iBAAiB,CA+S7B;AAED,SAAS,aAAa;IACpB,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAC3D,CAAC;AAGD,SAAgB,eAAe,CAAC,OAAoB,EAAE,IAAY;IAChE,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC;IACjC,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IACnE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,yCAAyC,IAAI,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAChG,CAAC;IACJ,CAAC;AACH,CAAC;AAMD,SAAS,UAAU,CAAC,KAAc,EAAE,QAA0B;IAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC/E,IAAI,CAAC;YAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAgB;IACxC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAK,EAAmB,CAAC;IACtD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAK,EAAiB,CAAC;IAChD,OAAO;QACL,GAAG,GAAG;QACN,QAAQ,EAAE;YACR,GAAG,QAAQ;YACX,gBAAgB,EAAE,UAAU,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChE,oBAAoB,EAAE,MAAM,CAAC,QAAQ,CAAC,oBAAoB,IAAI,CAAC,CAAC;YAChE,oBAAoB,EAAE,MAAM,CAAC,QAAQ,CAAC,oBAAoB,IAAI,EAAE,CAAC;YACjE,mBAAmB,EAAE,MAAM,CAAC,QAAQ,CAAC,mBAAmB,IAAI,CAAC,CAAC;SAC/D;QACD,MAAM,EAAE;YACN,GAAG,MAAM;YACT,iBAAiB,EAAE,UAAU,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/D,oBAAoB,EAAE,UAAU,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACrE,gBAAgB,EAAE,UAAU,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAC9D;KACF,CAAC;AACJ,CAAC;AAKD,SAAgB,WAAW,CAAC,CAAO;IACjC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACrF,CAAC;AAED,SAAgB,UAAU,CAAC,CAAO;IAChC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1E,CAAC;AAGD,SAAgB,WAAW,CAAC,CAAO;IACjC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,CAAC;IAC7B,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAgB,YAAY,CAAC,CAAO;IAClC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,SAAS,CAAC,CAAa,EAAE,GAAS;IACzC,MAAM,CAAC,GAAG;QACR,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC;QACtB,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC;QACpB,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC;QACtB,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC;KACzB,CAAC,CAAC,CAAC,CAAC;IACL,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,CAAC,KAAK,MAAM;QAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;SAC9C,IAAI,CAAC,KAAK,KAAK;QAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;SAChD,IAAI,CAAC,KAAK,MAAM;QAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;;QACjD,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;IACtC,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"governance.service.js","sourceRoot":"","sources":["../../src/governance/governance.service.ts"],"names":[],"mappings":"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"}
@@ -63,6 +63,10 @@ let RecordingGateway = RecordingGateway_1 = class RecordingGateway {
63
63
  client.send(JSON.stringify({ type: 'pong' }));
64
64
  return;
65
65
  }
66
+ if (data.type === 'tab_event') {
67
+ this.logger.log(`[TabEvent] ${String(data.event)} tab=${String(data.tabId)} url=${String(data.url ?? '')} opener=${String(data.openerTabId ?? 'null')} win=${String(data.windowId ?? '?')} idx=${String(data.index ?? '?')} ext=${this.wsToExtension.get(client) ?? '?'}`);
68
+ return;
69
+ }
66
70
  if (data.type === 'cmd_response') {
67
71
  this.extensionControl.handleResponse(data);
68
72
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"recording.gateway.js","sourceRoot":"","sources":["../../src/recording/recording.gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recording.gateway.js","sourceRoot":"","sources":["../../src/recording/recording.gateway.ts"],"names":[],"mappings":"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"}
@@ -298,6 +298,7 @@ async function cmdGoto(url, opts) {
298
298
  const r = await (await httpAuth(serverUrl, opts.timeout ? Number(opts.timeout) + 15_000 : undefined)).post('/extensions/goto', {
299
299
  url,
300
300
  waitUntil: opts.waitUntil,
301
+ reload: opts.reload ? true : undefined,
301
302
  timeoutMs: opts.timeout ? Number(opts.timeout) : undefined,
302
303
  extensionId: opts.extensionId,
303
304
  sessionId: opts.sessionId ?? opts.taskId,
@@ -397,8 +398,9 @@ common(extensionCommand
397
398
  .description('通用页面控制(OpenCLI 全能力, 对应 chromepilot control):cp.state/cp.goto/cp.find/cp.click/cp.type/cp.fill/cp.select/cp.keys/cp.hover/cp.focus/cp.dblclick/cp.check/cp.uncheck/cp.get/cp.extract/cp.eval/cp.network/cp.frames/cp.wait/cp.upload/cp.drag/cp.scroll/cp.back/cp.screenshot/cp.insert/cp.cdp/cp.cookies/cp.window.close/cp.tab.*(list|new|select|close|bind|unbind)。参数 JSON 内 "__tab":"<tabId>" 定向 tab')).action(async (command, argsJson, opts) => cmdControl(command, argsJson, opts));
398
399
  common(extensionCommand
399
400
  .command('goto <url>')
400
- .description('导航到指定 URL (对应 chromepilot control cp.goto)'))
401
+ .description('导航到指定 URL (对应 chromepilot control cp.goto;同 URL 默认复用返回 reused:true,--reload 强制刷新)'))
401
402
  .option('--wait-until <mode>', 'domcontentloaded|load|networkidle0|networkidle2')
403
+ .option('--reload', '同 URL 时也强制 location.reload()(FID-077 复用+强制重载模式)')
402
404
  .action(async (url, opts) => cmdGoto(url, opts));
403
405
  common(extensionCommand
404
406
  .command('eval <expression>')
@@ -1,10 +1,6 @@
1
1
  import { Command } from 'commander';
2
- /**
3
- * FID-092:扫描扩展目录最新 mtime,等待其静止——reload 广播前确认 dist 已写完。
4
- * 背景:R5 实机 reload 后 3 秒 dist 仍在写入,Chrome 重读读到写了一半的
5
- * service-worker.js → SW eval 崩溃 → 无 alarm 监听/无 offscreen/零重连,
6
- * 所有自愈路径全部失效,只能人工点。Windows 兼容:纯 node fs,无 shell。
7
- */
2
+ /** 目录最新 mtime(recursive);不可读返回 0。供前视守卫与静止等待共用 */
3
+ export declare function latestMtimeMs(dir: string): number;
8
4
  export declare function waitForExtensionDirQuiet(dir: string, opts?: {
9
5
  quietMs?: number;
10
6
  maxWaitMs?: number;
@@ -15,36 +15,40 @@ import { getCliLogger } from '../logger.js';
15
15
  * service-worker.js → SW eval 崩溃 → 无 alarm 监听/无 offscreen/零重连,
16
16
  * 所有自愈路径全部失效,只能人工点。Windows 兼容:纯 node fs,无 shell。
17
17
  */
18
+ const newestMtime = (d) => {
19
+ let latest = 0;
20
+ let entries;
21
+ try {
22
+ entries = fs.readdirSync(d, { withFileTypes: true });
23
+ }
24
+ catch {
25
+ return latest; // 目录不可读(未安装/权限)时不阻塞 reload
26
+ }
27
+ for (const e of entries) {
28
+ const full = path.join(d, e.name);
29
+ try {
30
+ if (e.isDirectory()) {
31
+ latest = Math.max(latest, newestMtime(full));
32
+ }
33
+ else {
34
+ latest = Math.max(latest, fs.statSync(full).mtimeMs);
35
+ }
36
+ }
37
+ catch {
38
+ /* 单个文件竞态删除,跳过 */
39
+ }
40
+ }
41
+ return latest;
42
+ };
43
+ /** 目录最新 mtime(recursive);不可读返回 0。供前视守卫与静止等待共用 */
44
+ export function latestMtimeMs(dir) {
45
+ return newestMtime(dir);
46
+ }
18
47
  export async function waitForExtensionDirQuiet(dir, opts = {}) {
19
48
  const quietMs = opts.quietMs ?? 2500;
20
49
  const maxWaitMs = opts.maxWaitMs ?? 15000;
21
50
  const pollMs = opts.pollMs ?? 400;
22
51
  const start = Date.now();
23
- const newestMtime = (d) => {
24
- let latest = 0;
25
- let entries;
26
- try {
27
- entries = fs.readdirSync(d, { withFileTypes: true });
28
- }
29
- catch {
30
- return latest; // 目录不可读(未安装/权限)时不阻塞 reload
31
- }
32
- for (const e of entries) {
33
- const full = path.join(d, e.name);
34
- try {
35
- if (e.isDirectory()) {
36
- latest = Math.max(latest, newestMtime(full));
37
- }
38
- else {
39
- latest = Math.max(latest, fs.statSync(full).mtimeMs);
40
- }
41
- }
42
- catch {
43
- /* 单个文件竞态删除,跳过 */
44
- }
45
- }
46
- return latest;
47
- };
48
52
  let newest = newestMtime(dir);
49
53
  while (newest > 0 && Date.now() - newest < quietMs && Date.now() - start < maxWaitMs) {
50
54
  await new Promise((r) => setTimeout(r, pollMs));
@@ -79,24 +83,68 @@ export async function runReload(timeoutMs = 5000) {
79
83
  catch {
80
84
  extDir = path.join(resolveDataDir(), 'extension');
81
85
  }
82
- const q = await waitForExtensionDirQuiet(extDir);
83
- const quietNote = q.waitedMs > 500 ? `(等待 dist 写入静止 ${q.waitedMs}ms) ` : '';
84
- // FID-092 步骤 2+3:广播 → 校验回连 → 失败重试
85
86
  const VERIFY_WINDOW_MS = 12000;
86
87
  const MAX_ATTEMPTS = 3;
87
- let last = await broadcastReload(config, timeoutMs);
88
- if (last.broadcast <= 0) {
89
- return { ...last, msg: `${quietNote}${last.msg}` };
90
- }
91
- const start = Date.now();
92
- while (Date.now() - start < VERIFY_WINDOW_MS) {
93
- await new Promise((r) => setTimeout(r, 1000));
94
- const n = await extensionConnectedCount(config.serverUrl);
95
- if (n > 0) {
96
- return { ...last, msg: `${quietNote}${last.msg};已校验扩展回连(connected=${n})。` };
88
+ // FID-093 前视守卫:dist 静止确认只看"过去",构建中(tsc 编译 shared 等
89
+ // 数分钟不碰 extension dist)会误判静止 → 广播后构建 resumed 写 dist →
90
+ // 重载的扩展读到半写完文件 → SW eval 崩溃死透(2026-09-10 实机事故)。
91
+ // 对策:回连后监视 dist 一个窗口期,发现仍在写入 → 判本次 reload 中毒,
92
+ // 等静止后重播(有界)。
93
+ const POISON_WINDOW_MS = 10_000;
94
+ const POISON_POLL_MS = 500;
95
+ const MAX_POISON_REBROADCAST = 2;
96
+ const quietNotes = [];
97
+ let last = { broadcast: 0, msg: '' };
98
+ let poisonRebroadcasts = 0;
99
+ while (true) {
100
+ const q = await waitForExtensionDirQuiet(extDir);
101
+ if (q.waitedMs > 500)
102
+ quietNotes.push(`(等待 dist 写入静止 ${q.waitedMs}ms)`);
103
+ const m0 = latestMtimeMs(extDir);
104
+ // FID-092 步骤 2+3:广播 → 校验回连 → 失败重试
105
+ last = await broadcastReload(config, timeoutMs);
106
+ if (last.broadcast <= 0) {
107
+ return { ...last, msg: `${quietNotes.join(' ')}${last.msg}` };
108
+ }
109
+ const start = Date.now();
110
+ let connected = 0;
111
+ while (Date.now() - start < VERIFY_WINDOW_MS) {
112
+ await new Promise((r) => setTimeout(r, 1000));
113
+ const n = await extensionConnectedCount(config.serverUrl);
114
+ if (n > 0) {
115
+ connected = n;
116
+ break;
117
+ }
118
+ if (n === -1)
119
+ break; // server 挂了,重试无意义
120
+ }
121
+ if (connected <= 0)
122
+ break; // 走下方未回连重试路径
123
+ // 回连成功 → 前视窗口监视 dist 是否被构建 resumed 写入
124
+ const poisonDeadline = Date.now() + POISON_WINDOW_MS;
125
+ let poisoned = false;
126
+ while (Date.now() < poisonDeadline) {
127
+ await new Promise((r) => setTimeout(r, POISON_POLL_MS));
128
+ if (latestMtimeMs(extDir) > m0) {
129
+ poisoned = true;
130
+ break;
131
+ }
132
+ }
133
+ if (!poisoned) {
134
+ return {
135
+ ...last,
136
+ msg: `${quietNotes.join(' ')}${last.msg};已校验扩展回连(connected=${connected})。`,
137
+ };
138
+ }
139
+ if (poisonRebroadcasts >= MAX_POISON_REBROADCAST) {
140
+ return {
141
+ ...last,
142
+ msg: `${quietNotes.join(' ')}${last.msg};已回连,但 dist 在回连后仍持续被写入(构建进行中),` +
143
+ `重播 ${MAX_POISON_REBROADCAST} 次后仍在写——reload 可能再次读到半写完文件,请等构建结束后再执行 hunter-mate reload。`,
144
+ };
97
145
  }
98
- if (n === -1)
99
- break; // server 挂了,重试无意义
146
+ poisonRebroadcasts++;
147
+ quietNotes.push(`(回连后发现 dist 仍在写入:构建 resumed,等静止后第 ${poisonRebroadcasts} 次重播)`);
100
148
  }
101
149
  // 未回连:重试广播(第一次读到的可能是写了一半的文件,重读即恢复)
102
150
  for (let attempt = 2; attempt <= MAX_ATTEMPTS; attempt++) {
@@ -108,13 +156,13 @@ export async function runReload(timeoutMs = 5000) {
108
156
  while (Date.now() < deadline) {
109
157
  await new Promise((r) => setTimeout(r, 1000));
110
158
  if ((await extensionConnectedCount(config.serverUrl)) > 0) {
111
- return { ...last, msg: `${quietNote}第 ${attempt} 次广播后已校验扩展回连。` };
159
+ return { ...last, msg: `${quietNotes.join(' ')}第 ${attempt} 次广播后已校验扩展回连。` };
112
160
  }
113
161
  }
114
162
  }
115
163
  return {
116
164
  ...last,
117
- msg: `${quietNote}${MAX_ATTEMPTS} 次广播后扩展仍未回连(server /extensions=0)——扩展可能处于错误态,请到 chrome://extensions 查看 HunterMate「错误」并点「重新加载」。`,
165
+ msg: `${quietNotes.join(' ')}${MAX_ATTEMPTS} 次广播后扩展仍未回连(server /extensions=0)——扩展可能处于错误态,请到 chrome://extensions 查看 HunterMate「错误」并点「重新加载」。`,
118
166
  };
119
167
  }
120
168
  async function broadcastReload(config, timeoutMs = 5000) {
@@ -1,8 +1,13 @@
1
1
  import { Command } from 'commander';
2
+ /** 对应 ChromePilot install: 把内置 extension dist 同步到 ~/.hunter-mate/extension
3
+ * (Issue #23 起走 syncExtensionArtifacts:checksum 比对 + 剪枝,不再只增不剪) */
2
4
  export declare function runInstall(target?: string): {
3
5
  source: string | null;
4
6
  target: string;
5
7
  copied: number;
8
+ removed: number;
9
+ skipped: boolean;
10
+ reason?: string;
6
11
  };
7
12
  /** 友好引导: 告诉用户如何在 Chrome 中加载 Hunter Mate 扩展 */
8
13
  export declare function showInstallGuide(extDir: string): void;
@@ -1,50 +1,22 @@
1
1
  import { Command } from 'commander';
2
- import * as fs from 'fs';
3
2
  import * as path from 'path';
4
- import { fileURLToPath } from 'node:url';
5
3
  import { runInit } from './init.js';
6
- import { findBundledAssets } from '../bundled-assets.js';
7
- const __dirname = path.dirname(fileURLToPath(import.meta.url));
8
- /** 对应 ChromePilot install: 把内置 extension dist 复制到 ~/.hunter-mate/extension */
9
- function resolveBuiltinExtensionDist() {
10
- // 优先 bundled-assets(npm 安装模式:dist/assets/extension 已存在)
11
- const bundled = findBundledAssets();
12
- if (bundled)
13
- return bundled.extensionDir;
14
- // fallback:monorepo 并列路径(老 hunter-mate 开发模式)
15
- const candidates = [
16
- path.resolve(__dirname, '../../../extension/dist'), // monorepo: packages/cli/dist/commands -> packages/extension/dist
17
- path.resolve(__dirname, '../../bundled-extension'), // bundled
18
- ];
19
- for (const c of candidates)
20
- if (fs.existsSync(c))
21
- return c;
22
- return null;
23
- }
4
+ import { compareExtensionArtifacts, syncExtensionArtifacts } from '../extension-sync.js';
5
+ /** 对应 ChromePilot install: 把内置 extension dist 同步到 ~/.hunter-mate/extension
6
+ * (Issue #23 起走 syncExtensionArtifacts:checksum 比对 + 剪枝,不再只增不剪) */
24
7
  export function runInstall(target) {
25
8
  const init = runInit();
26
9
  const targetDir = target ?? init.extensionDir;
27
- if (!fs.existsSync(targetDir))
28
- fs.mkdirSync(targetDir, { recursive: true });
29
- const source = resolveBuiltinExtensionDist();
30
- let copied = 0;
31
- if (source) {
32
- const copy = (src, dst) => {
33
- const st = fs.statSync(src);
34
- if (st.isDirectory()) {
35
- if (!fs.existsSync(dst))
36
- fs.mkdirSync(dst, { recursive: true });
37
- for (const f of fs.readdirSync(src))
38
- copy(path.join(src, f), path.join(dst, f));
39
- }
40
- else {
41
- fs.copyFileSync(src, dst);
42
- copied++;
43
- }
44
- };
45
- copy(source, targetDir);
46
- }
47
- return { source, target: targetDir, copied };
10
+ const cmp = compareExtensionArtifacts(targetDir);
11
+ const r = syncExtensionArtifacts({ target: targetDir, ensureTarget: true });
12
+ return {
13
+ source: cmp.source,
14
+ target: targetDir,
15
+ copied: r.copied,
16
+ removed: r.removed,
17
+ skipped: !r.synced,
18
+ reason: r.reason,
19
+ };
48
20
  }
49
21
  const B = {
50
22
  reset: '\x1b[0m', bold: '\x1b[1m',
@@ -84,7 +56,15 @@ export const installCommand = new Command('install')
84
56
  ` 目标目录已准备好: ${B.cyan}${r.target}${B.reset}`);
85
57
  return;
86
58
  }
87
- console.log(`${B.green}✓ hunter-mate install OK: ${r.copied} files${B.reset} → ${B.cyan}${r.target}${B.reset}`);
59
+ if (r.skipped && r.reason === 'identical') {
60
+ console.log(`${B.green}✓ 扩展产物已是最新,无需同步${B.reset} → ${B.cyan}${r.target}${B.reset}`);
61
+ }
62
+ else if (r.skipped) {
63
+ console.log(`${B.yellow}⚠ 扩展产物同步跳过: ${r.reason}${B.reset} → ${B.cyan}${r.target}${B.reset}`);
64
+ }
65
+ else {
66
+ console.log(`${B.green}✓ hunter-mate install OK: copied=${r.copied}, removed=${r.removed}${B.reset} → ${B.cyan}${r.target}${B.reset}`);
67
+ }
88
68
  // 自动打开扩展所在目录(父目录),方便用户把 extension 文件夹拖到 chrome://extensions
89
69
  if (opts.open !== false) {
90
70
  try {
@@ -70,7 +70,33 @@ export async function runLogin() {
70
70
  });
71
71
  console.log(i18n.t('login.userCode'), deviceCode.user_code);
72
72
  console.log(i18n.t('login.verifyUrl'), deviceCode.verification_uri);
73
- await open(deviceCode.verification_uri);
73
+ // 打开验证页:走扩展的 cp.tab.open(查重复用,已有同 URL 存活 tab 就不再开,
74
+ // 防止重复 login/多会话叠加把浏览器刷满 web.test/auth 式废 tab);
75
+ // 扩展/server 不可用时回退系统 open。tabId 由扩展侧记录并返回。
76
+ let openedVia = 'open';
77
+ try {
78
+ const { data } = await axios.post(`${config.serverUrl}/extensions/control`, {
79
+ command: 'cp.tab.open',
80
+ params: { url: deviceCode.verification_uri, active: true },
81
+ sessionId: 'hm-cli-login',
82
+ timeoutMs: 10_000,
83
+ }, { proxy: false, timeout: 12_000 });
84
+ if (data?.result?.page) {
85
+ openedVia = data.result.reused ? 'extension-reused' : 'extension-created';
86
+ getCliLogger().info('login:verify-tab', {
87
+ tabId: data.result.page,
88
+ reused: !!data.result.reused,
89
+ url: data.result.url ?? deviceCode.verification_uri,
90
+ });
91
+ }
92
+ else {
93
+ await open(deviceCode.verification_uri);
94
+ }
95
+ }
96
+ catch {
97
+ await open(deviceCode.verification_uri);
98
+ }
99
+ getCliLogger().info('login:verify-opened', { via: openedVia, verifyUrl: deviceCode.verification_uri });
74
100
  const maxAttempts = Math.ceil(deviceCode.expires_in / deviceCode.interval);
75
101
  for (let i = 0; i < maxAttempts; i++) {
76
102
  await sleep(deviceCode.interval * 1000);
@@ -1,4 +1,7 @@
1
1
  import { Command } from 'commander';
2
+ type StartLock = 'acquired' | 'busy' | 'stolen';
3
+ /** FID-093:导出供单测覆盖竞态/残留锁语义 */
4
+ export declare function acquireStartLock(): StartLock;
2
5
  /**
3
6
  * server.log 无界增长曾达 800M+ 挤占用户磁盘(FID-068)。
4
7
  * 后台 daemon 启动前按大小轮转:超过 HM_LOG_MAX_BYTES(默认 50MB)时
@@ -10,6 +13,8 @@ declare function tryReadPid(): number | null;
10
13
  export { tryReadPid };
11
14
  /** 定位 server 包根(dist 优先,ts-node 开发模式兜底);找不到返回 null */
12
15
  export declare function findServerRoot(): string | null;
16
+ /** 探活:server /health 是否可访问(短超时,永不 throw)。导出供 version.ts 重启编排复核 */
17
+ export declare function probeServerHealth(url: string, timeoutMs?: number): Promise<boolean>;
13
18
  /** 对应 ChromePilot start: 启动本地 NestJS Server(提供 REST + WebSocket + SPA) */
14
19
  export declare function runStart(opts: {
15
20
  port?: number;