@ewanc26/atproto 0.2.9 → 0.2.10

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/fetch.d.ts CHANGED
@@ -1,10 +1,16 @@
1
- import type { ProfileData, SiteInfoData, LinkData, MusicStatusData, KibunStatusData, TangledReposData, PopfeedReview, SifaProfileData, SifaSkill, SifaProject, SifaLanguage, SifaCertification, SifaExternalAccount } from './types.js';
1
+ import type { ProfileData, SiteInfoData, LinkData, MusicStatusData, KibunStatusData, TangledReposData, PopfeedReview, SifaProfileData, SifaSkill, SifaProject, SifaLanguage, SifaCertification, SifaExternalAccount, SifaPosition, SifaEducation, SifaVolunteering, SifaHonor, SifaCourse, SifaPublication } from './types.js';
2
2
  export declare function fetchProfile(did: string, fetchFn?: typeof fetch): Promise<ProfileData>;
3
3
  export declare function fetchSiteInfo(did: string, fetchFn?: typeof fetch): Promise<SiteInfoData | null>;
4
4
  export declare function fetchLinks(did: string, fetchFn?: typeof fetch): Promise<LinkData | null>;
5
5
  export declare function fetchMusicStatus(did: string, fetchFn?: typeof fetch): Promise<MusicStatusData | null>;
6
6
  export declare function fetchKibunStatus(did: string, fetchFn?: typeof fetch): Promise<KibunStatusData | null>;
7
7
  export declare function fetchRecentPopfeedReviews(did: string, limit?: number, fetchFn?: typeof fetch): Promise<PopfeedReview[]>;
8
+ export declare function fetchSifaPositions(did: string, fetchFn?: typeof fetch): Promise<SifaPosition[]>;
9
+ export declare function fetchSifaEducation(did: string, fetchFn?: typeof fetch): Promise<SifaEducation[]>;
10
+ export declare function fetchSifaVolunteering(did: string, fetchFn?: typeof fetch): Promise<SifaVolunteering[]>;
11
+ export declare function fetchSifaHonors(did: string, fetchFn?: typeof fetch): Promise<SifaHonor[]>;
12
+ export declare function fetchSifaCourses(did: string, fetchFn?: typeof fetch): Promise<SifaCourse[]>;
13
+ export declare function fetchSifaPublications(did: string, fetchFn?: typeof fetch): Promise<SifaPublication[]>;
8
14
  export declare function fetchTangledRepos(did: string, fetchFn?: typeof fetch): Promise<TangledReposData | null>;
9
15
  export declare function fetchSifaProfile(did: string, fetchFn?: typeof fetch): Promise<SifaProfileData | null>;
10
16
  export declare function fetchSifaSkills(did: string, fetchFn?: typeof fetch): Promise<SifaSkill[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACX,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,eAAe,EAEf,gBAAgB,EAChB,aAAa,EAGb,eAAe,EACf,SAAS,EACT,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,MAAM,YAAY,CAAC;AAEpB,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,CAgD5F;AAED,wBAAsB,aAAa,CAClC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,OAAO,KAAK,GACpB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAgC9B;AAED,wBAAsB,UAAU,CAC/B,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,OAAO,KAAK,GACpB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CA2B1B;AAED,wBAAsB,gBAAgB,CACrC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,OAAO,KAAK,GACpB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAkIjC;AAED,wBAAsB,gBAAgB,CACrC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,OAAO,KAAK,GACpB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAmCjC;AAED,wBAAsB,yBAAyB,CAC9C,GAAG,EAAE,MAAM,EACX,KAAK,SAAI,EACT,OAAO,CAAC,EAAE,OAAO,KAAK,GACpB,OAAO,CAAC,aAAa,EAAE,CAAC,CAgD1B;AAED,wBAAsB,iBAAiB,CACtC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,OAAO,KAAK,GACpB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CA2ClC;AAID,wBAAsB,gBAAgB,CACrC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,OAAO,KAAK,GACpB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAqCjC;AAED,wBAAsB,eAAe,CACpC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,OAAO,KAAK,GACpB,OAAO,CAAC,SAAS,EAAE,CAAC,CAkCtB;AAED,wBAAsB,iBAAiB,CACtC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,OAAO,KAAK,GACpB,OAAO,CAAC,WAAW,EAAE,CAAC,CA0CxB;AAED,wBAAsB,kBAAkB,CACvC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,OAAO,KAAK,GACpB,OAAO,CAAC,YAAY,EAAE,CAAC,CAkCzB;AAED,wBAAsB,uBAAuB,CAC5C,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,OAAO,KAAK,GACpB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAyC9B;AAED,wBAAsB,yBAAyB,CAC9C,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,OAAO,KAAK,GACpB,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAqChC"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"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"}
package/dist/fetch.js CHANGED
@@ -283,6 +283,237 @@ export async function fetchRecentPopfeedReviews(did, limit = 5, fetchFn) {
283
283
  return [];
284
284
  }
285
285
  }
