@singi-labs/sifa-sdk 0.19.35 → 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 (51) hide show
  1. package/dist/{index-D7IufF6R.d.ts → index-D9GC0u__.d.ts} +4 -0
  2. package/dist/{index-BMUJEOoA.d.cts → index-DmlIG8sJ.d.cts} +4 -0
  3. package/dist/index.cjs +55 -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 +51 -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-DHkUgCYs.d.cts → network-map-DUm6FBXt.d.cts} +3 -3
  12. package/dist/{network-map--qYzsEP_.d.ts → network-map-DzVNvC9g.d.ts} +3 -3
  13. package/dist/{org-BSHNseXX.d.ts → org-BCrvebcf.d.ts} +2 -2
  14. package/dist/{org-BYL2yrSq.d.cts → org-DC_FpoTY.d.cts} +2 -2
  15. package/dist/{profile-investment-CJwwK8DY.d.cts → profile-investment-BiHM7C5q.d.cts} +2 -0
  16. package/dist/{profile-investment-CJwwK8DY.d.ts → profile-investment-BiHM7C5q.d.ts} +2 -0
  17. package/dist/{profile-summary-BmUSSgAr.d.cts → profile-summary-C_wdHGj6.d.cts} +1 -1
  18. package/dist/{profile-summary-wEt4IKo1.d.ts → profile-summary-Qtfk-52i.d.ts} +1 -1
  19. package/dist/query/fetchers/index.cjs +2 -0
  20. package/dist/query/fetchers/index.cjs.map +1 -1
  21. package/dist/query/fetchers/index.d.cts +6 -6
  22. package/dist/query/fetchers/index.d.ts +6 -6
  23. package/dist/query/fetchers/index.js +2 -0
  24. package/dist/query/fetchers/index.js.map +1 -1
  25. package/dist/query/hooks/index.cjs +2 -0
  26. package/dist/query/hooks/index.cjs.map +1 -1
  27. package/dist/query/hooks/index.d.cts +4 -4
  28. package/dist/query/hooks/index.d.ts +4 -4
  29. package/dist/query/hooks/index.js +2 -0
  30. package/dist/query/hooks/index.js.map +1 -1
  31. package/dist/query/index.d.cts +9 -9
  32. package/dist/query/index.d.ts +9 -9
  33. package/dist/resume/index.d.cts +1 -1
  34. package/dist/resume/index.d.ts +1 -1
  35. package/dist/schemas/index.cjs +4 -0
  36. package/dist/schemas/index.cjs.map +1 -1
  37. package/dist/schemas/index.d.cts +1 -1
  38. package/dist/schemas/index.d.ts +1 -1
  39. package/dist/schemas/index.js +4 -0
  40. package/dist/schemas/index.js.map +1 -1
  41. package/dist/schemas/write/index.cjs +3 -0
  42. package/dist/schemas/write/index.cjs.map +1 -1
  43. package/dist/schemas/write/index.d.cts +2 -0
  44. package/dist/schemas/write/index.d.ts +2 -0
  45. package/dist/schemas/write/index.js +3 -0
  46. package/dist/schemas/write/index.js.map +1 -1
  47. package/dist/{types-B6_rM5e1.d.cts → types-CK8KgdqA.d.ts} +4 -1
  48. package/dist/{types-BZSh8AHp.d.ts → types-DAGqE0b9.d.cts} +4 -1
  49. package/dist/{use-org-notification-emails-N5UXg0Zg.d.ts → use-org-notification-emails-0hjt-dEw.d.ts} +3 -3
  50. package/dist/{use-org-notification-emails-CisY4oDQ.d.cts → use-org-notification-emails-DOyAF0C_.d.cts} +3 -3
  51. 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;
