@fedify/fedify 2.5.0-dev.2609 → 2.5.0-dev.2618
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/{builder-BLCvt0zp.mjs → builder-C-zhu1PC.mjs} +82 -3
- package/dist/compat/mod.d.cts +1 -1
- package/dist/compat/mod.d.ts +1 -1
- package/dist/compat/transformers.test.mjs +1 -1
- package/dist/{compound-proof-DNhLvscb.mjs → compound-proof-B6Mz3pzt.mjs} +2 -2
- package/dist/{context-ByflxsY9.d.cts → context-C1NqcIct.d.cts} +1061 -443
- package/dist/{context-uQUY5fQT.d.ts → context-xrqq4Hrq.d.ts} +1064 -446
- package/dist/{deno-DYkYmKp0.mjs → deno-CaPDSXDl.mjs} +1 -1
- package/dist/{docloader-B9RO5nh9.mjs → docloader-kYMkiXaB.mjs} +2 -2
- package/dist/federation/builder.test.mjs +1 -1
- package/dist/federation/compound-fanout.test.mjs +3 -3
- package/dist/federation/handler-compound-proof.test.mjs +3 -3
- package/dist/federation/handler.test.mjs +4 -4
- package/dist/federation/hashlink-media.test.mjs +2 -2
- package/dist/federation/idempotency.test.mjs +2 -2
- package/dist/federation/inbox-actorless.test.mjs +5 -5
- package/dist/federation/inbox-report.test.mjs +220 -5
- package/dist/federation/inbox-view.test.mjs +1 -1
- package/dist/federation/inbox.test.mjs +1 -1
- package/dist/federation/metrics.test.mjs +1 -1
- package/dist/federation/middleware.test.mjs +7 -7
- package/dist/federation/mod.cjs +1 -1
- package/dist/federation/mod.d.cts +3 -3
- package/dist/federation/mod.d.ts +4 -4
- package/dist/federation/mod.js +1 -1
- package/dist/federation/mq.test.mjs +1 -1
- package/dist/federation/outbound-body.test.d.mts +2 -0
- package/dist/federation/outbound-body.test.mjs +149 -0
- package/dist/federation/outbound-capture.test.d.mts +2 -0
- package/dist/federation/outbound-capture.test.mjs +394 -0
- package/dist/federation/outbound-dispatch.test.d.mts +2 -0
- package/dist/federation/outbound-dispatch.test.mjs +368 -0
- package/dist/federation/outbound-document.test.d.mts +2 -0
- package/dist/federation/outbound-document.test.mjs +171 -0
- package/dist/federation/outbound-provenance.test.d.mts +2 -0
- package/dist/federation/outbound-provenance.test.mjs +543 -0
- package/dist/federation/outbound-report.test.d.mts +2 -0
- package/dist/federation/outbound-report.test.mjs +5475 -0
- package/dist/federation/outbound-workers.test.d.mts +2 -0
- package/dist/federation/outbound-workers.test.mjs +64 -0
- package/dist/federation/outbound-workflow.test.d.mts +2 -0
- package/dist/federation/outbound-workflow.test.mjs +154 -0
- package/dist/federation/outgoing-proof.test.mjs +4 -4
- package/dist/federation/portable-actor.test.mjs +3 -3
- package/dist/federation/portable-chain.test.mjs +3 -3
- package/dist/federation/portable-collection.test.mjs +4 -4
- package/dist/federation/portable-delivery.test.mjs +106 -7
- package/dist/federation/portable-gateway-keys.test.mjs +5 -5
- package/dist/federation/portable-inbox.test.mjs +430 -5
- package/dist/federation/portable-parse-uri.test.mjs +1 -1
- package/dist/federation/portable-route-activity.test.mjs +2 -2
- package/dist/federation/portable.test.mjs +3 -3
- package/dist/federation/send.test.mjs +44 -3
- package/dist/federation/tasks/enqueue.test.mjs +1 -1
- package/dist/federation/tasks/tasks.test.mjs +2 -2
- package/dist/federation/temporal.test.mjs +1 -1
- package/dist/federation/webfinger.test.mjs +1 -1
- package/dist/{federation-DzMdu4zU.cjs → federation-c-ulWHXG.cjs} +2358 -405
- package/dist/{http-EoFzzh1s.js → http-C12QVNZt.js} +62 -32
- package/dist/{http-BdTJujR0.cjs → http-DwL_g670.cjs} +62 -32
- package/dist/{http-TgeyuTDM.mjs → http-NYqvoigN.mjs} +64 -34
- package/dist/{inbox-ChkbRxCN.mjs → inbox-CkL5YgHZ.mjs} +90 -3
- package/dist/{inbox-view-BosBZdlt.mjs → inbox-view-IJCZG0_b.mjs} +1 -1
- package/dist/{key-DbLNT-vA.d.ts → key-dwwAg5bA.d.ts} +1 -1
- package/dist/{kv-cache-CMgOYiLU.js → kv-cache-1BO1Deou.js} +1 -1
- package/dist/{kv-cache-CTA2i08a.mjs → kv-cache-BdFnnrOU.mjs} +1 -1
- package/dist/{kv-cache-B0o18_Ni.cjs → kv-cache-CcGUsFoZ.cjs} +1 -1
- package/dist/{ld-CZsMAfOw.mjs → ld-CEOS8Pho.mjs} +2 -2
- package/dist/{ld-Inagww4R.d.ts → ld-o4LnhCYY.d.ts} +2 -2
- package/dist/{metrics-Kc9mP1LD.mjs → metrics-CvuJeWaJ.mjs} +1 -1
- package/dist/{metrics-DoRtI0qU.d.ts → metrics-DVKYY6K1.d.ts} +1 -1
- package/dist/{middleware-C1coPz8l.mjs → middleware-BPZ9KhAd.mjs} +1 -1
- package/dist/{middleware-B-pjIvQ8.js → middleware-CzcR7pNr.js} +2303 -351
- package/dist/{middleware-CIRoIVSU.mjs → middleware-DMrpt2wD.mjs} +1573 -325
- package/dist/{mod-B7j30IQf.d.ts → mod-CQC9xlLZ.d.ts} +3 -3
- package/dist/{mod-B4kBw1-8.d.ts → mod-D22ZsiKi.d.ts} +2 -2
- package/dist/{mod-BN0TTfyQ.d.ts → mod-DO0epJGH.d.ts} +1 -1
- package/dist/{mod-DF2gbN_d.d.cts → mod-TwiQgEf3.d.cts} +1 -1
- package/dist/mod.cjs +4 -4
- package/dist/mod.d.cts +4 -4
- package/dist/mod.d.ts +8 -8
- package/dist/mod.js +4 -4
- package/dist/nodeinfo/handler.test.mjs +1 -1
- package/dist/outbound-body-CckPA5gc.mjs +83 -0
- package/dist/outbound-capture-DVgnRzlf.mjs +184 -0
- package/dist/outbound-document-BMgwLXTY.mjs +179 -0
- package/dist/{owner-Dwz4fGUW.mjs → owner-BOyHaAlU.mjs} +3 -3
- package/dist/{portable-collection-BikiijSk.js → portable-collection-B4HFXlgN.js} +2 -2
- package/dist/{portable-collection-Oxfavx8f.mjs → portable-collection-BBSMcaDY.mjs} +2 -2
- package/dist/{portable-collection-Ci6vIhbR.cjs → portable-collection-D_zZTK4C.cjs} +2 -2
- package/dist/{portable-key--fWpTNDN.mjs → portable-key-CF8xK_lj.mjs} +1 -1
- package/dist/{proof-D6Kb0Qq9.mjs → proof-VrE-GaGv.mjs} +3 -3
- package/dist/{send-BFti0L3I.mjs → send-CY6agn9T.mjs} +153 -40
- package/dist/sig/compound-proof-discovery.test.mjs +1 -1
- package/dist/sig/compound-proof-producer.test.mjs +1 -1
- package/dist/sig/compound-proof-verification.test.mjs +2 -2
- package/dist/sig/compound-proof.test.mjs +2 -2
- package/dist/sig/http.test.mjs +38 -2
- package/dist/sig/key.test.mjs +1 -1
- package/dist/sig/ld.test.mjs +1 -1
- package/dist/sig/mitra-receive-interop.test.mjs +4 -4
- package/dist/sig/mitra-send-interop.test.mjs +3 -3
- package/dist/sig/mod.cjs +2 -2
- package/dist/sig/mod.d.ts +3 -3
- package/dist/sig/mod.js +2 -2
- package/dist/sig/owner.test.mjs +1 -1
- package/dist/sig/portable-collection.test.mjs +1 -1
- package/dist/sig/portable-interop.test.mjs +3 -3
- package/dist/sig/portable-key.test.mjs +5 -5
- package/dist/sig/proof.test.mjs +3 -3
- package/dist/sig/tootik-request-interop.test.mjs +4 -4
- package/dist/sig/tootik-send-interop.test.mjs +3 -3
- package/dist/sig/verification.test.mjs +3 -3
- package/dist/{temporal-DlYL_raW.mjs → temporal-QO2pe6W4.mjs} +1 -1
- package/dist/testing/kv.test.mjs +1 -1
- package/dist/testing/mod.d.mts +1030 -412
- package/dist/utils/docloader.test.mjs +2 -2
- package/dist/utils/kv-cache.test.mjs +1 -1
- package/dist/utils/mod.cjs +1 -1
- package/dist/utils/mod.d.ts +1 -1
- package/dist/utils/mod.js +1 -1
- package/package.json +7 -7
- package/skills/fedify/SKILL.md +60 -1
|
@@ -5,9 +5,9 @@ import { t as esm_default } from "../esm-BHXXx4Wx.mjs";
|
|
|
5
5
|
import { t as assertEquals } from "../assert_equals-Z6IcEbWU.mjs";
|
|
6
6
|
import "../std__assert-DvMDRPes.mjs";
|
|
7
7
|
import { t as assertRejects } from "../assert_rejects-CTptdYck.mjs";
|
|
8
|
-
import { p as verifyRequest } from "../http-
|
|
8
|
+
import { p as verifyRequest } from "../http-NYqvoigN.mjs";
|
|
9
9
|
import { i as rsaPrivateKey2 } from "../keys-DIJNHW-Y.mjs";
|
|
10
|
-
import { n as getAuthenticatedDocumentLoader, t as createAuthenticatedDocumentLoader } from "../docloader-
|
|
10
|
+
import { n as getAuthenticatedDocumentLoader, t as createAuthenticatedDocumentLoader } from "../docloader-kYMkiXaB.mjs";
|
|
11
11
|
import { configure, reset } from "@logtape/logtape";
|
|
12
12
|
import { FetchError, UrlError } from "@fedify/vocab-runtime";
|
|
13
13
|
import { mockDocumentLoader, test } from "@fedify/fixture";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Temporal } from "temporal-polyfill";
|
|
2
2
|
import { URLPattern } from "urlpattern-polyfill";
|
|
3
3
|
globalThis.addEventListener = () => {};
|
|
4
|
-
import { n as kvCache, t as MockKvStore } from "../kv-cache-
|
|
4
|
+
import { n as kvCache, t as MockKvStore } from "../kv-cache-BdFnnrOU.mjs";
|
|
5
5
|
import { preloadedContexts } from "@fedify/vocab-runtime";
|
|
6
6
|
import { deepStrictEqual, throws } from "node:assert";
|
|
7
7
|
import { createTestMeterProvider, mockDocumentLoader, test } from "@fedify/fixture";
|
package/dist/utils/mod.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const { URLPattern } = require("urlpattern-polyfill");
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const require_kv_cache = require("../kv-cache-
|
|
3
|
+
const require_kv_cache = require("../kv-cache-CcGUsFoZ.cjs");
|
|
4
4
|
exports.getAuthenticatedDocumentLoader = require_kv_cache.getAuthenticatedDocumentLoader;
|
|
5
5
|
exports.kvCache = require_kv_cache.kvCache;
|
package/dist/utils/mod.d.ts
CHANGED
package/dist/utils/mod.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Temporal } from "temporal-polyfill";
|
|
2
2
|
import { URLPattern } from "urlpattern-polyfill";
|
|
3
|
-
import { n as getAuthenticatedDocumentLoader, t as kvCache } from "../kv-cache-
|
|
3
|
+
import { n as getAuthenticatedDocumentLoader, t as kvCache } from "../kv-cache-1BO1Deou.js";
|
|
4
4
|
export { getAuthenticatedDocumentLoader, kvCache };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fedify/fedify",
|
|
3
|
-
"version": "2.5.0-dev.
|
|
3
|
+
"version": "2.5.0-dev.2618+6a7cb6bb",
|
|
4
4
|
"description": "An ActivityPub server framework",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ActivityPub",
|
|
@@ -151,10 +151,10 @@
|
|
|
151
151
|
"structured-field-values": "^2.0.4",
|
|
152
152
|
"temporal-polyfill": "^1.0.1",
|
|
153
153
|
"urlpattern-polyfill": "^10.1.0",
|
|
154
|
-
"@fedify/uri-template": "2.5.0-dev.
|
|
155
|
-
"@fedify/vocab": "2.5.0-dev.
|
|
156
|
-
"@fedify/
|
|
157
|
-
"@fedify/
|
|
154
|
+
"@fedify/uri-template": "2.5.0-dev.2618+6a7cb6bb",
|
|
155
|
+
"@fedify/vocab": "2.5.0-dev.2618+6a7cb6bb",
|
|
156
|
+
"@fedify/webfinger": "2.5.0-dev.2618+6a7cb6bb",
|
|
157
|
+
"@fedify/vocab-runtime": "2.5.0-dev.2618+6a7cb6bb"
|
|
158
158
|
},
|
|
159
159
|
"devDependencies": {
|
|
160
160
|
"@std/assert": "npm:@jsr/std__assert@^0.226.0",
|
|
@@ -165,8 +165,8 @@
|
|
|
165
165
|
"tsx": "^4.21.0",
|
|
166
166
|
"typescript": "^6.0.3",
|
|
167
167
|
"wrangler": "^4.17.0",
|
|
168
|
-
"@fedify/
|
|
169
|
-
"@fedify/
|
|
168
|
+
"@fedify/vocab-tools": "^2.5.0-dev.2618+6a7cb6bb",
|
|
169
|
+
"@fedify/fixture": "2.0.0"
|
|
170
170
|
},
|
|
171
171
|
"scripts": {
|
|
172
172
|
"build:self": "tsdown",
|
package/skills/fedify/SKILL.md
CHANGED
|
@@ -244,7 +244,66 @@ deliveries have no retry.
|
|
|
244
244
|
> those must be distinct activities. Use a fresh UUID or counter in the
|
|
245
245
|
> fragment.
|
|
246
246
|
|
|
247
|
-
|
|
247
|
+
### Observing outbound delivery
|
|
248
|
+
|
|
249
|
+
Register callbacks with `federation.setOutboundObservers()` or the builder's
|
|
250
|
+
matching method. Registration replaces the whole set; `{}` clears it. Active
|
|
251
|
+
sends keep the callbacks selected when they began. Observers use the existing
|
|
252
|
+
context and work without OpenTelemetry.
|
|
253
|
+
|
|
254
|
+
Choose callbacks by the question you need to answer:
|
|
255
|
+
|
|
256
|
+
| Callback | Reports |
|
|
257
|
+
| ---------------- | -------------------------------------------------------------------------- |
|
|
258
|
+
| `onBroadcast` | One send or forward invocation, including preparation and its result. |
|
|
259
|
+
| `onDelivery` | Each destination's plan, handoff, or preparation failure. |
|
|
260
|
+
| `onAttempt` | The outcome of one concrete send, including each retry or gateway attempt. |
|
|
261
|
+
| `onHttpExchange` | Each actual HTTP request and its response or fetch error. |
|
|
262
|
+
| `onWorker` | The local result and scheduling actions of a fanout or outbox worker. |
|
|
263
|
+
|
|
264
|
+
`onBroadcast` and `onDelivery` also cover automatic portable replication.
|
|
265
|
+
Broadcasts have a `broadcastId`; destinations have a `deliveryId`. An
|
|
266
|
+
`onDelivery` event can refer to an unknown broadcast when it comes from legacy
|
|
267
|
+
fanout work. These IDs group reports; they do not prove remote receipt.
|
|
268
|
+
The `event.activity` reference is a snapshot of known `id` and `type` IRI
|
|
269
|
+
strings; it may be empty on `started` and can gain facts later.
|
|
270
|
+
|
|
271
|
+
For broadcasts, narrow `event.stage` before reading `event.result.type`.
|
|
272
|
+
For deliveries, narrow `event.stage` and, for handoffs, `event.result.type`.
|
|
273
|
+
Attempt reports have a fresh `attemptId` and an `outcome`; their
|
|
274
|
+
`httpExchangeCount` counts actual fetches, including redirects and signature
|
|
275
|
+
challenges. A failure before the first fetch has a count of zero. Worker
|
|
276
|
+
reports distinguish normal local completion from an escaping error. Their
|
|
277
|
+
`actions` record enqueues, retries, deferrals, direct handoffs, abandonment,
|
|
278
|
+
and failed drops. A completed worker does not imply remote success or queue
|
|
279
|
+
acknowledgment.
|
|
280
|
+
|
|
281
|
+
Header capture is off by default. Set `requestHeaders` or `responseHeaders`
|
|
282
|
+
with an allowlist and byte limit to add redacted header snapshots to exchange
|
|
283
|
+
reports. `responseBodyCapture` separately invokes `onBody` with a bounded
|
|
284
|
+
stream and deadline; read it incrementally and honor its cancellation signal.
|
|
285
|
+
Use `senderPayload: true` only when the attempt report needs a privacy-filtered
|
|
286
|
+
projection of the outgoing activity. These options do not change the bytes
|
|
287
|
+
sent or signed. Treat all captured evidence as sensitive application data.
|
|
288
|
+
|
|
289
|
+
Callbacks are awaited, and callback or logging errors do not replace delivery
|
|
290
|
+
results. A callback that never settles can still delay the send. If you
|
|
291
|
+
record events in the background, handle rejection, shutdown, and persistence
|
|
292
|
+
in the application.
|
|
293
|
+
|
|
294
|
+
Use the `dispatchId` send or forward option to carry an application correlation
|
|
295
|
+
ID through queues. Event `provenance` preserves known source facts; `local`
|
|
296
|
+
describes the current execution. Optional `trace` contains the operation's
|
|
297
|
+
own span IDs when tracing is enabled. Older queue messages can lack these
|
|
298
|
+
facts. Consumers warn and omit malformed queued provenance so delivery can
|
|
299
|
+
continue. Invalid `dispatchId` values on new sends raise an error before
|
|
300
|
+
preparation; the limit is 1,024 UTF-8 bytes. Reusing an ID does not
|
|
301
|
+
deduplicate sends.
|
|
302
|
+
|
|
303
|
+
For typed examples, report variants, and capture limits, see the
|
|
304
|
+
[sending manual].
|
|
305
|
+
|
|
306
|
+
[sending manual]: https://fedify.dev/manual/send.md
|
|
248
307
|
|
|
249
308
|
|
|
250
309
|
Vocabulary imports
|