@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 +2 -72
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +2 -0
package/README.md
CHANGED
|
@@ -1,82 +1,12 @@
|
|
|
1
1
|
# @ewanc26/atproto
|
|
2
2
|
|
|
3
|
-
AT Protocol service layer
|
|
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
|
-
|
|
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';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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.
|
|
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.
|
|
26
|
+
"@atproto/api": "^0.19.3",
|
|
27
27
|
"typescript": "^5.9.3"
|
|
28
28
|
},
|
|
29
29
|
"scripts": {
|