@takosjp/yurucommu-api 2.0.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.
Files changed (44) hide show
  1. package/dist/index.d.ts +5 -0
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/index.js +1024 -0
  4. package/dist/lib/api/account.d.ts +4 -0
  5. package/dist/lib/api/account.d.ts.map +1 -0
  6. package/dist/lib/api/actors.d.ts +43 -0
  7. package/dist/lib/api/actors.d.ts.map +1 -0
  8. package/dist/lib/api/auth.d.ts +18 -0
  9. package/dist/lib/api/auth.d.ts.map +1 -0
  10. package/dist/lib/api/communities.d.ts +112 -0
  11. package/dist/lib/api/communities.d.ts.map +1 -0
  12. package/dist/lib/api/dm.d.ts +67 -0
  13. package/dist/lib/api/dm.d.ts.map +1 -0
  14. package/dist/lib/api/fetch.d.ts +31 -0
  15. package/dist/lib/api/fetch.d.ts.map +1 -0
  16. package/dist/lib/api/follow.d.ts +7 -0
  17. package/dist/lib/api/follow.d.ts.map +1 -0
  18. package/dist/lib/api/media.d.ts +24 -0
  19. package/dist/lib/api/media.d.ts.map +1 -0
  20. package/dist/lib/api/moderation.d.ts +35 -0
  21. package/dist/lib/api/moderation.d.ts.map +1 -0
  22. package/dist/lib/api/normalize.d.ts +13 -0
  23. package/dist/lib/api/normalize.d.ts.map +1 -0
  24. package/dist/lib/api/notifications.d.ts +17 -0
  25. package/dist/lib/api/notifications.d.ts.map +1 -0
  26. package/dist/lib/api/posts.d.ts +57 -0
  27. package/dist/lib/api/posts.d.ts.map +1 -0
  28. package/dist/lib/api/recommendations.d.ts +10 -0
  29. package/dist/lib/api/recommendations.d.ts.map +1 -0
  30. package/dist/lib/api/search.d.ts +19 -0
  31. package/dist/lib/api/search.d.ts.map +1 -0
  32. package/dist/lib/api/stories.d.ts +33 -0
  33. package/dist/lib/api/stories.d.ts.map +1 -0
  34. package/dist/lib/api.d.ts +16 -0
  35. package/dist/lib/api.d.ts.map +1 -0
  36. package/dist/lib/fetch-with-timeout.d.ts +7 -0
  37. package/dist/lib/fetch-with-timeout.d.ts.map +1 -0
  38. package/dist/lib/transport.d.ts +11 -0
  39. package/dist/lib/transport.d.ts.map +1 -0
  40. package/dist/social-server.d.ts +34 -0
  41. package/dist/social-server.d.ts.map +1 -0
  42. package/dist/types/index.d.ts +152 -0
  43. package/dist/types/index.d.ts.map +1 -0
  44. package/package.json +30 -0
