@singi-labs/sifa-sdk 0.19.44 → 0.19.46
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.
- package/dist/atproto/index.js +9 -3
- package/dist/atproto/index.js.map +1 -1
- package/dist/badge/index.cjs.map +1 -1
- package/dist/badge/index.js +5 -141
- package/dist/badge/index.js.map +1 -1
- package/dist/cards/adult-content.js +14 -0
- package/dist/cards/adult-content.js.map +1 -0
- package/dist/cards/app-url-patterns.js +369 -0
- package/dist/cards/app-url-patterns.js.map +1 -0
- package/dist/cards/index.js +24 -0
- package/dist/cards/index.js.map +1 -0
- package/dist/cards/resolve-card-url.js +198 -0
- package/dist/cards/resolve-card-url.js.map +1 -0
- package/dist/cards/visibility.js +45 -0
- package/dist/cards/visibility.js.map +1 -0
- package/dist/flags/index.js +4 -3
- package/dist/flags/index.js.map +1 -1
- package/dist/format/collapse-contributors.js +19 -0
- package/dist/format/collapse-contributors.js.map +1 -0
- package/dist/format/company-name.js +61 -0
- package/dist/format/company-name.js.map +1 -0
- package/dist/format/compare-text.js +9 -0
- package/dist/format/compare-text.js.map +1 -0
- package/dist/format/doi.js +8 -0
- package/dist/format/doi.js.map +1 -0
- package/dist/format/embed.js +131 -0
- package/dist/format/embed.js.map +1 -0
- package/dist/format/endorsement-context.js +35 -0
- package/dist/format/endorsement-context.js.map +1 -0
- package/dist/format/format-display-url.js +42 -0
- package/dist/format/format-display-url.js.map +1 -0
- package/dist/format/format-duration.js +13 -0
- package/dist/format/format-duration.js.map +1 -0
- package/dist/format/format-time.js +30 -0
- package/dist/format/format-time.js.map +1 -0
- package/dist/format/handle-utils.js +19 -0
- package/dist/format/handle-utils.js.map +1 -0
- package/dist/format/index.js +106 -0
- package/dist/format/index.js.map +1 -0
- package/dist/format/location-segments.js +29 -0
- package/dist/format/location-segments.js.map +1 -0
- package/dist/format/location-utils.js +42 -0
- package/dist/format/location-utils.js.map +1 -0
- package/dist/format/meta-description.js +35 -0
- package/dist/format/meta-description.js.map +1 -0
- package/dist/format/normalize-company-key.js +12 -0
- package/dist/format/normalize-company-key.js.map +1 -0
- package/dist/format/normalize-legal-form.js +71 -0
- package/dist/format/normalize-legal-form.js.map +1 -0
- package/dist/format/pds-utils.js +73 -0
- package/dist/format/pds-utils.js.map +1 -0
- package/dist/format/sort-by-date.js +39 -0
- package/dist/format/sort-by-date.js.map +1 -0
- package/dist/format/summarize-deliveries.js +37 -0
- package/dist/format/summarize-deliveries.js.map +1 -0
- package/dist/format/talk-slug.js +21 -0
- package/dist/format/talk-slug.js.map +1 -0
- package/dist/format/text-sanitize.js +29 -0
- package/dist/format/text-sanitize.js.map +1 -0
- package/dist/format/text-truncate.js +14 -0
- package/dist/format/text-truncate.js.map +1 -0
- package/dist/format/time-utils.js +19 -0
- package/dist/format/time-utils.js.map +1 -0
- package/dist/format/timeline.js +33 -0
- package/dist/format/timeline.js.map +1 -0
- package/dist/format/wcag-contrast.js +34 -0
- package/dist/format/wcag-contrast.js.map +1 -0
- package/dist/import/index.js +22 -0
- package/dist/import/index.js.map +1 -0
- package/dist/import/presentation-csv.js +116 -0
- package/dist/import/presentation-csv.js.map +1 -0
- package/dist/index.cjs +7 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +8 -1
- package/dist/index.d.ts +8 -1
- package/dist/index.js +677 -7086
- package/dist/index.js.map +1 -1
- package/dist/jev/index.js +18 -5
- package/dist/jev/index.js.map +1 -1
- package/dist/jsonld/index.cjs.map +1 -1
- package/dist/jsonld/index.js +30 -987
- package/dist/jsonld/index.js.map +1 -1
- package/dist/jsonld/profile.js +222 -0
- package/dist/jsonld/profile.js.map +1 -0
- package/dist/jsonld/terms.js +496 -0
- package/dist/jsonld/terms.js.map +1 -0
- package/dist/jsonld/url.js +17 -0
- package/dist/jsonld/url.js.map +1 -0
- package/dist/jsonld/works-graph.js +41 -0
- package/dist/jsonld/works-graph.js.map +1 -0
- package/dist/jsonld/works.js +178 -0
- package/dist/jsonld/works.js.map +1 -0
- package/dist/logic/actor-identity.js +8 -0
- package/dist/logic/actor-identity.js.map +1 -0
- package/dist/logic/agent-ref.js +24 -0
- package/dist/logic/agent-ref.js.map +1 -0
- package/dist/logic/company-page-indexable.js +23 -0
- package/dist/logic/company-page-indexable.js.map +1 -0
- package/dist/logic/date-lookahead.js +33 -0
- package/dist/logic/date-lookahead.js.map +1 -0
- package/dist/logic/domain-detect.js +43 -0
- package/dist/logic/domain-detect.js.map +1 -0
- package/dist/logic/entity-disambiguation.js +24 -0
- package/dist/logic/entity-disambiguation.js.map +1 -0
- package/dist/logic/entity-ref-anchor.js +33 -0
- package/dist/logic/entity-ref-anchor.js.map +1 -0
- package/dist/logic/index.js +91 -0
- package/dist/logic/index.js.map +1 -0
- package/dist/logic/org-floor.js +66 -0
- package/dist/logic/org-floor.js.map +1 -0
- package/dist/logic/primary-item.js +9 -0
- package/dist/logic/primary-item.js.map +1 -0
- package/dist/logic/primary-position.js +16 -0
- package/dist/logic/primary-position.js.map +1 -0
- package/dist/logic/profile-completeness.js +21 -0
- package/dist/logic/profile-completeness.js.map +1 -0
- package/dist/logic/profile-dimensions.js +50 -0
- package/dist/logic/profile-dimensions.js.map +1 -0
- package/dist/logic/profile-summary.js +23 -0
- package/dist/logic/profile-summary.js.map +1 -0
- package/dist/logic/pseudo-employer.js +34 -0
- package/dist/logic/pseudo-employer.js.map +1 -0
- package/dist/logic/recent-activity.js +10 -0
- package/dist/logic/recent-activity.js.map +1 -0
- package/dist/logic/self-app.js +10 -0
- package/dist/logic/self-app.js.map +1 -0
- package/dist/{org-BCrvebcf.d.ts → org-CxTEjjrm.d.ts} +1 -1
- package/dist/{org-settings-C73Sin5E.d.ts → org-settings-BShvhyFp.d.ts} +1 -1
- package/dist/profile/headline-role-dedupe.js +12 -0
- package/dist/profile/headline-role-dedupe.js.map +1 -0
- package/dist/profile/highlights.js +200 -0
- package/dist/profile/highlights.js.map +1 -0
- package/dist/profile/index.js +66 -0
- package/dist/profile/index.js.map +1 -0
- package/dist/profile/involvement-grouping.js +31 -0
- package/dist/profile/involvement-grouping.js.map +1 -0
- package/dist/profile/language-sort.js +24 -0
- package/dist/profile/language-sort.js.map +1 -0
- package/dist/profile/publication-versions.js +98 -0
- package/dist/profile/publication-versions.js.map +1 -0
- package/dist/profile/range-sort.js +14 -0
- package/dist/profile/range-sort.js.map +1 -0
- package/dist/profile/section-model.js +122 -0
- package/dist/profile/section-model.js.map +1 -0
- package/dist/profile/section-sorts.js +33 -0
- package/dist/profile/section-sorts.js.map +1 -0
- package/dist/publishers/index.js +16 -0
- package/dist/publishers/index.js.map +1 -0
- package/dist/publishers/registry.js +87 -0
- package/dist/publishers/registry.js.map +1 -0
- package/dist/publishing/index.js +46 -184
- package/dist/publishing/index.js.map +1 -1
- package/dist/publishing/linkblog.js +42 -0
- package/dist/publishing/linkblog.js.map +1 -0
- package/dist/publishing/registry.js +32 -0
- package/dist/publishing/registry.js.map +1 -0
- package/dist/publishing/schemas.js +74 -0
- package/dist/publishing/schemas.js.map +1 -0
- package/dist/publishing/types.js +32 -0
- package/dist/publishing/types.js.map +1 -0
- package/dist/query/client.js +119 -0
- package/dist/query/client.js.map +1 -0
- package/dist/query/config.js +23 -0
- package/dist/query/config.js.map +1 -0
- package/dist/query/fetchers/accounts.js +29 -0
- package/dist/query/fetchers/accounts.js.map +1 -0
- package/dist/query/fetchers/activity-items-hide.js +31 -0
- package/dist/query/fetchers/activity-items-hide.js.map +1 -0
- package/dist/query/fetchers/activity.js +61 -0
- package/dist/query/fetchers/activity.js.map +1 -0
- package/dist/query/fetchers/actor.js +30 -0
- package/dist/query/fetchers/actor.js.map +1 -0
- package/dist/query/fetchers/admin-feature-allowlists.js +41 -0
- package/dist/query/fetchers/admin-feature-allowlists.js.map +1 -0
- package/dist/query/fetchers/admin-review-queues.js +30 -0
- package/dist/query/fetchers/admin-review-queues.js.map +1 -0
- package/dist/query/fetchers/apps.js +31 -0
- package/dist/query/fetchers/apps.js.map +1 -0
- package/dist/query/fetchers/bsky-preferences.js +55 -0
- package/dist/query/fetchers/bsky-preferences.js.map +1 -0
- package/dist/query/fetchers/confirmations.js +55 -0
- package/dist/query/fetchers/confirmations.js.map +1 -0
- package/dist/query/fetchers/destructive.js +34 -0
- package/dist/query/fetchers/destructive.js.map +1 -0
- package/dist/query/fetchers/discovery.js +67 -0
- package/dist/query/fetchers/discovery.js.map +1 -0
- package/dist/query/fetchers/education.js +23 -0
- package/dist/query/fetchers/education.js.map +1 -0
- package/dist/query/fetchers/endorsement-inbox.js +36 -0
- package/dist/query/fetchers/endorsement-inbox.js.map +1 -0
- package/dist/query/fetchers/endorsement.js +23 -0
- package/dist/query/fetchers/endorsement.js.map +1 -0
- package/dist/query/fetchers/endorsements.js +20 -0
- package/dist/query/fetchers/endorsements.js.map +1 -0
- package/dist/query/fetchers/entities.js +65 -0
- package/dist/query/fetchers/entities.js.map +1 -0
- package/dist/query/fetchers/external-accounts.js +74 -0
- package/dist/query/fetchers/external-accounts.js.map +1 -0
- package/dist/query/fetchers/follow-extras.js +38 -0
- package/dist/query/fetchers/follow-extras.js.map +1 -0
- package/dist/query/fetchers/follow.js +105 -0
- package/dist/query/fetchers/follow.js.map +1 -0
- package/dist/query/fetchers/get-profile-view.js +21 -0
- package/dist/query/fetchers/get-profile-view.js.map +1 -0
- package/dist/query/fetchers/github-prs.js +45 -0
- package/dist/query/fetchers/github-prs.js.map +1 -0
- package/dist/query/fetchers/inbox.js +29 -0
- package/dist/query/fetchers/inbox.js.map +1 -0
- package/dist/query/fetchers/index.cjs.map +1 -1
- package/dist/query/fetchers/index.d.ts +2 -2
- package/dist/query/fetchers/index.js +360 -2045
- package/dist/query/fetchers/index.js.map +1 -1
- package/dist/query/fetchers/investments.js +18 -0
- package/dist/query/fetchers/investments.js.map +1 -0
- package/dist/query/fetchers/keytrace-claims.js +23 -0
- package/dist/query/fetchers/keytrace-claims.js.map +1 -0
- package/dist/query/fetchers/marque-domains.js +23 -0
- package/dist/query/fetchers/marque-domains.js.map +1 -0
- package/dist/query/fetchers/network-map.js +36 -0
- package/dist/query/fetchers/network-map.js.map +1 -0
- package/dist/query/fetchers/org.js +48 -0
- package/dist/query/fetchers/org.js.map +1 -0
- package/dist/query/fetchers/positions.js +77 -0
- package/dist/query/fetchers/positions.js.map +1 -0
- package/dist/query/fetchers/profile-completeness.js +45 -0
- package/dist/query/fetchers/profile-completeness.js.map +1 -0
- package/dist/query/fetchers/profile-items-hide.js +36 -0
- package/dist/query/fetchers/profile-items-hide.js.map +1 -0
- package/dist/query/fetchers/profile-locations.js +23 -0
- package/dist/query/fetchers/profile-locations.js.map +1 -0
- package/dist/query/fetchers/profile-mutations.js +82 -0
- package/dist/query/fetchers/profile-mutations.js.map +1 -0
- package/dist/query/fetchers/profile-summary.js +14 -0
- package/dist/query/fetchers/profile-summary.js.map +1 -0
- package/dist/query/fetchers/profile.js +31 -0
- package/dist/query/fetchers/profile.js.map +1 -0
- package/dist/query/fetchers/publications.js +66 -0
- package/dist/query/fetchers/publications.js.map +1 -0
- package/dist/query/fetchers/quoted-posts.js +40 -0
- package/dist/query/fetchers/quoted-posts.js.map +1 -0
- package/dist/query/fetchers/reactions.js +85 -0
- package/dist/query/fetchers/reactions.js.map +1 -0
- package/dist/query/fetchers/received-endorsements.js +20 -0
- package/dist/query/fetchers/received-endorsements.js.map +1 -0
- package/dist/query/fetchers/reciprocity.js +23 -0
- package/dist/query/fetchers/reciprocity.js.map +1 -0
- package/dist/query/fetchers/records.js +27 -0
- package/dist/query/fetchers/records.js.map +1 -0
- package/dist/query/fetchers/repo-inventory.js +23 -0
- package/dist/query/fetchers/repo-inventory.js.map +1 -0
- package/dist/query/fetchers/roadmap.js +73 -0
- package/dist/query/fetchers/roadmap.js.map +1 -0
- package/dist/query/fetchers/rpg.js +36 -0
- package/dist/query/fetchers/rpg.js.map +1 -0
- package/dist/query/fetchers/search.js +78 -0
- package/dist/query/fetchers/search.js.map +1 -0
- package/dist/query/fetchers/section-primary.js +23 -0
- package/dist/query/fetchers/section-primary.js.map +1 -0
- package/dist/query/fetchers/skills.js +30 -0
- package/dist/query/fetchers/skills.js.map +1 -0
- package/dist/query/fetchers/speakers.js +42 -0
- package/dist/query/fetchers/speakers.js.map +1 -0
- package/dist/query/fetchers/stats.js +16 -0
- package/dist/query/fetchers/stats.js.map +1 -0
- package/dist/query/fetchers/stream.js +30 -0
- package/dist/query/fetchers/stream.js.map +1 -0
- package/dist/query/fetchers/unlinked-positions.js +30 -0
- package/dist/query/fetchers/unlinked-positions.js.map +1 -0
- package/dist/query/hooks/index.d.ts +3 -3
- package/dist/query/hooks/index.js +283 -3555
- package/dist/query/hooks/index.js.map +1 -1
- package/dist/query/hooks/use-accounts.js +19 -0
- package/dist/query/hooks/use-accounts.js.map +1 -0
- package/dist/query/hooks/use-activity-items-hide.js +52 -0
- package/dist/query/hooks/use-activity-items-hide.js.map +1 -0
- package/dist/query/hooks/use-activity.js +44 -0
- package/dist/query/hooks/use-activity.js.map +1 -0
- package/dist/query/hooks/use-admin-review-queues.js +21 -0
- package/dist/query/hooks/use-admin-review-queues.js.map +1 -0
- package/dist/query/hooks/use-apps.js +31 -0
- package/dist/query/hooks/use-apps.js.map +1 -0
- package/dist/query/hooks/use-bsky-content-prefs.js +45 -0
- package/dist/query/hooks/use-bsky-content-prefs.js.map +1 -0
- package/dist/query/hooks/use-confirmations.js +121 -0
- package/dist/query/hooks/use-confirmations.js.map +1 -0
- package/dist/query/hooks/use-create-position.js +28 -0
- package/dist/query/hooks/use-create-position.js.map +1 -0
- package/dist/query/hooks/use-destructive.js +63 -0
- package/dist/query/hooks/use-destructive.js.map +1 -0
- package/dist/query/hooks/use-discovery.js +53 -0
- package/dist/query/hooks/use-discovery.js.map +1 -0
- package/dist/query/hooks/use-education-mutations.js +67 -0
- package/dist/query/hooks/use-education-mutations.js.map +1 -0
- package/dist/query/hooks/use-endorsement-inbox.js +80 -0
- package/dist/query/hooks/use-endorsement-inbox.js.map +1 -0
- package/dist/query/hooks/use-endorsement-mutations.js +33 -0
- package/dist/query/hooks/use-endorsement-mutations.js.map +1 -0
- package/dist/query/hooks/use-endorsement.js +20 -0
- package/dist/query/hooks/use-endorsement.js.map +1 -0
- package/dist/query/hooks/use-entity-search.js +73 -0
- package/dist/query/hooks/use-entity-search.js.map +1 -0
- package/dist/query/hooks/use-external-accounts.js +143 -0
- package/dist/query/hooks/use-external-accounts.js.map +1 -0
- package/dist/query/hooks/use-feature-allowlist.js +104 -0
- package/dist/query/hooks/use-feature-allowlist.js.map +1 -0
- package/dist/query/hooks/use-follow-extras.js +38 -0
- package/dist/query/hooks/use-follow-extras.js.map +1 -0
- package/dist/query/hooks/use-follow.js +113 -0
- package/dist/query/hooks/use-follow.js.map +1 -0
- package/dist/query/hooks/use-get-profile-view.js +20 -0
- package/dist/query/hooks/use-get-profile-view.js.map +1 -0
- package/dist/query/hooks/use-github-prs.js +21 -0
- package/dist/query/hooks/use-github-prs.js.map +1 -0
- package/dist/query/hooks/use-inbox.js +19 -0
- package/dist/query/hooks/use-inbox.js.map +1 -0
- package/dist/query/hooks/use-investment-mutations.js +65 -0
- package/dist/query/hooks/use-investment-mutations.js.map +1 -0
- package/dist/query/hooks/use-keytrace-claims.js +50 -0
- package/dist/query/hooks/use-keytrace-claims.js.map +1 -0
- package/dist/query/hooks/use-location-mutations.js +71 -0
- package/dist/query/hooks/use-location-mutations.js.map +1 -0
- package/dist/query/hooks/use-marque-domains.js +50 -0
- package/dist/query/hooks/use-marque-domains.js.map +1 -0
- package/dist/query/hooks/use-org-claim.js +29 -0
- package/dist/query/hooks/use-org-claim.js.map +1 -0
- package/dist/query/hooks/use-org-domains.js +28 -0
- package/dist/query/hooks/use-org-domains.js.map +1 -0
- package/dist/query/hooks/use-org-notification-emails.js +28 -0
- package/dist/query/hooks/use-org-notification-emails.js.map +1 -0
- package/dist/query/hooks/use-org-profile-settings.js +29 -0
- package/dist/query/hooks/use-org-profile-settings.js.map +1 -0
- package/dist/query/hooks/use-org-profile.js +21 -0
- package/dist/query/hooks/use-org-profile.js.map +1 -0
- package/dist/query/hooks/use-position-mutations.js +128 -0
- package/dist/query/hooks/use-position-mutations.js.map +1 -0
- package/dist/query/hooks/use-profile-completeness.js +21 -0
- package/dist/query/hooks/use-profile-completeness.js.map +1 -0
- package/dist/query/hooks/use-profile-items-hide.js +53 -0
- package/dist/query/hooks/use-profile-items-hide.js.map +1 -0
- package/dist/query/hooks/use-profile-mutations.js +143 -0
- package/dist/query/hooks/use-profile-mutations.js.map +1 -0
- package/dist/query/hooks/use-profile.js +30 -0
- package/dist/query/hooks/use-profile.js.map +1 -0
- package/dist/query/hooks/use-publication-mutations.js +90 -0
- package/dist/query/hooks/use-publication-mutations.js.map +1 -0
- package/dist/query/hooks/use-reaction-mutations.js +48 -0
- package/dist/query/hooks/use-reaction-mutations.js.map +1 -0
- package/dist/query/hooks/use-reactions.js +32 -0
- package/dist/query/hooks/use-reactions.js.map +1 -0
- package/dist/query/hooks/use-received-endorsements.js +23 -0
- package/dist/query/hooks/use-received-endorsements.js.map +1 -0
- package/dist/query/hooks/use-reciprocity.js +19 -0
- package/dist/query/hooks/use-reciprocity.js.map +1 -0
- package/dist/query/hooks/use-record-mutations.js +67 -0
- package/dist/query/hooks/use-record-mutations.js.map +1 -0
- package/dist/query/hooks/use-repo-inventory.js +43 -0
- package/dist/query/hooks/use-repo-inventory.js.map +1 -0
- package/dist/query/hooks/use-roadmap-mutations.js +51 -0
- package/dist/query/hooks/use-roadmap-mutations.js.map +1 -0
- package/dist/query/hooks/use-roadmap.js +31 -0
- package/dist/query/hooks/use-roadmap.js.map +1 -0
- package/dist/query/hooks/use-search.js +63 -0
- package/dist/query/hooks/use-search.js.map +1 -0
- package/dist/query/hooks/use-section-primary-mutations.js +53 -0
- package/dist/query/hooks/use-section-primary-mutations.js.map +1 -0
- package/dist/query/hooks/use-skill-mutations.js +91 -0
- package/dist/query/hooks/use-skill-mutations.js.map +1 -0
- package/dist/query/hooks/use-stats.js +19 -0
- package/dist/query/hooks/use-stats.js.map +1 -0
- package/dist/query/hooks/use-stream.js +20 -0
- package/dist/query/hooks/use-stream.js.map +1 -0
- package/dist/query/hooks/use-unlinked-positions.js +45 -0
- package/dist/query/hooks/use-unlinked-positions.js.map +1 -0
- package/dist/query/index.cjs.map +1 -1
- package/dist/query/index.d.ts +4 -4
- package/dist/query/index.js +685 -3744
- package/dist/query/index.js.map +1 -1
- package/dist/query/keys.js +138 -0
- package/dist/query/keys.js.map +1 -0
- package/dist/repo/groups.js +81 -0
- package/dist/repo/groups.js.map +1 -0
- package/dist/repo/index.js +9 -0
- package/dist/repo/index.js.map +1 -0
- package/dist/repo/labels.js +121 -0
- package/dist/repo/labels.js.map +1 -0
- package/dist/repo/types.js +1 -0
- package/dist/repo/types.js.map +1 -0
- package/dist/resume/index.js +5 -179
- package/dist/resume/index.js.map +1 -1
- package/dist/resume/json-resume.js +153 -0
- package/dist/resume/json-resume.js.map +1 -0
- package/dist/roadmap/index.js +101 -0
- package/dist/roadmap/index.js.map +1 -0
- package/dist/rpg/catalog.js +101 -0
- package/dist/rpg/catalog.js.map +1 -0
- package/dist/rpg/index.js +13 -116
- package/dist/rpg/index.js.map +1 -1
- package/dist/rpg/unlocks.js +21 -0
- package/dist/rpg/unlocks.js.map +1 -0
- package/dist/schemas/blob-ref.js +12 -0
- package/dist/schemas/blob-ref.js.map +1 -0
- package/dist/schemas/confirmation.js +23 -0
- package/dist/schemas/confirmation.js.map +1 -0
- package/dist/schemas/endorsement-confirmation.js +18 -0
- package/dist/schemas/endorsement-confirmation.js.map +1 -0
- package/dist/schemas/endorsement.js +19 -0
- package/dist/schemas/endorsement.js.map +1 -0
- package/dist/schemas/entity.js +74 -0
- package/dist/schemas/entity.js.map +1 -0
- package/dist/schemas/feed.js +73 -0
- package/dist/schemas/feed.js.map +1 -0
- package/dist/schemas/follow-profile.js +32 -0
- package/dist/schemas/follow-profile.js.map +1 -0
- package/dist/schemas/graph-follow.js +19 -0
- package/dist/schemas/graph-follow.js.map +1 -0
- package/dist/schemas/index.js +164 -629
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/org-employment-attestation.js +28 -0
- package/dist/schemas/org-employment-attestation.js.map +1 -0
- package/dist/schemas/org-profile.js +64 -0
- package/dist/schemas/org-profile.js.map +1 -0
- package/dist/schemas/profile-certification.js +28 -0
- package/dist/schemas/profile-certification.js.map +1 -0
- package/dist/schemas/profile-course.js +32 -0
- package/dist/schemas/profile-course.js.map +1 -0
- package/dist/schemas/profile-education.js +33 -0
- package/dist/schemas/profile-education.js.map +1 -0
- package/dist/schemas/profile-external-account.js +15 -0
- package/dist/schemas/profile-external-account.js.map +1 -0
- package/dist/schemas/profile-honor.js +18 -0
- package/dist/schemas/profile-honor.js.map +1 -0
- package/dist/schemas/profile-investment.js +48 -0
- package/dist/schemas/profile-investment.js.map +1 -0
- package/dist/schemas/profile-involvement.js +47 -0
- package/dist/schemas/profile-involvement.js.map +1 -0
- package/dist/schemas/profile-language.js +12 -0
- package/dist/schemas/profile-language.js.map +1 -0
- package/dist/schemas/profile-position.js +42 -0
- package/dist/schemas/profile-position.js.map +1 -0
- package/dist/schemas/profile-presentation-delivery.js +38 -0
- package/dist/schemas/profile-presentation-delivery.js.map +1 -0
- package/dist/schemas/profile-presentation.js +36 -0
- package/dist/schemas/profile-presentation.js.map +1 -0
- package/dist/schemas/profile-project.js +48 -0
- package/dist/schemas/profile-project.js.map +1 -0
- package/dist/schemas/profile-publication.js +30 -0
- package/dist/schemas/profile-publication.js.map +1 -0
- package/dist/schemas/profile-self.js +22 -0
- package/dist/schemas/profile-self.js.map +1 -0
- package/dist/schemas/profile-skill.js +13 -0
- package/dist/schemas/profile-skill.js.map +1 -0
- package/dist/schemas/profile-volunteering.js +20 -0
- package/dist/schemas/profile-volunteering.js.map +1 -0
- package/dist/schemas/shared.js +56 -0
- package/dist/schemas/shared.js.map +1 -0
- package/dist/schemas/write/certification.js +16 -0
- package/dist/schemas/write/certification.js.map +1 -0
- package/dist/schemas/write/course.js +36 -0
- package/dist/schemas/write/course.js.map +1 -0
- package/dist/schemas/write/education.js +18 -0
- package/dist/schemas/write/education.js.map +1 -0
- package/dist/schemas/write/external-account.js +13 -0
- package/dist/schemas/write/external-account.js.map +1 -0
- package/dist/schemas/write/honor.js +14 -0
- package/dist/schemas/write/honor.js.map +1 -0
- package/dist/schemas/write/index.d.ts +1 -1
- package/dist/schemas/write/index.js +89 -593
- package/dist/schemas/write/index.js.map +1 -1
- package/dist/schemas/write/investment.js +32 -0
- package/dist/schemas/write/investment.js.map +1 -0
- package/dist/schemas/write/involvement.js +34 -0
- package/dist/schemas/write/involvement.js.map +1 -0
- package/dist/schemas/write/language.js +10 -0
- package/dist/schemas/write/language.js.map +1 -0
- package/dist/schemas/write/org-claim.js +56 -0
- package/dist/schemas/write/org-claim.js.map +1 -0
- package/dist/schemas/write/org-employment-attestation.js +19 -0
- package/dist/schemas/write/org-employment-attestation.js.map +1 -0
- package/dist/schemas/write/org-profile.js +54 -0
- package/dist/schemas/write/org-profile.js.map +1 -0
- package/dist/schemas/write/org-settings.js +81 -0
- package/dist/schemas/write/org-settings.js.map +1 -0
- package/dist/schemas/write/position.js +24 -0
- package/dist/schemas/write/position.js.map +1 -0
- package/dist/schemas/write/presentation-delivery.js +34 -0
- package/dist/schemas/write/presentation-delivery.js.map +1 -0
- package/dist/schemas/write/presentation.js +23 -0
- package/dist/schemas/write/presentation.js.map +1 -0
- package/dist/schemas/write/profile-location.js +21 -0
- package/dist/schemas/write/profile-location.js.map +1 -0
- package/dist/schemas/write/profile-self.js +27 -0
- package/dist/schemas/write/profile-self.js.map +1 -0
- package/dist/schemas/write/project.js +27 -0
- package/dist/schemas/write/project.js.map +1 -0
- package/dist/schemas/write/publication.js +41 -0
- package/dist/schemas/write/publication.js.map +1 -0
- package/dist/schemas/write/shared.js +96 -0
- package/dist/schemas/write/shared.js.map +1 -0
- package/dist/schemas/write/skill.js +18 -0
- package/dist/schemas/write/skill.js.map +1 -0
- package/dist/schemas/write/volunteering.js +16 -0
- package/dist/schemas/write/volunteering.js.map +1 -0
- package/dist/stream/activity-item.js +1 -0
- package/dist/stream/activity-item.js.map +1 -0
- package/dist/stream/index.js +49 -0
- package/dist/stream/index.js.map +1 -0
- package/dist/stream/stream-card-vm-schema.js +265 -0
- package/dist/stream/stream-card-vm-schema.js.map +1 -0
- package/dist/stream/stream-card-vm.js +1 -0
- package/dist/stream/stream-card-vm.js.map +1 -0
- package/dist/stream/to-stream-card-vm.js +793 -0
- package/dist/stream/to-stream-card-vm.js.map +1 -0
- package/dist/stream/two-tier.js +30 -0
- package/dist/stream/two-tier.js.map +1 -0
- package/dist/stream/verbs.js +120 -0
- package/dist/stream/verbs.js.map +1 -0
- package/dist/taxonomy/activity-tiers.js +956 -0
- package/dist/taxonomy/activity-tiers.js.map +1 -0
- package/dist/taxonomy/app-categories.js +42 -0
- package/dist/taxonomy/app-categories.js.map +1 -0
- package/dist/taxonomy/app-category-map.js +166 -0
- package/dist/taxonomy/app-category-map.js.map +1 -0
- package/dist/taxonomy/artifact-link-kind.js +29 -0
- package/dist/taxonomy/artifact-link-kind.js.map +1 -0
- package/dist/taxonomy/calendar-event.js +28 -0
- package/dist/taxonomy/calendar-event.js.map +1 -0
- package/dist/taxonomy/continents.js +215 -0
- package/dist/taxonomy/continents.js.map +1 -0
- package/dist/taxonomy/countries.js +203 -0
- package/dist/taxonomy/countries.js.map +1 -0
- package/dist/taxonomy/course-role.js +37 -0
- package/dist/taxonomy/course-role.js.map +1 -0
- package/dist/taxonomy/employment-type.js +82 -0
- package/dist/taxonomy/employment-type.js.map +1 -0
- package/dist/taxonomy/eqf-level.js +59 -0
- package/dist/taxonomy/eqf-level.js.map +1 -0
- package/dist/taxonomy/index.js +263 -0
- package/dist/taxonomy/index.js.map +1 -0
- package/dist/taxonomy/industry-taxonomy.js +281 -0
- package/dist/taxonomy/industry-taxonomy.js.map +1 -0
- package/dist/taxonomy/investment.js +54 -0
- package/dist/taxonomy/investment.js.map +1 -0
- package/dist/taxonomy/involvement-kind.js +30 -0
- package/dist/taxonomy/involvement-kind.js.map +1 -0
- package/dist/taxonomy/open-to.js +128 -0
- package/dist/taxonomy/open-to.js.map +1 -0
- package/dist/taxonomy/platforms.js +56 -0
- package/dist/taxonomy/platforms.js.map +1 -0
- package/dist/taxonomy/presentation-link-type.js +22 -0
- package/dist/taxonomy/presentation-link-type.js.map +1 -0
- package/dist/taxonomy/presentation-role.js +21 -0
- package/dist/taxonomy/presentation-role.js.map +1 -0
- package/dist/taxonomy/publication-type.js +54 -0
- package/dist/taxonomy/publication-type.js.map +1 -0
- package/dist/taxonomy/relational.js +25 -0
- package/dist/taxonomy/relational.js.map +1 -0
- package/dist/taxonomy/search-filter-defs.js +66 -0
- package/dist/taxonomy/search-filter-defs.js.map +1 -0
- package/dist/taxonomy/skill-categories.js +28 -0
- package/dist/taxonomy/skill-categories.js.map +1 -0
- package/dist/taxonomy/skill-display-groups.js +12 -0
- package/dist/taxonomy/skill-display-groups.js.map +1 -0
- package/dist/taxonomy/skill-grouping.js +90 -0
- package/dist/taxonomy/skill-grouping.js.map +1 -0
- package/dist/taxonomy/verification-providers.js +69 -0
- package/dist/taxonomy/verification-providers.js.map +1 -0
- package/dist/taxonomy/workplace-type.js +38 -0
- package/dist/taxonomy/workplace-type.js.map +1 -0
- package/dist/tokens/colors.js +11 -0
- package/dist/tokens/colors.js.map +1 -0
- package/dist/tokens/icons.js +15 -0
- package/dist/tokens/icons.js.map +1 -0
- package/dist/tokens/index.js +10 -39
- package/dist/tokens/index.js.map +1 -1
- package/dist/tokens/typography.js +23 -0
- package/dist/tokens/typography.js.map +1 -0
- package/dist/types/index.js +10 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/profile-view.js +1 -0
- package/dist/types/profile-view.js.map +1 -0
- package/dist/{use-org-notification-emails-0hjt-dEw.d.ts → use-org-notification-emails-CWWi1D8t.d.ts} +2 -2
- package/package.json +4 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/schemas/profile-involvement.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport {\n datetimeSchema,\n didSchema,\n externalRecordRefSchema,\n maxGraphemes,\n partialDateSchema,\n selfLabelsSchema,\n uriSchema,\n} from './shared.js';\nimport { projectMemberRefSchema } from './profile-project.js';\n\n/** Collection NSID for involvement records. Pass to the generic record helpers. */\nexport const PROFILE_INVOLVEMENT_NSID = 'id.sifa.profile.involvement';\n\n/**\n * A public artifact proving a piece of work. Mirrors `id.sifa.defs#artifactLink`.\n * `kind` is an open enum (bare-string knownValues), so any string is accepted.\n * `.passthrough()` keeps unknown fields a newer client or co-writer may emit.\n */\nexport const ArtifactLinkSchema = z\n .object({\n url: uriSchema,\n kind: z.string().optional(),\n label: z.string().refine(maxGraphemes(200)).max(2000).optional(),\n })\n .passthrough();\n\nexport type ArtifactLink = z.infer<typeof ArtifactLinkSchema>;\n\n/**\n * Zod schema for `id.sifa.profile.involvement` records.\n *\n * `.passthrough()` (not `.strict()`): external apps (Verak, weareonhire)\n * co-write `id.sifa.*`, so an older SDK must not reject a record carrying a\n * field it doesn't know yet. `kind` is an open enum matching the lexicon's\n * knownValues but accepting any string for the same forward-compat reason.\n */\nexport const ProfileInvolvementRecordSchema = z\n .object({\n kind: z.string(),\n upstream: z.string().refine(maxGraphemes(256)).max(2560).optional(),\n upstreamDid: didSchema.optional(),\n upstreamUrl: uriSchema.optional(),\n role: z.string().refine(maxGraphemes(256)).max(2560).optional(),\n description: z.string().refine(maxGraphemes(5000)).max(50000).optional(),\n startedAt: partialDateSchema.optional(),\n endedAt: partialDateSchema.optional(),\n links: z.array(ArtifactLinkSchema).max(50).optional(),\n // Portable org entity identifier (Wikidata/ROR/LEI URI) from the resolver\n // typeahead, constrained to http(s) so a script scheme is never a valid ref.\n entityRef: z\n .string()\n .url()\n .refine((s) => /^https?:\\/\\//i.test(s), { message: 'entityRef must be an http(s) URL' })\n .max(2048)\n .optional(),\n // community.lexicon.location.address — validated at the app layer.\n location: z.unknown().optional(),\n // id.sifa.defs#skillRef references (at-uri to a skill record in the same repo).\n skills: z\n .array(z.object({ uri: z.string() }))\n .max(50)\n .optional(),\n labels: selfLabelsSchema.optional(),\n collaborators: z.array(projectMemberRefSchema).max(50).optional(),\n sameAs: externalRecordRefSchema.optional(),\n isPrimary: z.boolean().optional(),\n createdAt: datetimeSchema,\n })\n .passthrough();\n\nexport type ProfileInvolvementRecord = z.infer<typeof ProfileInvolvementRecordSchema>;\n"],"mappings":";AAAA,SAAS,SAAS;AAElB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,8BAA8B;AAGhC,IAAM,2BAA2B;AAOjC,IAAM,qBAAqB,EAC/B,OAAO;AAAA,EACN,KAAK;AAAA,EACL,MAAM,EAAE,OAAO,EAAE,SAAS;AAAA,EAC1B,OAAO,EAAE,OAAO,EAAE,OAAO,aAAa,GAAG,CAAC,EAAE,IAAI,GAAI,EAAE,SAAS;AACjE,CAAC,EACA,YAAY;AAYR,IAAM,iCAAiC,EAC3C,OAAO;AAAA,EACN,MAAM,EAAE,OAAO;AAAA,EACf,UAAU,EAAE,OAAO,EAAE,OAAO,aAAa,GAAG,CAAC,EAAE,IAAI,IAAI,EAAE,SAAS;AAAA,EAClE,aAAa,UAAU,SAAS;AAAA,EAChC,aAAa,UAAU,SAAS;AAAA,EAChC,MAAM,EAAE,OAAO,EAAE,OAAO,aAAa,GAAG,CAAC,EAAE,IAAI,IAAI,EAAE,SAAS;AAAA,EAC9D,aAAa,EAAE,OAAO,EAAE,OAAO,aAAa,GAAI,CAAC,EAAE,IAAI,GAAK,EAAE,SAAS;AAAA,EACvE,WAAW,kBAAkB,SAAS;AAAA,EACtC,SAAS,kBAAkB,SAAS;AAAA,EACpC,OAAO,EAAE,MAAM,kBAAkB,EAAE,IAAI,EAAE,EAAE,SAAS;AAAA;AAAA;AAAA,EAGpD,WAAW,EACR,OAAO,EACP,IAAI,EACJ,OAAO,CAAC,MAAM,gBAAgB,KAAK,CAAC,GAAG,EAAE,SAAS,mCAAmC,CAAC,EACtF,IAAI,IAAI,EACR,SAAS;AAAA;AAAA,EAEZ,UAAU,EAAE,QAAQ,EAAE,SAAS;AAAA;AAAA,EAE/B,QAAQ,EACL,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,EACnC,IAAI,EAAE,EACN,SAAS;AAAA,EACZ,QAAQ,iBAAiB,SAAS;AAAA,EAClC,eAAe,EAAE,MAAM,sBAAsB,EAAE,IAAI,EAAE,EAAE,SAAS;AAAA,EAChE,QAAQ,wBAAwB,SAAS;AAAA,EACzC,WAAW,EAAE,QAAQ,EAAE,SAAS;AAAA,EAChC,WAAW;AACb,CAAC,EACA,YAAY;","names":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// src/schemas/profile-language.ts
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { datetimeSchema, maxGraphemes } from "./shared.js";
|
|
4
|
+
var ProfileLanguageRecordSchema = z.object({
|
|
5
|
+
name: z.string().min(1).refine(maxGraphemes(64)).max(640),
|
|
6
|
+
proficiency: z.string().optional(),
|
|
7
|
+
createdAt: datetimeSchema
|
|
8
|
+
});
|
|
9
|
+
export {
|
|
10
|
+
ProfileLanguageRecordSchema
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=profile-language.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/schemas/profile-language.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport { datetimeSchema, maxGraphemes } from './shared.js';\n\n/**\n * Zod schema for `id.sifa.profile.language` records.\n *\n * `proficiency` is advisory (`knownValues` in the lexicon) -- known values\n * are the five-level LinkedIn-compatible scale under `id.sifa.defs#*`.\n */\nexport const ProfileLanguageRecordSchema = z.object({\n name: z.string().min(1).refine(maxGraphemes(64)).max(640),\n proficiency: z.string().optional(),\n createdAt: datetimeSchema,\n});\n\nexport type ProfileLanguageRecord = z.infer<typeof ProfileLanguageRecordSchema>;\n"],"mappings":";AAAA,SAAS,SAAS;AAElB,SAAS,gBAAgB,oBAAoB;AAQtC,IAAM,8BAA8B,EAAE,OAAO;AAAA,EAClD,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,aAAa,EAAE,CAAC,EAAE,IAAI,GAAG;AAAA,EACxD,aAAa,EAAE,OAAO,EAAE,SAAS;AAAA,EACjC,WAAW;AACb,CAAC;","names":[]}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// src/schemas/profile-position.ts
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import {
|
|
4
|
+
datetimeSchema,
|
|
5
|
+
didSchema,
|
|
6
|
+
maxGraphemes,
|
|
7
|
+
partialDateSchema,
|
|
8
|
+
selfLabelsSchema,
|
|
9
|
+
skillRefSchema
|
|
10
|
+
} from "./shared.js";
|
|
11
|
+
var entityRefField = z.string().url().refine((s) => /^https?:\/\//i.test(s), { message: "entityRef must be an http(s) URL" }).max(2048).optional();
|
|
12
|
+
var ProfilePositionRecordSchema = z.object({
|
|
13
|
+
company: z.string().min(1).refine(maxGraphemes(100)).max(1e3).optional(),
|
|
14
|
+
companyDid: didSchema.optional(),
|
|
15
|
+
entityRef: entityRefField,
|
|
16
|
+
title: z.string().min(1).refine(maxGraphemes(100)).max(1e3),
|
|
17
|
+
description: z.string().refine(maxGraphemes(5e3)).max(5e4).optional(),
|
|
18
|
+
employmentType: z.string().optional(),
|
|
19
|
+
// Disclosure that the role is held as someone else's representative -- most often
|
|
20
|
+
// a fund whose board seat this is. Capped at the lexicon's 256 graphemes rather
|
|
21
|
+
// than the tighter limit used for `company`: a schema stricter than the lexicon
|
|
22
|
+
// would reject records other clients can legally write.
|
|
23
|
+
onBehalfOf: z.string().refine(maxGraphemes(256)).max(2560).optional(),
|
|
24
|
+
// May resolve to an organization or to a person (a family-office principal); a DID
|
|
25
|
+
// does not distinguish the two, so this stays permissive.
|
|
26
|
+
onBehalfOfDid: didSchema.optional(),
|
|
27
|
+
onBehalfOfEntityRef: entityRefField,
|
|
28
|
+
workplaceType: z.string().optional(),
|
|
29
|
+
location: z.unknown().optional(),
|
|
30
|
+
startedAt: partialDateSchema,
|
|
31
|
+
endedAt: partialDateSchema.optional(),
|
|
32
|
+
// id.sifa.defs#skillRef -- at-uri only, no cid. Skills are mutable records
|
|
33
|
+
// in the same repo, so the ref resolves live rather than pinning a version.
|
|
34
|
+
skills: z.array(skillRefSchema).max(50).optional(),
|
|
35
|
+
isPrimary: z.boolean().optional(),
|
|
36
|
+
labels: selfLabelsSchema.optional(),
|
|
37
|
+
createdAt: datetimeSchema
|
|
38
|
+
}).passthrough();
|
|
39
|
+
export {
|
|
40
|
+
ProfilePositionRecordSchema
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=profile-position.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/schemas/profile-position.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport {\n datetimeSchema,\n didSchema,\n maxGraphemes,\n partialDateSchema,\n selfLabelsSchema,\n skillRefSchema,\n} from './shared.js';\n\n// Portable org entity identifier (Wikidata/ROR/LEI URI) from the typeahead.\n// Constrained to http(s) so a script-bearing scheme is never a valid ref (#159).\n// Shared by the two entity references on a position so the scheme check cannot\n// drift between them.\nconst entityRefField = z\n .string()\n .url()\n .refine((s) => /^https?:\\/\\//i.test(s), { message: 'entityRef must be an http(s) URL' })\n .max(2048)\n .optional();\n\n/** Zod schema for `id.sifa.profile.position` records. */\nexport const ProfilePositionRecordSchema = z\n .object({\n company: z.string().min(1).refine(maxGraphemes(100)).max(1000).optional(),\n companyDid: didSchema.optional(),\n entityRef: entityRefField,\n title: z.string().min(1).refine(maxGraphemes(100)).max(1000),\n description: z.string().refine(maxGraphemes(5000)).max(50000).optional(),\n employmentType: z.string().optional(),\n // Disclosure that the role is held as someone else's representative -- most often\n // a fund whose board seat this is. Capped at the lexicon's 256 graphemes rather\n // than the tighter limit used for `company`: a schema stricter than the lexicon\n // would reject records other clients can legally write.\n onBehalfOf: z.string().refine(maxGraphemes(256)).max(2560).optional(),\n // May resolve to an organization or to a person (a family-office principal); a DID\n // does not distinguish the two, so this stays permissive.\n onBehalfOfDid: didSchema.optional(),\n onBehalfOfEntityRef: entityRefField,\n workplaceType: z.string().optional(),\n location: z.unknown().optional(),\n startedAt: partialDateSchema,\n endedAt: partialDateSchema.optional(),\n // id.sifa.defs#skillRef -- at-uri only, no cid. Skills are mutable records\n // in the same repo, so the ref resolves live rather than pinning a version.\n skills: z.array(skillRefSchema).max(50).optional(),\n isPrimary: z.boolean().optional(),\n labels: selfLabelsSchema.optional(),\n createdAt: datetimeSchema,\n })\n .passthrough();\n\nexport type ProfilePositionRecord = z.infer<typeof ProfilePositionRecordSchema>;\n"],"mappings":";AAAA,SAAS,SAAS;AAElB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAMP,IAAM,iBAAiB,EACpB,OAAO,EACP,IAAI,EACJ,OAAO,CAAC,MAAM,gBAAgB,KAAK,CAAC,GAAG,EAAE,SAAS,mCAAmC,CAAC,EACtF,IAAI,IAAI,EACR,SAAS;AAGL,IAAM,8BAA8B,EACxC,OAAO;AAAA,EACN,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,aAAa,GAAG,CAAC,EAAE,IAAI,GAAI,EAAE,SAAS;AAAA,EACxE,YAAY,UAAU,SAAS;AAAA,EAC/B,WAAW;AAAA,EACX,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,aAAa,GAAG,CAAC,EAAE,IAAI,GAAI;AAAA,EAC3D,aAAa,EAAE,OAAO,EAAE,OAAO,aAAa,GAAI,CAAC,EAAE,IAAI,GAAK,EAAE,SAAS;AAAA,EACvE,gBAAgB,EAAE,OAAO,EAAE,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,EAKpC,YAAY,EAAE,OAAO,EAAE,OAAO,aAAa,GAAG,CAAC,EAAE,IAAI,IAAI,EAAE,SAAS;AAAA;AAAA;AAAA,EAGpE,eAAe,UAAU,SAAS;AAAA,EAClC,qBAAqB;AAAA,EACrB,eAAe,EAAE,OAAO,EAAE,SAAS;AAAA,EACnC,UAAU,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC/B,WAAW;AAAA,EACX,SAAS,kBAAkB,SAAS;AAAA;AAAA;AAAA,EAGpC,QAAQ,EAAE,MAAM,cAAc,EAAE,IAAI,EAAE,EAAE,SAAS;AAAA,EACjD,WAAW,EAAE,QAAQ,EAAE,SAAS;AAAA,EAChC,QAAQ,iBAAiB,SAAS;AAAA,EAClC,WAAW;AACb,CAAC,EACA,YAAY;","names":[]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
// src/schemas/profile-presentation-delivery.ts
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { PresentationLinkSchema } from "./profile-presentation.js";
|
|
4
|
+
import { datetimeSchema, externalRecordRefSchema, maxGraphemes } from "./shared.js";
|
|
5
|
+
var communityAddressSchema = z.object({
|
|
6
|
+
country: z.string().optional(),
|
|
7
|
+
postalCode: z.string().optional(),
|
|
8
|
+
region: z.string().optional(),
|
|
9
|
+
locality: z.string().optional(),
|
|
10
|
+
street: z.string().optional(),
|
|
11
|
+
name: z.string().optional()
|
|
12
|
+
});
|
|
13
|
+
var ProfilePresentationDeliveryRecordSchema = z.object({
|
|
14
|
+
// Optional reference to the id.sifa.profile.presentation delivered here.
|
|
15
|
+
presentationRef: externalRecordRefSchema.optional(),
|
|
16
|
+
// Fallback title used when there is no presentationRef.
|
|
17
|
+
title: z.string().refine(maxGraphemes(300)).max(3e3).optional(),
|
|
18
|
+
role: z.string().refine(maxGraphemes(64)).max(640).optional(),
|
|
19
|
+
eventName: z.string().refine(maxGraphemes(300)).max(3e3).optional(),
|
|
20
|
+
// Calendar date as YYYY-MM-DD, or YYYY-MM / YYYY when the exact day is unknown.
|
|
21
|
+
date: z.string().regex(/^\d{4}(-\d{2}(-\d{2})?)?$/, "date must be YYYY, YYYY-MM or YYYY-MM-DD").optional(),
|
|
22
|
+
location: z.string().refine(maxGraphemes(256)).max(2560).optional(),
|
|
23
|
+
// Structured community.lexicon.location.address for the occasion. The
|
|
24
|
+
// free-text `location` string above stays as a legacy fallback.
|
|
25
|
+
address: communityAddressSchema.optional(),
|
|
26
|
+
mode: z.string().optional(),
|
|
27
|
+
status: z.string().optional(),
|
|
28
|
+
links: z.array(PresentationLinkSchema).max(20).optional(),
|
|
29
|
+
// Optional reference to a community.lexicon.calendar.event for this occasion.
|
|
30
|
+
eventRef: externalRecordRefSchema.optional(),
|
|
31
|
+
// DIDs of co-speakers who presented alongside the author at this occasion.
|
|
32
|
+
coSpeakers: z.array(z.string().regex(/^did:[a-z]+:[^\s]+$/, "must be a DID")).max(20).optional(),
|
|
33
|
+
createdAt: datetimeSchema
|
|
34
|
+
});
|
|
35
|
+
export {
|
|
36
|
+
ProfilePresentationDeliveryRecordSchema
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=profile-presentation-delivery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/schemas/profile-presentation-delivery.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport { PresentationLinkSchema } from './profile-presentation.js';\nimport { datetimeSchema, externalRecordRefSchema, maxGraphemes } from './shared.js';\n\n/**\n * Structured address for a delivery occasion. Mirrors\n * `community.lexicon.location.address` (all fields optional).\n */\nconst communityAddressSchema = z.object({\n country: z.string().optional(),\n postalCode: z.string().optional(),\n region: z.string().optional(),\n locality: z.string().optional(),\n street: z.string().optional(),\n name: z.string().optional(),\n});\n\n/**\n * Zod schema for `id.sifa.profile.presentationDelivery` records (one occasion\n * on which a presentation was delivered). Works standalone or linked to a\n * presentation and/or a calendar event. `role`, `mode`, and `status` are open\n * enums (knownValues); `mode`/`status` store the full\n * `community.lexicon.calendar.event` token.\n */\nexport const ProfilePresentationDeliveryRecordSchema = z.object({\n // Optional reference to the id.sifa.profile.presentation delivered here.\n presentationRef: externalRecordRefSchema.optional(),\n // Fallback title used when there is no presentationRef.\n title: z.string().refine(maxGraphemes(300)).max(3000).optional(),\n role: z.string().refine(maxGraphemes(64)).max(640).optional(),\n eventName: z.string().refine(maxGraphemes(300)).max(3000).optional(),\n // Calendar date as YYYY-MM-DD, or YYYY-MM / YYYY when the exact day is unknown.\n date: z\n .string()\n .regex(/^\\d{4}(-\\d{2}(-\\d{2})?)?$/, 'date must be YYYY, YYYY-MM or YYYY-MM-DD')\n .optional(),\n location: z.string().refine(maxGraphemes(256)).max(2560).optional(),\n // Structured community.lexicon.location.address for the occasion. The\n // free-text `location` string above stays as a legacy fallback.\n address: communityAddressSchema.optional(),\n mode: z.string().optional(),\n status: z.string().optional(),\n links: z.array(PresentationLinkSchema).max(20).optional(),\n // Optional reference to a community.lexicon.calendar.event for this occasion.\n eventRef: externalRecordRefSchema.optional(),\n // DIDs of co-speakers who presented alongside the author at this occasion.\n coSpeakers: z\n .array(z.string().regex(/^did:[a-z]+:[^\\s]+$/, 'must be a DID'))\n .max(20)\n .optional(),\n createdAt: datetimeSchema,\n});\n\nexport type ProfilePresentationDeliveryRecord = z.infer<\n typeof ProfilePresentationDeliveryRecordSchema\n>;\n"],"mappings":";AAAA,SAAS,SAAS;AAElB,SAAS,8BAA8B;AACvC,SAAS,gBAAgB,yBAAyB,oBAAoB;AAMtE,IAAM,yBAAyB,EAAE,OAAO;AAAA,EACtC,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,EAChC,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,UAAU,EAAE,OAAO,EAAE,SAAS;AAAA,EAC9B,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,MAAM,EAAE,OAAO,EAAE,SAAS;AAC5B,CAAC;AASM,IAAM,0CAA0C,EAAE,OAAO;AAAA;AAAA,EAE9D,iBAAiB,wBAAwB,SAAS;AAAA;AAAA,EAElD,OAAO,EAAE,OAAO,EAAE,OAAO,aAAa,GAAG,CAAC,EAAE,IAAI,GAAI,EAAE,SAAS;AAAA,EAC/D,MAAM,EAAE,OAAO,EAAE,OAAO,aAAa,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,SAAS;AAAA,EAC5D,WAAW,EAAE,OAAO,EAAE,OAAO,aAAa,GAAG,CAAC,EAAE,IAAI,GAAI,EAAE,SAAS;AAAA;AAAA,EAEnE,MAAM,EACH,OAAO,EACP,MAAM,6BAA6B,0CAA0C,EAC7E,SAAS;AAAA,EACZ,UAAU,EAAE,OAAO,EAAE,OAAO,aAAa,GAAG,CAAC,EAAE,IAAI,IAAI,EAAE,SAAS;AAAA;AAAA;AAAA,EAGlE,SAAS,uBAAuB,SAAS;AAAA,EACzC,MAAM,EAAE,OAAO,EAAE,SAAS;AAAA,EAC1B,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,OAAO,EAAE,MAAM,sBAAsB,EAAE,IAAI,EAAE,EAAE,SAAS;AAAA;AAAA,EAExD,UAAU,wBAAwB,SAAS;AAAA;AAAA,EAE3C,YAAY,EACT,MAAM,EAAE,OAAO,EAAE,MAAM,uBAAuB,eAAe,CAAC,EAC9D,IAAI,EAAE,EACN,SAAS;AAAA,EACZ,WAAW;AACb,CAAC;","names":[]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// src/schemas/profile-presentation.ts
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { BlobRefSchema } from "./blob-ref.js";
|
|
4
|
+
import { datetimeSchema, externalRecordRefSchema, maxGraphemes, uriSchema } from "./shared.js";
|
|
5
|
+
var PresentationDurationSchema = z.object({
|
|
6
|
+
minMinutes: z.number().int().min(1),
|
|
7
|
+
maxMinutes: z.number().int().min(1).optional()
|
|
8
|
+
}).refine((d) => d.maxMinutes === void 0 || d.maxMinutes >= d.minMinutes, {
|
|
9
|
+
message: "maxMinutes must be greater than or equal to minMinutes",
|
|
10
|
+
path: ["maxMinutes"]
|
|
11
|
+
});
|
|
12
|
+
var PresentationLinkSchema = z.object({
|
|
13
|
+
uri: uriSchema,
|
|
14
|
+
label: z.string().refine(maxGraphemes(64)).max(640).optional(),
|
|
15
|
+
type: z.string().optional()
|
|
16
|
+
});
|
|
17
|
+
var ProfilePresentationRecordSchema = z.object({
|
|
18
|
+
title: z.string().min(1).refine(maxGraphemes(300)).max(3e3),
|
|
19
|
+
description: z.string().refine(maxGraphemes(5e3)).max(5e4).optional(),
|
|
20
|
+
duration: PresentationDurationSchema.optional(),
|
|
21
|
+
intendedAudiences: z.array(z.string().refine(maxGraphemes(100)).max(1e3)).max(20).optional(),
|
|
22
|
+
links: z.array(PresentationLinkSchema).max(20).optional(),
|
|
23
|
+
// Optional reference to a long-form write-up (pub.leaflet.document or
|
|
24
|
+
// site.standard.document). Plain at-uri + optional cid so it tracks edits.
|
|
25
|
+
writeupRef: externalRecordRefSchema.optional(),
|
|
26
|
+
// Optional uploaded cover image for the talk page.
|
|
27
|
+
coverImage: BlobRefSchema.optional(),
|
|
28
|
+
isPrimary: z.boolean().optional(),
|
|
29
|
+
createdAt: datetimeSchema
|
|
30
|
+
});
|
|
31
|
+
export {
|
|
32
|
+
PresentationDurationSchema,
|
|
33
|
+
PresentationLinkSchema,
|
|
34
|
+
ProfilePresentationRecordSchema
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=profile-presentation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/schemas/profile-presentation.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport { BlobRefSchema } from './blob-ref.js';\nimport { datetimeSchema, externalRecordRefSchema, maxGraphemes, uriSchema } from './shared.js';\n\n/**\n * Duration of a presentation, in minutes. Mirrors\n * `id.sifa.profile.presentation#duration`: a fixed length (minMinutes only) or\n * a range (minMinutes to maxMinutes).\n */\nexport const PresentationDurationSchema = z\n .object({\n minMinutes: z.number().int().min(1),\n maxMinutes: z.number().int().min(1).optional(),\n })\n .refine((d) => d.maxMinutes === undefined || d.maxMinutes >= d.minMinutes, {\n message: 'maxMinutes must be greater than or equal to minMinutes',\n path: ['maxMinutes'],\n });\n\nexport type PresentationDuration = z.infer<typeof PresentationDurationSchema>;\n\n/**\n * A related link for a presentation or one of its deliveries. Mirrors\n * `id.sifa.defs#presentationLink`. `type` is an open enum (knownValues), so any\n * string is accepted.\n */\nexport const PresentationLinkSchema = z.object({\n uri: uriSchema,\n label: z.string().refine(maxGraphemes(64)).max(640).optional(),\n type: z.string().optional(),\n});\n\nexport type PresentationLink = z.infer<typeof PresentationLinkSchema>;\n\n/** Zod schema for `id.sifa.profile.presentation` records (the reusable content). */\nexport const ProfilePresentationRecordSchema = z.object({\n title: z.string().min(1).refine(maxGraphemes(300)).max(3000),\n description: z.string().refine(maxGraphemes(5000)).max(50000).optional(),\n duration: PresentationDurationSchema.optional(),\n intendedAudiences: z\n .array(z.string().refine(maxGraphemes(100)).max(1000))\n .max(20)\n .optional(),\n links: z.array(PresentationLinkSchema).max(20).optional(),\n // Optional reference to a long-form write-up (pub.leaflet.document or\n // site.standard.document). Plain at-uri + optional cid so it tracks edits.\n writeupRef: externalRecordRefSchema.optional(),\n // Optional uploaded cover image for the talk page.\n coverImage: BlobRefSchema.optional(),\n isPrimary: z.boolean().optional(),\n createdAt: datetimeSchema,\n});\n\nexport type ProfilePresentationRecord = z.infer<typeof ProfilePresentationRecordSchema>;\n"],"mappings":";AAAA,SAAS,SAAS;AAElB,SAAS,qBAAqB;AAC9B,SAAS,gBAAgB,yBAAyB,cAAc,iBAAiB;AAO1E,IAAM,6BAA6B,EACvC,OAAO;AAAA,EACN,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC;AAAA,EAClC,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,SAAS;AAC/C,CAAC,EACA,OAAO,CAAC,MAAM,EAAE,eAAe,UAAa,EAAE,cAAc,EAAE,YAAY;AAAA,EACzE,SAAS;AAAA,EACT,MAAM,CAAC,YAAY;AACrB,CAAC;AASI,IAAM,yBAAyB,EAAE,OAAO;AAAA,EAC7C,KAAK;AAAA,EACL,OAAO,EAAE,OAAO,EAAE,OAAO,aAAa,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,SAAS;AAAA,EAC7D,MAAM,EAAE,OAAO,EAAE,SAAS;AAC5B,CAAC;AAKM,IAAM,kCAAkC,EAAE,OAAO;AAAA,EACtD,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,aAAa,GAAG,CAAC,EAAE,IAAI,GAAI;AAAA,EAC3D,aAAa,EAAE,OAAO,EAAE,OAAO,aAAa,GAAI,CAAC,EAAE,IAAI,GAAK,EAAE,SAAS;AAAA,EACvE,UAAU,2BAA2B,SAAS;AAAA,EAC9C,mBAAmB,EAChB,MAAM,EAAE,OAAO,EAAE,OAAO,aAAa,GAAG,CAAC,EAAE,IAAI,GAAI,CAAC,EACpD,IAAI,EAAE,EACN,SAAS;AAAA,EACZ,OAAO,EAAE,MAAM,sBAAsB,EAAE,IAAI,EAAE,EAAE,SAAS;AAAA;AAAA;AAAA,EAGxD,YAAY,wBAAwB,SAAS;AAAA;AAAA,EAE7C,YAAY,cAAc,SAAS;AAAA,EACnC,WAAW,EAAE,QAAQ,EAAE,SAAS;AAAA,EAChC,WAAW;AACb,CAAC;","names":[]}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
// src/schemas/profile-project.ts
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import {
|
|
4
|
+
datetimeSchema,
|
|
5
|
+
didSchema,
|
|
6
|
+
maxGraphemes,
|
|
7
|
+
partialDateSchema,
|
|
8
|
+
externalRecordRefSchema,
|
|
9
|
+
selfLabelsSchema,
|
|
10
|
+
strongRefSchema,
|
|
11
|
+
uriSchema
|
|
12
|
+
} from "./shared.js";
|
|
13
|
+
var projectMemberRefSchema = z.object({
|
|
14
|
+
did: didSchema,
|
|
15
|
+
role: z.string().optional(),
|
|
16
|
+
title: z.string().refine(maxGraphemes(128)).max(1280).optional()
|
|
17
|
+
});
|
|
18
|
+
var ProfileProjectRecordSchema = z.object({
|
|
19
|
+
name: z.string().min(1).refine(maxGraphemes(256)).max(2560),
|
|
20
|
+
// The user's own role on the project (#596), e.g. Maintainer.
|
|
21
|
+
role: z.string().refine(maxGraphemes(256)).max(2560).optional(),
|
|
22
|
+
description: z.string().refine(maxGraphemes(5e3)).max(5e4).optional(),
|
|
23
|
+
url: uriSchema.optional(),
|
|
24
|
+
members: z.array(projectMemberRefSchema).max(50).optional(),
|
|
25
|
+
/**
|
|
26
|
+
* The canonical `id.sifa.project.self` this personal entry corresponds to.
|
|
27
|
+
* A composition link. For the same project recorded on someone else's
|
|
28
|
+
* profile, see `sameAs`.
|
|
29
|
+
*/
|
|
30
|
+
projectRef: strongRefSchema.optional(),
|
|
31
|
+
/**
|
|
32
|
+
* The same project as recorded on another person's profile. Each side stays
|
|
33
|
+
* its own record; this only says the two describe one thing. Resolves by
|
|
34
|
+
* AT-URI, since they will keep editing their copy.
|
|
35
|
+
*/
|
|
36
|
+
sameAs: externalRecordRefSchema.optional(),
|
|
37
|
+
position: strongRefSchema.optional(),
|
|
38
|
+
startedAt: partialDateSchema.optional(),
|
|
39
|
+
endedAt: partialDateSchema.optional(),
|
|
40
|
+
labels: selfLabelsSchema.optional(),
|
|
41
|
+
isPrimary: z.boolean().optional(),
|
|
42
|
+
createdAt: datetimeSchema
|
|
43
|
+
});
|
|
44
|
+
export {
|
|
45
|
+
ProfileProjectRecordSchema,
|
|
46
|
+
projectMemberRefSchema
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=profile-project.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/schemas/profile-project.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport {\n datetimeSchema,\n didSchema,\n maxGraphemes,\n partialDateSchema,\n externalRecordRefSchema,\n selfLabelsSchema,\n strongRefSchema,\n uriSchema,\n} from './shared.js';\n\n/**\n * A person named as a member of a project. Mirrors `id.sifa.defs#projectMemberRef`.\n *\n * A claim by the record author, not a fact: the named person carries a display\n * name, avatar, and profile link only once they publish a matching\n * `id.sifa.confirmation`. `role` is display only, since a record living in\n * someone else's repository cannot grant write access to anything.\n */\nexport const projectMemberRefSchema = z.object({\n did: didSchema,\n role: z.string().optional(),\n title: z.string().refine(maxGraphemes(128)).max(1280).optional(),\n});\n\nexport type ProjectMemberRef = z.infer<typeof projectMemberRefSchema>;\n\n/** Zod schema for `id.sifa.profile.project` records. */\nexport const ProfileProjectRecordSchema = z.object({\n name: z.string().min(1).refine(maxGraphemes(256)).max(2560),\n // The user's own role on the project (#596), e.g. Maintainer.\n role: z.string().refine(maxGraphemes(256)).max(2560).optional(),\n description: z.string().refine(maxGraphemes(5000)).max(50000).optional(),\n url: uriSchema.optional(),\n members: z.array(projectMemberRefSchema).max(50).optional(),\n /**\n * The canonical `id.sifa.project.self` this personal entry corresponds to.\n * A composition link. For the same project recorded on someone else's\n * profile, see `sameAs`.\n */\n projectRef: strongRefSchema.optional(),\n /**\n * The same project as recorded on another person's profile. Each side stays\n * its own record; this only says the two describe one thing. Resolves by\n * AT-URI, since they will keep editing their copy.\n */\n sameAs: externalRecordRefSchema.optional(),\n position: strongRefSchema.optional(),\n startedAt: partialDateSchema.optional(),\n endedAt: partialDateSchema.optional(),\n labels: selfLabelsSchema.optional(),\n isPrimary: z.boolean().optional(),\n createdAt: datetimeSchema,\n});\n\nexport type ProfileProjectRecord = z.infer<typeof ProfileProjectRecordSchema>;\n"],"mappings":";AAAA,SAAS,SAAS;AAElB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAUA,IAAM,yBAAyB,EAAE,OAAO;AAAA,EAC7C,KAAK;AAAA,EACL,MAAM,EAAE,OAAO,EAAE,SAAS;AAAA,EAC1B,OAAO,EAAE,OAAO,EAAE,OAAO,aAAa,GAAG,CAAC,EAAE,IAAI,IAAI,EAAE,SAAS;AACjE,CAAC;AAKM,IAAM,6BAA6B,EAAE,OAAO;AAAA,EACjD,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,aAAa,GAAG,CAAC,EAAE,IAAI,IAAI;AAAA;AAAA,EAE1D,MAAM,EAAE,OAAO,EAAE,OAAO,aAAa,GAAG,CAAC,EAAE,IAAI,IAAI,EAAE,SAAS;AAAA,EAC9D,aAAa,EAAE,OAAO,EAAE,OAAO,aAAa,GAAI,CAAC,EAAE,IAAI,GAAK,EAAE,SAAS;AAAA,EACvE,KAAK,UAAU,SAAS;AAAA,EACxB,SAAS,EAAE,MAAM,sBAAsB,EAAE,IAAI,EAAE,EAAE,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM1D,YAAY,gBAAgB,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMrC,QAAQ,wBAAwB,SAAS;AAAA,EACzC,UAAU,gBAAgB,SAAS;AAAA,EACnC,WAAW,kBAAkB,SAAS;AAAA,EACtC,SAAS,kBAAkB,SAAS;AAAA,EACpC,QAAQ,iBAAiB,SAAS;AAAA,EAClC,WAAW,EAAE,QAAQ,EAAE,SAAS;AAAA,EAChC,WAAW;AACb,CAAC;","names":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// src/schemas/profile-publication.ts
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { datetimeSchema, didSchema, maxGraphemes, partialDateSchema, uriSchema } from "./shared.js";
|
|
4
|
+
var PublicationAuthorSchema = z.object({
|
|
5
|
+
name: z.string().min(1).refine(maxGraphemes(100)).max(1e3),
|
|
6
|
+
did: didSchema.optional()
|
|
7
|
+
});
|
|
8
|
+
var RelatedIdentifierSchema = z.object({
|
|
9
|
+
identifier: z.string().min(1).max(2048),
|
|
10
|
+
identifierType: z.string().max(32).optional(),
|
|
11
|
+
relationType: z.string().min(1).max(64)
|
|
12
|
+
});
|
|
13
|
+
var ProfilePublicationRecordSchema = z.object({
|
|
14
|
+
title: z.string().min(1).refine(maxGraphemes(200)).max(2e3),
|
|
15
|
+
subtitle: z.string().refine(maxGraphemes(200)).max(2e3).optional(),
|
|
16
|
+
publisher: z.string().refine(maxGraphemes(100)).max(1e3).optional(),
|
|
17
|
+
url: uriSchema.optional(),
|
|
18
|
+
description: z.string().refine(maxGraphemes(5e3)).max(5e4).optional(),
|
|
19
|
+
authors: z.array(PublicationAuthorSchema).max(50).optional(),
|
|
20
|
+
relatedIdentifiers: z.array(RelatedIdentifierSchema).max(20).optional(),
|
|
21
|
+
publishedAt: partialDateSchema.optional(),
|
|
22
|
+
isPrimary: z.boolean().optional(),
|
|
23
|
+
createdAt: datetimeSchema
|
|
24
|
+
});
|
|
25
|
+
export {
|
|
26
|
+
ProfilePublicationRecordSchema,
|
|
27
|
+
PublicationAuthorSchema,
|
|
28
|
+
RelatedIdentifierSchema
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=profile-publication.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/schemas/profile-publication.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport { datetimeSchema, didSchema, maxGraphemes, partialDateSchema, uriSchema } from './shared.js';\n\n/** Author shape from `id.sifa.profile.publication#author`. */\nexport const PublicationAuthorSchema = z.object({\n name: z.string().min(1).refine(maxGraphemes(100)).max(1000),\n did: didSchema.optional(),\n});\n\nexport type PublicationAuthor = z.infer<typeof PublicationAuthorSchema>;\n\n/** `id.sifa.defs#relatedIdentifier`: a typed link to another version of the work (#590). */\nexport const RelatedIdentifierSchema = z.object({\n identifier: z.string().min(1).max(2048),\n identifierType: z.string().max(32).optional(),\n relationType: z.string().min(1).max(64),\n});\n\n/** Zod schema for `id.sifa.profile.publication` records. */\nexport const ProfilePublicationRecordSchema = z.object({\n title: z.string().min(1).refine(maxGraphemes(200)).max(2000),\n subtitle: z.string().refine(maxGraphemes(200)).max(2000).optional(),\n publisher: z.string().refine(maxGraphemes(100)).max(1000).optional(),\n url: uriSchema.optional(),\n description: z.string().refine(maxGraphemes(5000)).max(50000).optional(),\n authors: z.array(PublicationAuthorSchema).max(50).optional(),\n relatedIdentifiers: z.array(RelatedIdentifierSchema).max(20).optional(),\n publishedAt: partialDateSchema.optional(),\n isPrimary: z.boolean().optional(),\n createdAt: datetimeSchema,\n});\n\nexport type ProfilePublicationRecord = z.infer<typeof ProfilePublicationRecordSchema>;\n"],"mappings":";AAAA,SAAS,SAAS;AAElB,SAAS,gBAAgB,WAAW,cAAc,mBAAmB,iBAAiB;AAG/E,IAAM,0BAA0B,EAAE,OAAO;AAAA,EAC9C,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,aAAa,GAAG,CAAC,EAAE,IAAI,GAAI;AAAA,EAC1D,KAAK,UAAU,SAAS;AAC1B,CAAC;AAKM,IAAM,0BAA0B,EAAE,OAAO;AAAA,EAC9C,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI;AAAA,EACtC,gBAAgB,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,SAAS;AAAA,EAC5C,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE;AACxC,CAAC;AAGM,IAAM,iCAAiC,EAAE,OAAO;AAAA,EACrD,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,aAAa,GAAG,CAAC,EAAE,IAAI,GAAI;AAAA,EAC3D,UAAU,EAAE,OAAO,EAAE,OAAO,aAAa,GAAG,CAAC,EAAE,IAAI,GAAI,EAAE,SAAS;AAAA,EAClE,WAAW,EAAE,OAAO,EAAE,OAAO,aAAa,GAAG,CAAC,EAAE,IAAI,GAAI,EAAE,SAAS;AAAA,EACnE,KAAK,UAAU,SAAS;AAAA,EACxB,aAAa,EAAE,OAAO,EAAE,OAAO,aAAa,GAAI,CAAC,EAAE,IAAI,GAAK,EAAE,SAAS;AAAA,EACvE,SAAS,EAAE,MAAM,uBAAuB,EAAE,IAAI,EAAE,EAAE,SAAS;AAAA,EAC3D,oBAAoB,EAAE,MAAM,uBAAuB,EAAE,IAAI,EAAE,EAAE,SAAS;AAAA,EACtE,aAAa,kBAAkB,SAAS;AAAA,EACxC,WAAW,EAAE,QAAQ,EAAE,SAAS;AAAA,EAChC,WAAW;AACb,CAAC;","names":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// src/schemas/profile-self.ts
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { datetimeSchema, languageTagSchema, maxGraphemes, selfLabelsSchema } from "./shared.js";
|
|
4
|
+
var ProfileSelfRecordSchema = z.object({
|
|
5
|
+
headline: z.string().refine(maxGraphemes(120)).max(1200).optional(),
|
|
6
|
+
about: z.string().refine(maxGraphemes(5e3)).max(5e4).optional(),
|
|
7
|
+
industry: z.string().refine(maxGraphemes(100)).max(1e3).optional(),
|
|
8
|
+
givenName: z.string().refine(maxGraphemes(64)).max(640).optional(),
|
|
9
|
+
familyName: z.string().refine(maxGraphemes(64)).max(640).optional(),
|
|
10
|
+
namePronunciation: z.string().refine(maxGraphemes(64)).max(640).optional(),
|
|
11
|
+
location: z.unknown().optional(),
|
|
12
|
+
openTo: z.array(z.string()).max(10).optional(),
|
|
13
|
+
preferredWorkplace: z.array(z.string()).max(3).optional(),
|
|
14
|
+
langs: z.array(languageTagSchema).max(3).optional(),
|
|
15
|
+
labels: selfLabelsSchema.optional(),
|
|
16
|
+
discoverable: z.boolean().optional(),
|
|
17
|
+
createdAt: datetimeSchema
|
|
18
|
+
});
|
|
19
|
+
export {
|
|
20
|
+
ProfileSelfRecordSchema
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=profile-self.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/schemas/profile-self.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport { datetimeSchema, languageTagSchema, maxGraphemes, selfLabelsSchema } from './shared.js';\n\n/**\n * Zod schema for `id.sifa.profile.self` records. Singleton (record key `self`).\n *\n * `knownValues` on `openTo` and `preferredWorkplace` are advisory per the\n * lexicon spec -- unknown values are allowed, but documented options live\n * under the `id.sifa.defs#*` namespace.\n */\nexport const ProfileSelfRecordSchema = z.object({\n headline: z.string().refine(maxGraphemes(120)).max(1200).optional(),\n about: z.string().refine(maxGraphemes(5000)).max(50000).optional(),\n industry: z.string().refine(maxGraphemes(100)).max(1000).optional(),\n givenName: z.string().refine(maxGraphemes(64)).max(640).optional(),\n familyName: z.string().refine(maxGraphemes(64)).max(640).optional(),\n namePronunciation: z.string().refine(maxGraphemes(64)).max(640).optional(),\n location: z.unknown().optional(),\n openTo: z.array(z.string()).max(10).optional(),\n preferredWorkplace: z.array(z.string()).max(3).optional(),\n langs: z.array(languageTagSchema).max(3).optional(),\n labels: selfLabelsSchema.optional(),\n discoverable: z.boolean().optional(),\n createdAt: datetimeSchema,\n});\n\nexport type ProfileSelfRecord = z.infer<typeof ProfileSelfRecordSchema>;\n"],"mappings":";AAAA,SAAS,SAAS;AAElB,SAAS,gBAAgB,mBAAmB,cAAc,wBAAwB;AAS3E,IAAM,0BAA0B,EAAE,OAAO;AAAA,EAC9C,UAAU,EAAE,OAAO,EAAE,OAAO,aAAa,GAAG,CAAC,EAAE,IAAI,IAAI,EAAE,SAAS;AAAA,EAClE,OAAO,EAAE,OAAO,EAAE,OAAO,aAAa,GAAI,CAAC,EAAE,IAAI,GAAK,EAAE,SAAS;AAAA,EACjE,UAAU,EAAE,OAAO,EAAE,OAAO,aAAa,GAAG,CAAC,EAAE,IAAI,GAAI,EAAE,SAAS;AAAA,EAClE,WAAW,EAAE,OAAO,EAAE,OAAO,aAAa,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,SAAS;AAAA,EACjE,YAAY,EAAE,OAAO,EAAE,OAAO,aAAa,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,SAAS;AAAA,EAClE,mBAAmB,EAAE,OAAO,EAAE,OAAO,aAAa,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,SAAS;AAAA,EACzE,UAAU,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC/B,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS;AAAA,EAC7C,oBAAoB,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA,EACxD,OAAO,EAAE,MAAM,iBAAiB,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA,EAClD,QAAQ,iBAAiB,SAAS;AAAA,EAClC,cAAc,EAAE,QAAQ,EAAE,SAAS;AAAA,EACnC,WAAW;AACb,CAAC;","names":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// src/schemas/profile-skill.ts
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { datetimeSchema, maxGraphemes } from "./shared.js";
|
|
4
|
+
var ProfileSkillRecordSchema = z.object({
|
|
5
|
+
name: z.string().min(1).refine(maxGraphemes(64)).max(640),
|
|
6
|
+
category: z.string().optional(),
|
|
7
|
+
subCategory: z.string().refine(maxGraphemes(64)).max(640).optional(),
|
|
8
|
+
createdAt: datetimeSchema
|
|
9
|
+
});
|
|
10
|
+
export {
|
|
11
|
+
ProfileSkillRecordSchema
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=profile-skill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/schemas/profile-skill.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport { datetimeSchema, maxGraphemes } from './shared.js';\n\n/**\n * Zod schema for `id.sifa.profile.skill` records.\n *\n * `category` is advisory (`knownValues` in the lexicon) -- known values live\n * under `id.sifa.defs#*` but unknown values are accepted. `subCategory` is a\n * freeform user-defined grouping label nested under `category` (no known\n * values); renderers decide its display label.\n */\nexport const ProfileSkillRecordSchema = z.object({\n name: z.string().min(1).refine(maxGraphemes(64)).max(640),\n category: z.string().optional(),\n subCategory: z.string().refine(maxGraphemes(64)).max(640).optional(),\n createdAt: datetimeSchema,\n});\n\nexport type ProfileSkillRecord = z.infer<typeof ProfileSkillRecordSchema>;\n"],"mappings":";AAAA,SAAS,SAAS;AAElB,SAAS,gBAAgB,oBAAoB;AAUtC,IAAM,2BAA2B,EAAE,OAAO;AAAA,EAC/C,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,aAAa,EAAE,CAAC,EAAE,IAAI,GAAG;AAAA,EACxD,UAAU,EAAE,OAAO,EAAE,SAAS;AAAA,EAC9B,aAAa,EAAE,OAAO,EAAE,OAAO,aAAa,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,SAAS;AAAA,EACnE,WAAW;AACb,CAAC;","names":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// src/schemas/profile-volunteering.ts
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { datetimeSchema, didSchema, maxGraphemes, partialDateSchema } from "./shared.js";
|
|
4
|
+
var ProfileVolunteeringRecordSchema = z.object({
|
|
5
|
+
organization: z.string().min(1).refine(maxGraphemes(100)).max(1e3),
|
|
6
|
+
organizationDid: didSchema.optional(),
|
|
7
|
+
// Portable org entity identifier (Wikidata/ROR/LEI URI) from the typeahead.
|
|
8
|
+
// Constrained to http(s) so a script-bearing scheme is never a valid ref (#159).
|
|
9
|
+
entityRef: z.string().url().refine((s) => /^https?:\/\//i.test(s), { message: "entityRef must be an http(s) URL" }).max(2048).optional(),
|
|
10
|
+
role: z.string().refine(maxGraphemes(100)).max(1e3).optional(),
|
|
11
|
+
cause: z.string().refine(maxGraphemes(100)).max(1e3).optional(),
|
|
12
|
+
description: z.string().refine(maxGraphemes(5e3)).max(5e4).optional(),
|
|
13
|
+
startedAt: partialDateSchema.optional(),
|
|
14
|
+
endedAt: partialDateSchema.optional(),
|
|
15
|
+
createdAt: datetimeSchema
|
|
16
|
+
});
|
|
17
|
+
export {
|
|
18
|
+
ProfileVolunteeringRecordSchema
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=profile-volunteering.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/schemas/profile-volunteering.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport { datetimeSchema, didSchema, maxGraphemes, partialDateSchema } from './shared.js';\n\n/** Zod schema for `id.sifa.profile.volunteering` records. */\nexport const ProfileVolunteeringRecordSchema = z.object({\n organization: z.string().min(1).refine(maxGraphemes(100)).max(1000),\n organizationDid: didSchema.optional(),\n // Portable org entity identifier (Wikidata/ROR/LEI URI) from the typeahead.\n // Constrained to http(s) so a script-bearing scheme is never a valid ref (#159).\n entityRef: z\n .string()\n .url()\n .refine((s) => /^https?:\\/\\//i.test(s), { message: 'entityRef must be an http(s) URL' })\n .max(2048)\n .optional(),\n role: z.string().refine(maxGraphemes(100)).max(1000).optional(),\n cause: z.string().refine(maxGraphemes(100)).max(1000).optional(),\n description: z.string().refine(maxGraphemes(5000)).max(50000).optional(),\n startedAt: partialDateSchema.optional(),\n endedAt: partialDateSchema.optional(),\n createdAt: datetimeSchema,\n});\n\nexport type ProfileVolunteeringRecord = z.infer<typeof ProfileVolunteeringRecordSchema>;\n"],"mappings":";AAAA,SAAS,SAAS;AAElB,SAAS,gBAAgB,WAAW,cAAc,yBAAyB;AAGpE,IAAM,kCAAkC,EAAE,OAAO;AAAA,EACtD,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,aAAa,GAAG,CAAC,EAAE,IAAI,GAAI;AAAA,EAClE,iBAAiB,UAAU,SAAS;AAAA;AAAA;AAAA,EAGpC,WAAW,EACR,OAAO,EACP,IAAI,EACJ,OAAO,CAAC,MAAM,gBAAgB,KAAK,CAAC,GAAG,EAAE,SAAS,mCAAmC,CAAC,EACtF,IAAI,IAAI,EACR,SAAS;AAAA,EACZ,MAAM,EAAE,OAAO,EAAE,OAAO,aAAa,GAAG,CAAC,EAAE,IAAI,GAAI,EAAE,SAAS;AAAA,EAC9D,OAAO,EAAE,OAAO,EAAE,OAAO,aAAa,GAAG,CAAC,EAAE,IAAI,GAAI,EAAE,SAAS;AAAA,EAC/D,aAAa,EAAE,OAAO,EAAE,OAAO,aAAa,GAAI,CAAC,EAAE,IAAI,GAAK,EAAE,SAAS;AAAA,EACvE,WAAW,kBAAkB,SAAS;AAAA,EACtC,SAAS,kBAAkB,SAAS;AAAA,EACpC,WAAW;AACb,CAAC;","names":[]}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
// src/schemas/shared.ts
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
function maxGraphemes(max) {
|
|
4
|
+
return (value) => {
|
|
5
|
+
const segmenter = new Intl.Segmenter(void 0, { granularity: "grapheme" });
|
|
6
|
+
let count = 0;
|
|
7
|
+
for (const _ of segmenter.segment(value)) {
|
|
8
|
+
count++;
|
|
9
|
+
if (count > max) return false;
|
|
10
|
+
}
|
|
11
|
+
return true;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
var didSchema = z.string().regex(/^did:[a-z]+:[a-zA-Z0-9._:%-]+$/, "Invalid DID");
|
|
15
|
+
var datetimeSchema = z.string().datetime({ offset: true });
|
|
16
|
+
var partialDateSchema = z.string().regex(/^\d{4}(-\d{2}(-\d{2}(T.+)?)?)?$/, "Expected YYYY, YYYY-MM, YYYY-MM-DD, or a datetime");
|
|
17
|
+
var atUriSchema = z.string().regex(/^at:\/\/[^\s]+$/, "Invalid AT-URI");
|
|
18
|
+
var cidSchema = z.string().regex(/^(Qm[1-9A-HJ-NP-Za-km-z]{44}|b[A-Za-z0-9+/=]+)$/, "Invalid CID");
|
|
19
|
+
var languageTagSchema = z.string().regex(/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/, "Invalid BCP 47 language tag");
|
|
20
|
+
var uriSchema = z.string().url();
|
|
21
|
+
var strongRefSchema = z.object({
|
|
22
|
+
uri: atUriSchema,
|
|
23
|
+
cid: cidSchema
|
|
24
|
+
});
|
|
25
|
+
var skillRefSchema = z.object({
|
|
26
|
+
uri: atUriSchema
|
|
27
|
+
});
|
|
28
|
+
var externalRecordRefSchema = z.object({
|
|
29
|
+
uri: atUriSchema,
|
|
30
|
+
cid: cidSchema.optional()
|
|
31
|
+
});
|
|
32
|
+
var agentRefSchema = z.object({
|
|
33
|
+
name: z.string().min(1).refine(maxGraphemes(256)).max(2560),
|
|
34
|
+
did: didSchema.optional(),
|
|
35
|
+
entityRef: uriSchema.optional()
|
|
36
|
+
}).passthrough();
|
|
37
|
+
var selfLabelsSchema = z.object({
|
|
38
|
+
$type: z.literal("com.atproto.label.defs#selfLabels").optional(),
|
|
39
|
+
values: z.array(z.object({ val: z.string() }))
|
|
40
|
+
});
|
|
41
|
+
export {
|
|
42
|
+
agentRefSchema,
|
|
43
|
+
atUriSchema,
|
|
44
|
+
cidSchema,
|
|
45
|
+
datetimeSchema,
|
|
46
|
+
didSchema,
|
|
47
|
+
externalRecordRefSchema,
|
|
48
|
+
languageTagSchema,
|
|
49
|
+
maxGraphemes,
|
|
50
|
+
partialDateSchema,
|
|
51
|
+
selfLabelsSchema,
|
|
52
|
+
skillRefSchema,
|
|
53
|
+
strongRefSchema,
|
|
54
|
+
uriSchema
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/schemas/shared.ts"],"sourcesContent":["import { z } from 'zod';\n\n/**\n * Grapheme-aware refinement matching the AT Protocol lexicon `maxGraphemes`\n * constraint. JS strings are sequences of UTF-16 code units, but lexicon\n * `maxGraphemes` counts user-perceived characters (grapheme clusters), so\n * emoji sequences, regional indicators, ZWJ joins, and combining marks all\n * count as one unit each. We use `Intl.Segmenter` to enforce this correctly.\n */\nexport function maxGraphemes(max: number) {\n return (value: string): boolean => {\n const segmenter = new Intl.Segmenter(undefined, { granularity: 'grapheme' });\n let count = 0;\n for (const _ of segmenter.segment(value)) {\n count++;\n if (count > max) return false;\n }\n return true;\n };\n}\n\n/** Decentralized identifier, AT Protocol `format: did`. */\nexport const didSchema = z.string().regex(/^did:[a-z]+:[a-zA-Z0-9._:%-]+$/, 'Invalid DID');\n\n/** RFC 3339 datetime with timezone offset, AT Protocol `format: datetime`. */\nexport const datetimeSchema = z.string().datetime({ offset: true });\n\n/**\n * Freeform calendar date for user-facing profile dates (start/end, issued,\n * completed, awarded, published, etc.). Accepts a bare year, year-month,\n * year-month-day, or a full datetime (so a legacy record's RFC-3339 date maps\n * through on backfill without loss). NOT strict `datetime` -- users typically\n * remember only month/year, and LinkedIn-importer writes carry partial dates,\n * so the lexicons document these as freeform `YYYY-MM` / `YYYY-MM-DD`. Record\n * metadata like `createdAt` stays on `datetimeSchema`.\n */\nexport const partialDateSchema = z\n .string()\n .regex(/^\\d{4}(-\\d{2}(-\\d{2}(T.+)?)?)?$/, 'Expected YYYY, YYYY-MM, YYYY-MM-DD, or a datetime');\n\n/** Generic AT-URI, AT Protocol `format: at-uri`. */\nexport const atUriSchema = z.string().regex(/^at:\\/\\/[^\\s]+$/, 'Invalid AT-URI');\n\n/** Content identifier, AT Protocol `format: cid`. Loose validation -- accepts CIDv0 and CIDv1. */\nexport const cidSchema = z\n .string()\n .regex(/^(Qm[1-9A-HJ-NP-Za-km-z]{44}|b[A-Za-z0-9+/=]+)$/, 'Invalid CID');\n\n/** BCP 47 language tag, AT Protocol `format: language`. */\nexport const languageTagSchema = z\n .string()\n .regex(/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/, 'Invalid BCP 47 language tag');\n\n/** Generic URI, AT Protocol `format: uri`. */\nexport const uriSchema = z.string().url();\n\n/**\n * StrongRef shape from `com.atproto.repo.strongRef` -- pins a record by both\n * AT-URI (identity) and CID (version).\n */\nexport const strongRefSchema = z.object({\n uri: atUriSchema,\n cid: cidSchema,\n});\n\n/**\n * Reference to an `id.sifa.profile.skill` record by AT-URI. Mirrors\n * `id.sifa.defs#skillRef`, which carries no CID at all: skills are mutable\n * records in the same user's repo, so the reference resolves live and tracks\n * edits to the target.\n */\nexport const skillRefSchema = z.object({\n uri: atUriSchema,\n});\n\n/**\n * Reference to a record by AT-URI, with an optional CID. Mirrors\n * `id.sifa.defs#externalRecordRef`. Unlike a strongRef the CID is optional:\n * consumers resolve the AT-URI live so the reference tracks edits to the\n * target, and the CID is a best-effort integrity hint only.\n */\nexport const externalRecordRefSchema = z.object({\n uri: atUriSchema,\n cid: cidSchema.optional(),\n});\n\n/**\n * Shared reference to an organization or person named by a record. Mirrors\n * `id.sifa.defs#agentRef`. `name` is a point-in-time snapshot label captured\n * when the record was saved; `did` and `entityRef` are the durable identity and\n * should be resolved live. `name` is required so an empty object cannot validate\n * as a no-op. `.passthrough()` (not `.strict()`): external apps may emit fields a\n * newer schema will define, and dropping them on a round-trip would silently\n * lose data.\n */\nexport const agentRefSchema = z\n .object({\n name: z.string().min(1).refine(maxGraphemes(256)).max(2560),\n did: didSchema.optional(),\n entityRef: uriSchema.optional(),\n })\n .passthrough();\n\nexport type AgentRef = z.infer<typeof agentRefSchema>;\n\n/**\n * Self-labels shape from `com.atproto.label.defs#selfLabels`. Modelled\n * permissively because clients rarely construct this directly; the AppView\n * handles label validation.\n */\nexport const selfLabelsSchema = z.object({\n $type: z.literal('com.atproto.label.defs#selfLabels').optional(),\n values: z.array(z.object({ val: z.string() })),\n});\n"],"mappings":";AAAA,SAAS,SAAS;AASX,SAAS,aAAa,KAAa;AACxC,SAAO,CAAC,UAA2B;AACjC,UAAM,YAAY,IAAI,KAAK,UAAU,QAAW,EAAE,aAAa,WAAW,CAAC;AAC3E,QAAI,QAAQ;AACZ,eAAW,KAAK,UAAU,QAAQ,KAAK,GAAG;AACxC;AACA,UAAI,QAAQ,IAAK,QAAO;AAAA,IAC1B;AACA,WAAO;AAAA,EACT;AACF;AAGO,IAAM,YAAY,EAAE,OAAO,EAAE,MAAM,kCAAkC,aAAa;AAGlF,IAAM,iBAAiB,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,KAAK,CAAC;AAW3D,IAAM,oBAAoB,EAC9B,OAAO,EACP,MAAM,mCAAmC,mDAAmD;AAGxF,IAAM,cAAc,EAAE,OAAO,EAAE,MAAM,mBAAmB,gBAAgB;AAGxE,IAAM,YAAY,EACtB,OAAO,EACP,MAAM,mDAAmD,aAAa;AAGlE,IAAM,oBAAoB,EAC9B,OAAO,EACP,MAAM,uCAAuC,6BAA6B;AAGtE,IAAM,YAAY,EAAE,OAAO,EAAE,IAAI;AAMjC,IAAM,kBAAkB,EAAE,OAAO;AAAA,EACtC,KAAK;AAAA,EACL,KAAK;AACP,CAAC;AAQM,IAAM,iBAAiB,EAAE,OAAO;AAAA,EACrC,KAAK;AACP,CAAC;AAQM,IAAM,0BAA0B,EAAE,OAAO;AAAA,EAC9C,KAAK;AAAA,EACL,KAAK,UAAU,SAAS;AAC1B,CAAC;AAWM,IAAM,iBAAiB,EAC3B,OAAO;AAAA,EACN,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,aAAa,GAAG,CAAC,EAAE,IAAI,IAAI;AAAA,EAC1D,KAAK,UAAU,SAAS;AAAA,EACxB,WAAW,UAAU,SAAS;AAChC,CAAC,EACA,YAAY;AASR,IAAM,mBAAmB,EAAE,OAAO;AAAA,EACvC,OAAO,EAAE,QAAQ,mCAAmC,EAAE,SAAS;AAAA,EAC/D,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;AAC/C,CAAC;","names":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// src/schemas/write/certification.ts
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { entityRefSchema, optionalUrl } from "./shared.js";
|
|
4
|
+
var CertificationWriteSchema = z.object({
|
|
5
|
+
name: z.string().min(1).max(256),
|
|
6
|
+
authority: z.string().max(256).nullable().optional(),
|
|
7
|
+
entityRef: entityRefSchema,
|
|
8
|
+
credentialId: z.string().max(256).nullable().optional(),
|
|
9
|
+
credentialUrl: optionalUrl(),
|
|
10
|
+
issuedAt: z.string().nullable().optional(),
|
|
11
|
+
expiresAt: z.string().nullable().optional()
|
|
12
|
+
});
|
|
13
|
+
export {
|
|
14
|
+
CertificationWriteSchema
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=certification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/schemas/write/certification.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport { entityRefSchema, optionalUrl } from './shared.js';\n\n/** Schema enforced by the generic-record write endpoint for `id.sifa.profile.certification`. */\nexport const CertificationWriteSchema = z.object({\n name: z.string().min(1).max(256),\n authority: z.string().max(256).nullable().optional(),\n entityRef: entityRefSchema,\n credentialId: z.string().max(256).nullable().optional(),\n credentialUrl: optionalUrl(),\n issuedAt: z.string().nullable().optional(),\n expiresAt: z.string().nullable().optional(),\n});\n\nexport type CertificationWriteInput = z.infer<typeof CertificationWriteSchema>;\n"],"mappings":";AAAA,SAAS,SAAS;AAElB,SAAS,iBAAiB,mBAAmB;AAGtC,IAAM,2BAA2B,EAAE,OAAO;AAAA,EAC/C,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EAC/B,WAAW,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,SAAS,EAAE,SAAS;AAAA,EACnD,WAAW;AAAA,EACX,cAAc,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,SAAS,EAAE,SAAS;AAAA,EACtD,eAAe,YAAY;AAAA,EAC3B,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,EACzC,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAC5C,CAAC;","names":[]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// src/schemas/write/course.ts
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { entityRefSchema, isValidPartialDate } from "./shared.js";
|
|
4
|
+
var AT_URI_RE = /^at:\/\/[^/\s]+\/[^/\s]+\/[^/\s]+$/;
|
|
5
|
+
var teachingDate = z.string().refine(isValidPartialDate, "must be a valid YYYY, YYYY-MM or YYYY-MM-DD date").nullable().optional();
|
|
6
|
+
var CourseWriteSchema = z.object({
|
|
7
|
+
name: z.string().min(1).max(200),
|
|
8
|
+
number: z.string().max(50).nullable().optional(),
|
|
9
|
+
institution: z.string().max(256).nullable().optional(),
|
|
10
|
+
entityRef: entityRefSchema,
|
|
11
|
+
/**
|
|
12
|
+
* at-uri of the linked `id.sifa.profile.certification` record. Structurally
|
|
13
|
+
* validated (`at://authority/collection/rkey`) so a bad value can't be
|
|
14
|
+
* stored and later split into a bogus rkey.
|
|
15
|
+
*/
|
|
16
|
+
credential: z.string().max(512).regex(AT_URI_RE, "must be an at-uri").nullable().optional(),
|
|
17
|
+
/**
|
|
18
|
+
* RFC 3339 datetime the course was completed. The editor collects month
|
|
19
|
+
* granularity (YYYY-MM) and converts to a datetime before the write; stored
|
|
20
|
+
* and passed through as-is, mirroring `certification.issuedAt`.
|
|
21
|
+
*/
|
|
22
|
+
completedAt: z.string().nullable().optional(),
|
|
23
|
+
/** `id.sifa.defs#courseRole` token. Absent or null means the user took the course. */
|
|
24
|
+
role: z.string().max(64).nullable().optional(),
|
|
25
|
+
/** Teaching period of a taught or assisted course (YYYY, YYYY-MM or YYYY-MM-DD). */
|
|
26
|
+
startedAt: teachingDate,
|
|
27
|
+
endedAt: teachingDate,
|
|
28
|
+
/** at-uri of the `id.sifa.profile.position` the course was part of (taken or taught). */
|
|
29
|
+
position: z.string().max(512).regex(AT_URI_RE, "must be an at-uri").nullable().optional(),
|
|
30
|
+
/** at-uri of the `id.sifa.profile.education` the course was part of. */
|
|
31
|
+
education: z.string().max(512).regex(AT_URI_RE, "must be an at-uri").nullable().optional()
|
|
32
|
+
});
|
|
33
|
+
export {
|
|
34
|
+
CourseWriteSchema
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=course.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/schemas/write/course.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport { entityRefSchema, isValidPartialDate } from './shared.js';\n\nconst AT_URI_RE = /^at:\\/\\/[^/\\s]+\\/[^/\\s]+\\/[^/\\s]+$/;\nconst teachingDate = z\n .string()\n .refine(isValidPartialDate, 'must be a valid YYYY, YYYY-MM or YYYY-MM-DD date')\n .nullable()\n .optional();\n\n/** Schema enforced by the generic-record write endpoint for `id.sifa.profile.course`. */\nexport const CourseWriteSchema = z.object({\n name: z.string().min(1).max(200),\n number: z.string().max(50).nullable().optional(),\n institution: z.string().max(256).nullable().optional(),\n entityRef: entityRefSchema,\n /**\n * at-uri of the linked `id.sifa.profile.certification` record. Structurally\n * validated (`at://authority/collection/rkey`) so a bad value can't be\n * stored and later split into a bogus rkey.\n */\n credential: z.string().max(512).regex(AT_URI_RE, 'must be an at-uri').nullable().optional(),\n /**\n * RFC 3339 datetime the course was completed. The editor collects month\n * granularity (YYYY-MM) and converts to a datetime before the write; stored\n * and passed through as-is, mirroring `certification.issuedAt`.\n */\n completedAt: z.string().nullable().optional(),\n /** `id.sifa.defs#courseRole` token. Absent or null means the user took the course. */\n role: z.string().max(64).nullable().optional(),\n /** Teaching period of a taught or assisted course (YYYY, YYYY-MM or YYYY-MM-DD). */\n startedAt: teachingDate,\n endedAt: teachingDate,\n /** at-uri of the `id.sifa.profile.position` the course was part of (taken or taught). */\n position: z.string().max(512).regex(AT_URI_RE, 'must be an at-uri').nullable().optional(),\n /** at-uri of the `id.sifa.profile.education` the course was part of. */\n education: z.string().max(512).regex(AT_URI_RE, 'must be an at-uri').nullable().optional(),\n});\n\nexport type CourseWriteInput = z.infer<typeof CourseWriteSchema>;\n"],"mappings":";AAAA,SAAS,SAAS;AAElB,SAAS,iBAAiB,0BAA0B;AAEpD,IAAM,YAAY;AAClB,IAAM,eAAe,EAClB,OAAO,EACP,OAAO,oBAAoB,kDAAkD,EAC7E,SAAS,EACT,SAAS;AAGL,IAAM,oBAAoB,EAAE,OAAO;AAAA,EACxC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EAC/B,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS;AAAA,EAC/C,aAAa,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,SAAS,EAAE,SAAS;AAAA,EACrD,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMX,YAAY,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,MAAM,WAAW,mBAAmB,EAAE,SAAS,EAAE,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM1F,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA;AAAA,EAE5C,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS;AAAA;AAAA,EAE7C,WAAW;AAAA,EACX,SAAS;AAAA;AAAA,EAET,UAAU,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,MAAM,WAAW,mBAAmB,EAAE,SAAS,EAAE,SAAS;AAAA;AAAA,EAExF,WAAW,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,MAAM,WAAW,mBAAmB,EAAE,SAAS,EAAE,SAAS;AAC3F,CAAC;","names":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// src/schemas/write/education.ts
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { entityRefSchema } from "./shared.js";
|
|
4
|
+
var EducationWriteSchema = z.object({
|
|
5
|
+
institution: z.string().min(1).max(256),
|
|
6
|
+
entityRef: entityRefSchema,
|
|
7
|
+
degree: z.string().max(256).nullable().optional(),
|
|
8
|
+
fieldOfStudy: z.string().max(256).nullable().optional(),
|
|
9
|
+
eqfLevel: z.number().int().min(1).max(8).nullable().optional(),
|
|
10
|
+
description: z.string().max(5e4).nullable().optional(),
|
|
11
|
+
activities: z.string().max(1e3).nullable().optional(),
|
|
12
|
+
startedAt: z.string().nullable().optional(),
|
|
13
|
+
endedAt: z.string().nullable().optional()
|
|
14
|
+
});
|
|
15
|
+
export {
|
|
16
|
+
EducationWriteSchema
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=education.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/schemas/write/education.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport { entityRefSchema } from './shared.js';\n\n/** Schema enforced by `POST /profile/education` on sifa-api. */\nexport const EducationWriteSchema = z.object({\n institution: z.string().min(1).max(256),\n entityRef: entityRefSchema,\n degree: z.string().max(256).nullable().optional(),\n fieldOfStudy: z.string().max(256).nullable().optional(),\n eqfLevel: z.number().int().min(1).max(8).nullable().optional(),\n description: z.string().max(50000).nullable().optional(),\n activities: z.string().max(1000).nullable().optional(),\n startedAt: z.string().nullable().optional(),\n endedAt: z.string().nullable().optional(),\n});\n\nexport type EducationWriteInput = z.infer<typeof EducationWriteSchema>;\n"],"mappings":";AAAA,SAAS,SAAS;AAElB,SAAS,uBAAuB;AAGzB,IAAM,uBAAuB,EAAE,OAAO;AAAA,EAC3C,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EACtC,WAAW;AAAA,EACX,QAAQ,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,SAAS,EAAE,SAAS;AAAA,EAChD,cAAc,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,SAAS,EAAE,SAAS;AAAA,EACtD,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS;AAAA,EAC7D,aAAa,EAAE,OAAO,EAAE,IAAI,GAAK,EAAE,SAAS,EAAE,SAAS;AAAA,EACvD,YAAY,EAAE,OAAO,EAAE,IAAI,GAAI,EAAE,SAAS,EAAE,SAAS;AAAA,EACrD,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,EAC1C,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAC1C,CAAC;","names":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// src/schemas/write/external-account.ts
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { VALID_PLATFORMS, normalizeUrl } from "./shared.js";
|
|
4
|
+
var ExternalAccountWriteSchema = z.object({
|
|
5
|
+
platform: z.enum(VALID_PLATFORMS),
|
|
6
|
+
url: z.string().max(2e3).transform(normalizeUrl).pipe(z.string().url()),
|
|
7
|
+
label: z.string().max(100).optional(),
|
|
8
|
+
feedUrl: z.string().max(2e3).transform(normalizeUrl).pipe(z.string().url()).optional()
|
|
9
|
+
});
|
|
10
|
+
export {
|
|
11
|
+
ExternalAccountWriteSchema
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=external-account.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/schemas/write/external-account.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport { VALID_PLATFORMS, normalizeUrl } from './shared.js';\n\n/** Schema enforced by `POST /external-accounts` on sifa-api. */\nexport const ExternalAccountWriteSchema = z.object({\n platform: z.enum(VALID_PLATFORMS),\n url: z.string().max(2000).transform(normalizeUrl).pipe(z.string().url()),\n label: z.string().max(100).optional(),\n feedUrl: z.string().max(2000).transform(normalizeUrl).pipe(z.string().url()).optional(),\n});\n\nexport type ExternalAccountWriteInput = z.infer<typeof ExternalAccountWriteSchema>;\n"],"mappings":";AAAA,SAAS,SAAS;AAElB,SAAS,iBAAiB,oBAAoB;AAGvC,IAAM,6BAA6B,EAAE,OAAO;AAAA,EACjD,UAAU,EAAE,KAAK,eAAe;AAAA,EAChC,KAAK,EAAE,OAAO,EAAE,IAAI,GAAI,EAAE,UAAU,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACvE,OAAO,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,SAAS;AAAA,EACpC,SAAS,EAAE,OAAO,EAAE,IAAI,GAAI,EAAE,UAAU,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,SAAS;AACxF,CAAC;","names":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// src/schemas/write/honor.ts
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { entityRefSchema } from "./shared.js";
|
|
4
|
+
var HonorWriteSchema = z.object({
|
|
5
|
+
title: z.string().min(1).max(200),
|
|
6
|
+
issuer: z.string().max(256).nullable().optional(),
|
|
7
|
+
entityRef: entityRefSchema,
|
|
8
|
+
description: z.string().max(5e4).nullable().optional(),
|
|
9
|
+
awardedAt: z.string().nullable().optional()
|
|
10
|
+
});
|
|
11
|
+
export {
|
|
12
|
+
HonorWriteSchema
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=honor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/schemas/write/honor.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport { entityRefSchema } from './shared.js';\n\n/** Schema enforced by the generic-record write endpoint for `id.sifa.profile.honor`. */\nexport const HonorWriteSchema = z.object({\n title: z.string().min(1).max(200),\n issuer: z.string().max(256).nullable().optional(),\n entityRef: entityRefSchema,\n description: z.string().max(50000).nullable().optional(),\n awardedAt: z.string().nullable().optional(),\n});\n\nexport type HonorWriteInput = z.infer<typeof HonorWriteSchema>;\n"],"mappings":";AAAA,SAAS,SAAS;AAElB,SAAS,uBAAuB;AAGzB,IAAM,mBAAmB,EAAE,OAAO;AAAA,EACvC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EAChC,QAAQ,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,SAAS,EAAE,SAAS;AAAA,EAChD,WAAW;AAAA,EACX,aAAa,EAAE,OAAO,EAAE,IAAI,GAAK,EAAE,SAAS,EAAE,SAAS;AAAA,EACvD,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAC5C,CAAC;","names":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
export { O as OrgClaimRequestInput,
|
|
2
|
+
export { O as OrgClaimRequestInput, a as OrgClaimRequestSchema, b as OrgDomainChallengeRequestInput, c as OrgDomainChallengeRequestSchema, d as OrgDomainVerifyRequestInput, e as OrgDomainVerifyRequestSchema, f as OrgNotificationEmailRequestInput, g as OrgNotificationEmailRequestSchema, h as OrgProfileUpdateRequestInput, i as OrgProfileUpdateRequestSchema } from '../../org-settings-BShvhyFp.js';
|
|
3
3
|
|
|
4
4
|
/** Prepend `https://` if no scheme is present. */
|
|
5
5
|
declare function normalizeUrl(val: string): string;
|