@commonpub/server 0.5.0 → 0.7.1
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/federation/delivery.d.ts.map +1 -1
- package/dist/federation/delivery.js +160 -21
- package/dist/federation/delivery.js.map +1 -1
- package/dist/federation/federation.d.ts +41 -0
- package/dist/federation/federation.d.ts.map +1 -1
- package/dist/federation/federation.js +248 -20
- package/dist/federation/federation.js.map +1 -1
- package/dist/federation/hubFederation.d.ts +38 -0
- package/dist/federation/hubFederation.d.ts.map +1 -0
- package/dist/federation/hubFederation.js +212 -0
- package/dist/federation/hubFederation.js.map +1 -0
- package/dist/federation/inboxHandlers.d.ts.map +1 -1
- package/dist/federation/inboxHandlers.js +261 -52
- package/dist/federation/inboxHandlers.js.map +1 -1
- package/dist/federation/index.d.ts +5 -1
- package/dist/federation/index.d.ts.map +1 -1
- package/dist/federation/index.js +5 -1
- package/dist/federation/index.js.map +1 -1
- package/dist/federation/mirroring.d.ts +65 -0
- package/dist/federation/mirroring.d.ts.map +1 -0
- package/dist/federation/mirroring.js +172 -0
- package/dist/federation/mirroring.js.map +1 -0
- package/dist/federation/oauth.d.ts +115 -0
- package/dist/federation/oauth.d.ts.map +1 -0
- package/dist/federation/oauth.js +277 -0
- package/dist/federation/oauth.js.map +1 -0
- package/dist/federation/timeline.d.ts +89 -0
- package/dist/federation/timeline.d.ts.map +1 -0
- package/dist/federation/timeline.js +344 -0
- package/dist/federation/timeline.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/social/index.d.ts +1 -1
- package/dist/social/index.d.ts.map +1 -1
- package/dist/social/index.js +1 -1
- package/dist/social/index.js.map +1 -1
- package/dist/social/social.d.ts +1 -0
- package/dist/social/social.d.ts.map +1 -1
- package/dist/social/social.js +8 -1
- package/dist/social/social.js.map +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../src/federation/delivery.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../src/federation/delivery.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAsBtC,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAC5C,EAAE,EAAE,EAAE,EACN,MAAM,EAAE,MAAM,EACd,SAAS,SAAK,GACb,OAAO,CAAC,cAAc,CAAC,CAoCzB"}
|
|
@@ -3,10 +3,26 @@
|
|
|
3
3
|
* Signs requests with HTTP Signatures and updates delivery status.
|
|
4
4
|
*/
|
|
5
5
|
import { eq, and, sql, lte } from 'drizzle-orm';
|
|
6
|
-
import { activities, remoteActors, followRelationships, actorKeypairs, users } from '@commonpub/schema';
|
|
6
|
+
import { activities, remoteActors, followRelationships, actorKeypairs, users, hubs, hubActorKeypairs, hubFollowers } from '@commonpub/schema';
|
|
7
7
|
import { signRequest } from '@commonpub/protocol';
|
|
8
|
-
const MAX_ATTEMPTS =
|
|
8
|
+
const MAX_ATTEMPTS = 6;
|
|
9
9
|
const CONTENT_TYPE_AP = 'application/activity+json';
|
|
10
|
+
/** Exponential backoff delays in milliseconds: 1m, 5m, 30m, 2h, 12h, 48h */
|
|
11
|
+
const BACKOFF_DELAYS_MS = [
|
|
12
|
+
60_000, // 1 minute
|
|
13
|
+
300_000, // 5 minutes
|
|
14
|
+
1_800_000, // 30 minutes
|
|
15
|
+
7_200_000, // 2 hours
|
|
16
|
+
43_200_000, // 12 hours
|
|
17
|
+
172_800_000, // 48 hours
|
|
18
|
+
];
|
|
19
|
+
/** Calculate whether an activity is ready for retry based on exponential backoff */
|
|
20
|
+
function isReadyForRetry(attempts, updatedAt) {
|
|
21
|
+
if (attempts === 0)
|
|
22
|
+
return true; // Never attempted
|
|
23
|
+
const delay = BACKOFF_DELAYS_MS[Math.min(attempts - 1, BACKOFF_DELAYS_MS.length - 1)];
|
|
24
|
+
return Date.now() >= updatedAt.getTime() + delay;
|
|
25
|
+
}
|
|
10
26
|
/**
|
|
11
27
|
* Process and deliver pending outbound activities.
|
|
12
28
|
* Call this from a background worker or cron job.
|
|
@@ -17,13 +33,15 @@ const CONTENT_TYPE_AP = 'application/activity+json';
|
|
|
17
33
|
*/
|
|
18
34
|
export async function deliverPendingActivities(db, domain, batchSize = 20) {
|
|
19
35
|
const result = { delivered: 0, failed: 0, errors: [] };
|
|
20
|
-
// Fetch pending outbound activities
|
|
21
|
-
const
|
|
36
|
+
// Fetch pending outbound activities (with backoff check applied in-memory)
|
|
37
|
+
const candidates = await db
|
|
22
38
|
.select()
|
|
23
39
|
.from(activities)
|
|
24
40
|
.where(and(eq(activities.direction, 'outbound'), eq(activities.status, 'pending'), lte(activities.attempts, MAX_ATTEMPTS)))
|
|
25
41
|
.orderBy(activities.createdAt)
|
|
26
|
-
.limit(batchSize);
|
|
42
|
+
.limit(batchSize * 2); // Fetch extra to account for backoff filtering
|
|
43
|
+
// Apply exponential backoff filter in-memory
|
|
44
|
+
const pending = candidates.filter((a) => isReadyForRetry(a.attempts, a.updatedAt)).slice(0, batchSize);
|
|
27
45
|
for (const activity of pending) {
|
|
28
46
|
try {
|
|
29
47
|
await deliverActivity(db, activity, domain);
|
|
@@ -35,6 +53,10 @@ export async function deliverPendingActivities(db, domain, batchSize = 20) {
|
|
|
35
53
|
result.failed++;
|
|
36
54
|
}
|
|
37
55
|
}
|
|
56
|
+
// NOTE: For production with multiple delivery workers, add SELECT ... FOR UPDATE SKIP LOCKED
|
|
57
|
+
// to the pending activities query to prevent duplicate processing. PGlite (test DB) doesn't
|
|
58
|
+
// support this, so it's omitted from the query builder. The Nitro plugin should ensure
|
|
59
|
+
// only one worker runs at a time via setInterval (not parallel invocations).
|
|
38
60
|
return result;
|
|
39
61
|
}
|
|
40
62
|
async function deliverActivity(db, activity, domain) {
|
|
@@ -107,7 +129,7 @@ async function resolveTargetInboxes(db, activity, domain) {
|
|
|
107
129
|
inboxes.push(actor[0].inbox);
|
|
108
130
|
}
|
|
109
131
|
}
|
|
110
|
-
else if (type === 'Follow'
|
|
132
|
+
else if (type === 'Follow') {
|
|
111
133
|
// Send to the target actor's inbox
|
|
112
134
|
const targetActorUri = activity.objectUri;
|
|
113
135
|
if (targetActorUri) {
|
|
@@ -120,32 +142,148 @@ async function resolveTargetInboxes(db, activity, domain) {
|
|
|
120
142
|
inboxes.push(actor[0].inbox);
|
|
121
143
|
}
|
|
122
144
|
}
|
|
123
|
-
else if (type === '
|
|
124
|
-
//
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
.
|
|
133
|
-
.
|
|
145
|
+
else if (type === 'Undo') {
|
|
146
|
+
// Undo can wrap Follow (send to target actor) or Like/Announce (fan out to followers).
|
|
147
|
+
// Distinguish by checking if we have/had a follow relationship with the objectUri as target.
|
|
148
|
+
// This is more reliable than checking remoteActors cache (which may miss new instances)
|
|
149
|
+
// or payload structure (which uses plain URI strings, not typed objects).
|
|
150
|
+
const targetUri = activity.objectUri;
|
|
151
|
+
if (targetUri) {
|
|
152
|
+
// Check if this looks like an Undo(Follow) — we had/have a follow relationship to this URI
|
|
153
|
+
const followRel = await db
|
|
154
|
+
.select({ id: followRelationships.id })
|
|
155
|
+
.from(followRelationships)
|
|
156
|
+
.where(and(eq(followRelationships.followerActorUri, activity.actorUri), eq(followRelationships.followingActorUri, targetUri)))
|
|
134
157
|
.limit(1);
|
|
135
|
-
if (
|
|
136
|
-
|
|
158
|
+
if (followRel.length > 0) {
|
|
159
|
+
// This is Undo(Follow): send to the target actor's inbox
|
|
160
|
+
const actor = await db
|
|
161
|
+
.select({ inbox: remoteActors.inbox })
|
|
162
|
+
.from(remoteActors)
|
|
163
|
+
.where(eq(remoteActors.actorUri, targetUri))
|
|
164
|
+
.limit(1);
|
|
165
|
+
if (actor[0]?.inbox)
|
|
166
|
+
inboxes.push(actor[0].inbox);
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
// This is Undo(Like/Announce): fan out to all accepted followers
|
|
170
|
+
const followers = await db
|
|
171
|
+
.select({ followerActorUri: followRelationships.followerActorUri })
|
|
172
|
+
.from(followRelationships)
|
|
173
|
+
.where(and(eq(followRelationships.followingActorUri, activity.actorUri), eq(followRelationships.status, 'accepted')));
|
|
174
|
+
for (const f of followers) {
|
|
175
|
+
const followerActor = await db
|
|
176
|
+
.select({ inbox: remoteActors.inbox, sharedInbox: remoteActors.sharedInbox })
|
|
177
|
+
.from(remoteActors)
|
|
178
|
+
.where(eq(remoteActors.actorUri, f.followerActorUri))
|
|
179
|
+
.limit(1);
|
|
180
|
+
const targetInbox = followerActor[0]?.sharedInbox ?? followerActor[0]?.inbox;
|
|
181
|
+
if (targetInbox)
|
|
182
|
+
inboxes.push(targetInbox);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
else if (type === 'Create' || type === 'Update' || type === 'Delete' || type === 'Like' || type === 'Announce') {
|
|
188
|
+
// Check if this is a hub actor (pattern: /hubs/{slug} in actor URI)
|
|
189
|
+
const actorUrl = new URL(activity.actorUri);
|
|
190
|
+
const actorSegments = actorUrl.pathname.split('/').filter(Boolean);
|
|
191
|
+
const isHubActor = actorSegments.includes('hubs');
|
|
192
|
+
if (isHubActor) {
|
|
193
|
+
// Hub Group actor — resolve from hubFollowers table
|
|
194
|
+
const hubSlug = actorSegments[actorSegments.indexOf('hubs') + 1];
|
|
195
|
+
if (hubSlug) {
|
|
196
|
+
const [hub] = await db.select({ id: hubs.id }).from(hubs).where(eq(hubs.slug, hubSlug)).limit(1);
|
|
197
|
+
if (hub) {
|
|
198
|
+
const hubFols = await db
|
|
199
|
+
.select({ followerActorUri: hubFollowers.followerActorUri })
|
|
200
|
+
.from(hubFollowers)
|
|
201
|
+
.where(and(eq(hubFollowers.hubId, hub.id), eq(hubFollowers.status, 'accepted')));
|
|
202
|
+
for (const f of hubFols) {
|
|
203
|
+
const actor = await db
|
|
204
|
+
.select({ inbox: remoteActors.inbox, sharedInbox: remoteActors.sharedInbox })
|
|
205
|
+
.from(remoteActors)
|
|
206
|
+
.where(eq(remoteActors.actorUri, f.followerActorUri))
|
|
207
|
+
.limit(1);
|
|
208
|
+
const targetInbox = actor[0]?.sharedInbox ?? actor[0]?.inbox;
|
|
209
|
+
if (targetInbox)
|
|
210
|
+
inboxes.push(targetInbox);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
else {
|
|
216
|
+
// User actor — resolve from followRelationships table
|
|
217
|
+
const followers = await db
|
|
218
|
+
.select({ followerActorUri: followRelationships.followerActorUri })
|
|
219
|
+
.from(followRelationships)
|
|
220
|
+
.where(and(eq(followRelationships.followingActorUri, activity.actorUri), eq(followRelationships.status, 'accepted')));
|
|
221
|
+
for (const f of followers) {
|
|
222
|
+
const actor = await db
|
|
223
|
+
.select({ inbox: remoteActors.inbox, sharedInbox: remoteActors.sharedInbox })
|
|
224
|
+
.from(remoteActors)
|
|
225
|
+
.where(eq(remoteActors.actorUri, f.followerActorUri))
|
|
226
|
+
.limit(1);
|
|
227
|
+
const targetInbox = actor[0]?.sharedInbox ?? actor[0]?.inbox;
|
|
228
|
+
if (targetInbox)
|
|
229
|
+
inboxes.push(targetInbox);
|
|
230
|
+
}
|
|
231
|
+
// Also deliver to instance actor followers (for mirroring)
|
|
232
|
+
// Instance actor URI: https://{domain}/actor
|
|
233
|
+
const instanceActorUri = `https://${domain}/actor`;
|
|
234
|
+
if (activity.actorUri !== instanceActorUri) {
|
|
235
|
+
const instanceFollowers = await db
|
|
236
|
+
.select({ followerActorUri: followRelationships.followerActorUri })
|
|
237
|
+
.from(followRelationships)
|
|
238
|
+
.where(and(eq(followRelationships.followingActorUri, instanceActorUri), eq(followRelationships.status, 'accepted')));
|
|
239
|
+
for (const f of instanceFollowers) {
|
|
240
|
+
const actor = await db
|
|
241
|
+
.select({ inbox: remoteActors.inbox, sharedInbox: remoteActors.sharedInbox })
|
|
242
|
+
.from(remoteActors)
|
|
243
|
+
.where(eq(remoteActors.actorUri, f.followerActorUri))
|
|
244
|
+
.limit(1);
|
|
245
|
+
const targetInbox = actor[0]?.sharedInbox ?? actor[0]?.inbox;
|
|
246
|
+
if (targetInbox)
|
|
247
|
+
inboxes.push(targetInbox);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
137
250
|
}
|
|
138
251
|
}
|
|
139
252
|
return [...new Set(inboxes)]; // Deduplicate
|
|
140
253
|
}
|
|
141
254
|
async function getKeypairForActor(db, actorUri, domain) {
|
|
142
|
-
// Extract username from actorUri: https://domain/users/username
|
|
143
255
|
const url = new URL(actorUri);
|
|
144
256
|
const segments = url.pathname.split('/').filter(Boolean);
|
|
145
257
|
const username = segments[segments.length - 1];
|
|
146
258
|
if (!username)
|
|
147
259
|
return null;
|
|
148
|
-
//
|
|
260
|
+
// Check if this is the instance actor (pattern: /actor)
|
|
261
|
+
if (segments.length === 1 && segments[0] === 'actor') {
|
|
262
|
+
const { getOrCreateInstanceKeypair } = await import('./federation.js');
|
|
263
|
+
return getOrCreateInstanceKeypair(db);
|
|
264
|
+
}
|
|
265
|
+
// Check if this is a hub actor URI (pattern: /hubs/{slug})
|
|
266
|
+
if (segments.includes('hubs') && segments.length >= 2) {
|
|
267
|
+
const hubSlug = segments[segments.indexOf('hubs') + 1];
|
|
268
|
+
if (hubSlug) {
|
|
269
|
+
const [hub] = await db
|
|
270
|
+
.select({ id: hubs.id })
|
|
271
|
+
.from(hubs)
|
|
272
|
+
.where(eq(hubs.slug, hubSlug))
|
|
273
|
+
.limit(1);
|
|
274
|
+
if (hub) {
|
|
275
|
+
const [kp] = await db
|
|
276
|
+
.select()
|
|
277
|
+
.from(hubActorKeypairs)
|
|
278
|
+
.where(eq(hubActorKeypairs.hubId, hub.id))
|
|
279
|
+
.limit(1);
|
|
280
|
+
if (kp)
|
|
281
|
+
return { publicKeyPem: kp.publicKeyPem, privateKeyPem: kp.privateKeyPem };
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
return null;
|
|
285
|
+
}
|
|
286
|
+
// Look up user by username (pattern: /users/{username})
|
|
149
287
|
const user = await db
|
|
150
288
|
.select({ id: users.id })
|
|
151
289
|
.from(users)
|
|
@@ -199,6 +337,7 @@ async function incrementAttempts(db, activityId, error) {
|
|
|
199
337
|
status: newStatus,
|
|
200
338
|
error,
|
|
201
339
|
attempts: newAttempts,
|
|
340
|
+
updatedAt: new Date(),
|
|
202
341
|
})
|
|
203
342
|
.where(eq(activities.id, activityId));
|
|
204
343
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../src/federation/delivery.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../src/federation/delivery.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,43 @@ export declare function getOrCreateActorKeypair(db: DB, userId: string): Promise
|
|
|
4
4
|
publicKeyPem: string;
|
|
5
5
|
privateKeyPem: string;
|
|
6
6
|
}>;
|
|
7
|
+
/**
|
|
8
|
+
* Get or create the instance-level keypair (for the Service actor at /actor).
|
|
9
|
+
* Stored in instanceSettings since actorKeypairs requires a userId FK.
|
|
10
|
+
*/
|
|
11
|
+
export declare function getOrCreateInstanceKeypair(db: DB): Promise<{
|
|
12
|
+
publicKeyPem: string;
|
|
13
|
+
privateKeyPem: string;
|
|
14
|
+
}>;
|
|
15
|
+
/**
|
|
16
|
+
* Build the instance actor AP object (Service type).
|
|
17
|
+
*/
|
|
18
|
+
export declare function buildInstanceActor(domain: string, publicKeyPem: string): Record<string, unknown>;
|
|
7
19
|
export declare function resolveRemoteActor(db: DB, actorUri: string): Promise<ResolvedActor | null>;
|
|
20
|
+
/** Remote actor profile returned by search */
|
|
21
|
+
export interface RemoteActorProfile {
|
|
22
|
+
actorUri: string;
|
|
23
|
+
inbox: string;
|
|
24
|
+
preferredUsername: string | null;
|
|
25
|
+
displayName: string | null;
|
|
26
|
+
summary: string | null;
|
|
27
|
+
avatarUrl: string | null;
|
|
28
|
+
bannerUrl: string | null;
|
|
29
|
+
instanceDomain: string;
|
|
30
|
+
followerCount: number | null;
|
|
31
|
+
followingCount: number | null;
|
|
32
|
+
/** Whether the current user is following this actor */
|
|
33
|
+
isFollowing?: boolean;
|
|
34
|
+
/** Whether a follow is pending */
|
|
35
|
+
isFollowPending?: boolean;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Search for a remote actor by handle (`@user@domain` or `user@domain`).
|
|
39
|
+
* Does WebFinger discovery, caches the result, and returns a profile.
|
|
40
|
+
*/
|
|
41
|
+
export declare function searchRemoteActor(db: DB, query: string, localDomain: string, localUserId?: string): Promise<RemoteActorProfile | null>;
|
|
42
|
+
/** Get a cached remote actor profile from the database */
|
|
43
|
+
export declare function getRemoteActorProfile(db: DB, actorUri: string, localDomain?: string, localUserId?: string): Promise<RemoteActorProfile | null>;
|
|
8
44
|
export declare function sendFollow(db: DB, localUserId: string, remoteActorUri: string, domain: string): Promise<{
|
|
9
45
|
id: string;
|
|
10
46
|
}>;
|
|
@@ -15,6 +51,11 @@ export declare function federateContent(db: DB, contentId: string, domain: strin
|
|
|
15
51
|
export declare function federateUpdate(db: DB, contentId: string, domain: string): Promise<void>;
|
|
16
52
|
export declare function federateDelete(db: DB, contentId: string, domain: string, authorUsername: string): Promise<void>;
|
|
17
53
|
export declare function federateLike(db: DB, userId: string, contentUri: string, domain: string): Promise<void>;
|
|
54
|
+
export declare function federateUnlike(db: DB, userId: string, contentUri: string, domain: string): Promise<void>;
|
|
55
|
+
/** Build a content URI from a slug and domain (matches contentToArticle output) */
|
|
56
|
+
export declare function buildContentUri(domain: string, slug: string): string;
|
|
57
|
+
/** Look up content slug by ID for federation URI construction */
|
|
58
|
+
export declare function getContentSlugById(db: DB, contentId: string): Promise<string | null>;
|
|
18
59
|
export declare function getFollowers(db: DB, actorUri: string): Promise<Array<{
|
|
19
60
|
followerActorUri: string;
|
|
20
61
|
status: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"federation.d.ts","sourceRoot":"","sources":["../../src/federation/federation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"federation.d.ts","sourceRoot":"","sources":["../../src/federation/federation.ts"],"names":[],"mappings":"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"}
|