@brivioio/api-server-types 7.21.0 → 7.22.0

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.
@@ -0,0 +1,45 @@
1
+ /** Where a contact point came from, so stale/low-trust sources can be reconciled later. */
2
+ export declare enum ECandidateContactSource {
3
+ CRUSTDATA = "crustdata",
4
+ MANUAL = "manual"
5
+ }
6
+ export declare enum ECandidateEmailType {
7
+ PERSONAL = "personal",
8
+ WORK = "work",
9
+ UNKNOWN = "unknown"
10
+ }
11
+ export declare enum ECandidatePhoneType {
12
+ MOBILE = "mobile",
13
+ WORK = "work",
14
+ UNKNOWN = "unknown"
15
+ }
16
+ export interface ICandidateEmail {
17
+ value: string;
18
+ type: ECandidateEmailType;
19
+ source: ECandidateContactSource;
20
+ }
21
+ export interface ICandidatePhone {
22
+ value: string;
23
+ type: ECandidatePhoneType;
24
+ source: ECandidateContactSource;
25
+ }
26
+ /**
27
+ * Contact details (emails / phone numbers) for a candidate, keyed by their
28
+ * normalized LinkedIn handle (`candidateKey` — the same identity used across the
29
+ * sourcing pipeline). One document per candidate: contact points are merged in
30
+ * over time rather than re-inserted, since unlike profile snapshots there's no
31
+ * value in keeping a history of every fetch. The candidate's profile lives in
32
+ * `candidateSearchResults`; this collection is intentionally separate so contact
33
+ * data (often enriched on a different cadence) isn't duplicated per snapshot.
34
+ */
35
+ export interface ICandidateContact {
36
+ _id: string;
37
+ /** Normalized LinkedIn handle (e.g. "in/foo-bar") — the candidate identity. */
38
+ candidateKey: string;
39
+ emails: ICandidateEmail[];
40
+ phones: ICandidatePhone[];
41
+ isDeleted: boolean;
42
+ createdAt: string;
43
+ updatedAt: string;
44
+ }
45
+ //# sourceMappingURL=candidateContacts.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"candidateContacts.types.d.ts","sourceRoot":"","sources":["../src/candidateContacts.types.ts"],"names":[],"mappings":"AACA,2FAA2F;AAC3F,oBAAY,uBAAuB;IACjC,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB;AAED,oBAAY,mBAAmB;IAC7B,QAAQ,aAAa;IACrB,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAED,oBAAY,mBAAmB;IAC7B,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,mBAAmB,CAAC;IAC1B,MAAM,EAAE,uBAAuB,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,mBAAmB,CAAC;IAC1B,MAAM,EAAE,uBAAuB,CAAC;CACjC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,+EAA+E;IAC/E,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,18 @@
1
+ /** Where a contact point came from, so stale/low-trust sources can be reconciled later. */
2
+ export var ECandidateContactSource;
3
+ (function (ECandidateContactSource) {
4
+ ECandidateContactSource["CRUSTDATA"] = "crustdata";
5
+ ECandidateContactSource["MANUAL"] = "manual";
6
+ })(ECandidateContactSource || (ECandidateContactSource = {}));
7
+ export var ECandidateEmailType;
8
+ (function (ECandidateEmailType) {
9
+ ECandidateEmailType["PERSONAL"] = "personal";
10
+ ECandidateEmailType["WORK"] = "work";
11
+ ECandidateEmailType["UNKNOWN"] = "unknown";
12
+ })(ECandidateEmailType || (ECandidateEmailType = {}));
13
+ export var ECandidatePhoneType;
14
+ (function (ECandidatePhoneType) {
15
+ ECandidatePhoneType["MOBILE"] = "mobile";
16
+ ECandidatePhoneType["WORK"] = "work";
17
+ ECandidatePhoneType["UNKNOWN"] = "unknown";
18
+ })(ECandidatePhoneType || (ECandidatePhoneType = {}));
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export * from './candidateContacts.types';
1
2
  export * from './candidateSearchResults.types';
2
3
  export * from './jobRoleChatHistory.types';
3
4
  export * from './jobRoles.types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ export * from './candidateContacts.types';
1
2
  export * from './candidateSearchResults.types';
2
3
  export * from './jobRoleChatHistory.types';
3
4
  export * from './jobRoles.types';
@@ -62,8 +62,13 @@ export type TFitSubScores = {
62
62
  };
63
63
  /**
64
64
  * A curated, ranked shortlist entry for a (role, requirementVersion). This is
65
- * what the frontend shortlist page reads. The complete CrustData profile is
66
- * retained in `fullProfile`.
65
+ * what the frontend shortlist page reads.
66
+ *
67
+ * The candidate's profile is NOT replicated here — the entry references the exact
68
+ * `candidateSearchResults` snapshot it was scored against via
69
+ * `candidateSearchResultId`. Identity/display fields (name, headline, etc.) are
70
+ * read off that referenced snapshot at serialization time. `candidateKey` is kept
71
+ * for dedup, "do-not-resurface" lists, and cheap identity checks without a join.
67
72
  */
68
73
  export interface IShortlist {
69
74
  _id: string;
@@ -72,14 +77,8 @@ export interface IShortlist {
72
77
  requirementVersion: number;
73
78
  sourcingRunId: string;
74
79
  candidateKey: string;
75
- crustdataPersonId: string | null;
76
- linkedinUrl: string;
77
- name: string;
78
- headline: string;
79
- avatarUrl: string | null;
80
- location: string;
81
- currentTitle: string;
82
- currentCompany: string;
80
+ /** Reference to the immutable `candidateSearchResults` snapshot scored for this entry. */
81
+ candidateSearchResultId: string;
83
82
  /** Composite fit score 0-100. */
84
83
  fitScore: number;
85
84
  subScores: TFitSubScores;
@@ -92,8 +91,6 @@ export interface IShortlist {
92
91
  source: EShortlistSource;
93
92
  /** The recruiter's verdict + note on this candidate; null until they review. */
94
93
  feedback: IShortlistFeedback | null;
95
- /** Complete CrustData profile (stored verbatim). */
96
- fullProfile: unknown;
97
94
  internalTags: {
98
95
  key: string;
99
96
  value: string;
@@ -1 +1 @@
1
- {"version":3,"file":"shortlists.types.d.ts","sourceRoot":"","sources":["../src/shortlists.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shortlists.types.d.ts","sourceRoot":"","sources":["../src/shortlists.types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brivioio/api-server-types",
3
- "version": "7.21.0",
3
+ "version": "7.22.0",
4
4
  "description": "TypeScript type definitions for Brivio API Server",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",