@singi-labs/sifa-sdk 0.19.36 → 0.19.37

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 (43) hide show
  1. package/dist/{index-zH6rKRMx.d.ts → index-D9GC0u__.d.ts} +2 -0
  2. package/dist/{index-YuN--u4s.d.cts → index-DmlIG8sJ.d.cts} +2 -0
  3. package/dist/index.cjs +53 -1
  4. package/dist/index.cjs.map +1 -1
  5. package/dist/index.d.cts +33 -8
  6. package/dist/index.d.ts +33 -8
  7. package/dist/index.js +49 -2
  8. package/dist/index.js.map +1 -1
  9. package/dist/jsonld/index.d.cts +1 -1
  10. package/dist/jsonld/index.d.ts +1 -1
  11. package/dist/{network-map-DzUZbvNV.d.cts → network-map-DUm6FBXt.d.cts} +3 -3
  12. package/dist/{network-map-CjsywYe3.d.ts → network-map-DzVNvC9g.d.ts} +3 -3
  13. package/dist/{org-dzSDMm8B.d.ts → org-BCrvebcf.d.ts} +2 -2
  14. package/dist/{org-Bgi06A5c.d.cts → org-DC_FpoTY.d.cts} +2 -2
  15. package/dist/{profile-investment-BdN_H620.d.cts → profile-investment-BiHM7C5q.d.cts} +1 -0
  16. package/dist/{profile-investment-BdN_H620.d.ts → profile-investment-BiHM7C5q.d.ts} +1 -0
  17. package/dist/{profile-summary-BpsM-qn7.d.cts → profile-summary-C_wdHGj6.d.cts} +1 -1
  18. package/dist/{profile-summary-BZK3QP-a.d.ts → profile-summary-Qtfk-52i.d.ts} +1 -1
  19. package/dist/query/fetchers/index.d.cts +6 -6
  20. package/dist/query/fetchers/index.d.ts +6 -6
  21. package/dist/query/hooks/index.d.cts +4 -4
  22. package/dist/query/hooks/index.d.ts +4 -4
  23. package/dist/query/index.d.cts +9 -9
  24. package/dist/query/index.d.ts +9 -9
  25. package/dist/resume/index.d.cts +1 -1
  26. package/dist/resume/index.d.ts +1 -1
  27. package/dist/schemas/index.cjs +2 -0
  28. package/dist/schemas/index.cjs.map +1 -1
  29. package/dist/schemas/index.d.cts +1 -1
  30. package/dist/schemas/index.d.ts +1 -1
  31. package/dist/schemas/index.js +2 -0
  32. package/dist/schemas/index.js.map +1 -1
  33. package/dist/schemas/write/index.cjs +1 -0
  34. package/dist/schemas/write/index.cjs.map +1 -1
  35. package/dist/schemas/write/index.d.cts +1 -0
  36. package/dist/schemas/write/index.d.ts +1 -0
  37. package/dist/schemas/write/index.js +1 -0
  38. package/dist/schemas/write/index.js.map +1 -1
  39. package/dist/{types-7-Jq6p_Z.d.cts → types-CK8KgdqA.d.ts} +3 -1
  40. package/dist/{types-BYiUBDvk.d.ts → types-DAGqE0b9.d.cts} +3 -1
  41. package/dist/{use-org-notification-emails-DVEluUaC.d.ts → use-org-notification-emails-0hjt-dEw.d.ts} +3 -3
  42. package/dist/{use-org-notification-emails-D87skWDq.d.cts → use-org-notification-emails-DOyAF0C_.d.cts} +3 -3
  43. package/package.json +1 -1
