@singi-labs/sifa-sdk 0.9.21 → 0.10.0
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.cjs +84 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +128 -1
- package/dist/index.d.ts +128 -1
- package/dist/index.js +78 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -171,6 +171,133 @@ declare function dedupeSkills(skills: ProfileSkill[]): MergedProfileSkill[];
|
|
|
171
171
|
*/
|
|
172
172
|
declare function groupSkillsByCategory<T extends ProfileSkill>(skills: T[]): [string, T[]][];
|
|
173
173
|
|
|
174
|
+
/**
|
|
175
|
+
* App-category taxonomy for AT Protocol apps tracked by Sifa.
|
|
176
|
+
*
|
|
177
|
+
* Categories group apps by what kind of activity they produce (Posts, Photos,
|
|
178
|
+
* Code, ...). They drive the pill-size icon shown in `<AppPill>` and the
|
|
179
|
+
* fallback glyph used in activity-card headers when no app-specific logo
|
|
180
|
+
* exists.
|
|
181
|
+
*
|
|
182
|
+
* This file is intentionally data-only -- icon mapping is renderer-specific
|
|
183
|
+
* (React DOM Phosphor components on web, React Native components on mobile)
|
|
184
|
+
* and lives in the consumer. The `phosphorIcon` field is the Phosphor icon
|
|
185
|
+
* NAME, not a component reference.
|
|
186
|
+
*
|
|
187
|
+
* Categories are an internal grouping; we do not surface this taxonomy in
|
|
188
|
+
* public-facing copy.
|
|
189
|
+
*/
|
|
190
|
+
declare const APP_CATEGORIES: {
|
|
191
|
+
readonly Articles: {
|
|
192
|
+
readonly phosphorIcon: "Article";
|
|
193
|
+
};
|
|
194
|
+
readonly Chat: {
|
|
195
|
+
readonly phosphorIcon: "ChatsCircle";
|
|
196
|
+
};
|
|
197
|
+
readonly Code: {
|
|
198
|
+
readonly phosphorIcon: "Code";
|
|
199
|
+
};
|
|
200
|
+
readonly Events: {
|
|
201
|
+
readonly phosphorIcon: "CalendarBlank";
|
|
202
|
+
};
|
|
203
|
+
readonly Links: {
|
|
204
|
+
readonly phosphorIcon: "LinkSimple";
|
|
205
|
+
};
|
|
206
|
+
readonly Lists: {
|
|
207
|
+
readonly phosphorIcon: "ListBullets";
|
|
208
|
+
};
|
|
209
|
+
readonly Music: {
|
|
210
|
+
readonly phosphorIcon: "MusicNote";
|
|
211
|
+
};
|
|
212
|
+
readonly Pages: {
|
|
213
|
+
readonly phosphorIcon: "BrowserSimple";
|
|
214
|
+
};
|
|
215
|
+
readonly Pastes: {
|
|
216
|
+
readonly phosphorIcon: "Clipboard";
|
|
217
|
+
};
|
|
218
|
+
readonly Photos: {
|
|
219
|
+
readonly phosphorIcon: "Camera";
|
|
220
|
+
};
|
|
221
|
+
readonly Places: {
|
|
222
|
+
readonly phosphorIcon: "MapPin";
|
|
223
|
+
};
|
|
224
|
+
readonly Posts: {
|
|
225
|
+
readonly phosphorIcon: "ChatCircle";
|
|
226
|
+
};
|
|
227
|
+
readonly 'Q&A': {
|
|
228
|
+
readonly phosphorIcon: "Question";
|
|
229
|
+
};
|
|
230
|
+
readonly Research: {
|
|
231
|
+
readonly phosphorIcon: "Path";
|
|
232
|
+
};
|
|
233
|
+
readonly Reviews: {
|
|
234
|
+
readonly phosphorIcon: "Star";
|
|
235
|
+
};
|
|
236
|
+
readonly Social: {
|
|
237
|
+
readonly phosphorIcon: "UsersThree";
|
|
238
|
+
};
|
|
239
|
+
readonly Verification: {
|
|
240
|
+
readonly phosphorIcon: "Key";
|
|
241
|
+
};
|
|
242
|
+
readonly Video: {
|
|
243
|
+
readonly phosphorIcon: "VideoCamera";
|
|
244
|
+
};
|
|
245
|
+
};
|
|
246
|
+
type AppCategoryId = keyof typeof APP_CATEGORIES;
|
|
247
|
+
declare const APP_CATEGORY_IDS: AppCategoryId[];
|
|
248
|
+
declare function isAppCategory(value: string): value is AppCategoryId;
|
|
249
|
+
declare function getAppCategoryIcon(category: AppCategoryId): string;
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* Maps every AT Protocol app Sifa tracks to its `AppCategoryId`. Single source
|
|
253
|
+
* of truth for what category an app belongs to; sifa-api and sifa-web both
|
|
254
|
+
* import from here.
|
|
255
|
+
*
|
|
256
|
+
* Add a new app: pick the category whose generic glyph best represents the
|
|
257
|
+
* activity. If no existing category fits, add a new one to APP_CATEGORIES
|
|
258
|
+
* rather than introducing a per-app override.
|
|
259
|
+
*/
|
|
260
|
+
|
|
261
|
+
declare const APP_CATEGORY_MAP: {
|
|
262
|
+
readonly bluesky: "Posts";
|
|
263
|
+
readonly tangled: "Code";
|
|
264
|
+
readonly github: "Code";
|
|
265
|
+
readonly smokesignal: "Events";
|
|
266
|
+
readonly flashes: "Photos";
|
|
267
|
+
readonly grain: "Photos";
|
|
268
|
+
readonly whitewind: "Articles";
|
|
269
|
+
readonly frontpage: "Links";
|
|
270
|
+
readonly picosky: "Chat";
|
|
271
|
+
readonly pastesphere: "Pastes";
|
|
272
|
+
readonly standard: "Articles";
|
|
273
|
+
readonly aetheros: "Pages";
|
|
274
|
+
readonly roomy: "Social";
|
|
275
|
+
readonly keytrace: "Verification";
|
|
276
|
+
readonly popfeed: "Reviews";
|
|
277
|
+
readonly streamplace: "Video";
|
|
278
|
+
readonly semble: "Research";
|
|
279
|
+
readonly youandme: "Social";
|
|
280
|
+
readonly leaflet: "Articles";
|
|
281
|
+
readonly colibri: "Social";
|
|
282
|
+
readonly collectivesocial: "Lists";
|
|
283
|
+
readonly bookhive: "Reviews";
|
|
284
|
+
readonly beaconbits: "Places";
|
|
285
|
+
readonly passports: "Places";
|
|
286
|
+
readonly asq: "Q&A";
|
|
287
|
+
readonly spark: "Posts";
|
|
288
|
+
readonly nooki: "Social";
|
|
289
|
+
readonly atstore: "Reviews";
|
|
290
|
+
readonly plyr: "Music";
|
|
291
|
+
readonly anisota: "Posts";
|
|
292
|
+
readonly linkat: "Links";
|
|
293
|
+
readonly kipclip: "Links";
|
|
294
|
+
readonly statusphere: "Social";
|
|
295
|
+
readonly margin: "Research";
|
|
296
|
+
};
|
|
297
|
+
type KnownAppId = keyof typeof APP_CATEGORY_MAP;
|
|
298
|
+
declare function isKnownAppId(appId: string): appId is KnownAppId;
|
|
299
|
+
declare function categoryForApp(appId: string): AppCategoryId | undefined;
|
|
300
|
+
|
|
174
301
|
type ActivityTier = 'creation' | 'action' | 'filtered';
|
|
175
302
|
interface TierMeta {
|
|
176
303
|
label: string | null;
|
|
@@ -583,4 +710,4 @@ declare function pickPrimaryPosition<T extends PrimaryPositionCandidate>(positio
|
|
|
583
710
|
*/
|
|
584
711
|
declare const SIFA_SDK_VERSION: string;
|
|
585
712
|
|
|
586
|
-
export { ACTIVITY_TIERS, ACTIVITY_VISIBILITY_RULES, APP_URL_PATTERNS, type ActivityItemForUrl, type ActivityTaxonomy, type ActivityTier, type AppUrlPatterns, CATEGORY_LABELS, CATEGORY_ORDER, COLLECTION_TO_APP, COMPLETENESS_MAX_SCORE, CONTINENTS, COUNTRIES, type ContinentCode, DIMENSIONS_MAX_SCORE, type DimensionKey, type DimensionMap, EMPLOYMENT_TYPE_GROUPS, EMPLOYMENT_TYPE_LABELS, type EmploymentTypeGroup, type EmploymentTypeOption, INDUSTRY_OPTIONS, type IndustryOption, type LexiconEntry, LocationValue, MIN_SKILLS, type MergedProfileSkill, OPEN_TO_OPTIONS, type OpenToOption, PLATFORM_LABELS, PLATFORM_OPTIONS, type PdsProvider, PdsProviderInfo, type PlatformId, type PrimaryPositionCandidate, Profile, type ProfileCompletion, type ProfileDimensionInputs, ProfileSkill, type RgbColor, SIFA_SDK_VERSION, SKILL_CATEGORIES, type SkillCategory, type TierMeta, WORKPLACE_TYPE_LABELS, WORKPLACE_TYPE_OPTIONS, type WorkplaceTypeOption, certDateExtractor, completenessPercent, completenessScore, contrastRatio, countFilledDimensions, countryCodeToFlag, dateRangeExtractor, dedupeSkills, detectPdsProvider, dimensionsFromInputs, findIndustry, formatDistanceToNow, formatLocation, formatRelativeTime, getActivityTaxonomyVersion, getActivityTier, getAppIdForCollection, getContinent, getDisplayLabel, getEmploymentTypeLabel, getFaviconUrl, getFilledDimensionsMap, getHandleStem, getIndustryLabelKey, getLexiconEntry, getOpenToLabelKey, getPdsDisplayName, getPlatformLabel, getTierMeta, getWorkplaceTypeLabel, groupSkillsByCategory, isKnownPlatform, isValidRgbColor, isVisibleActivityItem, lexiconDateExtractor, limitCombiningMarks, meetsContrastAA, parseLocationString, pdsProviderFromApi, pickPrimaryPosition, profileToDimensionInputs, relativeLuminance, resolveCardUrl, rgbToString, sanitizeDisplayText, sanitizeHandleInput, singleDateExtractor, sortByDateDesc, truncateGraphemes };
|
|
713
|
+
export { ACTIVITY_TIERS, ACTIVITY_VISIBILITY_RULES, APP_CATEGORIES, APP_CATEGORY_IDS, APP_CATEGORY_MAP, APP_URL_PATTERNS, type ActivityItemForUrl, type ActivityTaxonomy, type ActivityTier, type AppCategoryId, type AppUrlPatterns, CATEGORY_LABELS, CATEGORY_ORDER, COLLECTION_TO_APP, COMPLETENESS_MAX_SCORE, CONTINENTS, COUNTRIES, type ContinentCode, DIMENSIONS_MAX_SCORE, type DimensionKey, type DimensionMap, EMPLOYMENT_TYPE_GROUPS, EMPLOYMENT_TYPE_LABELS, type EmploymentTypeGroup, type EmploymentTypeOption, INDUSTRY_OPTIONS, type IndustryOption, type KnownAppId, type LexiconEntry, LocationValue, MIN_SKILLS, type MergedProfileSkill, OPEN_TO_OPTIONS, type OpenToOption, PLATFORM_LABELS, PLATFORM_OPTIONS, type PdsProvider, PdsProviderInfo, type PlatformId, type PrimaryPositionCandidate, Profile, type ProfileCompletion, type ProfileDimensionInputs, ProfileSkill, type RgbColor, SIFA_SDK_VERSION, SKILL_CATEGORIES, type SkillCategory, type TierMeta, WORKPLACE_TYPE_LABELS, WORKPLACE_TYPE_OPTIONS, type WorkplaceTypeOption, categoryForApp, certDateExtractor, completenessPercent, completenessScore, contrastRatio, countFilledDimensions, countryCodeToFlag, dateRangeExtractor, dedupeSkills, detectPdsProvider, dimensionsFromInputs, findIndustry, formatDistanceToNow, formatLocation, formatRelativeTime, getActivityTaxonomyVersion, getActivityTier, getAppCategoryIcon, getAppIdForCollection, getContinent, getDisplayLabel, getEmploymentTypeLabel, getFaviconUrl, getFilledDimensionsMap, getHandleStem, getIndustryLabelKey, getLexiconEntry, getOpenToLabelKey, getPdsDisplayName, getPlatformLabel, getTierMeta, getWorkplaceTypeLabel, groupSkillsByCategory, isAppCategory, isKnownAppId, isKnownPlatform, isValidRgbColor, isVisibleActivityItem, lexiconDateExtractor, limitCombiningMarks, meetsContrastAA, parseLocationString, pdsProviderFromApi, pickPrimaryPosition, profileToDimensionInputs, relativeLuminance, resolveCardUrl, rgbToString, sanitizeDisplayText, sanitizeHandleInput, singleDateExtractor, sortByDateDesc, truncateGraphemes };
|
package/dist/index.d.ts
CHANGED
|
@@ -171,6 +171,133 @@ declare function dedupeSkills(skills: ProfileSkill[]): MergedProfileSkill[];
|
|
|
171
171
|
*/
|
|
172
172
|
declare function groupSkillsByCategory<T extends ProfileSkill>(skills: T[]): [string, T[]][];
|
|
173
173
|
|
|
174
|
+
/**
|
|
175
|
+
* App-category taxonomy for AT Protocol apps tracked by Sifa.
|
|
176
|
+
*
|
|
177
|
+
* Categories group apps by what kind of activity they produce (Posts, Photos,
|
|
178
|
+
* Code, ...). They drive the pill-size icon shown in `<AppPill>` and the
|
|
179
|
+
* fallback glyph used in activity-card headers when no app-specific logo
|
|
180
|
+
* exists.
|
|
181
|
+
*
|
|
182
|
+
* This file is intentionally data-only -- icon mapping is renderer-specific
|
|
183
|
+
* (React DOM Phosphor components on web, React Native components on mobile)
|
|
184
|
+
* and lives in the consumer. The `phosphorIcon` field is the Phosphor icon
|
|
185
|
+
* NAME, not a component reference.
|
|
186
|
+
*
|
|
187
|
+
* Categories are an internal grouping; we do not surface this taxonomy in
|
|
188
|
+
* public-facing copy.
|
|
189
|
+
*/
|
|
190
|
+
declare const APP_CATEGORIES: {
|
|
191
|
+
readonly Articles: {
|
|
192
|
+
readonly phosphorIcon: "Article";
|
|
193
|
+
};
|
|
194
|
+
readonly Chat: {
|
|
195
|
+
readonly phosphorIcon: "ChatsCircle";
|
|
196
|
+
};
|
|
197
|
+
readonly Code: {
|
|
198
|
+
readonly phosphorIcon: "Code";
|
|
199
|
+
};
|
|
200
|
+
readonly Events: {
|
|
201
|
+
readonly phosphorIcon: "CalendarBlank";
|
|
202
|
+
};
|
|
203
|
+
readonly Links: {
|
|
204
|
+
readonly phosphorIcon: "LinkSimple";
|
|
205
|
+
};
|
|
206
|
+
readonly Lists: {
|
|
207
|
+
readonly phosphorIcon: "ListBullets";
|
|
208
|
+
};
|
|
209
|
+
readonly Music: {
|
|
210
|
+
readonly phosphorIcon: "MusicNote";
|
|
211
|
+
};
|
|
212
|
+
readonly Pages: {
|
|
213
|
+
readonly phosphorIcon: "BrowserSimple";
|
|
214
|
+
};
|
|
215
|
+
readonly Pastes: {
|
|
216
|
+
readonly phosphorIcon: "Clipboard";
|
|
217
|
+
};
|
|
218
|
+
readonly Photos: {
|
|
219
|
+
readonly phosphorIcon: "Camera";
|
|
220
|
+
};
|
|
221
|
+
readonly Places: {
|
|
222
|
+
readonly phosphorIcon: "MapPin";
|
|
223
|
+
};
|
|
224
|
+
readonly Posts: {
|
|
225
|
+
readonly phosphorIcon: "ChatCircle";
|
|
226
|
+
};
|
|
227
|
+
readonly 'Q&A': {
|
|
228
|
+
readonly phosphorIcon: "Question";
|
|
229
|
+
};
|
|
230
|
+
readonly Research: {
|
|
231
|
+
readonly phosphorIcon: "Path";
|
|
232
|
+
};
|
|
233
|
+
readonly Reviews: {
|
|
234
|
+
readonly phosphorIcon: "Star";
|
|
235
|
+
};
|
|
236
|
+
readonly Social: {
|
|
237
|
+
readonly phosphorIcon: "UsersThree";
|
|
238
|
+
};
|
|
239
|
+
readonly Verification: {
|
|
240
|
+
readonly phosphorIcon: "Key";
|
|
241
|
+
};
|
|
242
|
+
readonly Video: {
|
|
243
|
+
readonly phosphorIcon: "VideoCamera";
|
|
244
|
+
};
|
|
245
|
+
};
|
|
246
|
+
type AppCategoryId = keyof typeof APP_CATEGORIES;
|
|
247
|
+
declare const APP_CATEGORY_IDS: AppCategoryId[];
|
|
248
|
+
declare function isAppCategory(value: string): value is AppCategoryId;
|
|
249
|
+
declare function getAppCategoryIcon(category: AppCategoryId): string;
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* Maps every AT Protocol app Sifa tracks to its `AppCategoryId`. Single source
|
|
253
|
+
* of truth for what category an app belongs to; sifa-api and sifa-web both
|
|
254
|
+
* import from here.
|
|
255
|
+
*
|
|
256
|
+
* Add a new app: pick the category whose generic glyph best represents the
|
|
257
|
+
* activity. If no existing category fits, add a new one to APP_CATEGORIES
|
|
258
|
+
* rather than introducing a per-app override.
|
|
259
|
+
*/
|
|
260
|
+
|
|
261
|
+
declare const APP_CATEGORY_MAP: {
|
|
262
|
+
readonly bluesky: "Posts";
|
|
263
|
+
readonly tangled: "Code";
|
|
264
|
+
readonly github: "Code";
|
|
265
|
+
readonly smokesignal: "Events";
|
|
266
|
+
readonly flashes: "Photos";
|
|
267
|
+
readonly grain: "Photos";
|
|
268
|
+
readonly whitewind: "Articles";
|
|
269
|
+
readonly frontpage: "Links";
|
|
270
|
+
readonly picosky: "Chat";
|
|
271
|
+
readonly pastesphere: "Pastes";
|
|
272
|
+
readonly standard: "Articles";
|
|
273
|
+
readonly aetheros: "Pages";
|
|
274
|
+
readonly roomy: "Social";
|
|
275
|
+
readonly keytrace: "Verification";
|
|
276
|
+
readonly popfeed: "Reviews";
|
|
277
|
+
readonly streamplace: "Video";
|
|
278
|
+
readonly semble: "Research";
|
|
279
|
+
readonly youandme: "Social";
|
|
280
|
+
readonly leaflet: "Articles";
|
|
281
|
+
readonly colibri: "Social";
|
|
282
|
+
readonly collectivesocial: "Lists";
|
|
283
|
+
readonly bookhive: "Reviews";
|
|
284
|
+
readonly beaconbits: "Places";
|
|
285
|
+
readonly passports: "Places";
|
|
286
|
+
readonly asq: "Q&A";
|
|
287
|
+
readonly spark: "Posts";
|
|
288
|
+
readonly nooki: "Social";
|
|
289
|
+
readonly atstore: "Reviews";
|
|
290
|
+
readonly plyr: "Music";
|
|
291
|
+
readonly anisota: "Posts";
|
|
292
|
+
readonly linkat: "Links";
|
|
293
|
+
readonly kipclip: "Links";
|
|
294
|
+
readonly statusphere: "Social";
|
|
295
|
+
readonly margin: "Research";
|
|
296
|
+
};
|
|
297
|
+
type KnownAppId = keyof typeof APP_CATEGORY_MAP;
|
|
298
|
+
declare function isKnownAppId(appId: string): appId is KnownAppId;
|
|
299
|
+
declare function categoryForApp(appId: string): AppCategoryId | undefined;
|
|
300
|
+
|
|
174
301
|
type ActivityTier = 'creation' | 'action' | 'filtered';
|
|
175
302
|
interface TierMeta {
|
|
176
303
|
label: string | null;
|
|
@@ -583,4 +710,4 @@ declare function pickPrimaryPosition<T extends PrimaryPositionCandidate>(positio
|
|
|
583
710
|
*/
|
|
584
711
|
declare const SIFA_SDK_VERSION: string;
|
|
585
712
|
|
|
586
|
-
export { ACTIVITY_TIERS, ACTIVITY_VISIBILITY_RULES, APP_URL_PATTERNS, type ActivityItemForUrl, type ActivityTaxonomy, type ActivityTier, type AppUrlPatterns, CATEGORY_LABELS, CATEGORY_ORDER, COLLECTION_TO_APP, COMPLETENESS_MAX_SCORE, CONTINENTS, COUNTRIES, type ContinentCode, DIMENSIONS_MAX_SCORE, type DimensionKey, type DimensionMap, EMPLOYMENT_TYPE_GROUPS, EMPLOYMENT_TYPE_LABELS, type EmploymentTypeGroup, type EmploymentTypeOption, INDUSTRY_OPTIONS, type IndustryOption, type LexiconEntry, LocationValue, MIN_SKILLS, type MergedProfileSkill, OPEN_TO_OPTIONS, type OpenToOption, PLATFORM_LABELS, PLATFORM_OPTIONS, type PdsProvider, PdsProviderInfo, type PlatformId, type PrimaryPositionCandidate, Profile, type ProfileCompletion, type ProfileDimensionInputs, ProfileSkill, type RgbColor, SIFA_SDK_VERSION, SKILL_CATEGORIES, type SkillCategory, type TierMeta, WORKPLACE_TYPE_LABELS, WORKPLACE_TYPE_OPTIONS, type WorkplaceTypeOption, certDateExtractor, completenessPercent, completenessScore, contrastRatio, countFilledDimensions, countryCodeToFlag, dateRangeExtractor, dedupeSkills, detectPdsProvider, dimensionsFromInputs, findIndustry, formatDistanceToNow, formatLocation, formatRelativeTime, getActivityTaxonomyVersion, getActivityTier, getAppIdForCollection, getContinent, getDisplayLabel, getEmploymentTypeLabel, getFaviconUrl, getFilledDimensionsMap, getHandleStem, getIndustryLabelKey, getLexiconEntry, getOpenToLabelKey, getPdsDisplayName, getPlatformLabel, getTierMeta, getWorkplaceTypeLabel, groupSkillsByCategory, isKnownPlatform, isValidRgbColor, isVisibleActivityItem, lexiconDateExtractor, limitCombiningMarks, meetsContrastAA, parseLocationString, pdsProviderFromApi, pickPrimaryPosition, profileToDimensionInputs, relativeLuminance, resolveCardUrl, rgbToString, sanitizeDisplayText, sanitizeHandleInput, singleDateExtractor, sortByDateDesc, truncateGraphemes };
|
|
713
|
+
export { ACTIVITY_TIERS, ACTIVITY_VISIBILITY_RULES, APP_CATEGORIES, APP_CATEGORY_IDS, APP_CATEGORY_MAP, APP_URL_PATTERNS, type ActivityItemForUrl, type ActivityTaxonomy, type ActivityTier, type AppCategoryId, type AppUrlPatterns, CATEGORY_LABELS, CATEGORY_ORDER, COLLECTION_TO_APP, COMPLETENESS_MAX_SCORE, CONTINENTS, COUNTRIES, type ContinentCode, DIMENSIONS_MAX_SCORE, type DimensionKey, type DimensionMap, EMPLOYMENT_TYPE_GROUPS, EMPLOYMENT_TYPE_LABELS, type EmploymentTypeGroup, type EmploymentTypeOption, INDUSTRY_OPTIONS, type IndustryOption, type KnownAppId, type LexiconEntry, LocationValue, MIN_SKILLS, type MergedProfileSkill, OPEN_TO_OPTIONS, type OpenToOption, PLATFORM_LABELS, PLATFORM_OPTIONS, type PdsProvider, PdsProviderInfo, type PlatformId, type PrimaryPositionCandidate, Profile, type ProfileCompletion, type ProfileDimensionInputs, ProfileSkill, type RgbColor, SIFA_SDK_VERSION, SKILL_CATEGORIES, type SkillCategory, type TierMeta, WORKPLACE_TYPE_LABELS, WORKPLACE_TYPE_OPTIONS, type WorkplaceTypeOption, categoryForApp, certDateExtractor, completenessPercent, completenessScore, contrastRatio, countFilledDimensions, countryCodeToFlag, dateRangeExtractor, dedupeSkills, detectPdsProvider, dimensionsFromInputs, findIndustry, formatDistanceToNow, formatLocation, formatRelativeTime, getActivityTaxonomyVersion, getActivityTier, getAppCategoryIcon, getAppIdForCollection, getContinent, getDisplayLabel, getEmploymentTypeLabel, getFaviconUrl, getFilledDimensionsMap, getHandleStem, getIndustryLabelKey, getLexiconEntry, getOpenToLabelKey, getPdsDisplayName, getPlatformLabel, getTierMeta, getWorkplaceTypeLabel, groupSkillsByCategory, isAppCategory, isKnownAppId, isKnownPlatform, isValidRgbColor, isVisibleActivityItem, lexiconDateExtractor, limitCombiningMarks, meetsContrastAA, parseLocationString, pdsProviderFromApi, pickPrimaryPosition, profileToDimensionInputs, relativeLuminance, resolveCardUrl, rgbToString, sanitizeDisplayText, sanitizeHandleInput, singleDateExtractor, sortByDateDesc, truncateGraphemes };
|
package/dist/index.js
CHANGED
|
@@ -794,6 +794,82 @@ function groupSkillsByCategory(skills) {
|
|
|
794
794
|
return ordered;
|
|
795
795
|
}
|
|
796
796
|
|
|
797
|
+
// src/taxonomy/app-categories.ts
|
|
798
|
+
var APP_CATEGORIES = {
|
|
799
|
+
Articles: { phosphorIcon: "Article" },
|
|
800
|
+
Chat: { phosphorIcon: "ChatsCircle" },
|
|
801
|
+
Code: { phosphorIcon: "Code" },
|
|
802
|
+
Events: { phosphorIcon: "CalendarBlank" },
|
|
803
|
+
Links: { phosphorIcon: "LinkSimple" },
|
|
804
|
+
Lists: { phosphorIcon: "ListBullets" },
|
|
805
|
+
Music: { phosphorIcon: "MusicNote" },
|
|
806
|
+
Pages: { phosphorIcon: "BrowserSimple" },
|
|
807
|
+
Pastes: { phosphorIcon: "Clipboard" },
|
|
808
|
+
Photos: { phosphorIcon: "Camera" },
|
|
809
|
+
Places: { phosphorIcon: "MapPin" },
|
|
810
|
+
Posts: { phosphorIcon: "ChatCircle" },
|
|
811
|
+
"Q&A": { phosphorIcon: "Question" },
|
|
812
|
+
Research: { phosphorIcon: "Path" },
|
|
813
|
+
Reviews: { phosphorIcon: "Star" },
|
|
814
|
+
Social: { phosphorIcon: "UsersThree" },
|
|
815
|
+
Verification: { phosphorIcon: "Key" },
|
|
816
|
+
Video: { phosphorIcon: "VideoCamera" }
|
|
817
|
+
};
|
|
818
|
+
var APP_CATEGORY_IDS = Object.keys(APP_CATEGORIES);
|
|
819
|
+
function isAppCategory(value) {
|
|
820
|
+
return Object.prototype.hasOwnProperty.call(APP_CATEGORIES, value);
|
|
821
|
+
}
|
|
822
|
+
function getAppCategoryIcon(category) {
|
|
823
|
+
return APP_CATEGORIES[category].phosphorIcon;
|
|
824
|
+
}
|
|
825
|
+
|
|
826
|
+
// src/taxonomy/app-category-map.ts
|
|
827
|
+
var APP_CATEGORY_MAP = {
|
|
828
|
+
// Backend-scanned (sifa-api APP_REGISTRY)
|
|
829
|
+
bluesky: "Posts",
|
|
830
|
+
tangled: "Code",
|
|
831
|
+
github: "Code",
|
|
832
|
+
smokesignal: "Events",
|
|
833
|
+
flashes: "Photos",
|
|
834
|
+
grain: "Photos",
|
|
835
|
+
whitewind: "Articles",
|
|
836
|
+
frontpage: "Links",
|
|
837
|
+
picosky: "Chat",
|
|
838
|
+
pastesphere: "Pastes",
|
|
839
|
+
standard: "Articles",
|
|
840
|
+
aetheros: "Pages",
|
|
841
|
+
roomy: "Social",
|
|
842
|
+
keytrace: "Verification",
|
|
843
|
+
popfeed: "Reviews",
|
|
844
|
+
streamplace: "Video",
|
|
845
|
+
semble: "Research",
|
|
846
|
+
youandme: "Social",
|
|
847
|
+
leaflet: "Articles",
|
|
848
|
+
colibri: "Social",
|
|
849
|
+
collectivesocial: "Lists",
|
|
850
|
+
bookhive: "Reviews",
|
|
851
|
+
beaconbits: "Places",
|
|
852
|
+
passports: "Places",
|
|
853
|
+
asq: "Q&A",
|
|
854
|
+
spark: "Posts",
|
|
855
|
+
nooki: "Social",
|
|
856
|
+
atstore: "Reviews",
|
|
857
|
+
plyr: "Music",
|
|
858
|
+
anisota: "Posts",
|
|
859
|
+
// Web-only (rendered in pills/cards via sifa-web atproto-apps.ts;
|
|
860
|
+
// no backend scan collection yet)
|
|
861
|
+
linkat: "Links",
|
|
862
|
+
kipclip: "Links",
|
|
863
|
+
statusphere: "Social",
|
|
864
|
+
margin: "Research"
|
|
865
|
+
};
|
|
866
|
+
function isKnownAppId(appId) {
|
|
867
|
+
return Object.prototype.hasOwnProperty.call(APP_CATEGORY_MAP, appId);
|
|
868
|
+
}
|
|
869
|
+
function categoryForApp(appId) {
|
|
870
|
+
return isKnownAppId(appId) ? APP_CATEGORY_MAP[appId] : void 0;
|
|
871
|
+
}
|
|
872
|
+
|
|
797
873
|
// src/taxonomy/activity-tiers.json
|
|
798
874
|
var activity_tiers_default = {
|
|
799
875
|
$schema: "https://sifa.id/schemas/activity-tiers/v1.json",
|
|
@@ -1991,8 +2067,8 @@ var ProfileVolunteeringRecordSchema = z.object({
|
|
|
1991
2067
|
});
|
|
1992
2068
|
|
|
1993
2069
|
// src/index.ts
|
|
1994
|
-
var SIFA_SDK_VERSION = "0.
|
|
2070
|
+
var SIFA_SDK_VERSION = "0.10.0";
|
|
1995
2071
|
|
|
1996
|
-
export { ACTIVITY_TIERS, ACTIVITY_VISIBILITY_RULES, APP_URL_PATTERNS, AtmosphereFeedItemSchema, CATEGORY_LABELS, CATEGORY_ORDER, COLLECTION_TO_APP, COMPLETENESS_MAX_SCORE, CONTINENTS, COUNTRIES, DIMENSIONS_MAX_SCORE, EMPLOYMENT_TYPE_GROUPS, EMPLOYMENT_TYPE_LABELS, EndorsementConfirmationRecordSchema, EndorsementRecordSchema, FEATURE_FLAGS, FeatureAllowlistEntrySchema, FeedActorSchema, FollowFeedItemSchema, FollowFeedPageSchema, FollowProfilePageSchema, FollowProfileSchema, GraphFollowRecordSchema, INDUSTRY_OPTIONS, MIN_SKILLS, OPEN_TO_OPTIONS, PLATFORM_LABELS, PLATFORM_OPTIONS, ProfileCertificationRecordSchema, ProfileCourseRecordSchema, ProfileEducationRecordSchema, ProfileExternalAccountRecordSchema, ProfileHonorRecordSchema, ProfileLanguageRecordSchema, ProfilePositionRecordSchema, ProfileProjectRecordSchema, ProfilePublicationRecordSchema, ProfileSelfRecordSchema, ProfileSkillRecordSchema, ProfileVolunteeringRecordSchema, PublicationAuthorSchema, SIFA_SDK_VERSION, SKILL_CATEGORIES, SifaFeedItemSchema, WORKPLACE_TYPE_LABELS, WORKPLACE_TYPE_OPTIONS, atUriSchema, certDateExtractor, cidSchema, completenessPercent, completenessScore, contrastRatio, countFilledDimensions, countryCodeToFlag, dateRangeExtractor, datetimeSchema, decodeFeedCursor, dedupeSkills, detectPdsProvider, didSchema, dimensionsFromInputs, encodeFeedCursor, findIndustry, formatDistanceToNow, formatLocation, formatRelativeTime, getActivityTaxonomyVersion, getActivityTier, getAppIdForCollection, getContinent, getDisplayLabel, getEmploymentTypeLabel, getFaviconUrl, getFilledDimensionsMap, getHandleStem, getIndustryLabelKey, getLexiconEntry, getOpenToLabelKey, getPdsDisplayName, getPlatformLabel, getTierMeta, getWorkplaceTypeLabel, groupSkillsByCategory, isKnownPlatform, isValidRgbColor, isVisibleActivityItem, languageTagSchema, lexiconDateExtractor, limitCombiningMarks, makeGraphFollowRecordSchema, maxGraphemes, meetsContrastAA, parseLocationString, pdsProviderFromApi, pickPrimaryPosition, profileToDimensionInputs, relativeLuminance, resolveCardUrl, rgbToString, sanitizeDisplayText, sanitizeHandleInput, selfLabelsSchema, singleDateExtractor, sortByDateDesc, strongRefSchema, truncateGraphemes, uriSchema };
|
|
2072
|
+
export { ACTIVITY_TIERS, ACTIVITY_VISIBILITY_RULES, APP_CATEGORIES, APP_CATEGORY_IDS, APP_CATEGORY_MAP, APP_URL_PATTERNS, AtmosphereFeedItemSchema, CATEGORY_LABELS, CATEGORY_ORDER, COLLECTION_TO_APP, COMPLETENESS_MAX_SCORE, CONTINENTS, COUNTRIES, DIMENSIONS_MAX_SCORE, EMPLOYMENT_TYPE_GROUPS, EMPLOYMENT_TYPE_LABELS, EndorsementConfirmationRecordSchema, EndorsementRecordSchema, FEATURE_FLAGS, FeatureAllowlistEntrySchema, FeedActorSchema, FollowFeedItemSchema, FollowFeedPageSchema, FollowProfilePageSchema, FollowProfileSchema, GraphFollowRecordSchema, INDUSTRY_OPTIONS, MIN_SKILLS, OPEN_TO_OPTIONS, PLATFORM_LABELS, PLATFORM_OPTIONS, ProfileCertificationRecordSchema, ProfileCourseRecordSchema, ProfileEducationRecordSchema, ProfileExternalAccountRecordSchema, ProfileHonorRecordSchema, ProfileLanguageRecordSchema, ProfilePositionRecordSchema, ProfileProjectRecordSchema, ProfilePublicationRecordSchema, ProfileSelfRecordSchema, ProfileSkillRecordSchema, ProfileVolunteeringRecordSchema, PublicationAuthorSchema, SIFA_SDK_VERSION, SKILL_CATEGORIES, SifaFeedItemSchema, WORKPLACE_TYPE_LABELS, WORKPLACE_TYPE_OPTIONS, atUriSchema, categoryForApp, certDateExtractor, cidSchema, completenessPercent, completenessScore, contrastRatio, countFilledDimensions, countryCodeToFlag, dateRangeExtractor, datetimeSchema, decodeFeedCursor, dedupeSkills, detectPdsProvider, didSchema, dimensionsFromInputs, encodeFeedCursor, findIndustry, formatDistanceToNow, formatLocation, formatRelativeTime, getActivityTaxonomyVersion, getActivityTier, getAppCategoryIcon, getAppIdForCollection, getContinent, getDisplayLabel, getEmploymentTypeLabel, getFaviconUrl, getFilledDimensionsMap, getHandleStem, getIndustryLabelKey, getLexiconEntry, getOpenToLabelKey, getPdsDisplayName, getPlatformLabel, getTierMeta, getWorkplaceTypeLabel, groupSkillsByCategory, isAppCategory, isKnownAppId, isKnownPlatform, isValidRgbColor, isVisibleActivityItem, languageTagSchema, lexiconDateExtractor, limitCombiningMarks, makeGraphFollowRecordSchema, maxGraphemes, meetsContrastAA, parseLocationString, pdsProviderFromApi, pickPrimaryPosition, profileToDimensionInputs, relativeLuminance, resolveCardUrl, rgbToString, sanitizeDisplayText, sanitizeHandleInput, selfLabelsSchema, singleDateExtractor, sortByDateDesc, strongRefSchema, truncateGraphemes, uriSchema };
|
|
1997
2073
|
//# sourceMappingURL=index.js.map
|
|
1998
2074
|
//# sourceMappingURL=index.js.map
|