@singi-labs/sifa-sdk 0.11.20 → 0.11.22

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.
@@ -24,6 +24,14 @@ interface ProfilePosition {
24
24
  * independent positions (#159).
25
25
  */
26
26
  entityRef?: string;
27
+ /**
28
+ * Resolved current canonical name of the durably-linked company (#240),
29
+ * computed by the AppView at read time. Render this over `company` for a
30
+ * linked position, so a name correction reaches every linked profile without
31
+ * a PDS write. Absent for free-text or unresolved positions (fall back to
32
+ * `company`).
33
+ */
34
+ entityName?: string;
27
35
  title: string;
28
36
  description?: string;
29
37
  startedAt: string;
@@ -24,6 +24,14 @@ interface ProfilePosition {
24
24
  * independent positions (#159).
25
25
  */
26
26
  entityRef?: string;
27
+ /**
28
+ * Resolved current canonical name of the durably-linked company (#240),
29
+ * computed by the AppView at read time. Render this over `company` for a
30
+ * linked position, so a name correction reaches every linked profile without
31
+ * a PDS write. Absent for free-text or unresolved positions (fall back to
32
+ * `company`).
33
+ */
34
+ entityName?: string;
27
35
  title: string;
28
36
  description?: string;
29
37
  startedAt: string;
package/dist/index.cjs CHANGED
@@ -441,15 +441,19 @@ var EMPLOYMENT_TYPE_GROUPS = [
441
441
  { value: "id.sifa.defs#fellowship", label: "Fellowship" },
442
442
  { value: "id.sifa.defs#trainee", label: "Trainee" }
443
443
  ]
444
- },
445
- {
446
- label: "Other",
447
- items: [{ value: "id.sifa.defs#volunteer", label: "Volunteer" }]
448
444
  }
449
445
  ];
450
- var EMPLOYMENT_TYPE_LABELS = Object.fromEntries(
451
- EMPLOYMENT_TYPE_GROUPS.flatMap((g) => g.items).map((o) => [o.value, o.label])
452
- );
446
+ var EMPLOYMENT_TYPE_LABELS = {
447
+ ...Object.fromEntries(
448
+ EMPLOYMENT_TYPE_GROUPS.flatMap((g) => g.items).map((o) => [o.value, o.label])
449
+ ),
450
+ // `volunteer` is retained for legacy records but no longer offered in the
451
+ // editor dropdown. Volunteering is a distinct thing (no payroll, no formal
452
+ // role, no obligation) rather than a kind of employment, so it lives in the
453
+ // dedicated `id.sifa.profile.volunteering` section, not on the employment-type
454
+ // axis. Kept here so old positions still render a human label, not the raw NSID.
455
+ "id.sifa.defs#volunteer": "Volunteer"
456
+ };
453
457
  function getEmploymentTypeLabel(value) {
454
458
  if (!value) return void 0;
455
459
  return EMPLOYMENT_TYPE_LABELS[value] ?? value;
@@ -2729,6 +2733,9 @@ var ProfileCertificationRecordSchema = zod.z.object({
2729
2733
  name: zod.z.string().min(1).refine(maxGraphemes(100)).max(1e3),
2730
2734
  authority: zod.z.string().refine(maxGraphemes(100)).max(1e3).optional(),
2731
2735
  authorityDid: didSchema.optional(),
2736
+ // Portable org entity identifier (Wikidata/ROR/LEI URI) from the typeahead.
2737
+ // Constrained to http(s) so a script-bearing scheme is never a valid ref (#159).
2738
+ entityRef: zod.z.string().url().refine((s) => /^https?:\/\//i.test(s), { message: "entityRef must be an http(s) URL" }).max(2048).optional(),
2732
2739
  credentialId: zod.z.string().refine(maxGraphemes(100)).max(1e3).optional(),
2733
2740
  credentialUrl: uriSchema.optional(),
2734
2741
  issuedAt: datetimeSchema.optional(),
@@ -2740,6 +2747,9 @@ var ProfileCourseRecordSchema = zod.z.object({
2740
2747
  name: zod.z.string().min(1).refine(maxGraphemes(200)).max(2e3),
2741
2748
  number: zod.z.string().refine(maxGraphemes(50)).max(500).optional(),
2742
2749
  institution: zod.z.string().refine(maxGraphemes(100)).max(1e3).optional(),
2750
+ // Portable org entity identifier (Wikidata/ROR/LEI URI) from the typeahead.
2751
+ // Constrained to http(s) so a script-bearing scheme is never a valid ref (#159).
2752
+ entityRef: zod.z.string().url().refine((s) => /^https?:\/\//i.test(s), { message: "entityRef must be an http(s) URL" }).max(2048).optional(),
2743
2753
  education: strongRefSchema.optional(),
2744
2754
  // AT-URI of the associated id.sifa.profile.certification record. Plain
2745
2755
  // at-uri (not a strongRef) so the link tracks the live certification.
@@ -2749,6 +2759,9 @@ var ProfileCourseRecordSchema = zod.z.object({
2749
2759
  var ProfileEducationRecordSchema = zod.z.object({
2750
2760
  institution: zod.z.string().min(1).refine(maxGraphemes(100)).max(1e3),
2751
2761
  institutionDid: didSchema.optional(),
2762
+ // Portable org entity identifier (Wikidata/ROR/LEI URI) from the typeahead.
2763
+ // Constrained to http(s) so a script-bearing scheme is never a valid ref (#159).
2764
+ entityRef: zod.z.string().url().refine((s) => /^https?:\/\//i.test(s), { message: "entityRef must be an http(s) URL" }).max(2048).optional(),
2752
2765
  degree: zod.z.string().refine(maxGraphemes(100)).max(1e3).optional(),
2753
2766
  fieldOfStudy: zod.z.string().refine(maxGraphemes(100)).max(1e3).optional(),
2754
2767
  grade: zod.z.string().refine(maxGraphemes(50)).max(500).optional(),
@@ -2772,6 +2785,9 @@ var ProfileHonorRecordSchema = zod.z.object({
2772
2785
  title: zod.z.string().min(1).refine(maxGraphemes(200)).max(2e3),
2773
2786
  issuer: zod.z.string().refine(maxGraphemes(100)).max(1e3).optional(),
2774
2787
  issuerDid: didSchema.optional(),
2788
+ // Portable org entity identifier (Wikidata/ROR/LEI URI) from the typeahead.
2789
+ // Constrained to http(s) so a script-bearing scheme is never a valid ref (#159).
2790
+ entityRef: zod.z.string().url().refine((s) => /^https?:\/\//i.test(s), { message: "entityRef must be an http(s) URL" }).max(2048).optional(),
2775
2791
  description: zod.z.string().refine(maxGraphemes(5e3)).max(5e4).optional(),
2776
2792
  awardedAt: datetimeSchema.optional(),
2777
2793
  createdAt: datetimeSchema
@@ -2886,6 +2902,9 @@ var ProfileSkillRecordSchema = zod.z.object({
2886
2902
  var ProfileVolunteeringRecordSchema = zod.z.object({
2887
2903
  organization: zod.z.string().min(1).refine(maxGraphemes(100)).max(1e3),
2888
2904
  organizationDid: didSchema.optional(),
2905
+ // Portable org entity identifier (Wikidata/ROR/LEI URI) from the typeahead.
2906
+ // Constrained to http(s) so a script-bearing scheme is never a valid ref (#159).
2907
+ entityRef: zod.z.string().url().refine((s) => /^https?:\/\//i.test(s), { message: "entityRef must be an http(s) URL" }).max(2048).optional(),
2889
2908
  role: zod.z.string().refine(maxGraphemes(100)).max(1e3).optional(),
2890
2909
  cause: zod.z.string().refine(maxGraphemes(100)).max(1e3).optional(),
2891
2910
  description: zod.z.string().refine(maxGraphemes(5e3)).max(5e4).optional(),
@@ -2895,7 +2914,7 @@ var ProfileVolunteeringRecordSchema = zod.z.object({
2895
2914
  });
2896
2915
 
2897
2916
  // src/index.ts
2898
- var SIFA_SDK_VERSION = "0.11.20";
2917
+ var SIFA_SDK_VERSION = "0.11.22";
2899
2918
 
2900
2919
  exports.ACTIVITY_TIERS = ACTIVITY_TIERS;
2901
2920
  exports.ACTIVITY_VISIBILITY_RULES = ACTIVITY_VISIBILITY_RULES;