@singi-labs/sifa-sdk 0.19.77 → 0.19.79
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/{index-DAiJZvPg.d.ts → index-B0BDMGLm.d.ts} +8 -0
- package/dist/{index-k6tBrbEU.d.cts → index-BrWWVQLL.d.cts} +8 -0
- package/dist/index.cjs +7 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -7
- package/dist/index.d.ts +7 -7
- package/dist/index.js +1 -1
- package/dist/jsonld/index.cjs +11 -0
- package/dist/jsonld/index.cjs.map +1 -1
- package/dist/jsonld/index.d.cts +1 -1
- package/dist/jsonld/index.d.ts +1 -1
- package/dist/jsonld/terms.js +11 -0
- package/dist/jsonld/terms.js.map +1 -1
- package/dist/{network-map-DvALufF9.d.ts → network-map-BEOM5v7g.d.ts} +4 -53
- package/dist/{network-map-DInAc_DB.d.cts → network-map-DMDU4liU.d.cts} +4 -53
- package/dist/{profile-investment-Cn5b--EG.d.cts → profile-investment-QSwX2GL5.d.cts} +1 -0
- package/dist/{profile-investment-Cn5b--EG.d.ts → profile-investment-QSwX2GL5.d.ts} +1 -0
- package/dist/{profile-summary-PRDqxAQT.d.ts → profile-summary-1oXL1guc.d.ts} +1 -1
- package/dist/{profile-summary-BcbJrph1.d.cts → profile-summary-CpM9l8iq.d.cts} +1 -1
- package/dist/query/fetchers/index.cjs +29 -0
- package/dist/query/fetchers/index.cjs.map +1 -1
- package/dist/query/fetchers/index.d.cts +6 -6
- package/dist/query/fetchers/index.d.ts +6 -6
- package/dist/query/fetchers/index.js +5 -1
- package/dist/query/fetchers/index.js.map +1 -1
- package/dist/query/fetchers/profile-mutations.js.map +1 -1
- package/dist/query/fetchers/rpg.js +22 -0
- package/dist/query/fetchers/rpg.js.map +1 -1
- package/dist/query/hooks/index.cjs +81 -0
- package/dist/query/hooks/index.cjs.map +1 -1
- package/dist/query/hooks/index.d.cts +4 -4
- package/dist/query/hooks/index.d.ts +4 -4
- package/dist/query/hooks/index.js +4 -0
- package/dist/query/hooks/index.js.map +1 -1
- package/dist/query/hooks/use-rpg-claimable.js +19 -0
- package/dist/query/hooks/use-rpg-claimable.js.map +1 -0
- package/dist/query/hooks/use-rpg-status.js +19 -0
- package/dist/query/hooks/use-rpg-status.js.map +1 -0
- package/dist/query/index.cjs +47 -0
- package/dist/query/index.cjs.map +1 -1
- package/dist/query/index.d.cts +9 -9
- package/dist/query/index.d.ts +9 -9
- package/dist/query/index.js +9 -1
- package/dist/query/index.js.map +1 -1
- package/dist/query/keys.js +7 -0
- package/dist/query/keys.js.map +1 -1
- package/dist/resume/index.d.cts +1 -1
- package/dist/resume/index.d.ts +1 -1
- package/dist/rpg/avatar.js +6 -0
- package/dist/rpg/avatar.js.map +1 -0
- package/dist/rpg/index.cjs +4 -0
- package/dist/rpg/index.cjs.map +1 -1
- package/dist/rpg/index.d.cts +9 -1
- package/dist/rpg/index.d.ts +9 -1
- package/dist/rpg/index.js +2 -0
- package/dist/rpg/index.js.map +1 -1
- package/dist/schemas/index.cjs +6 -0
- package/dist/schemas/index.cjs.map +1 -1
- package/dist/schemas/index.d.cts +1 -1
- package/dist/schemas/index.d.ts +1 -1
- package/dist/schemas/profile-self.js +6 -0
- package/dist/schemas/profile-self.js.map +1 -1
- package/dist/schemas/write/index.cjs +13 -1
- package/dist/schemas/write/index.cjs.map +1 -1
- package/dist/schemas/write/index.d.cts +3 -0
- package/dist/schemas/write/index.d.ts +3 -0
- package/dist/schemas/write/profile-self.js +9 -1
- package/dist/schemas/write/profile-self.js.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/{types-CI24asgo.d.ts → types-DB7UkX43.d.ts} +1 -1
- package/dist/{types-qw55KvoV.d.cts → types-DQfWqSud.d.cts} +1 -1
- package/dist/{use-user-settings-B1rJmjQR.d.ts → use-user-settings-A_i6Nrj1.d.ts} +34 -4
- package/dist/{use-user-settings-CYDXJNmI.d.cts → use-user-settings-U-cIysUa.d.cts} +34 -4
- package/dist/{user-settings-Qwi6wSnK.d.ts → user-settings-CGJPdwTM.d.ts} +82 -4
- package/dist/{user-settings-lenJHz19.d.cts → user-settings-DdWaL2AG.d.cts} +82 -4
- package/package.json +1 -1
package/dist/jsonld/terms.js
CHANGED
|
@@ -274,6 +274,12 @@ var term_mappings_default = {
|
|
|
274
274
|
match: "exactMatch",
|
|
275
275
|
terms: ["schema:Project", "foaf:Project"]
|
|
276
276
|
},
|
|
277
|
+
{
|
|
278
|
+
lexicon: "id.sifa.profile.project",
|
|
279
|
+
field: "events",
|
|
280
|
+
match: "relatedMatch",
|
|
281
|
+
terms: ["schema:organizer"]
|
|
282
|
+
},
|
|
277
283
|
{
|
|
278
284
|
lexicon: "id.sifa.profile.publication",
|
|
279
285
|
match: "broadMatch",
|
|
@@ -413,6 +419,11 @@ var term_mappings_default = {
|
|
|
413
419
|
field: "discoverable",
|
|
414
420
|
reason: "Sifa indexing control, not a fact about the person."
|
|
415
421
|
},
|
|
422
|
+
{
|
|
423
|
+
lexicon: "id.sifa.profile.self",
|
|
424
|
+
field: "avatarSource",
|
|
425
|
+
reason: "Rendering instruction for apps, not a fact about the person."
|
|
426
|
+
},
|
|
416
427
|
{
|
|
417
428
|
lexicon: "id.sifa.profile.position",
|
|
418
429
|
field: "isPrimary",
|
package/dist/jsonld/terms.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/jsonld/term-mappings.json","../../src/jsonld/terms.ts"],"sourcesContent":["{\n \"$schema\": \"https://sifa.id/schemas/term-mappings/v1.json\",\n \"version\": \"1.0.0\",\n \"description\": \"Reconciliation between id.sifa.* lexicon terms and existing RDF vocabularies. RDF is used here as vocabulary only: Sifa records are Lexicon JSON on the AT Protocol, and nothing here changes how they are stored or transmitted. Match strengths use SKOS mapping relations.\",\n \"vocabularies\": {\n \"schema\": \"https://schema.org/\",\n \"bibo\": \"http://purl.org/ontology/bibo/\",\n \"dcterms\": \"http://purl.org/dc/terms/\",\n \"foaf\": \"http://xmlns.com/foaf/0.1/\",\n \"org\": \"http://www.w3.org/ns/org#\",\n \"prism\": \"http://prismstandard.org/namespaces/basic/2.1/\",\n \"event\": \"http://purl.org/NET/c4dm/event.owl#\",\n \"skos\": \"http://www.w3.org/2004/02/skos/core#\"\n },\n \"mappings\": [\n {\n \"lexicon\": \"id.sifa.org.profile\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:Organization\", \"org:FormalOrganization\"],\n \"note\": \"ROR is the value anchor.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.certification\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:EducationalOccupationalCredential\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.certification\",\n \"field\": \"credentialUrl\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:url\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.certification\",\n \"field\": \"expiresAt\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:validUntil\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.course\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:Course\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.course\",\n \"field\": \"number\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:courseCode\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.education\",\n \"match\": \"closeMatch\",\n \"terms\": [\"schema:EducationalOccupationalCredential\"],\n \"note\": \"One record maps to two schema.org assertions: alumniOf for the institution and hasCredential for the degree.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.education\",\n \"field\": \"degree\",\n \"match\": \"closeMatch\",\n \"terms\": [\"schema:hasCredential\", \"bibo:degree\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.education\",\n \"field\": \"eqfLevel\",\n \"match\": \"closeMatch\",\n \"terms\": [\"schema:educationalLevel\"],\n \"note\": \"EQF is the value anchor.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.education\",\n \"field\": \"fieldOfStudy\",\n \"match\": \"closeMatch\",\n \"terms\": [\"schema:educationalCredentialAwarded\"],\n \"note\": \"ISCED-F is the value anchor.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.education\",\n \"field\": \"institution\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:alumniOf\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.externalAccount\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:sameAs\", \"foaf:account\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.honor\",\n \"match\": \"broadMatch\",\n \"terms\": [\"schema:award\"],\n \"note\": \"schema:award is a bare string, so issuer and date are lost. No better term exists in BIBO either.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.involvement\",\n \"match\": \"broadMatch\",\n \"terms\": [\"org:Membership\"],\n \"note\": \"The kind known values have no external equivalent.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.language\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:knowsLanguage\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.position\",\n \"match\": \"closeMatch\",\n \"terms\": [\"org:Membership\", \"schema:OrganizationRole\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.position\",\n \"field\": \"company\",\n \"match\": \"exactMatch\",\n \"terms\": [\"org:organization\", \"schema:worksFor\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.position\",\n \"field\": \"description\",\n \"match\": \"exactMatch\",\n \"terms\": [\"dcterms:description\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.position\",\n \"field\": \"employmentType\",\n \"match\": \"closeMatch\",\n \"terms\": [\"schema:employmentType\"],\n \"note\": \"schema:employmentType is free text. ESCO is the better value anchor.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.position\",\n \"field\": \"endedAt\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:endDate\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.position\",\n \"field\": \"entityRef\",\n \"match\": \"closeMatch\",\n \"terms\": [\"schema:sameAs\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.position\",\n \"field\": \"location\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:jobLocation\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.position\",\n \"field\": \"startedAt\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:startDate\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.position\",\n \"field\": \"title\",\n \"match\": \"exactMatch\",\n \"terms\": [\"org:role\", \"schema:roleName\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.position\",\n \"field\": \"workplaceType\",\n \"match\": \"narrowMatch\",\n \"terms\": [\"schema:jobLocationType\"],\n \"note\": \"schema.org models only a remote flag; Sifa distinguishes onSite, remote, and hybrid.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.presentation\",\n \"match\": \"closeMatch\",\n \"terms\": [\"bibo:Slideshow\", \"schema:PresentationDigitalDocument\"],\n \"note\": \"Neither term carries the \\\"reusable, deliverable more than once\\\" semantics of the Sifa record.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.presentation\",\n \"field\": \"coverImage\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:image\", \"foaf:depiction\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.presentation\",\n \"field\": \"description\",\n \"match\": \"exactMatch\",\n \"terms\": [\"bibo:abstract\", \"schema:abstract\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.presentation\",\n \"field\": \"duration\",\n \"match\": \"narrowMatch\",\n \"terms\": [\"schema:timeRequired\"],\n \"note\": \"The lexicon models a range; schema:timeRequired is a single ISO 8601 duration.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.presentation\",\n \"field\": \"intendedAudiences\",\n \"match\": \"closeMatch\",\n \"terms\": [\"schema:audience\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.presentation\",\n \"field\": \"title\",\n \"match\": \"exactMatch\",\n \"terms\": [\"dcterms:title\", \"schema:name\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.presentation\",\n \"field\": \"writeupRef\",\n \"match\": \"closeMatch\",\n \"terms\": [\"dcterms:isReferencedBy\", \"schema:subjectOf\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.presentationDelivery\",\n \"match\": \"closeMatch\",\n \"terms\": [\"schema:Event\", \"event:Event\"],\n \"note\": \"BIBO models this relation as bibo:Slideshow bibo:presentedAt event:Event.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.presentationDelivery\",\n \"field\": \"address\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:location\", \"event:place\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.presentationDelivery\",\n \"field\": \"coSpeakers\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:performer\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.presentationDelivery\",\n \"field\": \"date\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:startDate\", \"event:time\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.presentationDelivery\",\n \"field\": \"eventName\",\n \"match\": \"closeMatch\",\n \"terms\": [\"schema:superEvent\", \"bibo:Conference\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.presentationDelivery\",\n \"field\": \"mode\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:eventAttendanceMode\"],\n \"note\": \"The community.lexicon.calendar.event known values are already one-to-one with the schema.org enumeration.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.presentationDelivery\",\n \"field\": \"presentationRef\",\n \"match\": \"closeMatch\",\n \"terms\": [\"bibo:presentedAt\", \"schema:workPerformed\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.presentationDelivery\",\n \"field\": \"role\",\n \"match\": \"closeMatch\",\n \"terms\": [\"bibo:performer\", \"schema:performer\"],\n \"note\": \"No external vocabulary distinguishes presenter, panelist, keynote, workshop and host at this granularity.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.presentationDelivery\",\n \"field\": \"status\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:eventStatus\"],\n \"note\": \"As with mode, already one-to-one with the schema.org enumeration.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.presentationDelivery\",\n \"field\": \"title\",\n \"match\": \"exactMatch\",\n \"terms\": [\"dcterms:title\", \"schema:name\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.project\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:Project\", \"foaf:Project\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.publication\",\n \"match\": \"broadMatch\",\n \"terms\": [\"bibo:Document\", \"schema:CreativeWork\"],\n \"note\": \"Refine to bibo:AcademicArticle, bibo:Book, bibo:Report or bibo:Thesis when a resource type is known. COAR is the value anchor.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.publication\",\n \"field\": \"authors\",\n \"match\": \"exactMatch\",\n \"terms\": [\"bibo:authorList\", \"schema:author\"],\n \"note\": \"bibo:authorList is an ordered rdf:List and preserves author order, which schema:author does not guarantee.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.publication\",\n \"field\": \"description\",\n \"match\": \"exactMatch\",\n \"terms\": [\"bibo:abstract\", \"schema:abstract\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.publication\",\n \"field\": \"doi\",\n \"match\": \"exactMatch\",\n \"terms\": [\"bibo:doi\", \"prism:doi\"],\n \"note\": \"schema:identifier with a PropertyValue of propertyID 'doi' is the JSON-LD serialization; bibo:doi is the direct term.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.publication\",\n \"field\": \"publishedAt\",\n \"match\": \"exactMatch\",\n \"terms\": [\"dcterms:issued\", \"schema:datePublished\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.publication\",\n \"field\": \"publisher\",\n \"match\": \"exactMatch\",\n \"terms\": [\"dcterms:publisher\", \"schema:publisher\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.publication\",\n \"field\": \"relatedIdentifiers\",\n \"match\": \"closeMatch\",\n \"terms\": [\"dcterms:relation\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.publication\",\n \"field\": \"subtitle\",\n \"match\": \"closeMatch\",\n \"terms\": [\"schema:alternativeHeadline\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.publication\",\n \"field\": \"title\",\n \"match\": \"exactMatch\",\n \"terms\": [\"dcterms:title\", \"schema:name\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.publication\",\n \"field\": \"type\",\n \"match\": \"closeMatch\",\n \"terms\": [\"dcterms:type\", \"schema:additionalType\"],\n \"note\": \"COAR Resource Types is the anchor a consumer should map to. The values here are ORCID's because that is the vocabulary the data arrives in; deviating from the id.sifa.defs token convention is deliberate, since the vocabulary is ORCID's rather than Sifa's.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.publication\",\n \"field\": \"url\",\n \"match\": \"exactMatch\",\n \"terms\": [\"bibo:uri\", \"schema:url\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.self\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:Person\", \"foaf:Person\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.self\",\n \"field\": \"about\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:description\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.self\",\n \"field\": \"avatar\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:image\", \"foaf:depiction\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.self\",\n \"field\": \"displayName\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:name\", \"foaf:name\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.self\",\n \"field\": \"familyName\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:familyName\", \"foaf:family_name\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.self\",\n \"field\": \"givenName\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:givenName\", \"foaf:givenname\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.self\",\n \"field\": \"headline\",\n \"match\": \"closeMatch\",\n \"terms\": [\"schema:jobTitle\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.self\",\n \"field\": \"location\",\n \"match\": \"closeMatch\",\n \"terms\": [\"schema:homeLocation\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.skill\",\n \"match\": \"closeMatch\",\n \"terms\": [\"schema:knowsAbout\", \"schema:DefinedTerm\"],\n \"note\": \"ESCO is the value anchor.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.volunteering\",\n \"match\": \"closeMatch\",\n \"terms\": [\"org:Membership\", \"schema:OrganizationRole\"]\n }\n ],\n \"unmapped\": [\n {\n \"lexicon\": \"id.sifa.profile.self\",\n \"field\": \"pronouns\",\n \"reason\": \"No stable external term. schema.org has no pronouns property.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.self\",\n \"field\": \"discoverable\",\n \"reason\": \"Sifa indexing control, not a fact about the person.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.position\",\n \"field\": \"isPrimary\",\n \"reason\": \"Sifa display ordering concern.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.education\",\n \"field\": \"grade\",\n \"reason\": \"No comparable external term; grading scales are not portable.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.language\",\n \"field\": \"proficiency\",\n \"reason\": \"The known values are CEFR-shaped but not CEFR-named. Map only; renaming a published lexicon for a cosmetic gain is not worth the break.\"\n },\n {\n \"lexicon\": \"id.sifa.confirmation\",\n \"reason\": \"A record affirming another record is reification. schema:Review and schema:ClaimReview both imply an evaluation that a confirmation does not make.\"\n },\n {\n \"lexicon\": \"id.sifa.endorsement\",\n \"reason\": \"Same reification problem as confirmation. Any mapping that lets a consumer aggregate endorsements into a score works against the descriptive-only trust model.\"\n },\n {\n \"lexicon\": \"id.sifa.graph.connection\",\n \"reason\": \"foaf:knows carries no consent semantics. A Sifa connection is bilateral and confirmed; flattening it to foaf:knows would misrepresent an unconfirmed acquaintance claim as mutual.\"\n },\n {\n \"lexicon\": \"id.sifa.graph.follow\",\n \"reason\": \"See id.sifa.graph.connection.\"\n },\n {\n \"lexicon\": \"id.sifa.meeting\",\n \"reason\": \"Attestation semantics; same reification problem as confirmation.\"\n }\n ]\n}\n","/**\n * Reconciliation between `id.sifa.*` lexicon terms and existing RDF\n * vocabularies.\n *\n * The facts live in sifa-lexicons, as `x-skos:*` annotations on the lexicon\n * defs and properties. Those annotations are published to the authority PDS,\n * so a third party resolving `id.sifa.*` already reads them; that makes the\n * lexicons the source of truth and `./term-mappings.json` a derived copy,\n * refreshed by `scripts/sync-term-mappings.mjs` and drift-checked in CI.\n *\n * To change a mapping, change the lexicon, not this file.\n *\n * Scope note: RDF is adopted here as *vocabulary only*. Sifa records are\n * Lexicon JSON on the AT Protocol; nothing in this module changes how records\n * are stored or transmitted. A mapping is a one-directional annotation over a\n * lexicon designed on its own merits, never a constraint on lexicon design.\n * When a term does not fit, the correct answer is `noMatch`, not a different\n * lexicon.\n */\n\nimport document from './term-mappings.json';\n\n/** Vocabulary prefix -> namespace IRI. */\nexport const VOCABULARIES: Readonly<Record<string, string>> = document.vocabularies;\n\nexport type VocabularyPrefix = keyof typeof document.vocabularies;\n\n/**\n * Strength of a mapping, using SKOS mapping relations so the table is itself\n * expressible as RDF.\n *\n * `noMatch` is not the absence of an entry. It is a deliberate statement that\n * no external term should be used for this concept, and it carries a reason.\n */\nexport type MatchStrength =\n 'exactMatch' | 'closeMatch' | 'broadMatch' | 'narrowMatch' | 'relatedMatch' | 'noMatch';\n\nexport interface TermMapping {\n /** Lexicon NSID, e.g. `id.sifa.profile.presentation`. */\n readonly lexicon: string;\n /**\n * Field name within the record. Omitted for a record-level class mapping\n * (what the record *is*, rather than what one of its fields means).\n */\n readonly field?: string;\n /** CURIEs, e.g. `dcterms:title`. Empty when `match` is `noMatch`. */\n readonly terms: readonly string[];\n readonly match: MatchStrength;\n /** Rationale. Always present when `match` is `noMatch`. */\n readonly note?: string;\n}\n\ninterface RawMapping {\n lexicon: string;\n field?: string;\n terms: string[];\n match: string;\n note?: string;\n}\n\ninterface RawUnmapped {\n lexicon: string;\n field?: string;\n reason: string;\n}\n\n/**\n * Every reconciliation Sifa asserts, including the deliberate non-mappings.\n *\n * The published document splits these into `mappings` and `unmapped`, which\n * reads better over the wire. Callers here want one list, so they are\n * flattened back together.\n */\nexport const TERM_MAPPINGS: readonly TermMapping[] = [\n ...(document.mappings as RawMapping[]).map((m): TermMapping => ({\n lexicon: m.lexicon,\n ...(m.field ? { field: m.field } : {}),\n terms: m.terms,\n match: m.match as MatchStrength,\n ...(m.note ? { note: m.note } : {}),\n })),\n ...(document.unmapped as RawUnmapped[]).map((u): TermMapping => ({\n lexicon: u.lexicon,\n ...(u.field ? { field: u.field } : {}),\n terms: [],\n match: 'noMatch',\n note: u.reason,\n })),\n];\n\n/**\n * Expand a CURIE (`dcterms:title`) to a full IRI. Returns null for an unknown\n * prefix rather than guessing a namespace.\n */\nexport function expandCurie(curie: string): string | null {\n const separator = curie.indexOf(':');\n if (separator <= 0) return null;\n const prefix = curie.slice(0, separator);\n const local = curie.slice(separator + 1);\n if (!local) return null;\n if (!Object.prototype.hasOwnProperty.call(VOCABULARIES, prefix)) return null;\n return `${VOCABULARIES[prefix]}${local}`;\n}\n\n/** All mappings declared for one lexicon NSID, record level and field level. */\nexport function mappingsForLexicon(nsid: string): readonly TermMapping[] {\n return TERM_MAPPINGS.filter((m) => m.lexicon === nsid);\n}\n\n/** True when Sifa has deliberately declined to map this lexicon or field. */\nexport function isDeliberatelyUnmapped(nsid: string, field?: string): boolean {\n return TERM_MAPPINGS.some(\n (m) => m.lexicon === nsid && m.field === field && m.match === 'noMatch',\n );\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/jsonld/term-mappings.json","../../src/jsonld/terms.ts"],"sourcesContent":["{\n \"$schema\": \"https://sifa.id/schemas/term-mappings/v1.json\",\n \"version\": \"1.0.0\",\n \"description\": \"Reconciliation between id.sifa.* lexicon terms and existing RDF vocabularies. RDF is used here as vocabulary only: Sifa records are Lexicon JSON on the AT Protocol, and nothing here changes how they are stored or transmitted. Match strengths use SKOS mapping relations.\",\n \"vocabularies\": {\n \"schema\": \"https://schema.org/\",\n \"bibo\": \"http://purl.org/ontology/bibo/\",\n \"dcterms\": \"http://purl.org/dc/terms/\",\n \"foaf\": \"http://xmlns.com/foaf/0.1/\",\n \"org\": \"http://www.w3.org/ns/org#\",\n \"prism\": \"http://prismstandard.org/namespaces/basic/2.1/\",\n \"event\": \"http://purl.org/NET/c4dm/event.owl#\",\n \"skos\": \"http://www.w3.org/2004/02/skos/core#\"\n },\n \"mappings\": [\n {\n \"lexicon\": \"id.sifa.org.profile\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:Organization\", \"org:FormalOrganization\"],\n \"note\": \"ROR is the value anchor.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.certification\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:EducationalOccupationalCredential\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.certification\",\n \"field\": \"credentialUrl\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:url\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.certification\",\n \"field\": \"expiresAt\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:validUntil\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.course\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:Course\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.course\",\n \"field\": \"number\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:courseCode\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.education\",\n \"match\": \"closeMatch\",\n \"terms\": [\"schema:EducationalOccupationalCredential\"],\n \"note\": \"One record maps to two schema.org assertions: alumniOf for the institution and hasCredential for the degree.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.education\",\n \"field\": \"degree\",\n \"match\": \"closeMatch\",\n \"terms\": [\"schema:hasCredential\", \"bibo:degree\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.education\",\n \"field\": \"eqfLevel\",\n \"match\": \"closeMatch\",\n \"terms\": [\"schema:educationalLevel\"],\n \"note\": \"EQF is the value anchor.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.education\",\n \"field\": \"fieldOfStudy\",\n \"match\": \"closeMatch\",\n \"terms\": [\"schema:educationalCredentialAwarded\"],\n \"note\": \"ISCED-F is the value anchor.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.education\",\n \"field\": \"institution\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:alumniOf\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.externalAccount\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:sameAs\", \"foaf:account\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.honor\",\n \"match\": \"broadMatch\",\n \"terms\": [\"schema:award\"],\n \"note\": \"schema:award is a bare string, so issuer and date are lost. No better term exists in BIBO either.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.involvement\",\n \"match\": \"broadMatch\",\n \"terms\": [\"org:Membership\"],\n \"note\": \"The kind known values have no external equivalent.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.language\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:knowsLanguage\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.position\",\n \"match\": \"closeMatch\",\n \"terms\": [\"org:Membership\", \"schema:OrganizationRole\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.position\",\n \"field\": \"company\",\n \"match\": \"exactMatch\",\n \"terms\": [\"org:organization\", \"schema:worksFor\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.position\",\n \"field\": \"description\",\n \"match\": \"exactMatch\",\n \"terms\": [\"dcterms:description\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.position\",\n \"field\": \"employmentType\",\n \"match\": \"closeMatch\",\n \"terms\": [\"schema:employmentType\"],\n \"note\": \"schema:employmentType is free text. ESCO is the better value anchor.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.position\",\n \"field\": \"endedAt\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:endDate\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.position\",\n \"field\": \"entityRef\",\n \"match\": \"closeMatch\",\n \"terms\": [\"schema:sameAs\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.position\",\n \"field\": \"location\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:jobLocation\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.position\",\n \"field\": \"startedAt\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:startDate\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.position\",\n \"field\": \"title\",\n \"match\": \"exactMatch\",\n \"terms\": [\"org:role\", \"schema:roleName\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.position\",\n \"field\": \"workplaceType\",\n \"match\": \"narrowMatch\",\n \"terms\": [\"schema:jobLocationType\"],\n \"note\": \"schema.org models only a remote flag; Sifa distinguishes onSite, remote, and hybrid.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.presentation\",\n \"match\": \"closeMatch\",\n \"terms\": [\"bibo:Slideshow\", \"schema:PresentationDigitalDocument\"],\n \"note\": \"Neither term carries the \\\"reusable, deliverable more than once\\\" semantics of the Sifa record.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.presentation\",\n \"field\": \"coverImage\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:image\", \"foaf:depiction\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.presentation\",\n \"field\": \"description\",\n \"match\": \"exactMatch\",\n \"terms\": [\"bibo:abstract\", \"schema:abstract\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.presentation\",\n \"field\": \"duration\",\n \"match\": \"narrowMatch\",\n \"terms\": [\"schema:timeRequired\"],\n \"note\": \"The lexicon models a range; schema:timeRequired is a single ISO 8601 duration.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.presentation\",\n \"field\": \"intendedAudiences\",\n \"match\": \"closeMatch\",\n \"terms\": [\"schema:audience\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.presentation\",\n \"field\": \"title\",\n \"match\": \"exactMatch\",\n \"terms\": [\"dcterms:title\", \"schema:name\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.presentation\",\n \"field\": \"writeupRef\",\n \"match\": \"closeMatch\",\n \"terms\": [\"dcterms:isReferencedBy\", \"schema:subjectOf\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.presentationDelivery\",\n \"match\": \"closeMatch\",\n \"terms\": [\"schema:Event\", \"event:Event\"],\n \"note\": \"BIBO models this relation as bibo:Slideshow bibo:presentedAt event:Event.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.presentationDelivery\",\n \"field\": \"address\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:location\", \"event:place\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.presentationDelivery\",\n \"field\": \"coSpeakers\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:performer\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.presentationDelivery\",\n \"field\": \"date\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:startDate\", \"event:time\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.presentationDelivery\",\n \"field\": \"eventName\",\n \"match\": \"closeMatch\",\n \"terms\": [\"schema:superEvent\", \"bibo:Conference\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.presentationDelivery\",\n \"field\": \"mode\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:eventAttendanceMode\"],\n \"note\": \"The community.lexicon.calendar.event known values are already one-to-one with the schema.org enumeration.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.presentationDelivery\",\n \"field\": \"presentationRef\",\n \"match\": \"closeMatch\",\n \"terms\": [\"bibo:presentedAt\", \"schema:workPerformed\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.presentationDelivery\",\n \"field\": \"role\",\n \"match\": \"closeMatch\",\n \"terms\": [\"bibo:performer\", \"schema:performer\"],\n \"note\": \"No external vocabulary distinguishes presenter, panelist, keynote, workshop and host at this granularity.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.presentationDelivery\",\n \"field\": \"status\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:eventStatus\"],\n \"note\": \"As with mode, already one-to-one with the schema.org enumeration.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.presentationDelivery\",\n \"field\": \"title\",\n \"match\": \"exactMatch\",\n \"terms\": [\"dcterms:title\", \"schema:name\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.project\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:Project\", \"foaf:Project\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.project\",\n \"field\": \"events\",\n \"match\": \"relatedMatch\",\n \"terms\": [\"schema:organizer\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.publication\",\n \"match\": \"broadMatch\",\n \"terms\": [\"bibo:Document\", \"schema:CreativeWork\"],\n \"note\": \"Refine to bibo:AcademicArticle, bibo:Book, bibo:Report or bibo:Thesis when a resource type is known. COAR is the value anchor.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.publication\",\n \"field\": \"authors\",\n \"match\": \"exactMatch\",\n \"terms\": [\"bibo:authorList\", \"schema:author\"],\n \"note\": \"bibo:authorList is an ordered rdf:List and preserves author order, which schema:author does not guarantee.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.publication\",\n \"field\": \"description\",\n \"match\": \"exactMatch\",\n \"terms\": [\"bibo:abstract\", \"schema:abstract\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.publication\",\n \"field\": \"doi\",\n \"match\": \"exactMatch\",\n \"terms\": [\"bibo:doi\", \"prism:doi\"],\n \"note\": \"schema:identifier with a PropertyValue of propertyID 'doi' is the JSON-LD serialization; bibo:doi is the direct term.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.publication\",\n \"field\": \"publishedAt\",\n \"match\": \"exactMatch\",\n \"terms\": [\"dcterms:issued\", \"schema:datePublished\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.publication\",\n \"field\": \"publisher\",\n \"match\": \"exactMatch\",\n \"terms\": [\"dcterms:publisher\", \"schema:publisher\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.publication\",\n \"field\": \"relatedIdentifiers\",\n \"match\": \"closeMatch\",\n \"terms\": [\"dcterms:relation\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.publication\",\n \"field\": \"subtitle\",\n \"match\": \"closeMatch\",\n \"terms\": [\"schema:alternativeHeadline\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.publication\",\n \"field\": \"title\",\n \"match\": \"exactMatch\",\n \"terms\": [\"dcterms:title\", \"schema:name\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.publication\",\n \"field\": \"type\",\n \"match\": \"closeMatch\",\n \"terms\": [\"dcterms:type\", \"schema:additionalType\"],\n \"note\": \"COAR Resource Types is the anchor a consumer should map to. The values here are ORCID's because that is the vocabulary the data arrives in; deviating from the id.sifa.defs token convention is deliberate, since the vocabulary is ORCID's rather than Sifa's.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.publication\",\n \"field\": \"url\",\n \"match\": \"exactMatch\",\n \"terms\": [\"bibo:uri\", \"schema:url\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.self\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:Person\", \"foaf:Person\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.self\",\n \"field\": \"about\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:description\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.self\",\n \"field\": \"avatar\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:image\", \"foaf:depiction\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.self\",\n \"field\": \"displayName\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:name\", \"foaf:name\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.self\",\n \"field\": \"familyName\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:familyName\", \"foaf:family_name\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.self\",\n \"field\": \"givenName\",\n \"match\": \"exactMatch\",\n \"terms\": [\"schema:givenName\", \"foaf:givenname\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.self\",\n \"field\": \"headline\",\n \"match\": \"closeMatch\",\n \"terms\": [\"schema:jobTitle\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.self\",\n \"field\": \"location\",\n \"match\": \"closeMatch\",\n \"terms\": [\"schema:homeLocation\"]\n },\n {\n \"lexicon\": \"id.sifa.profile.skill\",\n \"match\": \"closeMatch\",\n \"terms\": [\"schema:knowsAbout\", \"schema:DefinedTerm\"],\n \"note\": \"ESCO is the value anchor.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.volunteering\",\n \"match\": \"closeMatch\",\n \"terms\": [\"org:Membership\", \"schema:OrganizationRole\"]\n }\n ],\n \"unmapped\": [\n {\n \"lexicon\": \"id.sifa.profile.self\",\n \"field\": \"pronouns\",\n \"reason\": \"No stable external term. schema.org has no pronouns property.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.self\",\n \"field\": \"discoverable\",\n \"reason\": \"Sifa indexing control, not a fact about the person.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.self\",\n \"field\": \"avatarSource\",\n \"reason\": \"Rendering instruction for apps, not a fact about the person.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.position\",\n \"field\": \"isPrimary\",\n \"reason\": \"Sifa display ordering concern.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.education\",\n \"field\": \"grade\",\n \"reason\": \"No comparable external term; grading scales are not portable.\"\n },\n {\n \"lexicon\": \"id.sifa.profile.language\",\n \"field\": \"proficiency\",\n \"reason\": \"The known values are CEFR-shaped but not CEFR-named. Map only; renaming a published lexicon for a cosmetic gain is not worth the break.\"\n },\n {\n \"lexicon\": \"id.sifa.confirmation\",\n \"reason\": \"A record affirming another record is reification. schema:Review and schema:ClaimReview both imply an evaluation that a confirmation does not make.\"\n },\n {\n \"lexicon\": \"id.sifa.endorsement\",\n \"reason\": \"Same reification problem as confirmation. Any mapping that lets a consumer aggregate endorsements into a score works against the descriptive-only trust model.\"\n },\n {\n \"lexicon\": \"id.sifa.graph.connection\",\n \"reason\": \"foaf:knows carries no consent semantics. A Sifa connection is bilateral and confirmed; flattening it to foaf:knows would misrepresent an unconfirmed acquaintance claim as mutual.\"\n },\n {\n \"lexicon\": \"id.sifa.graph.follow\",\n \"reason\": \"See id.sifa.graph.connection.\"\n },\n {\n \"lexicon\": \"id.sifa.meeting\",\n \"reason\": \"Attestation semantics; same reification problem as confirmation.\"\n }\n ]\n}\n","/**\n * Reconciliation between `id.sifa.*` lexicon terms and existing RDF\n * vocabularies.\n *\n * The facts live in sifa-lexicons, as `x-skos:*` annotations on the lexicon\n * defs and properties. Those annotations are published to the authority PDS,\n * so a third party resolving `id.sifa.*` already reads them; that makes the\n * lexicons the source of truth and `./term-mappings.json` a derived copy,\n * refreshed by `scripts/sync-term-mappings.mjs` and drift-checked in CI.\n *\n * To change a mapping, change the lexicon, not this file.\n *\n * Scope note: RDF is adopted here as *vocabulary only*. Sifa records are\n * Lexicon JSON on the AT Protocol; nothing in this module changes how records\n * are stored or transmitted. A mapping is a one-directional annotation over a\n * lexicon designed on its own merits, never a constraint on lexicon design.\n * When a term does not fit, the correct answer is `noMatch`, not a different\n * lexicon.\n */\n\nimport document from './term-mappings.json';\n\n/** Vocabulary prefix -> namespace IRI. */\nexport const VOCABULARIES: Readonly<Record<string, string>> = document.vocabularies;\n\nexport type VocabularyPrefix = keyof typeof document.vocabularies;\n\n/**\n * Strength of a mapping, using SKOS mapping relations so the table is itself\n * expressible as RDF.\n *\n * `noMatch` is not the absence of an entry. It is a deliberate statement that\n * no external term should be used for this concept, and it carries a reason.\n */\nexport type MatchStrength =\n 'exactMatch' | 'closeMatch' | 'broadMatch' | 'narrowMatch' | 'relatedMatch' | 'noMatch';\n\nexport interface TermMapping {\n /** Lexicon NSID, e.g. `id.sifa.profile.presentation`. */\n readonly lexicon: string;\n /**\n * Field name within the record. Omitted for a record-level class mapping\n * (what the record *is*, rather than what one of its fields means).\n */\n readonly field?: string;\n /** CURIEs, e.g. `dcterms:title`. Empty when `match` is `noMatch`. */\n readonly terms: readonly string[];\n readonly match: MatchStrength;\n /** Rationale. Always present when `match` is `noMatch`. */\n readonly note?: string;\n}\n\ninterface RawMapping {\n lexicon: string;\n field?: string;\n terms: string[];\n match: string;\n note?: string;\n}\n\ninterface RawUnmapped {\n lexicon: string;\n field?: string;\n reason: string;\n}\n\n/**\n * Every reconciliation Sifa asserts, including the deliberate non-mappings.\n *\n * The published document splits these into `mappings` and `unmapped`, which\n * reads better over the wire. Callers here want one list, so they are\n * flattened back together.\n */\nexport const TERM_MAPPINGS: readonly TermMapping[] = [\n ...(document.mappings as RawMapping[]).map((m): TermMapping => ({\n lexicon: m.lexicon,\n ...(m.field ? { field: m.field } : {}),\n terms: m.terms,\n match: m.match as MatchStrength,\n ...(m.note ? { note: m.note } : {}),\n })),\n ...(document.unmapped as RawUnmapped[]).map((u): TermMapping => ({\n lexicon: u.lexicon,\n ...(u.field ? { field: u.field } : {}),\n terms: [],\n match: 'noMatch',\n note: u.reason,\n })),\n];\n\n/**\n * Expand a CURIE (`dcterms:title`) to a full IRI. Returns null for an unknown\n * prefix rather than guessing a namespace.\n */\nexport function expandCurie(curie: string): string | null {\n const separator = curie.indexOf(':');\n if (separator <= 0) return null;\n const prefix = curie.slice(0, separator);\n const local = curie.slice(separator + 1);\n if (!local) return null;\n if (!Object.prototype.hasOwnProperty.call(VOCABULARIES, prefix)) return null;\n return `${VOCABULARIES[prefix]}${local}`;\n}\n\n/** All mappings declared for one lexicon NSID, record level and field level. */\nexport function mappingsForLexicon(nsid: string): readonly TermMapping[] {\n return TERM_MAPPINGS.filter((m) => m.lexicon === nsid);\n}\n\n/** True when Sifa has deliberately declined to map this lexicon or field. */\nexport function isDeliberatelyUnmapped(nsid: string, field?: string): boolean {\n return TERM_MAPPINGS.some(\n (m) => m.lexicon === nsid && m.field === field && m.match === 'noMatch',\n );\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { c as Profile, d as ProfilePosition, W as SkillRef, z as PresentationLinkView } from './index-
|
|
2
|
-
import { a0 as SifaApiConfig, a1 as ApiFetchOptions, o as ProfileView, a2 as CreateResult, a3 as WriteResult } from './types-
|
|
3
|
-
import { S as SummarizeProfileViewOptions, P as ProfileSummary } from './profile-summary-
|
|
1
|
+
import { c as Profile, d as ProfilePosition, W as SkillRef, z as PresentationLinkView } from './index-B0BDMGLm.js';
|
|
2
|
+
import { a0 as SifaApiConfig, a1 as ApiFetchOptions, o as ProfileView, a2 as CreateResult, a3 as WriteResult } from './types-DB7UkX43.js';
|
|
3
|
+
import { S as SummarizeProfileViewOptions, P as ProfileSummary } from './profile-summary-1oXL1guc.js';
|
|
4
4
|
import { i as EntitySearchResponse, E as EntitySearchResult, c as EntityMintDomainResponse, g as EntityResolveDomainResponse, l as EntitySelectRequest, n as EntitySelectResponse } from './follow-profile-ceqefXAw.js';
|
|
5
|
-
import { z } from 'zod';
|
|
6
5
|
|
|
7
6
|
/**
|
|
8
7
|
* Read the aggregated profile for a handle or DID.
|
|
@@ -389,54 +388,6 @@ declare function resolveEntityDomain(config: SifaApiConfig, domain: string, opti
|
|
|
389
388
|
*/
|
|
390
389
|
declare function mintEntityDomain(config: SifaApiConfig, domain: string, options?: ApiFetchOptions): Promise<EntityMintDomainResponse>;
|
|
391
390
|
|
|
392
|
-
/** One rpg.actor item and the viewer's progress on it, as served by `GET /api/rpg/status`. */
|
|
393
|
-
declare const RpgItemStatusSchema: z.ZodObject<{
|
|
394
|
-
id: z.ZodString;
|
|
395
|
-
title: z.ZodString;
|
|
396
|
-
description: z.ZodString;
|
|
397
|
-
category: z.ZodString;
|
|
398
|
-
earned: z.ZodBoolean;
|
|
399
|
-
state: z.ZodEnum<{
|
|
400
|
-
claimed: "claimed";
|
|
401
|
-
earned: "earned";
|
|
402
|
-
locked: "locked";
|
|
403
|
-
given: "given";
|
|
404
|
-
}>;
|
|
405
|
-
worn: z.ZodDefault<z.ZodBoolean>;
|
|
406
|
-
iconUrl: z.ZodNullable<z.ZodString>;
|
|
407
|
-
}, z.core.$strip>;
|
|
408
|
-
type RpgItemStatus = z.infer<typeof RpgItemStatusSchema>;
|
|
409
|
-
declare const RpgStatusResponseSchema: z.ZodObject<{
|
|
410
|
-
hasCharacter: z.ZodBoolean;
|
|
411
|
-
canWriteItems: z.ZodBoolean;
|
|
412
|
-
canCollect: z.ZodDefault<z.ZodBoolean>;
|
|
413
|
-
items: z.ZodArray<z.ZodObject<{
|
|
414
|
-
id: z.ZodString;
|
|
415
|
-
title: z.ZodString;
|
|
416
|
-
description: z.ZodString;
|
|
417
|
-
category: z.ZodString;
|
|
418
|
-
earned: z.ZodBoolean;
|
|
419
|
-
state: z.ZodEnum<{
|
|
420
|
-
claimed: "claimed";
|
|
421
|
-
earned: "earned";
|
|
422
|
-
locked: "locked";
|
|
423
|
-
given: "given";
|
|
424
|
-
}>;
|
|
425
|
-
worn: z.ZodDefault<z.ZodBoolean>;
|
|
426
|
-
iconUrl: z.ZodNullable<z.ZodString>;
|
|
427
|
-
}, z.core.$strip>>;
|
|
428
|
-
}, z.core.$strip>;
|
|
429
|
-
type RpgStatusResponse = z.infer<typeof RpgStatusResponseSchema>;
|
|
430
|
-
interface FetchRpgStatusOptions extends ApiFetchOptions {
|
|
431
|
-
/** Forwarded as the `cookie` header for server-side (SSR) calls. */
|
|
432
|
-
cookieHeader?: string;
|
|
433
|
-
}
|
|
434
|
-
/**
|
|
435
|
-
* Fetch the authenticated viewer's rpg.actor item status. Auth-scoped: relies
|
|
436
|
-
* on the session cookie (`credentials: 'include'`).
|
|
437
|
-
*/
|
|
438
|
-
declare function fetchRpgStatus(config: SifaApiConfig, options?: FetchRpgStatusOptions): Promise<RpgStatusResponse>;
|
|
439
|
-
|
|
440
391
|
/**
|
|
441
392
|
* Counts confirmed endorsements received by a DID. The backend's
|
|
442
393
|
* `GET /api/endorsement/:did` already returns only confirmed endorsements
|
|
@@ -558,4 +509,4 @@ declare function checkNetworkMapJobStatus(config: SifaApiConfig, jobId: string,
|
|
|
558
509
|
*/
|
|
559
510
|
declare function fetchNetworkMap(config: SifaApiConfig, options?: ApiFetchOptions): Promise<NetworkMapResponse | null>;
|
|
560
511
|
|
|
561
|
-
export {
|
|
512
|
+
export { setPositionPrimary as $, fetchEntitySearch as A, fetchGetProfileView as B, fetchNetworkMap as C, type DismissEndorsementInput as D, fetchNetworkStreamCount as E, type FetchNetworkStreamCountOptions as F, fetchPendingEndorsements as G, fetchProfile as H, fetchProfileSummary as I, fetchReceivedEndorsements as J, fetchReciprocityCandidate as K, fetchSpeakers as L, fetchTalks as M, type NetworkMapEdge as N, hideKeytraceClaim as O, type PendingEndorsementsPage as P, importSearchEntities as Q, type ReceivedEndorsementsPage as R, type SpeakerCard as S, type TalkEvent as T, initiateNetworkMapGeneration as U, isNetworkMapResponse as V, linkSkillToPosition as W, mintEntityDomain as X, resolveEntityDomain as Y, revealMarqueDomain as Z, selectEntity as _, type ReciprocityCandidate as a, unhideKeytraceClaim as a0, unlinkSkillFromPosition as a1, unrevealMarqueDomain as a2, unsetPositionPrimary as a3, updateEducation as a4, updatePosition as a5, updateRecord as a6, type FetchPendingEndorsementsOptions as b, type NetworkMapGenerationJob as c, type NetworkMapGraphData as d, type NetworkMapNode as e, type NetworkMapPendingJob as f, type NetworkMapResponse as g, type PendingEndorsement as h, type ReceivedEndorsement as i, type ReciprocitySkill as j, type SpeakerDirectoryFilters as k, type SpeakerGroup as l, type SpeakersResponse as m, type TalkRow as n, type TalkSpeaker as o, type TalksResponse as p, checkNetworkMapJobStatus as q, createEducation as r, createPosition as s, createRecord as t, deleteEducation as u, deletePosition as v, deleteRecord as w, dismissEndorsement as x, fetchAtFundLink as y, fetchEndorsementCount as z };
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { c as Profile, d as ProfilePosition, W as SkillRef, z as PresentationLinkView } from './index-
|
|
2
|
-
import { a0 as SifaApiConfig, a1 as ApiFetchOptions, o as ProfileView, a2 as CreateResult, a3 as WriteResult } from './types-
|
|
3
|
-
import { S as SummarizeProfileViewOptions, P as ProfileSummary } from './profile-summary-
|
|
1
|
+
import { c as Profile, d as ProfilePosition, W as SkillRef, z as PresentationLinkView } from './index-BrWWVQLL.cjs';
|
|
2
|
+
import { a0 as SifaApiConfig, a1 as ApiFetchOptions, o as ProfileView, a2 as CreateResult, a3 as WriteResult } from './types-DQfWqSud.cjs';
|
|
3
|
+
import { S as SummarizeProfileViewOptions, P as ProfileSummary } from './profile-summary-CpM9l8iq.cjs';
|
|
4
4
|
import { i as EntitySearchResponse, E as EntitySearchResult, c as EntityMintDomainResponse, g as EntityResolveDomainResponse, l as EntitySelectRequest, n as EntitySelectResponse } from './follow-profile-CQ3DTTak.cjs';
|
|
5
|
-
import { z } from 'zod';
|
|
6
5
|
|
|
7
6
|
/**
|
|
8
7
|
* Read the aggregated profile for a handle or DID.
|
|
@@ -389,54 +388,6 @@ declare function resolveEntityDomain(config: SifaApiConfig, domain: string, opti
|
|
|
389
388
|
*/
|
|
390
389
|
declare function mintEntityDomain(config: SifaApiConfig, domain: string, options?: ApiFetchOptions): Promise<EntityMintDomainResponse>;
|
|
391
390
|
|
|
392
|
-
/** One rpg.actor item and the viewer's progress on it, as served by `GET /api/rpg/status`. */
|
|
393
|
-
declare const RpgItemStatusSchema: z.ZodObject<{
|
|
394
|
-
id: z.ZodString;
|
|
395
|
-
title: z.ZodString;
|
|
396
|
-
description: z.ZodString;
|
|
397
|
-
category: z.ZodString;
|
|
398
|
-
earned: z.ZodBoolean;
|
|
399
|
-
state: z.ZodEnum<{
|
|
400
|
-
claimed: "claimed";
|
|
401
|
-
earned: "earned";
|
|
402
|
-
locked: "locked";
|
|
403
|
-
given: "given";
|
|
404
|
-
}>;
|
|
405
|
-
worn: z.ZodDefault<z.ZodBoolean>;
|
|
406
|
-
iconUrl: z.ZodNullable<z.ZodString>;
|
|
407
|
-
}, z.core.$strip>;
|
|
408
|
-
type RpgItemStatus = z.infer<typeof RpgItemStatusSchema>;
|
|
409
|
-
declare const RpgStatusResponseSchema: z.ZodObject<{
|
|
410
|
-
hasCharacter: z.ZodBoolean;
|
|
411
|
-
canWriteItems: z.ZodBoolean;
|
|
412
|
-
canCollect: z.ZodDefault<z.ZodBoolean>;
|
|
413
|
-
items: z.ZodArray<z.ZodObject<{
|
|
414
|
-
id: z.ZodString;
|
|
415
|
-
title: z.ZodString;
|
|
416
|
-
description: z.ZodString;
|
|
417
|
-
category: z.ZodString;
|
|
418
|
-
earned: z.ZodBoolean;
|
|
419
|
-
state: z.ZodEnum<{
|
|
420
|
-
claimed: "claimed";
|
|
421
|
-
earned: "earned";
|
|
422
|
-
locked: "locked";
|
|
423
|
-
given: "given";
|
|
424
|
-
}>;
|
|
425
|
-
worn: z.ZodDefault<z.ZodBoolean>;
|
|
426
|
-
iconUrl: z.ZodNullable<z.ZodString>;
|
|
427
|
-
}, z.core.$strip>>;
|
|
428
|
-
}, z.core.$strip>;
|
|
429
|
-
type RpgStatusResponse = z.infer<typeof RpgStatusResponseSchema>;
|
|
430
|
-
interface FetchRpgStatusOptions extends ApiFetchOptions {
|
|
431
|
-
/** Forwarded as the `cookie` header for server-side (SSR) calls. */
|
|
432
|
-
cookieHeader?: string;
|
|
433
|
-
}
|
|
434
|
-
/**
|
|
435
|
-
* Fetch the authenticated viewer's rpg.actor item status. Auth-scoped: relies
|
|
436
|
-
* on the session cookie (`credentials: 'include'`).
|
|
437
|
-
*/
|
|
438
|
-
declare function fetchRpgStatus(config: SifaApiConfig, options?: FetchRpgStatusOptions): Promise<RpgStatusResponse>;
|
|
439
|
-
|
|
440
391
|
/**
|
|
441
392
|
* Counts confirmed endorsements received by a DID. The backend's
|
|
442
393
|
* `GET /api/endorsement/:did` already returns only confirmed endorsements
|
|
@@ -558,4 +509,4 @@ declare function checkNetworkMapJobStatus(config: SifaApiConfig, jobId: string,
|
|
|
558
509
|
*/
|
|
559
510
|
declare function fetchNetworkMap(config: SifaApiConfig, options?: ApiFetchOptions): Promise<NetworkMapResponse | null>;
|
|
560
511
|
|
|
561
|
-
export {
|
|
512
|
+
export { setPositionPrimary as $, fetchEntitySearch as A, fetchGetProfileView as B, fetchNetworkMap as C, type DismissEndorsementInput as D, fetchNetworkStreamCount as E, type FetchNetworkStreamCountOptions as F, fetchPendingEndorsements as G, fetchProfile as H, fetchProfileSummary as I, fetchReceivedEndorsements as J, fetchReciprocityCandidate as K, fetchSpeakers as L, fetchTalks as M, type NetworkMapEdge as N, hideKeytraceClaim as O, type PendingEndorsementsPage as P, importSearchEntities as Q, type ReceivedEndorsementsPage as R, type SpeakerCard as S, type TalkEvent as T, initiateNetworkMapGeneration as U, isNetworkMapResponse as V, linkSkillToPosition as W, mintEntityDomain as X, resolveEntityDomain as Y, revealMarqueDomain as Z, selectEntity as _, type ReciprocityCandidate as a, unhideKeytraceClaim as a0, unlinkSkillFromPosition as a1, unrevealMarqueDomain as a2, unsetPositionPrimary as a3, updateEducation as a4, updatePosition as a5, updateRecord as a6, type FetchPendingEndorsementsOptions as b, type NetworkMapGenerationJob as c, type NetworkMapGraphData as d, type NetworkMapNode as e, type NetworkMapPendingJob as f, type NetworkMapResponse as g, type PendingEndorsement as h, type ReceivedEndorsement as i, type ReciprocitySkill as j, type SpeakerDirectoryFilters as k, type SpeakerGroup as l, type SpeakersResponse as m, type TalkRow as n, type TalkSpeaker as o, type TalksResponse as p, checkNetworkMapJobStatus as q, createEducation as r, createPosition as s, createRecord as t, deleteEducation as u, deletePosition as v, deleteRecord as w, dismissEndorsement as x, fetchAtFundLink as y, fetchEndorsementCount as z };
|
|
@@ -801,6 +801,7 @@ declare const ProfileSelfRecordSchema: z.ZodObject<{
|
|
|
801
801
|
}, z.core.$strip>>;
|
|
802
802
|
}, z.core.$strip>>;
|
|
803
803
|
discoverable: z.ZodOptional<z.ZodBoolean>;
|
|
804
|
+
avatarSource: z.ZodOptional<z.ZodString>;
|
|
804
805
|
createdAt: z.ZodString;
|
|
805
806
|
}, z.core.$strip>;
|
|
806
807
|
type ProfileSelfRecord = z.infer<typeof ProfileSelfRecordSchema>;
|
|
@@ -801,6 +801,7 @@ declare const ProfileSelfRecordSchema: z.ZodObject<{
|
|
|
801
801
|
}, z.core.$strip>>;
|
|
802
802
|
}, z.core.$strip>>;
|
|
803
803
|
discoverable: z.ZodOptional<z.ZodBoolean>;
|
|
804
|
+
avatarSource: z.ZodOptional<z.ZodString>;
|
|
804
805
|
createdAt: z.ZodString;
|
|
805
806
|
}, z.core.$strip>;
|
|
806
807
|
type ProfileSelfRecord = z.infer<typeof ProfileSelfRecordSchema>;
|
|
@@ -1408,6 +1408,26 @@ async function fetchRpgStatus(config, options = {}) {
|
|
|
1408
1408
|
});
|
|
1409
1409
|
return RpgStatusResponseSchema.parse(data);
|
|
1410
1410
|
}
|
|
1411
|
+
var RpgClaimableResponseSchema = zod.z.object({
|
|
1412
|
+
count: zod.z.number().int().nonnegative()
|
|
1413
|
+
});
|
|
1414
|
+
async function fetchRpgClaimable(config, options = {}) {
|
|
1415
|
+
const { cookieHeader, ...fetchOptions } = options;
|
|
1416
|
+
const headers = { ...options.headers ?? {} };
|
|
1417
|
+
if (cookieHeader) headers.cookie = cookieHeader;
|
|
1418
|
+
try {
|
|
1419
|
+
const data = await apiFetch(config, "/api/rpg/claimable", {
|
|
1420
|
+
credentials: "include",
|
|
1421
|
+
cache: "no-store",
|
|
1422
|
+
timeoutMs: 5e3,
|
|
1423
|
+
...fetchOptions,
|
|
1424
|
+
headers
|
|
1425
|
+
});
|
|
1426
|
+
return RpgClaimableResponseSchema.parse(data);
|
|
1427
|
+
} catch {
|
|
1428
|
+
return { count: 0 };
|
|
1429
|
+
}
|
|
1430
|
+
}
|
|
1411
1431
|
|
|
1412
1432
|
// src/query/fetchers/endorsement.ts
|
|
1413
1433
|
async function fetchEndorsementCount(config, did, options = {}) {
|
|
@@ -1945,6 +1965,13 @@ var sifaQueryKeys = {
|
|
|
1945
1965
|
all: () => ["sifa", "inbox"],
|
|
1946
1966
|
counts: () => ["sifa", "inbox", "counts"]
|
|
1947
1967
|
},
|
|
1968
|
+
// Session-scoped: how many rpg.actor items the signed-in user can claim, for
|
|
1969
|
+
// the Inbox item and the bell dropdown.
|
|
1970
|
+
rpg: {
|
|
1971
|
+
all: () => ["sifa", "rpg"],
|
|
1972
|
+
claimable: () => ["sifa", "rpg", "claimable"],
|
|
1973
|
+
status: () => ["sifa", "rpg", "status"]
|
|
1974
|
+
},
|
|
1948
1975
|
search: {
|
|
1949
1976
|
all: () => ["sifa", "search"],
|
|
1950
1977
|
profiles: (filters) => ["sifa", "search", "profiles", filters],
|
|
@@ -2222,6 +2249,7 @@ exports.HIDDEN_ITEM_SOURCES = HIDDEN_ITEM_SOURCES;
|
|
|
2222
2249
|
exports.HIDDEN_ITEM_TYPES = HIDDEN_ITEM_TYPES;
|
|
2223
2250
|
exports.PROFILE_COMPLETENESS_SIGNALS = PROFILE_COMPLETENESS_SIGNALS;
|
|
2224
2251
|
exports.QUOTED_POSTS_BATCH_MAX = QUOTED_POSTS_BATCH_MAX;
|
|
2252
|
+
exports.RpgClaimableResponseSchema = RpgClaimableResponseSchema;
|
|
2225
2253
|
exports.RpgItemStatusSchema = RpgItemStatusSchema;
|
|
2226
2254
|
exports.RpgStatusResponseSchema = RpgStatusResponseSchema;
|
|
2227
2255
|
exports.UserSettingsSchema = UserSettingsSchema;
|
|
@@ -2297,6 +2325,7 @@ exports.fetchReceivedEndorsements = fetchReceivedEndorsements;
|
|
|
2297
2325
|
exports.fetchReciprocityCandidate = fetchReciprocityCandidate;
|
|
2298
2326
|
exports.fetchRepoInventory = fetchRepoInventory;
|
|
2299
2327
|
exports.fetchRoadmapVotes = fetchRoadmapVotes;
|
|
2328
|
+
exports.fetchRpgClaimable = fetchRpgClaimable;
|
|
2300
2329
|
exports.fetchRpgStatus = fetchRpgStatus;
|
|
2301
2330
|
exports.fetchSearchCompanies = fetchSearchCompanies;
|
|
2302
2331
|
exports.fetchSearchFilters = fetchSearchFilters;
|