@@ -98,6 +98,8 @@ interface ProfileEducation {
98
98
  agentRef?: AgentRef;
99
99
  degree?: string;
100
100
  fieldOfStudy?: string;
101
+ /** European Qualifications Framework level, 1 to 8 (8 = doctoral). */
102
+ eqfLevel?: number;
101
103
  description?: string;
102
104
  activities?: string;
103
105
  startedAt?: string;
@@ -98,6 +98,8 @@ interface ProfileEducation {
98
98
  agentRef?: AgentRef;
99
99
  degree?: string;
100
100
  fieldOfStudy?: string;
101
+ /** European Qualifications Framework level, 1 to 8 (8 = doctoral). */
102
+ eqfLevel?: number;
101
103
  description?: string;
102
104
  activities?: string;
103
105
  startedAt?: string;
package/dist/index.cjs CHANGED
@@ -420,6 +420,51 @@ var COUNTRIES = [
420
420
  { code: "ZW", name: "Zimbabwe" }
421
421
  ];
422
422
 
423
+ // src/taxonomy/eqf-level.ts
424
+ var EQF_LEVEL_OPTIONS = [
425
+ { value: 1, label: "Primary education" },
426
+ { value: 2, label: "Lower secondary" },
427
+ { value: 3, label: "Vocational or partial upper secondary" },
428
+ { value: 4, label: "Upper secondary" },
429
+ { value: 5, label: "Associate or short-cycle degree" },
430
+ { value: 6, label: "Bachelor" },
431
+ { value: 7, label: "Master" },
432
+ { value: 8, label: "Doctorate" }
433
+ ];
434
+ var EQF_LEVEL_LABELS = Object.fromEntries(
435
+ EQF_LEVEL_OPTIONS.map((o) => [o.value, o.label])
436
+ );
437
+ function readEqfLevel(value) {
438
+ return Number.isInteger(value) && value >= 1 && value <= 8 ? value : void 0;
439
+ }
440
+ function getEqfLevelLabel(level) {
441
+ const valid = readEqfLevel(level);
442
+ return valid === void 0 ? void 0 : EQF_LEVEL_LABELS[valid];
443
+ }
444
+ var DEGREE_RULES = [
445
+ [
446
+ 7,
447
+ /\b(doctor of (medicine|dental \w+|pharmacy|veterinary \w+)|juris doctor|doctoraal|drs|md|jd|dds|dmd|pharmd|dvm)\b/
448
+ ],
449
+ [
450
+ 8,
451
+ /\b(phd|dphil|doctorate|doctoral|doctoraat|doctor|dr|edd|dba|dsc|scd|habilitation|promotie)\b/
452
+ ],
453
+ [7, /\b(masters?|msc|ma|ms|mba|mphil|meng|mres|mfa|mpa|mph|llm|ir|mr)\b/],
454
+ [6, /\b(bachelors?|bsc|ba|bs|beng|bba|bfa|llb|undergraduate|hbo)\b/],
455
+ [5, /\b(associates?|associate degree|hnd|hnc|foundation degree)\b/],
456
+ [
457
+ 4,
458
+ /\b(high school|secondary school|vwo|havo|abitur|a levels?|matura|international baccalaureate|ged)\b/
459
+ ]
460
+ ];
461
+ function suggestEqfLevelFromDegree(degree) {
462
+ if (!degree) return void 0;
463
+ const text = degree.toLowerCase().replace(/['’.]/g, "").replace(/[-_/()]/g, " ").replace(/\s+/g, " ").trim();
464
+ if (!text) return void 0;
465
+ return DEGREE_RULES.find(([, re]) => re.test(text))?.[0];
466
+ }
467
+
423
468
  // src/taxonomy/employment-type.ts
424
469
  var EMPLOYMENT_TYPE_GROUPS = [
425
470
  {
@@ -6401,6 +6446,8 @@ var ProfileEducationRecordSchema = zod.z.object({
6401
6446
  entityRef: zod.z.string().url().refine((s) => /^https?:\/\//i.test(s), { message: "entityRef must be an http(s) URL" }).max(2048).optional(),
6402
6447
  degree: zod.z.string().refine(maxGraphemes(100)).max(1e3).optional(),
6403
6448
  fieldOfStudy: zod.z.string().refine(maxGraphemes(100)).max(1e3).optional(),
6449
+ // European Qualifications Framework level, 1 to 8 (8 = doctoral) (#594).
6450
+ eqfLevel: zod.z.number().int().min(1).max(8).optional(),
6404
6451
  grade: zod.z.string().refine(maxGraphemes(50)).max(500).optional(),
6405
6452
  activities: zod.z.string().refine(maxGraphemes(1e3)).max(1e4).optional(),
6406
6453
  description: zod.z.string().refine(maxGraphemes(5e3)).max(5e4).optional(),
@@ -6961,7 +7008,7 @@ function describeSifaRecord(collection, value) {
6961
7008
  }
6962
7009
 
6963
7010
  // src/index.ts
6964
- var SIFA_SDK_VERSION = "0.19.36";
7011
+ var SIFA_SDK_VERSION = "0.19.37";
6965
7012
 
6966
7013
  exports.ACTIVITY_TIERS = ACTIVITY_TIERS;
6967
7014
  exports.ACTIVITY_VERBS = ACTIVITY_VERBS;
@@ -6996,6 +7043,8 @@ exports.DIMENSIONS_MAX_SCORE = DIMENSIONS_MAX_SCORE;
6996
7043
  exports.EMPLOYMENT_TYPE_GROUPS = EMPLOYMENT_TYPE_GROUPS;
6997
7044
  exports.EMPLOYMENT_TYPE_LABELS = EMPLOYMENT_TYPE_LABELS;
6998
7045
  exports.ENTITY_REF_ANCHORS = ENTITY_REF_ANCHORS;
7046
+ exports.EQF_LEVEL_LABELS = EQF_LEVEL_LABELS;
7047
+ exports.EQF_LEVEL_OPTIONS = EQF_LEVEL_OPTIONS;
6999
7048
  exports.EndorsementConfirmationRecordSchema = EndorsementConfirmationRecordSchema;
7000
7049
  exports.EndorsementRecordSchema = EndorsementRecordSchema;
7001
7050
  exports.EntityImportSearchResponseSchema = EntityImportSearchResponseSchema;
@@ -7142,6 +7191,7 @@ exports.getContinent = getContinent;
7142
7191
  exports.getCourseRoleLabel = getCourseRoleLabel;
7143
7192
  exports.getDisplayLabel = getDisplayLabel;
7144
7193
  exports.getEmploymentTypeLabel = getEmploymentTypeLabel;
7194
+ exports.getEqfLevelLabel = getEqfLevelLabel;
7145
7195
  exports.getFaviconUrl = getFaviconUrl;
7146
7196
  exports.getFilledDimensionsMap = getFilledDimensionsMap;
7147
7197
  exports.getHandleStem = getHandleStem;
@@ -7224,6 +7274,7 @@ exports.presentationDeliveryCsvRowToRecord = presentationDeliveryCsvRowToRecord;
7224
7274
  exports.primaryVerification = primaryVerification;
7225
7275
  exports.profileToDimensionInputs = profileToDimensionInputs;
7226
7276
  exports.qualifiesAsOrg = qualifiesAsOrg;
7277
+ exports.readEqfLevel = readEqfLevel;
7227
7278
  exports.relativeLuminance = relativeLuminance;
7228
7279
  exports.renderAsLine = renderAsLine;
7229
7280
  exports.rendersCompanyProfile = rendersCompanyProfile;
@@ -7270,6 +7321,7 @@ exports.streamThemeSchema = streamThemeSchema;
7270
7321
  exports.streamVerbSchema = streamVerbSchema;
7271
7322
  exports.stripHtmlToText = stripHtmlToText;
7272
7323
  exports.strongRefSchema = strongRefSchema;
7324
+ exports.suggestEqfLevelFromDegree = suggestEqfLevelFromDegree;
7273
7325
  exports.summarizePresentationDeliveries = summarizePresentationDeliveries;
7274
7326
  exports.summarizeProfileView = summarizeProfileView;
7275
7327
  exports.toStreamCardVM = toStreamCardVM;