@ewanc26/atproto 0.2.2 → 0.2.4

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/README.md CHANGED
@@ -1,82 +1,12 @@
1
1
  # @ewanc26/atproto
2
2
 
3
- AT Protocol service layer extracted from [ewancroft.uk](https://ewancroft.uk). Handles identity resolution, record fetching, Bluesky posts, Standard.site documents, music/mood status, and more — with a built-in in-memory cache.
4
-
5
- **Key difference from the app's internal service layer:** all functions accept `did: string` as their first argument rather than reading `PUBLIC_ATPROTO_DID` from the environment.
6
-
7
- ## Installation
3
+ AT Protocol service layer identity resolution, record fetching, Bluesky posts, Standard.site documents, music/mood status, and more.
8
4
 
9
5
  ```bash
10
6
  pnpm add @ewanc26/atproto
11
7
  ```
12
8
 
13
- Requires `@atproto/api >= 0.13.0` as a peer dependency.
14
-
15
- ## What's Exported
16
-
17
- ### Fetch Functions
18
-
19
- | Function | Description |
20
- |----------|-------------|
21
- | `fetchProfile(did)` | Bluesky profile including pronouns |
22
- | `fetchSiteInfo(did)` | `uk.ewancroft.site.info` record |
23
- | `fetchLinks(did)` | `blue.linkat.board` link cards |
24
- | `fetchMusicStatus(did)` | teal.fm music status with cascading artwork lookup |
25
- | `fetchKibunStatus(did)` | kibun.social mood status |
26
- | `fetchTangledRepos(did)` | Tangled code repositories |
27
- | `fetchPublications(did)` | Standard.site publications |
28
- | `fetchDocuments(did, pubRkey)` | Standard.site documents for a publication |
29
- | `fetchBlogPosts(did, pubRkey)` | Blog posts for a publication |
30
- | `fetchRecentDocuments(did, limit)` | Most recent documents across all publications |
31
- | `fetchLatestBlueskyPost(did)` | Latest non-reply Bluesky post with thread context |
32
- | `fetchPostFromUri(did, uri)` | Single Bluesky post by AT URI |
33
- | `fetchAllEngagement(uris)` | Like/repost counts via Constellation API |
34
-
35
- ### Agents & Identity
36
-
37
- ```typescript
38
- import { resolveIdentity, getPublicAgent, getPDSAgent, createAgent, withFallback, resetAgents } from '@ewanc26/atproto';
39
- ```
40
-
41
- ### Pagination
42
-
43
- ```typescript
44
- import { fetchAllRecords, fetchAllUserRecords } from '@ewanc26/atproto';
45
- ```
46
-
47
- ### Cache
48
-
49
- ```typescript
50
- import { cache, ATProtoCache, CACHE_TTL } from '@ewanc26/atproto';
51
-
52
- cache.clear();
53
- cache.delete('profile:did:plc:…');
54
- ```
55
-
56
- ### Music Artwork
57
-
58
- ```typescript
59
- import { findArtwork, searchMusicBrainzRelease, buildCoverArtUrl } from '@ewanc26/atproto';
60
- // Cascading: MusicBrainz → iTunes → Deezer → Last.fm → PDS blob
61
- ```
62
-
63
- ### Media
64
-
65
- ```typescript
66
- import { buildPdsBlobUrl, extractCidFromImageObject, extractImageUrlsFromValue } from '@ewanc26/atproto';
67
- ```
68
-
69
- ### Types
70
-
71
- All interfaces (`ProfileData`, `BlueskyPost`, `BlogPost`, `MusicStatusData`, `KibunStatusData`, `TangledRepo`, `StandardSiteDocument`, `StandardSitePublication`, `SiteInfoData`, `LinkData`, `ResolvedIdentity`, …) are exported from the package root.
72
-
73
- ## Build
74
-
75
- ```bash
76
- pnpm build # tsc
77
- pnpm dev # tsc --watch
78
- pnpm check # tsc --noEmit
79
- ```
9
+ Full documentation at **[docs.ewancroft.uk](https://docs.ewancroft.uk/projects/atproto)**.
80
10
 
81
11
  ## Licence
82
12
 
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type { ProfileData, SiteInfoData, LinkData, LinkCard, BlueskyPost, BlogPost, PostAuthor, ExternalLink, Facet, Technology, License, BasedOnItem, RelatedService, Repository, Credit, SectionLicense, ResolvedIdentity, CacheEntry, MusicStatusData, MusicArtist, KibunStatusData, TangledRepo, TangledReposData, StandardSitePublication, StandardSitePublicationsData, StandardSiteDocument, StandardSiteDocumentsData, StandardSiteBasicTheme, StandardSiteThemeColor } from './types.js';
1
+ export type { 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 } from './types.js';
2
2
  export { fetchProfile, fetchSiteInfo, fetchLinks, fetchMusicStatus, fetchKibunStatus, fetchTangledRepos } from './fetch.js';
3
3
  export { fetchPublications, fetchDocuments, fetchRecentDocuments, fetchBlogPosts } from './documents.js';
4
4
  export { fetchLatestBlueskyPost, fetchPostFromUri } from './posts.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,YAAY,EACX,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,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,MAAM,YAAY,CAAC;AAEpB,OAAO,EACN,YAAY,EACZ,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,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,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,MAAM,YAAY,CAAC;AAEpB,OAAO,EACN,YAAY,EACZ,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ewanc26/atproto",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "description": "AT Protocol service layer extracted from ewancroft.uk",
5
5
  "type": "module",
6
6
  "exports": {
@@ -23,7 +23,7 @@
23
23
  "@atproto/api": ">=0.13.0"
24
24
  },
25
25
  "devDependencies": {
26
- "@atproto/api": "^0.18.1",
26
+ "@atproto/api": "^0.19.3",
27
27
  "typescript": "^5.9.3"
28
28
  },
29
29
  "scripts": {
package/src/index.ts CHANGED
@@ -5,11 +5,13 @@
5
5
 
6
6
  export type {
7
7
  ProfileData,
8
+ StatusData,
8
9
  SiteInfoData,
9
10
  LinkData,
10
11
  LinkCard,
11
12
  BlueskyPost,
12
13
  BlogPost,
14
+ BlogPostsData,
13
15
  PostAuthor,
14
16
  ExternalLink,
15
17
  Facet,