hunter-mate 0.1.3 → 0.1.5

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 (104) hide show
  1. package/LICENSE +21 -0
  2. package/dist/assets/extension/background/service-worker.js +113 -24
  3. package/dist/assets/extension/content/index.js +239 -134
  4. package/dist/assets/extension/manifest.json +2 -4
  5. package/dist/assets/extension/sidepanel/index.js +76 -2
  6. package/dist/assets/server/app.module.js +4 -2
  7. package/dist/assets/server/app.module.js.map +1 -1
  8. package/dist/assets/server/build-info.json +1 -1
  9. package/dist/assets/server/db/sqlite.module.js +4 -0
  10. package/dist/assets/server/db/sqlite.module.js.map +1 -1
  11. package/dist/assets/server/devops/devops-sink-init.d.ts +14 -1
  12. package/dist/assets/server/devops/devops-sink-init.js +8 -3
  13. package/dist/assets/server/devops/devops-sink-init.js.map +1 -1
  14. package/dist/assets/server/doctor/doctor.controller.d.ts +13 -0
  15. package/dist/assets/server/doctor/doctor.controller.js +62 -0
  16. package/dist/assets/server/doctor/doctor.controller.js.map +1 -0
  17. package/dist/assets/server/doctor/doctor.module.d.ts +2 -0
  18. package/dist/assets/server/doctor/doctor.module.js +27 -0
  19. package/dist/assets/server/doctor/doctor.module.js.map +1 -0
  20. package/dist/assets/server/doctor/doctor.service.d.ts +15 -0
  21. package/dist/assets/server/doctor/doctor.service.js +209 -0
  22. package/dist/assets/server/doctor/doctor.service.js.map +1 -0
  23. package/dist/assets/server/doctor/doctor.types.d.ts +46 -0
  24. package/dist/assets/server/doctor/doctor.types.js +3 -0
  25. package/dist/assets/server/doctor/doctor.types.js.map +1 -0
  26. package/dist/assets/server/extraction/adapter.service.d.ts +18 -4
  27. package/dist/assets/server/extraction/adapter.service.js +129 -15
  28. package/dist/assets/server/extraction/adapter.service.js.map +1 -1
  29. package/dist/assets/server/extraction/anomaly-report.service.d.ts +12 -0
  30. package/dist/assets/server/extraction/anomaly-report.service.js +81 -0
  31. package/dist/assets/server/extraction/anomaly-report.service.js.map +1 -0
  32. package/dist/assets/server/extraction/entities/adapter-rule.entity.d.ts +13 -0
  33. package/dist/assets/server/extraction/entities/adapter-rule.entity.js +71 -0
  34. package/dist/assets/server/extraction/entities/adapter-rule.entity.js.map +1 -0
  35. package/dist/assets/server/extraction/entities/parse-log.entity.d.ts +4 -1
  36. package/dist/assets/server/extraction/entities/parse-log.entity.js +15 -0
  37. package/dist/assets/server/extraction/entities/parse-log.entity.js.map +1 -1
  38. package/dist/assets/server/extraction/extraction-entity.controller.d.ts +40 -2
  39. package/dist/assets/server/extraction/extraction-entity.controller.js +196 -13
  40. package/dist/assets/server/extraction/extraction-entity.controller.js.map +1 -1
  41. package/dist/assets/server/extraction/extraction-rule.service.js +16 -8
  42. package/dist/assets/server/extraction/extraction-rule.service.js.map +1 -1
  43. package/dist/assets/server/extraction/extraction.module.js +12 -2
  44. package/dist/assets/server/extraction/extraction.module.js.map +1 -1
  45. package/dist/assets/server/extraction/extraction.service.d.ts +17 -1
  46. package/dist/assets/server/extraction/extraction.service.js +125 -42
  47. package/dist/assets/server/extraction/extraction.service.js.map +1 -1
  48. package/dist/assets/server/extraction/linkedin-extractor.d.ts +1 -0
  49. package/dist/assets/server/extraction/linkedin-extractor.js +244 -0
  50. package/dist/assets/server/extraction/linkedin-extractor.js.map +1 -0
  51. package/dist/assets/server/extraction/rrweb-snapshot.utils.d.ts +15 -0
  52. package/dist/assets/server/extraction/rrweb-snapshot.utils.js +48 -0
  53. package/dist/assets/server/extraction/rrweb-snapshot.utils.js.map +1 -0
  54. package/dist/assets/server/extraction/rrweb-snapshot.utils.spec.d.ts +1 -0
  55. package/dist/assets/server/extraction/rrweb-snapshot.utils.spec.js +60 -0
  56. package/dist/assets/server/extraction/rrweb-snapshot.utils.spec.js.map +1 -0
  57. package/dist/assets/server/extraction/script-rule.d.ts +1 -0
  58. package/dist/assets/server/extraction/script-rule.js +4 -0
  59. package/dist/assets/server/extraction/script-rule.js.map +1 -1
  60. package/dist/assets/server/extraction/snapshot-analysis.service.d.ts +23 -0
  61. package/dist/assets/server/extraction/snapshot-analysis.service.js +147 -0
  62. package/dist/assets/server/extraction/snapshot-analysis.service.js.map +1 -0
  63. package/dist/assets/server/recording/entities/recording-snapshot.entity.d.ts +16 -0
  64. package/dist/assets/server/recording/entities/recording-snapshot.entity.js +91 -0
  65. package/dist/assets/server/recording/entities/recording-snapshot.entity.js.map +1 -0
  66. package/dist/assets/server/recording/recording-event-bus.service.d.ts +4 -0
  67. package/dist/assets/server/recording/recording-event-bus.service.js +25 -0
  68. package/dist/assets/server/recording/recording-event-bus.service.js.map +1 -0
  69. package/dist/assets/server/recording/recording-snapshot.service.d.ts +13 -0
  70. package/dist/assets/server/recording/recording-snapshot.service.js +81 -0
  71. package/dist/assets/server/recording/recording-snapshot.service.js.map +1 -0
  72. package/dist/assets/server/recording/recording-snapshot.service.spec.d.ts +1 -0
  73. package/dist/assets/server/recording/recording-snapshot.service.spec.js +65 -0
  74. package/dist/assets/server/recording/recording-snapshot.service.spec.js.map +1 -0
  75. package/dist/assets/server/recording/recording.controller.d.ts +3 -1
  76. package/dist/assets/server/recording/recording.controller.js +7 -3
  77. package/dist/assets/server/recording/recording.controller.js.map +1 -1
  78. package/dist/assets/server/recording/recording.module.js +11 -4
  79. package/dist/assets/server/recording/recording.module.js.map +1 -1
  80. package/dist/assets/server/recording/recording.service.d.ts +5 -21
  81. package/dist/assets/server/recording/recording.service.js +22 -9
  82. package/dist/assets/server/recording/recording.service.js.map +1 -1
  83. package/dist/assets/server/site/entities/site-registry.entity.d.ts +2 -0
  84. package/dist/assets/server/site/entities/site-registry.entity.js +10 -0
  85. package/dist/assets/server/site/entities/site-registry.entity.js.map +1 -1
  86. package/dist/assets/server/site/site.controller.d.ts +2 -0
  87. package/dist/assets/server/site/site.controller.js +1 -1
  88. package/dist/assets/server/site/site.controller.js.map +1 -1
  89. package/dist/assets/server/site/site.service.d.ts +2 -1
  90. package/dist/assets/server/site/site.service.js +10 -3
  91. package/dist/assets/server/site/site.service.js.map +1 -1
  92. package/dist/auto-doctor.d.ts +8 -0
  93. package/dist/auto-doctor.js +34 -0
  94. package/dist/commands/doctor.d.ts +43 -0
  95. package/dist/commands/doctor.js +179 -7
  96. package/dist/commands/extension.js +2 -2
  97. package/dist/commands/extras.d.ts +1 -1
  98. package/dist/commands/extras.js +4 -3
  99. package/dist/commands/install.js +11 -8
  100. package/dist/index.js +7 -0
  101. package/dist/native-check.js +8 -1
  102. package/dist/updater.d.ts +9 -5
  103. package/dist/updater.js +75 -9
  104. package/package.json +3 -3