@@ -0,0 +1,4 @@
1
+ export declare function fetchAlsoKnownAs(identifier: string): Promise<string[]>;
2
+ export declare function setAlsoKnownAs(aliases: string[]): Promise<void>;
3
+ export declare function moveAccount(target: string): Promise<void>;
4
+ //# sourceMappingURL=account.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/lib/api/account.ts"],"names":[],"mappings":"AAEA,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAO5E;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAGrE;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG/D"}
@@ -0,0 +1,43 @@
1
+ import type { Actor, Post } from "../../types/index.js";
2
+ export declare function fetchActor(identifier: string): Promise<Actor>;
3
+ export declare function updateProfile(data: {
4
+ name?: string;
5
+ summary?: string;
6
+ icon_url?: string;
7
+ header_url?: string;
8
+ is_private?: boolean;
9
+ fields?: {
10
+ name: string;
11
+ value: string;
12
+ }[];
13
+ }): Promise<void>;
14
+ export interface ActorPostsPage {
15
+ posts: Post[];
16
+ nextCursor: string | null;
17
+ hasMore: boolean;
18
+ }
19
+ export declare function fetchActorPosts(identifier: string, options?: {
20
+ limit?: number;
21
+ before?: string;
22
+ }): Promise<ActorPostsPage>;
23
+ export interface FollowListPage {
24
+ actors: Actor[];
25
+ hasMore: boolean;
26
+ total: number;
27
+ }
28
+ export declare function fetchFollowers(identifier: string, options?: {
29
+ limit?: number;
30
+ offset?: number;
31
+ }): Promise<FollowListPage>;
32
+ export declare function fetchFollowing(identifier: string, options?: {
33
+ limit?: number;
34
+ offset?: number;
35
+ }): Promise<FollowListPage>;
36
+ export declare function fetchBlockedUsers(): Promise<Actor[]>;
37
+ export declare function blockUser(apId: string): Promise<void>;
38
+ export declare function unblockUser(apId: string): Promise<void>;
39
+ export declare function fetchMutedUsers(): Promise<Actor[]>;
40
+ export declare function muteUser(apId: string): Promise<void>;
41
+ export declare function unmuteUser(apId: string): Promise<void>;
42
+ export declare function deleteAccount(): Promise<void>;
43
+ //# sourceMappingURL=actors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actors.d.ts","sourceRoot":"","sources":["../../../src/lib/api/actors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAIxD,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAKnE;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IAGrB,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC5C,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5C,OAAO,CAAC,cAAc,CAAC,CAmBzB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAYD,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5C,OAAO,CAAC,cAAc,CAAC,CAezB;AAED,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5C,OAAO,CAAC,cAAc,CAAC,CAezB;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAK1D;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG3D;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG7D;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAKxD;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG1D;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG5D;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAGnD"}
@@ -0,0 +1,18 @@
1
+ export declare function login(password: string): Promise<{
2
+ success: boolean;
3
+ error?: string;
4
+ }>;
5
+ export declare function logout(): Promise<void>;
6
+ export interface AccountInfo {
7
+ ap_id: string;
8
+ preferred_username: string;
9
+ name: string | null;
10
+ icon_url: string | null;
11
+ }
12
+ export declare function fetchAccounts(): Promise<{
13
+ accounts: AccountInfo[];
14
+ current_ap_id: string;
15
+ }>;
16
+ export declare function switchAccount(apId: string): Promise<void>;
17
+ export declare function createAccount(username: string, name?: string): Promise<AccountInfo>;
18
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/lib/api/auth.ts"],"names":[],"mappings":"AAEA,wBAAsB,KAAK,CACzB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAG/C;AAED,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAE5C;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,EAAE,MAAM,CAAC;IAC3B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC;IAC7C,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC,CAOD;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG/D;AAED,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,WAAW,CAAC,CAKtB"}
@@ -0,0 +1,112 @@
1
+ export interface CommunityDetail {
2
+ ap_id: string;
3
+ name: string;
4
+ display_name: string;
5
+ summary: string | null;
6
+ icon_url: string | null;
7
+ visibility: "public" | "private";
8
+ join_policy: "open" | "invite" | "approval";
9
+ post_policy: "anyone" | "members" | "mods" | "owners";
10
+ member_count: number;
11
+ post_count?: number;
12
+ created_by: string;
13
+ created_at: string;
14
+ is_member: boolean;
15
+ member_role: "owner" | "moderator" | "member" | null;
16
+ join_status?: "pending" | null;
17
+ last_message_at?: string | null;
18
+ }
19
+ export interface CommunityMember {
20
+ ap_id: string;
21
+ username: string;
22
+ preferred_username: string;
23
+ name: string | null;
24
+ icon_url: string | null;
25
+ role: "owner" | "moderator" | "member";
26
+ joined_at: string;
27
+ }
28
+ export interface CommunityMessage {
29
+ id: string;
30
+ sender: {
31
+ ap_id: string;
32
+ username: string;
33
+ preferred_username: string;
34
+ name: string | null;
35
+ icon_url: string | null;
36
+ };
37
+ content: string;
38
+ created_at: string;
39
+ }
40
+ export interface JoinCommunityResult {
41
+ status: "joined" | "pending" | "invite_required";
42
+ }
43
+ export interface CommunityJoinRequest {
44
+ ap_id: string;
45
+ username: string;
46
+ preferred_username: string;
47
+ name: string | null;
48
+ icon_url: string | null;
49
+ created_at: string;
50
+ }
51
+ export interface CommunityInviteResult {
52
+ invite_id: string;
53
+ }
54
+ export interface CommunityInvite {
55
+ id: string;
56
+ invited_ap_id: string | null;
57
+ invited_by: {
58
+ ap_id: string;
59
+ username: string;
60
+ preferred_username: string;
61
+ name: string;
62
+ };
63
+ created_at: string;
64
+ expires_at: string | null;
65
+ used_at: string | null;
66
+ used_by_ap_id: string | null;
67
+ is_valid: boolean;
68
+ }
69
+ export interface CommunitySettings {
70
+ display_name?: string;
71
+ summary?: string;
72
+ icon_url?: string;
73
+ visibility?: "public" | "private";
74
+ join_policy?: "open" | "approval" | "invite";
75
+ post_policy?: "anyone" | "members" | "mods" | "owners";
76
+ }
77
+ export declare function fetchCommunities(): Promise<CommunityDetail[]>;
78
+ export declare function fetchCommunity(identifier: string): Promise<CommunityDetail>;
79
+ export declare function createCommunity(data: {
80
+ name: string;
81
+ display_name?: string;
82
+ summary?: string;
83
+ }): Promise<CommunityDetail>;
84
+ export declare function joinCommunity(identifier: string, options?: {
85
+ inviteId?: string;
86
+ }): Promise<JoinCommunityResult>;
87
+ export declare function leaveCommunity(identifier: string): Promise<void>;
88
+ export declare function fetchCommunityMessages(identifier: string, options?: {
89
+ limit?: number;
90
+ before?: string;
91
+ }): Promise<{
92
+ messages: CommunityMessage[];
93
+ hasMore: boolean;
94
+ }>;
95
+ export declare function sendCommunityMessage(identifier: string, content: string): Promise<CommunityMessage>;
96
+ export declare function fetchCommunityMembers(identifier: string): Promise<CommunityMember[]>;
97
+ export declare function fetchCommunityJoinRequests(identifier: string): Promise<CommunityJoinRequest[]>;
98
+ export declare function acceptCommunityJoinRequest(identifier: string, actorApId: string): Promise<void>;
99
+ export declare function rejectCommunityJoinRequest(identifier: string, actorApId: string): Promise<void>;
100
+ export declare function fetchCommunityInvites(identifier: string): Promise<CommunityInvite[]>;
101
+ export declare function createCommunityInvite(identifier: string, options?: {
102
+ invited_ap_id?: string;
103
+ expires_in_hours?: number;
104
+ }): Promise<CommunityInviteResult & {
105
+ expires_at?: string;
106
+ }>;
107
+ export declare function revokeCommunityInvite(identifier: string, inviteId: string): Promise<void>;
108
+ export declare function updateCommunitySettings(identifier: string, settings: CommunitySettings): Promise<void>;
109
+ export declare function removeCommunityMember(identifier: string, actorApId: string): Promise<void>;
110
+ export declare function updateCommunityMemberRole(identifier: string, actorApId: string, role: "owner" | "moderator" | "member"): Promise<void>;
111
+ export declare function deleteCommunityMessage(identifier: string, messageId: string): Promise<void>;
112
+ //# sourceMappingURL=communities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"communities.d.ts","sourceRoot":"","sources":["../../../src/lib/api/communities.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import type { DMMessage } from "../../types/index.js";
2
+ export interface DMContact {
3
+ type: "user" | "community";
4
+ ap_id: string;
5
+ username: string;
6
+ preferred_username: string;
7
+ name: string | null;
8
+ icon_url: string | null;
9
+ conversation_id?: string | null;
10
+ member_count?: number;
11
+ last_message: {
12
+ content: string;
13
+ is_mine: boolean;
14
+ } | null;
15
+ last_message_at: string | null;
16
+ unread_count?: number;
17
+ }
18
+ export interface DMContactsResponse {
19
+ mutual_followers: DMContact[];
20
+ communities: DMContact[];
21
+ request_count: number;
22
+ }
23
+ export interface DMRequest {
24
+ id: string;
25
+ sender: {
26
+ ap_id: string;
27
+ username: string;
28
+ preferred_username: string;
29
+ name: string | null;
30
+ icon_url: string | null;
31
+ };
32
+ content: string;
33
+ created_at: string;
34
+ }
35
+ export declare function fetchDMContacts(): Promise<DMContactsResponse>;
36
+ export interface DMUnreadCount {
37
+ total: number;
38
+ dm: number;
39
+ community: number;
40
+ }
41
+ export declare function fetchDMUnreadCount(): Promise<DMUnreadCount>;
42
+ export declare function fetchDMRequests(): Promise<DMRequest[]>;
43
+ export declare function rejectDMRequest(senderApId: string, block?: boolean): Promise<void>;
44
+ export declare function fetchUserDMMessages(userApId: string, options?: {
45
+ limit?: number;
46
+ before?: string;
47
+ }): Promise<{
48
+ messages: DMMessage[];
49
+ conversation_id: string | null;
50
+ hasMore: boolean;
51
+ }>;
52
+ export declare function sendUserDMMessage(userApId: string, content: string): Promise<{
53
+ message: DMMessage;
54
+ conversation_id: string;
55
+ }>;
56
+ export declare function sendUserDMTyping(userApId: string): Promise<void>;
57
+ export declare function fetchUserDMTyping(userApId: string): Promise<{
58
+ is_typing: boolean;
59
+ last_typed_at: string | null;
60
+ }>;
61
+ export declare function markDMAsRead(userApId: string): Promise<void>;
62
+ export declare function archiveDMConversation(userApId: string): Promise<void>;
63
+ export declare function unarchiveDMConversation(userApId: string): Promise<void>;
64
+ export declare function fetchArchivedDMConversations(): Promise<DMContact[]>;
65
+ export declare function markCommunityAsRead(communityApId: string): Promise<void>;
66
+ export declare function fetchDMContact(apId: string): Promise<DMContact | null>;
67
+ //# sourceMappingURL=dm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dm.d.ts","sourceRoot":"","sources":["../../../src/lib/api/dm.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Fetch wrapper with consistent configuration.
3
+ * All API calls should use this wrapper so frontend plugins can override
4
+ * transport behavior (URL resolution, auth headers, credentials mode).
5
+ */
6
+ import { type FetchWithTimeoutInit } from "../fetch-with-timeout.js";
7
+ /**
8
+ * Custom error class for API responses that includes the HTTP status code.
9
+ */
10
+ export declare class ApiError extends Error {
11
+ readonly status: number;
12
+ constructor(status: number, message: string);
13
+ }
14
+ /**
15
+ * Read an error message from a failed API response. Attempts to parse JSON
16
+ * with an `error` field; falls back to `statusText`.
17
+ */
18
+ export declare function extractErrorMessage(res: Response, fallback: string): Promise<string>;
19
+ /**
20
+ * Assert that a response is OK. Throws an `ApiError` with the status code
21
+ * and a message extracted from the response body when it is not.
22
+ */
23
+ export declare function assertOk(res: Response, fallback: string): Promise<void>;
24
+ export interface ApiRequestInit extends FetchWithTimeoutInit {
25
+ }
26
+ export declare function apiFetch(url: string, options?: ApiRequestInit): Promise<Response>;
27
+ export declare const apiPost: (url: string, body?: unknown, options?: Omit<ApiRequestInit, "method" | "body">) => Promise<Response>;
28
+ export declare const apiPut: (url: string, body?: unknown, options?: Omit<ApiRequestInit, "method" | "body">) => Promise<Response>;
29
+ export declare const apiPatch: (url: string, body?: unknown, options?: Omit<ApiRequestInit, "method" | "body">) => Promise<Response>;
30
+ export declare const apiDelete: (url: string, body?: unknown, options?: Omit<ApiRequestInit, "method" | "body">) => Promise<Response>;
31
+ //# sourceMappingURL=fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/lib/api/fetch.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,0BAA0B,CAAC;AAGlC;;GAEG;AACH,qBAAa,QAAS,SAAQ,KAAK;aAEf,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM,EAC9B,OAAO,EAAE,MAAM;CASlB;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,QAAQ,EACb,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK7E;AAED,MAAM,WAAW,cAAe,SAAQ,oBAAoB;CAAG;AAE/D,wBAAgB,QAAQ,CACtB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,QAAQ,CAAC,CAiBnB;AAsBD,eAAO,MAAM,OAAO,QAlBX,MAAM,SACJ,OAAO,YACL,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,MAAM,CAAC,KAC/C,OAAO,CAAC,QAAQ,CAeyB,CAAC;AAC/C,eAAO,MAAM,MAAM,QAnBV,MAAM,SACJ,OAAO,YACL,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,MAAM,CAAC,KAC/C,OAAO,CAAC,QAAQ,CAgBuB,CAAC;AAC7C,eAAO,MAAM,QAAQ,QApBZ,MAAM,SACJ,OAAO,YACL,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,MAAM,CAAC,KAC/C,OAAO,CAAC,QAAQ,CAiB2B,CAAC;AACjD,eAAO,MAAM,SAAS,QArBb,MAAM,SACJ,OAAO,YACL,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,MAAM,CAAC,KAC/C,OAAO,CAAC,QAAQ,CAkB6B,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare function follow(targetApId: string): Promise<{
2
+ status: string;
3
+ }>;
4
+ export declare function unfollow(targetApId: string): Promise<void>;
5
+ export declare function acceptFollowRequest(requesterApId: string): Promise<void>;
6
+ export declare function rejectFollowRequest(requesterApId: string): Promise<void>;
7
+ //# sourceMappingURL=follow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"follow.d.ts","sourceRoot":"","sources":["../../../src/lib/api/follow.ts"],"names":[],"mappings":"AAEA,wBAAsB,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAI5E;AAED,wBAAsB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhE;AAED,wBAAsB,mBAAmB,CACvC,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CAKf;AAED,wBAAsB,mBAAmB,CACvC,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CAKf"}
@@ -0,0 +1,24 @@
1
+ export declare const allowedMimeTypes: readonly ["image/jpeg", "image/png", "image/gif", "image/webp", "video/mp4", "video/webm"];
2
+ export type AllowedMimeType = (typeof allowedMimeTypes)[number];
3
+ export declare const maxImageFileSize: number;
4
+ export declare const maxVideoFileSize: number;
5
+ export declare class FileValidationError extends Error {
6
+ code: "INVALID_TYPE" | "FILE_TOO_LARGE" | "INVALID_FILENAME";
7
+ constructor(message: string, code: "INVALID_TYPE" | "FILE_TOO_LARGE" | "INVALID_FILENAME");
8
+ }
9
+ /**
10
+ * Validate a file before upload
11
+ * @throws FileValidationError if validation fails
12
+ */
13
+ export declare function validateFile(file: File): void;
14
+ /**
15
+ * Upload a media file
16
+ * @throws FileValidationError if validation fails
17
+ * @throws Error if upload fails
18
+ */
19
+ export declare function uploadMedia(file: File): Promise<{
20
+ url: string;
21
+ r2_key: string;
22
+ content_type: string;
23
+ }>;
24
+ //# sourceMappingURL=media.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../../src/lib/api/media.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,gBAAgB,4FASnB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAQhE,eAAO,MAAM,gBAAgB,QAAmB,CAAC;AACjD,eAAO,MAAM,gBAAgB,QAAmB,CAAC;AAKjD,qBAAa,mBAAoB,SAAQ,KAAK;IAGnC,IAAI,EAAE,cAAc,GAAG,gBAAgB,GAAG,kBAAkB;gBADnE,OAAO,EAAE,MAAM,EACR,IAAI,EAAE,cAAc,GAAG,gBAAgB,GAAG,kBAAkB;CAKtE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CA+B7C;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,IAAI,GACT,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAgBhE"}
@@ -0,0 +1,35 @@
1
+ export interface BlockedDomain {
2
+ domain: string;
3
+ reason: string | null;
4
+ created_at: string;
5
+ }
6
+ export interface BlockedActor {
7
+ actor_ap_id: string;
8
+ reason: string | null;
9
+ created_at: string;
10
+ }
11
+ export interface ModerationReport {
12
+ id: string;
13
+ reporter_ap_id: string | null;
14
+ target_ap_id: string | null;
15
+ content: string | null;
16
+ instance: string | null;
17
+ created_at: string;
18
+ resolved_at: string | null;
19
+ }
20
+ export declare function fetchBlockedDomains(): Promise<BlockedDomain[]>;
21
+ export declare function blockDomain(domain: string, reason?: string): Promise<void>;
22
+ export declare function unblockDomain(domain: string): Promise<void>;
23
+ export declare function fetchBlockedActors(): Promise<BlockedActor[]>;
24
+ export declare function blockActor(apId: string, reason?: string): Promise<void>;
25
+ export declare function unblockActor(apId: string): Promise<void>;
26
+ export declare function fetchReports(options?: {
27
+ onlyOpen?: boolean;
28
+ }): Promise<ModerationReport[]>;
29
+ export declare function resolveReport(id: string, reopen?: boolean): Promise<void>;
30
+ export declare function reportContent(input: {
31
+ targetActorApId: string;
32
+ postApId?: string;
33
+ reason?: string;
34
+ }): Promise<void>;
35
+ //# sourceMappingURL=moderation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moderation.d.ts","sourceRoot":"","sources":["../../../src/lib/api/moderation.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAKpE;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGjE;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAKlE;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG7E;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG9D;AAED,wBAAsB,YAAY,CAAC,OAAO,CAAC,EAAE;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAM9B;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAM7E;AAID,wBAAsB,aAAa,CAAC,KAAK,EAAE;IACzC,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhB"}
@@ -0,0 +1,13 @@
1
+ import { ActorStories, Notification, Post, Story } from "../../types/index.js";
2
+ type ActorLike = {
3
+ ap_id: string;
4
+ username?: string;
5
+ preferred_username?: string;
6
+ };
7
+ export declare function normalizeActor<T extends ActorLike>(actor: T): T;
8
+ export declare const normalizePost: (post: Post) => Post;
9
+ export declare const normalizeStory: (story: Story) => Story;
10
+ export declare const normalizeActorStories: (stories: ActorStories) => ActorStories;
11
+ export declare const normalizeNotification: (notification: Notification) => Notification;
12
+ export {};
13
+ //# sourceMappingURL=normalize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../../src/lib/api/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,YAAY,EACZ,YAAY,EACZ,IAAI,EACJ,KAAK,EACN,MAAM,sBAAsB,CAAC;AAE9B,KAAK,SAAS,GAAG;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAiBF,wBAAgB,cAAc,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAkB/D;AAED,eAAO,MAAM,aAAa,GAAI,MAAM,IAAI,KAAG,IAGzC,CAAC;AAEH,eAAO,MAAM,cAAc,GAAI,OAAO,KAAK,KAAG,KAG5C,CAAC;AAEH,eAAO,MAAM,qBAAqB,GAAI,SAAS,YAAY,KAAG,YAI5D,CAAC;AAEH,eAAO,MAAM,qBAAqB,GAChC,cAAc,YAAY,KACzB,YAGD,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { Notification } from "../../types/index.js";
2
+ export declare function fetchNotifications(options?: {
3
+ limit?: number;
4
+ type?: string;
5
+ before?: string;
6
+ archived?: boolean;
7
+ }): Promise<{
8
+ notifications: Notification[];
9
+ hasMore: boolean;
10
+ nextCursor: string | null;
11
+ }>;
12
+ export declare function fetchUnreadCount(): Promise<number>;
13
+ export declare function markNotificationsRead(ids?: string[]): Promise<void>;
14
+ export declare function archiveNotifications(ids: string[]): Promise<void>;
15
+ export declare function unarchiveNotifications(ids: string[]): Promise<void>;
16
+ export declare function archiveAllNotifications(): Promise<number>;
17
+ //# sourceMappingURL=notifications.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../../src/lib/api/notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIzD,wBAAsB,kBAAkB,CAAC,OAAO,CAAC,EAAE;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,OAAO,CAAC;IACV,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC,CAmBD;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAIxD;AAED,wBAAsB,qBAAqB,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAGzE;AAED,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAGvE;AAED,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAGzE;AAED,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC,CAK/D"}
@@ -0,0 +1,57 @@
1
+ import type { Post } from "../../types/index.js";
2
+ export type TimelinePage = {
3
+ posts: Post[];
4
+ nextCursor: string | null;
5
+ hasMore: boolean;
6
+ };
7
+ export declare function fetchTimeline(options?: {
8
+ limit?: number;
9
+ before?: string;
10
+ community?: string;
11
+ }): Promise<TimelinePage>;
12
+ export declare function fetchPost(apId: string): Promise<Post>;
13
+ export interface RepliesPage {
14
+ replies: Post[];
15
+ nextCursor: string | null;
16
+ hasMore: boolean;
17
+ }
18
+ export declare function fetchReplies(postApId: string, options?: {
19
+ before?: string;
20
+ }): Promise<RepliesPage>;
21
+ export declare function createPost(data: {
22
+ content: string;
23
+ summary?: string;
24
+ visibility?: string;
25
+ in_reply_to?: string;
26
+ community_ap_id?: string;
27
+ attachments?: {
28
+ url?: string;
29
+ r2_key: string;
30
+ content_type: string;
31
+ name?: string;
32
+ }[];
33
+ }): Promise<Post>;
34
+ export declare function editPost(apId: string, data: {
35
+ content?: string;
36
+ summary?: string | null;
37
+ }): Promise<{
38
+ content: string;
39
+ summary: string | null;
40
+ }>;
41
+ export declare function deletePost(apId: string): Promise<void>;
42
+ export declare function likePost(apId: string): Promise<void>;
43
+ export declare function unlikePost(apId: string): Promise<void>;
44
+ export declare function repostPost(apId: string): Promise<void>;
45
+ export declare function unrepostPost(apId: string): Promise<void>;
46
+ export declare function bookmarkPost(apId: string): Promise<void>;
47
+ export declare function unbookmarkPost(apId: string): Promise<void>;
48
+ export interface BookmarksPage {
49
+ posts: Post[];
50
+ nextCursor: string | null;
51
+ hasMore: boolean;
52
+ }
53
+ export declare function fetchBookmarks(options?: {
54
+ limit?: number;
55
+ before?: string;
56
+ }): Promise<BookmarksPage>;
57
+ //# sourceMappingURL=posts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"posts.d.ts","sourceRoot":"","sources":["../../../src/lib/api/posts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAYjD,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,IAAI,EAAE,CAAC;IAMd,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,wBAAsB,aAAa,CAAC,OAAO,CAAC,EAAE;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC,YAAY,CAAC,CAqBxB;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK3D;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,IAAI,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5B,OAAO,CAAC,WAAW,CAAC,CAiBtB;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE;QACZ,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;CACL,GAAG,OAAO,CAAC,IAAI,CAAC,CAKhB;AAKD,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAClD,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAOtD;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG5D;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG1D;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG5D;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG5D;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG9D;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG9D;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKhE;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,cAAc,CAAC,OAAO,CAAC,EAAE;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,aAAa,CAAC,CAezB"}
@@ -0,0 +1,10 @@
1
+ export interface RecommendedUser {
2
+ ap_id: string;
3
+ preferred_username: string;
4
+ name: string | null;
5
+ icon_url: string | null;
6
+ username: string;
7
+ mutual_count: number;
8
+ }
9
+ export declare function fetchRecommendedUsers(): Promise<RecommendedUser[]>;
10
+ //# sourceMappingURL=recommendations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recommendations.d.ts","sourceRoot":"","sources":["../../../src/lib/api/recommendations.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,EAAE,MAAM,CAAC;IAC3B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAQxE"}
@@ -0,0 +1,19 @@
1
+ import type { Actor, Post } from "../../types/index.js";
2
+ export interface SearchPageOpts {
3
+ sort?: string;
4
+ offset?: number;
5
+ limit?: number;
6
+ }
7
+ export interface Paged<T> {
8
+ items: T[];
9
+ hasMore: boolean;
10
+ }
11
+ export declare function searchActors(query: string, opts?: SearchPageOpts): Promise<Paged<Actor>>;
12
+ export declare function searchRemote(query: string): Promise<Actor[]>;
13
+ export declare function searchPosts(query: string, opts?: SearchPageOpts): Promise<Paged<Post>>;
14
+ export declare function searchHashtag(tag: string, opts?: SearchPageOpts): Promise<Paged<Post>>;
15
+ export declare function fetchTrendingHashtags(limit?: number): Promise<{
16
+ tag: string;
17
+ count: number;
18
+ }[]>;
19
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/lib/api/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAIxD,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,KAAK,CAAC,CAAC;IACtB,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;CAClB;AAUD,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,cAAc,GACpB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAOvB;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAMlE;AAED,wBAAsB,WAAW,CAC/B,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,cAAc,GACpB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAOtB;AAOD,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,cAAc,GACpB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CActB;AAED,wBAAsB,qBAAqB,CACzC,KAAK,SAAK,GACT,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,CAM3C"}
@@ -0,0 +1,33 @@
1
+ import type { ActorStories, Story, StoryOverlay } from "../../types/index.js";
2
+ export declare function fetchStories(community?: string): Promise<ActorStories[]>;
3
+ export declare function createStory(story: {
4
+ attachment: {
5
+ url?: string;
6
+ r2_key: string;
7
+ content_type: string;
8
+ };
9
+ displayDuration: string;
10
+ caption?: string;
11
+ overlays?: StoryOverlay[];
12
+ community_ap_id?: string;
13
+ }): Promise<Story>;
14
+ export declare function deleteStory(apId: string): Promise<void>;
15
+ export declare function markStoryViewed(apId: string): Promise<void>;
16
+ export declare function voteOnStory(apId: string, optionIndex: number): Promise<{
17
+ votes: Record<number, number>;
18
+ total: number;
19
+ user_vote: number;
20
+ }>;
21
+ export declare function likeStory(apId: string): Promise<{
22
+ liked: boolean;
23
+ like_count: number;
24
+ }>;
25
+ export declare function unlikeStory(apId: string): Promise<{
26
+ liked: boolean;
27
+ like_count: number;
28
+ }>;
29
+ export declare function shareStory(apId: string): Promise<{
30
+ shared: boolean;
31
+ share_count: number;
32
+ }>;
33
+ //# sourceMappingURL=stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stories.d.ts","sourceRoot":"","sources":["../../../src/lib/api/stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAI9E,wBAAsB,YAAY,CAChC,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,YAAY,EAAE,CAAC,CAMzB;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE;IACvC,UAAU,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,OAAO,CAAC,KAAK,CAAC,CAKjB;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG7D;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGjE;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;IACT,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC,CAWD;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAIjD;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAIjD;AAED,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAInD"}
@@ -0,0 +1,16 @@
1
+ export * from "./api/fetch.js";
2
+ export * from "./api/account.js";
3
+ export * from "./api/auth.js";
4
+ export * from "./api/actors.js";
5
+ export * from "./api/follow.js";
6
+ export * from "./api/posts.js";
7
+ export * from "./api/communities.js";
8
+ export * from "./api/dm.js";
9
+ export * from "./api/notifications.js";
10
+ export * from "./api/search.js";
11
+ export * from "./api/media.js";
12
+ export * from "./api/stories.js";
13
+ export * from "./api/recommendations.js";
14
+ export * from "./api/moderation.js";
15
+ export * from "./api/normalize.js";
16
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare const DEFAULT_REQUEST_TIMEOUT_MS = 15000;
2
+ export declare const UPLOAD_REQUEST_TIMEOUT_MS = 60000;
3
+ export interface FetchWithTimeoutInit extends RequestInit {
4
+ timeoutMs?: number;
5
+ }
6
+ export declare function fetchWithTimeout(input: RequestInfo | URL, init?: FetchWithTimeoutInit): Promise<Response>;
7
+ //# sourceMappingURL=fetch-with-timeout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-with-timeout.d.ts","sourceRoot":"","sources":["../../src/lib/fetch-with-timeout.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,QAAS,CAAC;AACjD,eAAO,MAAM,yBAAyB,QAAS,CAAC;AAEhD,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,GAAE,oBAAyB,GAC9B,OAAO,CAAC,QAAQ,CAAC,CA+BnB"}
@@ -0,0 +1,11 @@
1
+ export interface ApiTransport {
2
+ resolveUrl(path: string): string;
3
+ getAuthHeaders(path: string): Record<string, string>;
4
+ readonly credentials: RequestCredentials;
5
+ }
6
+ export type ApiTransportResolver = () => ApiTransport;
7
+ export declare function setYurucommuApiTransportResolver(resolver: ApiTransportResolver): void;
8
+ export declare function setYurucommuApiTransport(transport: ApiTransport): void;
9
+ export declare function clearYurucommuApiTransport(): void;
10
+ export declare function getYurucommuApiTransport(): ApiTransport;
11
+ //# sourceMappingURL=transport.d.ts.map