@@ -213,6 +215,8 @@ interface ProfileCertification {
213
215
  interface ProfileProject {
214
216
  rkey: string;
215
217
  name: string;
218
+ /** The user's own role on the project (#596), e.g. Maintainer. */
219
+ role?: string;
216
220
  description?: string;
217
221
  url?: string;
218
222
  startDate?: 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;
@@ -213,6 +215,8 @@ interface ProfileCertification {
213
215
  interface ProfileProject {
214
216
  rkey: string;
215
217
  name: string;
218
+ /** The user's own role on the project (#596), e.g. Maintainer. */
219
+ role?: string;
216
220
  description?: string;
217
221
  url?: string;
218
222
  startDate?: 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(),
@@ -6437,6 +6484,8 @@ var projectMemberRefSchema = zod.z.object({
6437
6484
  });
6438
6485
  var ProfileProjectRecordSchema = zod.z.object({
6439
6486
  name: zod.z.string().min(1).refine(maxGraphemes(256)).max(2560),
6487
+ // The user's own role on the project (#596), e.g. Maintainer.
6488
+ role: zod.z.string().refine(maxGraphemes(256)).max(2560).optional(),
6440
6489
  description: zod.z.string().refine(maxGraphemes(5e3)).max(5e4).optional(),
6441
6490
  url: uriSchema.optional(),
6442
6491
  members: zod.z.array(projectMemberRefSchema).max(50).optional(),
@@ -6959,7 +7008,7 @@ function describeSifaRecord(collection, value) {
6959
7008
  }
6960
7009
 
6961
7010
  // src/index.ts
6962
- var SIFA_SDK_VERSION = "0.19.35";
7011
+ var SIFA_SDK_VERSION = "0.19.37";
6963
7012
 
6964
7013
  exports.ACTIVITY_TIERS = ACTIVITY_TIERS;
6965
7014
  exports.ACTIVITY_VERBS = ACTIVITY_VERBS;
@@ -6994,6 +7043,8 @@ exports.DIMENSIONS_MAX_SCORE = DIMENSIONS_MAX_SCORE;
6994
7043
  exports.EMPLOYMENT_TYPE_GROUPS = EMPLOYMENT_TYPE_GROUPS;
6995
7044
  exports.EMPLOYMENT_TYPE_LABELS = EMPLOYMENT_TYPE_LABELS;
6996
7045
  exports.ENTITY_REF_ANCHORS = ENTITY_REF_ANCHORS;
7046
+ exports.EQF_LEVEL_LABELS = EQF_LEVEL_LABELS;
7047
+ exports.EQF_LEVEL_OPTIONS = EQF_LEVEL_OPTIONS;
6997
7048
  exports.EndorsementConfirmationRecordSchema = EndorsementConfirmationRecordSchema;
6998
7049
  exports.EndorsementRecordSchema = EndorsementRecordSchema;
6999
7050
  exports.EntityImportSearchResponseSchema = EntityImportSearchResponseSchema;
@@ -7140,6 +7191,7 @@ exports.getContinent = getContinent;
7140
7191
  exports.getCourseRoleLabel = getCourseRoleLabel;
7141
7192
  exports.getDisplayLabel = getDisplayLabel;
7142
7193
  exports.getEmploymentTypeLabel = getEmploymentTypeLabel;
7194
+ exports.getEqfLevelLabel = getEqfLevelLabel;
7143
7195
  exports.getFaviconUrl = getFaviconUrl;
7144
7196
  exports.getFilledDimensionsMap = getFilledDimensionsMap;
7145
7197
  exports.getHandleStem = getHandleStem;
@@ -7222,6 +7274,7 @@ exports.presentationDeliveryCsvRowToRecord = presentationDeliveryCsvRowToRecord;
7222
7274
  exports.primaryVerification = primaryVerification;
7223
7275
  exports.profileToDimensionInputs = profileToDimensionInputs;
7224
7276
  exports.qualifiesAsOrg = qualifiesAsOrg;
7277
+ exports.readEqfLevel = readEqfLevel;
7225
7278
  exports.relativeLuminance = relativeLuminance;
7226
7279
  exports.renderAsLine = renderAsLine;
7227
7280
  exports.rendersCompanyProfile = rendersCompanyProfile;
@@ -7268,6 +7321,7 @@ exports.streamThemeSchema = streamThemeSchema;
7268
7321
  exports.streamVerbSchema = streamVerbSchema;
7269
7322
  exports.stripHtmlToText = stripHtmlToText;
7270
7323
  exports.strongRefSchema = strongRefSchema;
7324
+ exports.suggestEqfLevelFromDegree = suggestEqfLevelFromDegree;
7271
7325
  exports.summarizePresentationDeliveries = summarizePresentationDeliveries;
7272
7326
  exports.summarizeProfileView = summarizeProfileView;
7273
7327
  exports.toStreamCardVM = toStreamCardVM;