@@ -2,6 +2,7 @@ import { Repository } from 'typeorm';
2
2
  import { ExtractionService } from './extraction.service';
3
3
  import { AdapterService } from './adapter.service';
4
4
  import { ParseLog } from './entities/parse-log.entity';
5
+ import { AdapterRule } from './entities/adapter-rule.entity';
5
6
  import { TalentProfile } from './entities/talent-profile.entity';
6
7
  import { JobPosting } from './entities/job-posting.entity';
7
8
  import { CompanyProfile } from './entities/company-profile.entity';
@@ -9,18 +10,33 @@ export declare class ExtractionEntityController {
9
10
  private readonly extractionService;
10
11
  private readonly adapterService;
11
12
  private readonly parseLogRepo;
13
+ private readonly adapterRuleRepo;
12
14
  private readonly talentRepo;
13
15
  private readonly jobRepo;
14
16
  private readonly companyRepo;
15
- constructor(extractionService: ExtractionService, adapterService: AdapterService, parseLogRepo: Repository<ParseLog>, talentRepo: Repository<TalentProfile>, jobRepo: Repository<JobPosting>, companyRepo: Repository<CompanyProfile>);
17
+ constructor(extractionService: ExtractionService, adapterService: AdapterService, parseLogRepo: Repository<ParseLog>, adapterRuleRepo: Repository<AdapterRule>, talentRepo: Repository<TalentProfile>, jobRepo: Repository<JobPosting>, companyRepo: Repository<CompanyProfile>);
16
18
  listAdapters(): {
17
19
  adapters: {
18
20
  platform: string;
19
21
  host: string;
20
- command: import("@hunter-mate/shared").ControlCommandName;
22
+ command: string;
21
23
  mode: string;
22
24
  }[];
23
25
  };
26
+ createAdapterRule(body: {
27
+ platform: string;
28
+ version: string;
29
+ hostPattern: string;
30
+ pathPattern: string;
31
+ ruleType: 'selector' | 'regex' | 'script';
32
+ rulePayload: Record<string, any>;
33
+ priority?: number;
34
+ enabled?: boolean;
35
+ }): Promise<{
36
+ id: number;
37
+ platform: string;
38
+ version: string;
39
+ }>;
24
40
  extractAdapter(body: {
25
41
  url: string;
26
42
  tab?: string | number;
@@ -53,6 +69,25 @@ export declare class ExtractionEntityController {
53
69
  total: number;
54
70
  items: CompanyProfile[];
55
71
  }>;
72
+ countEntities(type?: string, since?: string, q?: string, from?: string, to?: string): Promise<{
73
+ type: string;
74
+ count: number;
75
+ }>;
76
+ getEntityByUrl(url: string): Promise<{
77
+ found: boolean;
78
+ url: string;
79
+ dedupKey: string;
80
+ type?: undefined;
81
+ entity?: undefined;
82
+ latestParse?: undefined;
83
+ } | {
84
+ found: boolean;
85
+ type: "talent" | "job" | "company";
86
+ entity: any;
87
+ latestParse: ParseLog | null;
88
+ url?: undefined;
89
+ dedupKey?: undefined;
90
+ }>;
56
91
  getEntity(type: string, id: string): Promise<{
57
92
  type: string;
58
93
  entity: JobPosting;
@@ -70,6 +105,9 @@ export declare class ExtractionEntityController {
70
105
  total: number;
71
106
  abnormal: number;
72
107
  }>;
108
+ countParseLog(since?: string, status?: string, q?: string, from?: string, to?: string): Promise<{
109
+ count: number;
110
+ }>;
73
111
  getParseLog(id: string): Promise<ParseLog>;
74
112
  suggestRule(sessionId: string): Promise<Record<string, any>>;
75
113
  parse(sessionId: string): Promise<{
@@ -20,6 +20,7 @@ const extraction_service_1 = require("./extraction.service");
20
20
  const adapter_service_1 = require("./adapter.service");
21
21
  const recording_event_entity_1 = require("../recording/entities/recording-event.entity");
22
22
  const parse_log_entity_1 = require("./entities/parse-log.entity");
23
+ const adapter_rule_entity_1 = require("./entities/adapter-rule.entity");
23
24
  const talent_profile_entity_1 = require("./entities/talent-profile.entity");
24
25
  const job_posting_entity_1 = require("./entities/job-posting.entity");
25
26
  const company_profile_entity_1 = require("./entities/company-profile.entity");
@@ -27,13 +28,15 @@ let ExtractionEntityController = class ExtractionEntityController {
27
28
  extractionService;
28
29
  adapterService;
29
30
  parseLogRepo;
31
+ adapterRuleRepo;
30
32
  talentRepo;
31
33
  jobRepo;
32
34
  companyRepo;
33
- constructor(extractionService, adapterService, parseLogRepo, talentRepo, jobRepo, companyRepo) {
35
+ constructor(extractionService, adapterService, parseLogRepo, adapterRuleRepo, talentRepo, jobRepo, companyRepo) {
34
36
  this.extractionService = extractionService;
35
37
  this.adapterService = adapterService;
36
38
  this.parseLogRepo = parseLogRepo;
39
+ this.adapterRuleRepo = adapterRuleRepo;
37
40
  this.talentRepo = talentRepo;
38
41
  this.jobRepo = jobRepo;
39
42
  this.companyRepo = companyRepo;
@@ -41,6 +44,23 @@ let ExtractionEntityController = class ExtractionEntityController {
41
44
  listAdapters() {
42
45
  return this.adapterService.list();
43
46
  }
47
+ async createAdapterRule(body) {
48
+ if (!body.platform || !body.hostPattern || !body.ruleType) {
49
+ throw new common_1.BadRequestException('platform, hostPattern, ruleType required');
50
+ }
51
+ const rule = this.adapterRuleRepo.create({
52
+ platform: body.platform,
53
+ version: body.version || '1.0.0',
54
+ hostPattern: body.hostPattern,
55
+ pathPattern: body.pathPattern || '.*',
56
+ ruleType: body.ruleType,
57
+ rulePayload: body.rulePayload || {},
58
+ priority: body.priority ?? 0,
59
+ enabled: body.enabled ?? true,
60
+ });
61
+ const saved = await this.adapterRuleRepo.save(rule);
62
+ return { id: saved.id, platform: saved.platform, version: saved.version };
63
+ }
44
64
  extractAdapter(body) {
45
65
  return this.adapterService.run(body);
46
66
  }
@@ -61,9 +81,17 @@ let ExtractionEntityController = class ExtractionEntityController {
61
81
  baseQb.andWhere('j.createdAt >= :from', { from });
62
82
  if (to)
63
83
  baseQb.andWhere('j.createdAt <= :to', { to });
64
- const total = await baseQb.clone().getCount();
65
- const items = await baseQb.orderBy('j.updatedAt', 'DESC').take(take).getMany();
66
- return { type, total, items };
84
+ const rawItems = await baseQb.orderBy('j.updatedAt', 'DESC').take(take).getMany();
85
+ const seen = new Set();
86
+ const items = [];
87
+ for (const item of rawItems) {
88
+ const key = (0, extraction_service_1.normalizeUrlForDedup)(item.sourceUrl);
89
+ if (seen.has(key))
90
+ continue;
91
+ seen.add(key);
92
+ items.push(item);
93
+ }
94
+ return { type, total: items.length, items };
67
95
  }
68
96
  if (type === 'company') {
69
97
  const baseQb = this.companyRepo.createQueryBuilder('c');
@@ -78,9 +106,17 @@ let ExtractionEntityController = class ExtractionEntityController {
78
106
  baseQb.andWhere('c.createdAt >= :from', { from });
79
107
  if (to)
80
108
  baseQb.andWhere('c.createdAt <= :to', { to });
81
- const total = await baseQb.clone().getCount();
82
- const items = await baseQb.orderBy('c.updatedAt', 'DESC').take(take).getMany();
83
- return { type, total, items };
109
+ const rawItems = await baseQb.orderBy('c.updatedAt', 'DESC').take(take).getMany();
110
+ const seen = new Set();
111
+ const items = [];
112
+ for (const item of rawItems) {
113
+ const key = (0, extraction_service_1.normalizeUrlForDedup)(item.sourceUrl);
114
+ if (seen.has(key))
115
+ continue;
116
+ seen.add(key);
117
+ items.push(item);
118
+ }
119
+ return { type, total: items.length, items };
84
120
  }
85
121
  const baseQb = this.talentRepo.createQueryBuilder('t');
86
122
  if (like) {
@@ -95,9 +131,96 @@ let ExtractionEntityController = class ExtractionEntityController {
95
131
  baseQb.andWhere('t.createdAt >= :from', { from });
96
132
  if (to)
97
133
  baseQb.andWhere('t.createdAt <= :to', { to });
98
- const total = await baseQb.clone().getCount();
99
- const items = await baseQb.orderBy('t.updatedAt', 'DESC').take(take).getMany();
100
- return { type: 'talent', total, items };
134
+ const rawItems = await baseQb.orderBy('t.updatedAt', 'DESC').take(take).getMany();
135
+ const seen = new Set();
136
+ const items = [];
137
+ for (const item of rawItems) {
138
+ const key = (0, extraction_service_1.normalizeUrlForDedup)(item.sourceUrl);
139
+ if (seen.has(key))
140
+ continue;
141
+ seen.add(key);
142
+ items.push(item);
143
+ }
144
+ return { type: 'talent', total: items.length, items };
145
+ }
146
+ async countEntities(type = 'talent', since, q, from, to) {
147
+ const like = q ? `%${q}%` : undefined;
148
+ const repo = type === 'job'
149
+ ? this.jobRepo
150
+ : type === 'company'
151
+ ? this.companyRepo
152
+ : this.talentRepo;
153
+ const alias = type === 'job' ? 'j' : type === 'company' ? 'c' : 't';
154
+ const qb = repo.createQueryBuilder(alias);
155
+ if (since) {
156
+ qb.andWhere(`datetime(${alias}.updatedAt) > datetime(:since)`, { since });
157
+ }
158
+ if (from)
159
+ qb.andWhere(`${alias}.createdAt >= :from`, { from });
160
+ if (to)
161
+ qb.andWhere(`${alias}.createdAt <= :to`, { to });
162
+ if (like) {
163
+ const textFields = type === 'job'
164
+ ? ['j.title', 'j.company', 'j.source', 'j.sourceUrl']
165
+ : type === 'company'
166
+ ? ['c.name', 'c.source', 'c.sourceUrl']
167
+ : ['t.name', 't.headline', 't.source', 't.sourceUrl'];
168
+ qb.andWhere(new typeorm_2.Brackets((b) => {
169
+ for (const field of textFields) {
170
+ b.orWhere(`${field} LIKE :q`, { q: like });
171
+ }
172
+ }));
173
+ }
174
+ const count = await qb.getCount();
175
+ return { type, count };
176
+ }
177
+ async getEntityByUrl(url) {
178
+ if (!url)
179
+ throw new common_1.BadRequestException('url required');
180
+ const sourceUrl = url;
181
+ let domain = '';
182
+ try {
183
+ domain = (0, extraction_service_1.etldPlus1)(new URL(sourceUrl).hostname);
184
+ }
185
+ catch {
186
+ throw new common_1.BadRequestException('invalid url');
187
+ }
188
+ const dedupKey = `${domain}:${(0, extraction_service_1.normalizeUrlForDedup)(sourceUrl)}`;
189
+ const candidates = [];
190
+ const talentByDedup = await this.talentRepo.find({ where: { dedupKey } });
191
+ const talentByUrl = await this.talentRepo.find({ where: { sourceUrl } });
192
+ for (const e of new Set([...talentByDedup, ...talentByUrl]))
193
+ candidates.push({ entity: e, type: 'talent' });
194
+ const jobByDedup = await this.jobRepo.find({ where: { dedupKey } });
195
+ const jobByUrl = await this.jobRepo.find({ where: { sourceUrl } });
196
+ for (const e of new Set([...jobByDedup, ...jobByUrl]))
197
+ candidates.push({ entity: e, type: 'job' });
198
+ const companyByDedup = await this.companyRepo.find({ where: { dedupKey } });
199
+ const companyByUrl = await this.companyRepo.find({ where: { sourceUrl } });
200
+ for (const e of new Set([...companyByDedup, ...companyByUrl]))
201
+ candidates.push({ entity: e, type: 'company' });
202
+ if (candidates.length === 0) {
203
+ return { found: false, url, dedupKey };
204
+ }
205
+ candidates.sort((a, b) => {
206
+ const ta = a.entity.updatedAt ? new Date(a.entity.updatedAt).getTime() : 0;
207
+ const tb = b.entity.updatedAt ? new Date(b.entity.updatedAt).getTime() : 0;
208
+ return tb - ta;
209
+ });
210
+ const { entity, type } = candidates[0];
211
+ const latestParse = await this.parseLogRepo.findOne({
212
+ where: { sourceUrl: entity.sourceUrl },
213
+ order: { createdAt: 'DESC' },
214
+ });
215
+ if (latestParse?.extractedFields && Object.keys(latestParse.extractedFields).length > 0) {
216
+ entity.extracted = { ...entity.extracted, ...latestParse.extractedFields };
217
+ }
218
+ return {
219
+ found: true,
220
+ type,
221
+ entity,
222
+ latestParse: latestParse ?? null,
223
+ };
101
224
  }
102
225
  async getEntity(type, id) {
103
226
  const entityId = parseInt(id, 10);
@@ -164,6 +287,28 @@ let ExtractionEntityController = class ExtractionEntityController {
164
287
  .getCount();
165
288
  return { items, total, abnormal };
166
289
  }
290
+ async countParseLog(since, status, q, from, to) {
291
+ const qb = this.parseLogRepo.createQueryBuilder('p');
292
+ if (since) {
293
+ qb.andWhere("datetime(p.createdAt) > datetime(:since)", { since });
294
+ }
295
+ if (status)
296
+ qb.andWhere('p.status = :status', { status: status });
297
+ if (q) {
298
+ const like = `%${q}%`;
299
+ qb.andWhere(new typeorm_2.Brackets((b) => {
300
+ b.where('p.sourceUrl LIKE :q', { q: like })
301
+ .orWhere('p.domain LIKE :q', { q: like })
302
+ .orWhere('p.sessionId LIKE :q', { q: like });
303
+ }));
304
+ }
305
+ if (from)
306
+ qb.andWhere('p.createdAt >= :from', { from });
307
+ if (to)
308
+ qb.andWhere('p.createdAt <= :to', { to });
309
+ const count = await qb.getCount();
310
+ return { count };
311
+ }
167
312
  async getParseLog(id) {
168
313
  const parseId = parseInt(id, 10);
169
314
  if (Number.isNaN(parseId)) {
@@ -219,6 +364,13 @@ __decorate([
219
364
  __metadata("design:paramtypes", []),
220
365
  __metadata("design:returntype", void 0)
221
366
  ], ExtractionEntityController.prototype, "listAdapters", null);
367
+ __decorate([
368
+ (0, common_1.Post)('adapters'),
369
+ __param(0, (0, common_1.Body)()),
370
+ __metadata("design:type", Function),
371
+ __metadata("design:paramtypes", [Object]),
372
+ __metadata("design:returntype", Promise)
373
+ ], ExtractionEntityController.prototype, "createAdapterRule", null);
222
374
  __decorate([
223
375
  (0, common_1.Post)('extract/adapter'),
224
376
  __param(0, (0, common_1.Body)()),
@@ -237,6 +389,24 @@ __decorate([
237
389
  __metadata("design:paramtypes", [Object, String, String, String, String]),
238
390
  __metadata("design:returntype", Promise)
239
391
  ], ExtractionEntityController.prototype, "listEntities", null);
392
+ __decorate([
393
+ (0, common_1.Get)('entities/count'),
394
+ __param(0, (0, common_1.Query)('type')),
395
+ __param(1, (0, common_1.Query)('since')),
396
+ __param(2, (0, common_1.Query)('q')),
397
+ __param(3, (0, common_1.Query)('from')),
398
+ __param(4, (0, common_1.Query)('to')),
399
+ __metadata("design:type", Function),
400
+ __metadata("design:paramtypes", [Object, String, String, String, String]),
401
+ __metadata("design:returntype", Promise)
402
+ ], ExtractionEntityController.prototype, "countEntities", null);
403
+ __decorate([
404
+ (0, common_1.Get)('entities/by-url'),
405
+ __param(0, (0, common_1.Query)('url')),
406
+ __metadata("design:type", Function),
407
+ __metadata("design:paramtypes", [String]),
408
+ __metadata("design:returntype", Promise)
409
+ ], ExtractionEntityController.prototype, "getEntityByUrl", null);
240
410
  __decorate([
241
411
  (0, common_1.Get)('entities/:type/:id'),
242
412
  __param(0, (0, common_1.Param)('type')),
@@ -264,6 +434,17 @@ __decorate([
264
434
  __metadata("design:paramtypes", [String, String, String, String, String]),
265
435
  __metadata("design:returntype", Promise)
266
436
  ], ExtractionEntityController.prototype, "listParseLog", null);
437
+ __decorate([
438
+ (0, common_1.Get)('parse-log/count'),
439
+ __param(0, (0, common_1.Query)('since')),
440
+ __param(1, (0, common_1.Query)('status')),
441
+ __param(2, (0, common_1.Query)('q')),
442
+ __param(3, (0, common_1.Query)('from')),
443
+ __param(4, (0, common_1.Query)('to')),
444
+ __metadata("design:type", Function),
445
+ __metadata("design:paramtypes", [String, String, String, String, String]),
446
+ __metadata("design:returntype", Promise)
447
+ ], ExtractionEntityController.prototype, "countParseLog", null);
267
448
  __decorate([
268
449
  (0, common_1.Get)('parse-log/:id'),
269
450
  __param(0, (0, common_1.Param)('id')),
@@ -297,14 +478,16 @@ __decorate([
297
478
  exports.ExtractionEntityController = ExtractionEntityController = __decorate([
298
479
  (0, common_1.Controller)(),
299
480
  __param(2, (0, typeorm_1.InjectRepository)(parse_log_entity_1.ParseLog)),
300
- __param(3, (0, typeorm_1.InjectRepository)(talent_profile_entity_1.TalentProfile)),
301
- __param(4, (0, typeorm_1.InjectRepository)(job_posting_entity_1.JobPosting)),
302
- __param(5, (0, typeorm_1.InjectRepository)(company_profile_entity_1.CompanyProfile)),
481
+ __param(3, (0, typeorm_1.InjectRepository)(adapter_rule_entity_1.AdapterRule)),
482
+ __param(4, (0, typeorm_1.InjectRepository)(talent_profile_entity_1.TalentProfile)),
483
+ __param(5, (0, typeorm_1.InjectRepository)(job_posting_entity_1.JobPosting)),
484
+ __param(6, (0, typeorm_1.InjectRepository)(company_profile_entity_1.CompanyProfile)),
303
485
  __metadata("design:paramtypes", [extraction_service_1.ExtractionService,
304
486
  adapter_service_1.AdapterService,
305
487
  typeorm_2.Repository,
306
488
  typeorm_2.Repository,
307
489
  typeorm_2.Repository,
490
+ typeorm_2.Repository,
308
491
  typeorm_2.Repository])
309
492
  ], ExtractionEntityController);
310
493
  //# sourceMappingURL=extraction-entity.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extraction-entity.controller.js","sourceRoot":"","sources":["../../src/extraction/extraction-entity.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extraction-entity.controller.js","sourceRoot":"","sources":["../../src/extraction/extraction-entity.controller.ts"],"names":[],"mappings":"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"}
@@ -27,25 +27,32 @@ let ExtractionRuleService = class ExtractionRuleService {
27
27
  await this.disableStaleLinkedInRules();
28
28
  }
29
29
  async seedLinkedInRule() {
30
- const exists = await this.repo.findOne({ where: { ruleId: 'linkedin-profile-default' } });
30
+ const ruleId = 'linkedin-profile-v2';
31
+ const exists = await this.repo.findOne({ where: { ruleId } });
31
32
  if (exists)
32
33
  return;
34
+ await this.repo.update({ ruleId: 'linkedin-profile-default' }, { enabled: false });
33
35
  await this.repo.save(this.repo.create({
34
- ruleId: 'linkedin-profile-default',
35
- version: '0.1.0',
36
+ ruleId,
37
+ version: '0.2.0',
36
38
  targetHost: '^www\\.linkedin\\.com$',
37
39
  targetPathPattern: '^/in/',
38
- ruleType: 'regex',
40
+ ruleType: 'script',
39
41
  entityType: 'talent',
40
42
  rulePayload: {
41
- mapping: {
42
- name: '<a[^>]*href="[^"]*linkedin\\.com/in/[^"]+"[^>]*>.*?<div[^>]*aria-label="([^"]+)"',
43
- headline: '<a[^>]*href="[^"]*linkedin\\.com/in/[^"]+"[^>]*>.*?<p[^>]*><span>([^<]+)</span>',
44
- },
43
+ engine: 'linkedin-profile',
45
44
  },
46
45
  extractedSchema: {
47
46
  name: 'string',
48
47
  headline: 'string',
48
+ currentCompany: 'string',
49
+ location: 'string',
50
+ website: 'string',
51
+ followers: 'string',
52
+ summary: 'string',
53
+ experiences: 'array',
54
+ education: 'array',
55
+ skills: 'array',
49
56
  },
50
57
  priority: 1000,
51
58
  enabled: true,
@@ -57,6 +64,7 @@ let ExtractionRuleService = class ExtractionRuleService {
57
64
  'linkedin-profile-regex',
58
65
  'linkedin-profile-regex-v2',
59
66
  'linkedin-profile-regex-v3',
67
+ 'linkedin-profile-default',
60
68
  ];
61
69
  await this.repo.update({ ruleId: (0, typeorm_2.In)(staleIds) }, { enabled: false });
62
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"extraction-rule.service.js","sourceRoot":"","sources":["../../src/extraction/extraction-rule.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA0D;AAC1D,6CAAmD;AACnD,qCAAyC;AACzC,qEAA0D;AAgBnD,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAGb;IAFnB,YAEmB,IAAgC;QAAhC,SAAI,GAAJ,IAAI,CAA4B;IAChD,CAAC;IAEJ,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACzC,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,0BAA0B,EAAE,EAAE,CAAC,CAAC;QAC1F,IAAI,MAAM;YAAE,OAAO;QACnB,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAClB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YACf,MAAM,EAAE,0BAA0B;YAClC,OAAO,EAAE,OAAO;YAChB,UAAU,EAAE,wBAAwB;YACpC,iBAAiB,EAAE,OAAO;YAC1B,QAAQ,EAAE,OAAO;YACjB,UAAU,EAAE,QAAQ;YACpB,WAAW,EAAE;gBACX,OAAO,EAAE;oBACP,IAAI,EAAE,kFAAkF;oBACxF,QAAQ,EAAE,iFAAiF;iBAC5F;aACF;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,QAAQ;aACnB;YACD,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI;SACd,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,yBAAyB;QACrC,MAAM,QAAQ,GAAG;YACf,kBAAkB;YAClB,wBAAwB;YACxB,2BAA2B;YAC3B,2BAA2B;SAC5B,CAAC;QAEF,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAA,YAAE,EAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,CAAC,GAAkB;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAC9B,GAAG,GAAG;YACN,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,CAAC;YAC3B,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,IAAI;SAC7B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IACnF,CAAC;CACF,CAAA;AA7DY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,0BAAgB,EAAC,uCAAc,CAAC,CAAA;qCACV,oBAAU;GAHxB,qBAAqB,CA6DjC"}
1
+ {"version":3,"file":"extraction-rule.service.js","sourceRoot":"","sources":["../../src/extraction/extraction-rule.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA0D;AAC1D,6CAAmD;AACnD,qCAAyC;AACzC,qEAA0D;AAgBnD,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAGb;IAFnB,YAEmB,IAAgC;QAAhC,SAAI,GAAJ,IAAI,CAA4B;IAChD,CAAC;IAEJ,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACzC,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,MAAM,MAAM,GAAG,qBAAqB,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9D,IAAI,MAAM;YAAE,OAAO;QAEnB,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,0BAA0B,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACnF,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAClB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YACf,MAAM;YACN,OAAO,EAAE,OAAO;YAChB,UAAU,EAAE,wBAAwB;YACpC,iBAAiB,EAAE,OAAO;YAC1B,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,QAAQ;YACpB,WAAW,EAAE;gBACX,MAAM,EAAE,kBAAkB;aAC3B;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,QAAQ;gBAClB,cAAc,EAAE,QAAQ;gBACxB,QAAQ,EAAE,QAAQ;gBAClB,OAAO,EAAE,QAAQ;gBACjB,SAAS,EAAE,QAAQ;gBACnB,OAAO,EAAE,QAAQ;gBACjB,WAAW,EAAE,OAAO;gBACpB,SAAS,EAAE,OAAO;gBAClB,MAAM,EAAE,OAAO;aAChB;YACD,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI;SACd,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,yBAAyB;QACrC,MAAM,QAAQ,GAAG;YACf,kBAAkB;YAClB,wBAAwB;YACxB,2BAA2B;YAC3B,2BAA2B;YAC3B,0BAA0B;SAC3B,CAAC;QAEF,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAA,YAAE,EAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,CAAC,GAAkB;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAC9B,GAAG,GAAG;YACN,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,CAAC;YAC3B,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,IAAI;SAC7B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IACnF,CAAC;CACF,CAAA;AAtEY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,0BAAgB,EAAC,uCAAc,CAAC,CAAA;qCACV,oBAAU;GAHxB,qBAAqB,CAsEjC"}
@@ -10,16 +10,22 @@ exports.ExtractionModule = void 0;
10
10
  const common_1 = require("@nestjs/common");
11
11
  const typeorm_1 = require("@nestjs/typeorm");
12
12
  const extension_core_module_1 = require("../extension/extension-core.module");
13
+ const recording_module_1 = require("../recording/recording.module");
13
14
  const extraction_rule_entity_1 = require("./extraction-rule.entity");
15
+ const adapter_rule_entity_1 = require("./entities/adapter-rule.entity");
14
16
  const extraction_service_1 = require("./extraction.service");
15
17
  const extraction_rule_service_1 = require("./extraction-rule.service");
16
18
  const extraction_rule_controller_1 = require("./extraction-rule.controller");
17
19
  const extraction_entity_controller_1 = require("./extraction-entity.controller");
18
20
  const adapter_service_1 = require("./adapter.service");
21
+ const snapshot_analysis_service_1 = require("./snapshot-analysis.service");
22
+ const anomaly_report_service_1 = require("./anomaly-report.service");
19
23
  const parse_log_entity_1 = require("./entities/parse-log.entity");
20
24
  const talent_profile_entity_1 = require("./entities/talent-profile.entity");
21
25
  const job_posting_entity_1 = require("./entities/job-posting.entity");
22
26
  const company_profile_entity_1 = require("./entities/company-profile.entity");
27
+ const recording_event_entity_1 = require("../recording/entities/recording-event.entity");
28
+ const recording_snapshot_entity_1 = require("../recording/entities/recording-snapshot.entity");
23
29
  let ExtractionModule = class ExtractionModule {
24
30
  };
25
31
  exports.ExtractionModule = ExtractionModule;
@@ -27,17 +33,21 @@ exports.ExtractionModule = ExtractionModule = __decorate([
27
33
  (0, common_1.Module)({
28
34
  imports: [
29
35
  extension_core_module_1.ExtensionCoreModule,
36
+ recording_module_1.RecordingModule,
30
37
  typeorm_1.TypeOrmModule.forFeature([
31
38
  extraction_rule_entity_1.ExtractionRule,
39
+ adapter_rule_entity_1.AdapterRule,
32
40
  parse_log_entity_1.ParseLog,
33
41
  talent_profile_entity_1.TalentProfile,
34
42
  job_posting_entity_1.JobPosting,
35
43
  company_profile_entity_1.CompanyProfile,
44
+ recording_snapshot_entity_1.RecordingSnapshot,
45
+ recording_event_entity_1.RecordingEvent,
36
46
  ]),
37
47
  ],
38
48
  controllers: [extraction_rule_controller_1.ExtractionRuleController, extraction_entity_controller_1.ExtractionEntityController],
39
- providers: [extraction_service_1.ExtractionService, extraction_rule_service_1.ExtractionRuleService, adapter_service_1.AdapterService],
40
- exports: [extraction_service_1.ExtractionService, extraction_rule_service_1.ExtractionRuleService, adapter_service_1.AdapterService],
49
+ providers: [extraction_service_1.ExtractionService, extraction_rule_service_1.ExtractionRuleService, adapter_service_1.AdapterService, snapshot_analysis_service_1.SnapshotAnalysisService, anomaly_report_service_1.AnomalyReportService],
50
+ exports: [extraction_service_1.ExtractionService, extraction_rule_service_1.ExtractionRuleService, adapter_service_1.AdapterService, snapshot_analysis_service_1.SnapshotAnalysisService, anomaly_report_service_1.AnomalyReportService],
41
51
  })
42
52
  ], ExtractionModule);
43
53
  //# sourceMappingURL=extraction.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extraction.module.js","sourceRoot":"","sources":["../../src/extraction/extraction.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6CAAgD;AAChD,8EAAyE;AACzE,qEAA0D;AAC1D,6DAAyD;AACzD,uEAAkE;AAClE,6EAAwE;AACxE,iFAA4E;AAC5E,uDAAmD;AACnD,kEAAuD;AACvD,4EAAiE;AACjE,sEAA2D;AAC3D,8EAAmE;AAiB5D,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CAAG,CAAA;AAAnB,4CAAgB;2BAAhB,gBAAgB;IAf5B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,2CAAmB;YACnB,uBAAa,CAAC,UAAU,CAAC;gBACvB,uCAAc;gBACd,2BAAQ;gBACR,qCAAa;gBACb,+BAAU;gBACV,uCAAc;aACf,CAAC;SACH;QACD,WAAW,EAAE,CAAC,qDAAwB,EAAE,yDAA0B,CAAC;QACnE,SAAS,EAAE,CAAC,sCAAiB,EAAE,+CAAqB,EAAE,gCAAc,CAAC;QACrE,OAAO,EAAE,CAAC,sCAAiB,EAAE,+CAAqB,EAAE,gCAAc,CAAC;KACpE,CAAC;GACW,gBAAgB,CAAG"}
1
+ {"version":3,"file":"extraction.module.js","sourceRoot":"","sources":["../../src/extraction/extraction.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6CAAgD;AAChD,8EAAyE;AACzE,oEAAgE;AAChE,qEAA0D;AAC1D,wEAA6D;AAC7D,6DAAyD;AACzD,uEAAkE;AAClE,6EAAwE;AACxE,iFAA4E;AAC5E,uDAAmD;AACnD,2EAAsE;AACtE,qEAAgE;AAChE,kEAAuD;AACvD,4EAAiE;AACjE,sEAA2D;AAC3D,8EAAmE;AACnE,yFAA8E;AAC9E,+FAAoF;AAqB7E,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CAAG,CAAA;AAAnB,4CAAgB;2BAAhB,gBAAgB;IAnB5B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,2CAAmB;YACnB,kCAAe;YACf,uBAAa,CAAC,UAAU,CAAC;gBACvB,uCAAc;gBACd,iCAAW;gBACX,2BAAQ;gBACR,qCAAa;gBACb,+BAAU;gBACV,uCAAc;gBACd,6CAAiB;gBACjB,uCAAc;aACf,CAAC;SACH;QACD,WAAW,EAAE,CAAC,qDAAwB,EAAE,yDAA0B,CAAC;QACnE,SAAS,EAAE,CAAC,sCAAiB,EAAE,+CAAqB,EAAE,gCAAc,EAAE,mDAAuB,EAAE,6CAAoB,CAAC;QACpH,OAAO,EAAE,CAAC,sCAAiB,EAAE,+CAAqB,EAAE,gCAAc,EAAE,mDAAuB,EAAE,6CAAoB,CAAC;KACnH,CAAC;GACW,gBAAgB,CAAG"}
@@ -1,18 +1,22 @@
1
1
  import { Repository } from 'typeorm';
2
2
  import { RecordingEvent } from '../recording/entities/recording-event.entity';
3
+ import { RecordingSnapshot } from '../recording/entities/recording-snapshot.entity';
3
4
  import { ExtractionRule } from './extraction-rule.entity';
4
5
  import { ExtractionRuleService } from './extraction-rule.service';
5
6
  import { ParseLog } from './entities/parse-log.entity';
6
7
  import { TalentProfile } from './entities/talent-profile.entity';
7
8
  import { JobPosting } from './entities/job-posting.entity';
8
9
  import { CompanyProfile } from './entities/company-profile.entity';
10
+ export declare function etldPlus1(hostname: string): string;
11
+ export declare function normalizeUrlForDedup(url: string): string;
9
12
  export declare class ExtractionService {
10
13
  private readonly parseLogRepo;
11
14
  private readonly talentRepo;
12
15
  private readonly jobRepo;
13
16
  private readonly companyRepo;
17
+ private readonly snapshotRepo;
14
18
  private readonly ruleService;
15
- constructor(parseLogRepo: Repository<ParseLog>, talentRepo: Repository<TalentProfile>, jobRepo: Repository<JobPosting>, companyRepo: Repository<CompanyProfile>, ruleService: ExtractionRuleService);
19
+ constructor(parseLogRepo: Repository<ParseLog>, talentRepo: Repository<TalentProfile>, jobRepo: Repository<JobPosting>, companyRepo: Repository<CompanyProfile>, snapshotRepo: Repository<RecordingSnapshot>, ruleService: ExtractionRuleService);
16
20
  applyRules(events: RecordingEvent[], rules: ExtractionRule[]): {
17
21
  sourceUrl: string;
18
22
  matchedRules: {
@@ -34,6 +38,11 @@ export declare class ExtractionService {
34
38
  }[];
35
39
  extracted: Record<string, any>;
36
40
  };
41
+ getLatestSnapshotHtml(sessionId: string): Promise<{
42
+ html: string;
43
+ sourceUrl: string;
44
+ snapshotId?: number;
45
+ } | null>;
37
46
  parseSession(sessionId: string): Promise<{
38
47
  status: string;
39
48
  message: string;
@@ -52,6 +61,13 @@ export declare class ExtractionService {
52
61
  isNew: boolean;
53
62
  } | null;
54
63
  }>;
64
+ incrementalUpsertEntity(pageClass: string, domain: string, sourceUrl: string, extracted: Record<string, any>, matched: ExtractionRule[], sessionId: string, ruleVersionFallback?: string): Promise<{
65
+ id: number;
66
+ type: string;
67
+ isNew: boolean;
68
+ } | null>;
69
+ private mergeField;
70
+ private mergeExtracted;
55
71
  private upsertEntity;
56
72
  saveAdapterEntity(sessionId: string, sourceUrl: string, entity: Record<string, any>): Promise<{
57
73
  id: number;