286
+ export async function fetchSifaPositions(did, fetchFn) {
287
+ const cacheKey = `sifa:positions:${did}`;
288
+ const cached = cache.get(cacheKey);
289
+ if (cached)
290
+ return cached;
291
+ try {
292
+ const records = await withFallback(did, async (agent) => {
293
+ const response = await agent.com.atproto.repo.listRecords({
294
+ repo: did,
295
+ collection: 'id.sifa.profile.position',
296
+ limit: 100
297
+ });
298
+ return response.data.records;
299
+ }, true, fetchFn);
300
+ const data = records.map((record) => {
301
+ const value = record.value;
302
+ return {
303
+ company: value.company,
304
+ companyDid: value.companyDid,
305
+ title: value.title,
306
+ description: value.description,
307
+ employmentType: value.employmentType,
308
+ workplaceType: value.workplaceType,
309
+ location: value.location,
310
+ startedAt: value.startedAt,
311
+ endedAt: value.endedAt,
312
+ skills: value.skills,
313
+ isPrimary: value.isPrimary,
314
+ uri: record.uri
315
+ };
316
+ });
317
+ data.sort((a, b) => {
318
+ if (!a.startedAt)
319
+ return 1;
320
+ if (!b.startedAt)
321
+ return -1;
322
+ return new Date(b.startedAt).getTime() - new Date(a.startedAt).getTime();
323
+ });
324
+ cache.set(cacheKey, data);
325
+ return data;
326
+ }
327
+ catch {
328
+ return [];
329
+ }
330
+ }
331
+ export async function fetchSifaEducation(did, fetchFn) {
332
+ const cacheKey = `sifa:education:${did}`;
333
+ const cached = cache.get(cacheKey);
334
+ if (cached)
335
+ return cached;
336
+ try {
337
+ const records = await withFallback(did, async (agent) => {
338
+ const response = await agent.com.atproto.repo.listRecords({
339
+ repo: did,
340
+ collection: 'id.sifa.profile.education',
341
+ limit: 100
342
+ });
343
+ return response.data.records;
344
+ }, true, fetchFn);
345
+ const data = records.map((record) => {
346
+ const value = record.value;
347
+ return {
348
+ institution: value.institution,
349
+ institutionDid: value.institutionDid,
350
+ degree: value.degree,
351
+ fieldOfStudy: value.fieldOfStudy,
352
+ grade: value.grade,
353
+ activities: value.activities,
354
+ description: value.description,
355
+ location: value.location,
356
+ startedAt: value.startedAt,
357
+ endedAt: value.endedAt,
358
+ uri: record.uri
359
+ };
360
+ });
361
+ data.sort((a, b) => {
362
+ const aEnd = a.endedAt ? new Date(a.endedAt).getTime() : Date.now();
363
+ const bEnd = b.endedAt ? new Date(b.endedAt).getTime() : Date.now();
364
+ return bEnd - aEnd;
365
+ });
366
+ cache.set(cacheKey, data);
367
+ return data;
368
+ }
369
+ catch {
370
+ return [];
371
+ }
372
+ }
373
+ export async function fetchSifaVolunteering(did, fetchFn) {
374
+ const cacheKey = `sifa:volunteering:${did}`;
375
+ const cached = cache.get(cacheKey);
376
+ if (cached)
377
+ return cached;
378
+ try {
379
+ const records = await withFallback(did, async (agent) => {
380
+ const response = await agent.com.atproto.repo.listRecords({
381
+ repo: did,
382
+ collection: 'id.sifa.profile.volunteering',
383
+ limit: 100
384
+ });
385
+ return response.data.records;
386
+ }, true, fetchFn);
387
+ const data = records.map((record) => {
388
+ const value = record.value;
389
+ return {
390
+ organization: value.organization,
391
+ organizationDid: value.organizationDid,
392
+ role: value.role,
393
+ cause: value.cause,
394
+ description: value.description,
395
+ startedAt: value.startedAt,
396
+ endedAt: value.endedAt,
397
+ uri: record.uri
398
+ };
399
+ });
400
+ cache.set(cacheKey, data);
401
+ return data;
402
+ }
403
+ catch {
404
+ return [];
405
+ }
406
+ }
407
+ export async function fetchSifaHonors(did, fetchFn) {
408
+ const cacheKey = `sifa:honors:${did}`;
409
+ const cached = cache.get(cacheKey);
410
+ if (cached)
411
+ return cached;
412
+ try {
413
+ const records = await withFallback(did, async (agent) => {
414
+ const response = await agent.com.atproto.repo.listRecords({
415
+ repo: did,
416
+ collection: 'id.sifa.profile.honor',
417
+ limit: 100
418
+ });
419
+ return response.data.records;
420
+ }, true, fetchFn);
421
+ const data = records.map((record) => {
422
+ const value = record.value;
423
+ return {
424
+ title: value.title,
425
+ issuer: value.issuer,
426
+ issuerDid: value.issuerDid,
427
+ description: value.description,
428
+ awardedAt: value.awardedAt,
429
+ uri: record.uri
430
+ };
431
+ });
432
+ data.sort((a, b) => {
433
+ if (!a.awardedAt)
434
+ return 1;
435
+ if (!b.awardedAt)
436
+ return -1;
437
+ return new Date(b.awardedAt).getTime() - new Date(a.awardedAt).getTime();
438
+ });
439
+ cache.set(cacheKey, data);
440
+ return data;
441
+ }
442
+ catch {
443
+ return [];
444
+ }
445
+ }
446
+ export async function fetchSifaCourses(did, fetchFn) {
447
+ const cacheKey = `sifa:courses:${did}`;
448
+ const cached = cache.get(cacheKey);
449
+ if (cached)
450
+ return cached;
451
+ try {
452
+ const records = await withFallback(did, async (agent) => {
453
+ const response = await agent.com.atproto.repo.listRecords({
454
+ repo: did,
455
+ collection: 'id.sifa.profile.course',
456
+ limit: 100
457
+ });
458
+ return response.data.records;
459
+ }, true, fetchFn);
460
+ const data = records.map((record) => {
461
+ const value = record.value;
462
+ return {
463
+ name: value.name,
464
+ number: value.number,
465
+ institution: value.institution,
466
+ education: value.education,
467
+ uri: record.uri
468
+ };
469
+ });
470
+ cache.set(cacheKey, data);
471
+ return data;
472
+ }
473
+ catch {
474
+ return [];
475
+ }
476
+ }
477
+ export async function fetchSifaPublications(did, fetchFn) {
478
+ const cacheKey = `sifa:publications:${did}`;
479
+ const cached = cache.get(cacheKey);
480
+ if (cached)
481
+ return cached;
482
+ try {
483
+ const records = await withFallback(did, async (agent) => {
484
+ const response = await agent.com.atproto.repo.listRecords({
485
+ repo: did,
486
+ collection: 'id.sifa.profile.publication',
487
+ limit: 100
488
+ });
489
+ return response.data.records;
490
+ }, true, fetchFn);
491
+ const data = records.map((record) => {
492
+ const value = record.value;
493
+ return {
494
+ title: value.title,
495
+ publisher: value.publisher,
496
+ url: value.url,
497
+ description: value.description,
498
+ authors: value.authors,
499
+ publishedAt: value.publishedAt,
500
+ uri: record.uri
501
+ };
502
+ });
503
+ data.sort((a, b) => {
504
+ if (!a.publishedAt)
505
+ return 1;
506
+ if (!b.publishedAt)
507
+ return -1;
508
+ return new Date(b.publishedAt).getTime() - new Date(a.publishedAt).getTime();
509
+ });
510
+ cache.set(cacheKey, data);
511
+ return data;
512
+ }
513
+ catch {
514
+ return [];
515
+ }
516
+ }
286
517
  export async function fetchTangledRepos(did, fetchFn) {
287
518
  const cacheKey = `tangled:${did}`;
288
519
  const cached = cache.get(cacheKey);
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- export type { PopfeedReview, PopfeedCreativeWorkType, PopfeedMainCreditRole, ProfileData, StatusData, SiteInfoData, LinkData, LinkCard, BlueskyPost, BlogPost, BlogPostsData, PostAuthor, ExternalLink, Facet, Technology, License, BasedOnItem, RelatedService, Repository, Credit, SectionLicense, ResolvedIdentity, CacheEntry, MusicStatusData, MusicArtist, KibunStatusData, TangledRepo, TangledReposData, StandardSitePublication, StandardSitePublicationsData, StandardSiteDocument, StandardSiteDocumentsData, StandardSiteBasicTheme, StandardSiteThemeColor, SifaProfileData, SifaSkill, SifaProject, SifaLanguage, SifaCertification, SifaExternalAccount, SifaLocation } from './types.js';
2
- export { fetchProfile, fetchSiteInfo, fetchLinks, fetchMusicStatus, fetchKibunStatus, fetchTangledRepos, fetchRecentPopfeedReviews, fetchSifaProfile, fetchSifaSkills, fetchSifaProjects, fetchSifaLanguages, fetchSifaCertifications, fetchSifaExternalAccounts } from './fetch.js';
1
+ export type { PopfeedReview, PopfeedCreativeWorkType, PopfeedMainCreditRole, ProfileData, StatusData, SiteInfoData, LinkData, LinkCard, BlueskyPost, BlogPost, BlogPostsData, PostAuthor, ExternalLink, Facet, Technology, License, BasedOnItem, RelatedService, Repository, Credit, SectionLicense, ResolvedIdentity, CacheEntry, MusicStatusData, MusicArtist, KibunStatusData, TangledRepo, TangledReposData, StandardSitePublication, StandardSitePublicationsData, StandardSiteDocument, StandardSiteDocumentsData, StandardSiteBasicTheme, StandardSiteThemeColor, SifaProfileData, SifaSkill, SifaProject, SifaLanguage, SifaCertification, SifaExternalAccount, SifaLocation, SifaPosition, SifaEducation, SifaVolunteering, SifaHonor, SifaCourse, SifaPublication, SifaPublicationAuthor } from './types.js';
2
+ export { fetchProfile, fetchSiteInfo, fetchLinks, fetchMusicStatus, fetchKibunStatus, fetchTangledRepos, fetchRecentPopfeedReviews, fetchSifaProfile, fetchSifaSkills, fetchSifaProjects, fetchSifaLanguages, fetchSifaCertifications, fetchSifaExternalAccounts, fetchSifaPositions, fetchSifaEducation, fetchSifaVolunteering, fetchSifaHonors, fetchSifaCourses, fetchSifaPublications } from './fetch.js';
3
3
  export { fetchPublications, fetchDocuments, fetchRecentDocuments, fetchBlogPosts } from './documents.js';
4
4
  export { fetchLatestBlueskyPost, fetchPostFromUri } from './posts.js';
5
5
  export { buildPdsBlobUrl, extractCidFromImageObject, extractImageUrlsFromValue } from './media.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,YAAY,EACX,aAAa,EACb,uBAAuB,EACvB,qBAAqB,EACrB,WAAW,EACX,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,aAAa,EACb,UAAU,EACV,YAAY,EACZ,KAAK,EACL,UAAU,EACV,OAAO,EACP,WAAW,EACX,cAAc,EACd,UAAU,EACV,MAAM,EACN,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,WAAW,EACX,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,uBAAuB,EACvB,4BAA4B,EAC5B,oBAAoB,EACpB,yBAAyB,EACzB,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,SAAS,EACT,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EACN,YAAY,EACZ,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,EACzB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,EACzB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACN,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEtE,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEnG,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAErJ,OAAO,EACN,wBAAwB,EACxB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,gCAAgC,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEvF,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,YAAY,EACX,aAAa,EACb,uBAAuB,EACvB,qBAAqB,EACrB,WAAW,EACX,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,aAAa,EACb,UAAU,EACV,YAAY,EACZ,KAAK,EACL,UAAU,EACV,OAAO,EACP,WAAW,EACX,cAAc,EACd,UAAU,EACV,MAAM,EACN,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,WAAW,EACX,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,uBAAuB,EACvB,4BAA4B,EAC5B,oBAAoB,EACpB,yBAAyB,EACzB,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,SAAS,EACT,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACN,YAAY,EACZ,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,EACzB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACN,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEtE,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEnG,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAErJ,OAAO,EACN,wBAAwB,EACxB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,gCAAgC,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEvF,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC"}
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  // Key API difference from the app's src/lib/services/atproto:
3
3
  // All functions that previously read PUBLIC_ATPROTO_DID from the environment
4
4
  // now accept `did: string` as their first argument.
5
- export { fetchProfile, fetchSiteInfo, fetchLinks, fetchMusicStatus, fetchKibunStatus, fetchTangledRepos, fetchRecentPopfeedReviews, fetchSifaProfile, fetchSifaSkills, fetchSifaProjects, fetchSifaLanguages, fetchSifaCertifications, fetchSifaExternalAccounts } from './fetch.js';
5
+ export { fetchProfile, fetchSiteInfo, fetchLinks, fetchMusicStatus, fetchKibunStatus, fetchTangledRepos, fetchRecentPopfeedReviews, fetchSifaProfile, fetchSifaSkills, fetchSifaProjects, fetchSifaLanguages, fetchSifaCertifications, fetchSifaExternalAccounts, fetchSifaPositions, fetchSifaEducation, fetchSifaVolunteering, fetchSifaHonors, fetchSifaCourses, fetchSifaPublications } from './fetch.js';
6
6
  export { fetchPublications, fetchDocuments, fetchRecentDocuments, fetchBlogPosts } from './documents.js';
7
7
  export { fetchLatestBlueskyPost, fetchPostFromUri } from './posts.js';
8
8
  export { buildPdsBlobUrl, extractCidFromImageObject, extractImageUrlsFromValue } from './media.js';
package/dist/types.d.ts CHANGED
@@ -328,4 +328,69 @@ export interface SifaExternalAccount {
328
328
  isPrimary?: boolean;
329
329
  uri: string;
330
330
  }
331
+ export interface SifaPosition {
332
+ company: string;
333
+ companyDid?: string;
334
+ title: string;
335
+ description?: string;
336
+ employmentType?: string;
337
+ workplaceType?: string;
338
+ location?: SifaLocation;
339
+ startedAt: string;
340
+ endedAt?: string;
341
+ skills?: string[];
342
+ isPrimary?: boolean;
343
+ uri: string;
344
+ }
345
+ export interface SifaEducation {
346
+ institution: string;
347
+ institutionDid?: string;
348
+ degree?: string;
349
+ fieldOfStudy?: string;
350
+ grade?: string;
351
+ activities?: string;
352
+ description?: string;
353
+ location?: SifaLocation;
354
+ startedAt?: string;
355
+ endedAt?: string;
356
+ uri: string;
357
+ }
358
+ export interface SifaVolunteering {
359
+ organization: string;
360
+ organizationDid?: string;
361
+ role?: string;
362
+ cause?: string;
363
+ description?: string;
364
+ startedAt?: string;
365
+ endedAt?: string;
366
+ uri: string;
367
+ }
368
+ export interface SifaHonor {
369
+ title: string;
370
+ issuer?: string;
371
+ issuerDid?: string;
372
+ description?: string;
373
+ awardedAt?: string;
374
+ uri: string;
375
+ }
376
+ export interface SifaCourse {
377
+ name: string;
378
+ number?: string;
379
+ institution?: string;
380
+ education?: string;
381
+ uri: string;
382
+ }
383
+ export interface SifaPublicationAuthor {
384
+ name: string;
385
+ did?: string;
386
+ }
387
+ export interface SifaPublication {
388
+ title: string;
389
+ publisher?: string;
390
+ url?: string;
391
+ description?: string;
392
+ authors?: SifaPublicationAuthor[];
393
+ publishedAt?: string;
394
+ uri: string;
395
+ }
331
396
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ewanc26/atproto",
3
- "version": "0.2.9",
3
+ "version": "0.2.10",
4
4
  "description": "AT Protocol service layer extracted from ewancroft.uk",
5
5
  "author": "Ewan Croft",
6
6
  "license": "AGPL-3.0-only",
package/src/fetch.ts CHANGED
@@ -18,7 +18,13 @@ import type {
18
18
  SifaProject,
19
19
  SifaLanguage,
20
20
  SifaCertification,
21
- SifaExternalAccount
21
+ SifaExternalAccount,
22
+ SifaPosition,
23
+ SifaEducation,
24
+ SifaVolunteering,
25
+ SifaHonor,
26
+ SifaCourse,
27
+ SifaPublication
22
28
  } from './types.js';
23
29
 
24
30
  export async function fetchProfile(did: string, fetchFn?: typeof fetch): Promise<ProfileData> {
@@ -369,6 +375,295 @@ export async function fetchRecentPopfeedReviews(
369
375
  }
370
376
  }
371
377
 
378
+ export async function fetchSifaPositions(
379
+ did: string,
380
+ fetchFn?: typeof fetch
381
+ ): Promise<SifaPosition[]> {
382
+ const cacheKey = `sifa:positions:${did}`;
383
+ const cached = cache.get<SifaPosition[]>(cacheKey);
384
+ if (cached) return cached;
385
+
386
+ try {
387
+ const records = await withFallback(
388
+ did,
389
+ async (agent) => {
390
+ const response = await agent.com.atproto.repo.listRecords({
391
+ repo: did,
392
+ collection: 'id.sifa.profile.position',
393
+ limit: 100
394
+ });
395
+ return response.data.records;
396
+ },
397
+ true,
398
+ fetchFn
399
+ );
400
+
401
+ const data: SifaPosition[] = records.map((record) => {
402
+ const value = record.value as any;
403
+ return {
404
+ company: value.company,
405
+ companyDid: value.companyDid,
406
+ title: value.title,
407
+ description: value.description,
408
+ employmentType: value.employmentType,
409
+ workplaceType: value.workplaceType,
410
+ location: value.location,
411
+ startedAt: value.startedAt,
412
+ endedAt: value.endedAt,
413
+ skills: value.skills,
414
+ isPrimary: value.isPrimary,
415
+ uri: record.uri
416
+ };
417
+ });
418
+
419
+ data.sort((a, b) => {
420
+ if (!a.startedAt) return 1;
421
+ if (!b.startedAt) return -1;
422
+ return new Date(b.startedAt).getTime() - new Date(a.startedAt).getTime();
423
+ });
424
+
425
+ cache.set(cacheKey, data);
426
+ return data;
427
+ } catch {
428
+ return [];
429
+ }
430
+ }
431
+
432
+ export async function fetchSifaEducation(
433
+ did: string,
434
+ fetchFn?: typeof fetch
435
+ ): Promise<SifaEducation[]> {
436
+ const cacheKey = `sifa:education:${did}`;
437
+ const cached = cache.get<SifaEducation[]>(cacheKey);
438
+ if (cached) return cached;
439
+
440
+ try {
441
+ const records = await withFallback(
442
+ did,
443
+ async (agent) => {
444
+ const response = await agent.com.atproto.repo.listRecords({
445
+ repo: did,
446
+ collection: 'id.sifa.profile.education',
447
+ limit: 100
448
+ });
449
+ return response.data.records;
450
+ },
451
+ true,
452
+ fetchFn
453
+ );
454
+
455
+ const data: SifaEducation[] = records.map((record) => {
456
+ const value = record.value as any;
457
+ return {
458
+ institution: value.institution,
459
+ institutionDid: value.institutionDid,
460
+ degree: value.degree,
461
+ fieldOfStudy: value.fieldOfStudy,
462
+ grade: value.grade,
463
+ activities: value.activities,
464
+ description: value.description,
465
+ location: value.location,
466
+ startedAt: value.startedAt,
467
+ endedAt: value.endedAt,
468
+ uri: record.uri
469
+ };
470
+ });
471
+
472
+ data.sort((a, b) => {
473
+ const aEnd = a.endedAt ? new Date(a.endedAt).getTime() : Date.now();
474
+ const bEnd = b.endedAt ? new Date(b.endedAt).getTime() : Date.now();
475
+ return bEnd - aEnd;
476
+ });
477
+
478
+ cache.set(cacheKey, data);
479
+ return data;
480
+ } catch {
481
+ return [];
482
+ }
483
+ }
484
+
485
+ export async function fetchSifaVolunteering(
486
+ did: string,
487
+ fetchFn?: typeof fetch
488
+ ): Promise<SifaVolunteering[]> {
489
+ const cacheKey = `sifa:volunteering:${did}`;
490
+ const cached = cache.get<SifaVolunteering[]>(cacheKey);
491
+ if (cached) return cached;
492
+
493
+ try {
494
+ const records = await withFallback(
495
+ did,
496
+ async (agent) => {
497
+ const response = await agent.com.atproto.repo.listRecords({
498
+ repo: did,
499
+ collection: 'id.sifa.profile.volunteering',
500
+ limit: 100
501
+ });
502
+ return response.data.records;
503
+ },
504
+ true,
505
+ fetchFn
506
+ );
507
+
508
+ const data: SifaVolunteering[] = records.map((record) => {
509
+ const value = record.value as any;
510
+ return {
511
+ organization: value.organization,
512
+ organizationDid: value.organizationDid,
513
+ role: value.role,
514
+ cause: value.cause,
515
+ description: value.description,
516
+ startedAt: value.startedAt,
517
+ endedAt: value.endedAt,
518
+ uri: record.uri
519
+ };
520
+ });
521
+
522
+ cache.set(cacheKey, data);
523
+ return data;
524
+ } catch {
525
+ return [];
526
+ }
527
+ }
528
+
529
+ export async function fetchSifaHonors(
530
+ did: string,
531
+ fetchFn?: typeof fetch
532
+ ): Promise<SifaHonor[]> {
533
+ const cacheKey = `sifa:honors:${did}`;
534
+ const cached = cache.get<SifaHonor[]>(cacheKey);
535
+ if (cached) return cached;
536
+
537
+ try {
538
+ const records = await withFallback(
539
+ did,
540
+ async (agent) => {
541
+ const response = await agent.com.atproto.repo.listRecords({
542
+ repo: did,
543
+ collection: 'id.sifa.profile.honor',
544
+ limit: 100
545
+ });
546
+ return response.data.records;
547
+ },
548
+ true,
549
+ fetchFn
550
+ );
551
+
552
+ const data: SifaHonor[] = records.map((record) => {
553
+ const value = record.value as any;
554
+ return {
555
+ title: value.title,
556
+ issuer: value.issuer,
557
+ issuerDid: value.issuerDid,
558
+ description: value.description,
559
+ awardedAt: value.awardedAt,
560
+ uri: record.uri
561
+ };
562
+ });
563
+
564
+ data.sort((a, b) => {
565
+ if (!a.awardedAt) return 1;
566
+ if (!b.awardedAt) return -1;
567
+ return new Date(b.awardedAt).getTime() - new Date(a.awardedAt).getTime();
568
+ });
569
+
570
+ cache.set(cacheKey, data);
571
+ return data;
572
+ } catch {
573
+ return [];
574
+ }
575
+ }
576
+
577
+ export async function fetchSifaCourses(
578
+ did: string,
579
+ fetchFn?: typeof fetch
580
+ ): Promise<SifaCourse[]> {
581
+ const cacheKey = `sifa:courses:${did}`;
582
+ const cached = cache.get<SifaCourse[]>(cacheKey);
583
+ if (cached) return cached;
584
+
585
+ try {
586
+ const records = await withFallback(
587
+ did,
588
+ async (agent) => {
589
+ const response = await agent.com.atproto.repo.listRecords({
590
+ repo: did,
591
+ collection: 'id.sifa.profile.course',
592
+ limit: 100
593
+ });
594
+ return response.data.records;
595
+ },
596
+ true,
597
+ fetchFn
598
+ );
599
+
600
+ const data: SifaCourse[] = records.map((record) => {
601
+ const value = record.value as any;
602
+ return {
603
+ name: value.name,
604
+ number: value.number,
605
+ institution: value.institution,
606
+ education: value.education,
607
+ uri: record.uri
608
+ };
609
+ });
610
+
611
+ cache.set(cacheKey, data);
612
+ return data;
613
+ } catch {
614
+ return [];
615
+ }
616
+ }
617
+
618
+ export async function fetchSifaPublications(
619
+ did: string,
620
+ fetchFn?: typeof fetch
621
+ ): Promise<SifaPublication[]> {
622
+ const cacheKey = `sifa:publications:${did}`;
623
+ const cached = cache.get<SifaPublication[]>(cacheKey);
624
+ if (cached) return cached;
625
+
626
+ try {
627
+ const records = await withFallback(
628
+ did,
629
+ async (agent) => {
630
+ const response = await agent.com.atproto.repo.listRecords({
631
+ repo: did,
632
+ collection: 'id.sifa.profile.publication',
633
+ limit: 100
634
+ });
635
+ return response.data.records;
636
+ },
637
+ true,
638
+ fetchFn
639
+ );
640
+
641
+ const data: SifaPublication[] = records.map((record) => {
642
+ const value = record.value as any;
643
+ return {
644
+ title: value.title,
645
+ publisher: value.publisher,
646
+ url: value.url,
647
+ description: value.description,
648
+ authors: value.authors,
649
+ publishedAt: value.publishedAt,
650
+ uri: record.uri
651
+ };
652
+ });
653
+
654
+ data.sort((a, b) => {
655
+ if (!a.publishedAt) return 1;
656
+ if (!b.publishedAt) return -1;
657
+ return new Date(b.publishedAt).getTime() - new Date(a.publishedAt).getTime();
658
+ });
659
+
660
+ cache.set(cacheKey, data);
661
+ return data;
662
+ } catch {
663
+ return [];
664
+ }
665
+ }
666
+
372
667
  export async function fetchTangledRepos(
373
668
  did: string,
374
669
  fetchFn?: typeof fetch
package/src/index.ts CHANGED
@@ -44,7 +44,14 @@ export type {
44
44
  SifaLanguage,
45
45
  SifaCertification,
46
46
  SifaExternalAccount,
47
- SifaLocation
47
+ SifaLocation,
48
+ SifaPosition,
49
+ SifaEducation,
50
+ SifaVolunteering,
51
+ SifaHonor,
52
+ SifaCourse,
53
+ SifaPublication,
54
+ SifaPublicationAuthor
48
55
  } from './types.js';
49
56
 
50
57
  export {
@@ -60,7 +67,13 @@ export {
60
67
  fetchSifaProjects,
61
68
  fetchSifaLanguages,
62
69
  fetchSifaCertifications,
63
- fetchSifaExternalAccounts
70
+ fetchSifaExternalAccounts,
71
+ fetchSifaPositions,
72
+ fetchSifaEducation,
73
+ fetchSifaVolunteering,
74
+ fetchSifaHonors,
75
+ fetchSifaCourses,
76
+ fetchSifaPublications
64
77
  } from './fetch.js';
65
78
 
66
79
  export {
package/src/types.ts CHANGED
@@ -377,3 +377,75 @@ export interface SifaExternalAccount {
377
377
  isPrimary?: boolean;
378
378
  uri: string;
379
379
  }
380
+
381
+ export interface SifaPosition {
382
+ company: string;
383
+ companyDid?: string;
384
+ title: string;
385
+ description?: string;
386
+ employmentType?: string;
387
+ workplaceType?: string;
388
+ location?: SifaLocation;
389
+ startedAt: string;
390
+ endedAt?: string;
391
+ skills?: string[];
392
+ isPrimary?: boolean;
393
+ uri: string;
394
+ }
395
+
396
+ export interface SifaEducation {
397
+ institution: string;
398
+ institutionDid?: string;
399
+ degree?: string;
400
+ fieldOfStudy?: string;
401
+ grade?: string;
402
+ activities?: string;
403
+ description?: string;
404
+ location?: SifaLocation;
405
+ startedAt?: string;
406
+ endedAt?: string;
407
+ uri: string;
408
+ }
409
+
410
+ export interface SifaVolunteering {
411
+ organization: string;
412
+ organizationDid?: string;
413
+ role?: string;
414
+ cause?: string;
415
+ description?: string;
416
+ startedAt?: string;
417
+ endedAt?: string;
418
+ uri: string;
419
+ }
420
+
421
+ export interface SifaHonor {
422
+ title: string;
423
+ issuer?: string;
424
+ issuerDid?: string;
425
+ description?: string;
426
+ awardedAt?: string;
427
+ uri: string;
428
+ }
429
+
430
+ export interface SifaCourse {
431
+ name: string;
432
+ number?: string;
433
+ institution?: string;
434
+ education?: string;
435
+ uri: string;
436
+ }
437
+
438
+ export interface SifaPublicationAuthor {
439
+ name: string;
440
+ did?: string;
441
+ }
442
+
443
+ export interface SifaPublication {
444
+ title: string;
445
+ publisher?: string;
446
+ url?: string;
447
+ description?: string;
448
+ authors?: SifaPublicationAuthor[];
449
+ publishedAt?: string;
450
+ uri: string;
451
+ }