@fedify/fedify 2.0.0-dev.1726 → 2.0.0-dev.1736

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 (193) hide show
  1. package/dist/{actor-dO7jHa6A.js → actor-BLq4KEGR.js} +1 -1
  2. package/dist/{actor-Bn2RCpws.cjs → actor-C3oFUgfc.cjs} +921 -1451
  3. package/dist/{actor-T6RyhRgk.d.ts → actor-DqFajh9s.d.ts} +2 -2
  4. package/dist/{actor-menZmmiI.js → actor-btAA7QSA.js} +189 -677
  5. package/dist/{actor-D6K058Tb.d.cts → actor-f2NtjyCg.d.cts} +2 -2
  6. package/dist/{assert_rejects-DiIiJbZn.js → assert_rejects-Ce45JcFg.js} +1 -1
  7. package/dist/{assert_is_error-BPGph1Jx.js → assert_throws-BNXdRGWP.js} +31 -1
  8. package/dist/{builder-CGF1vv7G.js → builder-C4gbKvM5.js} +3 -4
  9. package/dist/{client-CegPX0Rn.d.cts → client-94iWEfQa.d.cts} +1 -1
  10. package/dist/{client-bgSdkFa2.d.ts → client-BsGzbnV-.d.ts} +1 -1
  11. package/dist/{client-BfzV3u96.js → client-pY7-3icS.js} +1 -1
  12. package/dist/compat/mod.d.cts +11 -12
  13. package/dist/compat/mod.d.ts +11 -12
  14. package/dist/compat/transformers.test.js +20 -20
  15. package/dist/{context-DYCJXr7J.d.cts → context-BvYz3eOb.d.cts} +10 -10
  16. package/dist/{context-B1X8-X33.d.ts → context-myrGWbL_.d.ts} +10 -10
  17. package/dist/{authdocloader-DevmXsTo.js → docloader-DtYIz2Pb.js} +17 -8
  18. package/dist/{esm-BODOj_Oi.js → esm-CQ9nlHuI.js} +11 -11
  19. package/dist/federation/builder.test.js +8 -10
  20. package/dist/federation/collection.test.js +7 -9
  21. package/dist/federation/handler.test.js +25 -26
  22. package/dist/federation/idempotency.test.js +25 -26
  23. package/dist/federation/inbox.test.js +4 -6
  24. package/dist/federation/keycache.test.js +3 -4
  25. package/dist/federation/kv.test.js +6 -8
  26. package/dist/federation/middleware.test.js +26 -27
  27. package/dist/federation/mod.cjs +9 -11
  28. package/dist/federation/mod.d.cts +11 -12
  29. package/dist/federation/mod.d.ts +11 -12
  30. package/dist/federation/mod.js +9 -11
  31. package/dist/federation/mq.test.js +8 -10
  32. package/dist/federation/negotiation.test.js +7 -9
  33. package/dist/federation/retry.test.js +4 -5
  34. package/dist/federation/router.test.js +6 -8
  35. package/dist/federation/send.test.js +13 -15
  36. package/dist/{http-Danw_xTY.js → http-B9npZ3Md.js} +2 -2
  37. package/dist/{http-D6Uj2x2y.d.ts → http-BbO0ejuk.d.ts} +2 -2
  38. package/dist/{http-gHyCrTrX.js → http-D7qwMpca.js} +256 -6
  39. package/dist/{http-D-e6AFwR.d.cts → http-M8k5mKc0.d.cts} +2 -2
  40. package/dist/{http-BmbMWfmh.cjs → http-ngJvMHez.cjs} +289 -9
  41. package/dist/{inbox-Blp5F74G.js → inbox-CY8fblhz.js} +1 -1
  42. package/dist/{key-CIIkeide.js → key-CgKiloJr.js} +3 -2
  43. package/dist/{keycache-Covv8lvK.js → keycache-B6O-bhMs.js} +1 -1
  44. package/dist/{keys-DZ1bqhJz.js → keys-B3O7b5eB.js} +2 -1
  45. package/dist/kv-cache-BrjWZnGU.cjs +133 -0
  46. package/dist/kv-cache-DkW_lqUw.js +121 -0
  47. package/dist/kv-cache-z0lgwFi_.js +93 -0
  48. package/dist/{ld-C7KL1MK2.js → ld-B7TO6JH2.js} +3 -2
  49. package/dist/lookup-Cc3ZAAis.cjs +273 -0
  50. package/dist/{type-D_8QzkEn.js → lookup-NXjB7xUj.js} +503 -5327
  51. package/dist/lookup-fEH6e7ZX.js +261 -0
  52. package/dist/{middleware-HKKY6sAX.js → middleware-BMPvaTpX.js} +18 -17
  53. package/dist/{middleware-C60xXvWx.cjs → middleware-C8w5YYxK.cjs} +30 -31
  54. package/dist/middleware-D8ENcqxG.js +26 -0
  55. package/dist/{middleware-DXOZ6_ST.js → middleware-D_VyRsDx.js} +10 -11
  56. package/dist/middleware-Yk-MuxWc.js +15 -0
  57. package/dist/middleware-glwCut0b.cjs +15 -0
  58. package/dist/{mod-BhUKmBJD.d.ts → mod-B2iOw50L.d.ts} +3 -3
  59. package/dist/mod-BYynOiJG.d.ts +109 -0
  60. package/dist/{mod-DlU8ISoa.d.ts → mod-BlVovdcy.d.ts} +2 -2
  61. package/dist/{mod-CxkWO3Mg.d.cts → mod-BxRCHTz-.d.cts} +2 -2
  62. package/dist/{mod-jQ4OODsl.d.cts → mod-C58MZ7Wx.d.cts} +1 -1
  63. package/dist/{mod-twdvV2hR.d.cts → mod-DbFNTF7m.d.cts} +2 -2
  64. package/dist/{mod-Djzcw2ry.d.cts → mod-DgdBYYa0.d.cts} +3 -3
  65. package/dist/{mod-DBzN0aCM.d.ts → mod-Ds0mpFZU.d.ts} +1 -1
  66. package/dist/mod-VastcQsk.d.cts +107 -0
  67. package/dist/{mod-DcKxhFQ8.d.ts → mod-k0Dk3fGk.d.ts} +2 -2
  68. package/dist/mod.cjs +19 -32
  69. package/dist/mod.d.cts +15 -16
  70. package/dist/mod.d.ts +16 -17
  71. package/dist/mod.js +14 -16
  72. package/dist/nodeinfo/client.test.js +8 -10
  73. package/dist/nodeinfo/handler.test.js +24 -25
  74. package/dist/nodeinfo/mod.cjs +2 -3
  75. package/dist/nodeinfo/mod.d.cts +2 -4
  76. package/dist/nodeinfo/mod.d.ts +2 -4
  77. package/dist/nodeinfo/mod.js +2 -3
  78. package/dist/nodeinfo/types.test.js +7 -9
  79. package/dist/{owner-BN_tO3cY.d.cts → owner-B4HbyP8s.d.cts} +3 -3
  80. package/dist/{owner-COcyel6J.js → owner-CSktF-2s.js} +3 -2
  81. package/dist/{owner-hd9lvQcP.d.ts → owner-kQRGVXG1.d.ts} +3 -3
  82. package/dist/{proof-D6pbnNx2.js → proof-BT65yR1Q.js} +5 -4
  83. package/dist/{proof-Cpk853lc.js → proof-Cs5Mcy_U.js} +2 -2
  84. package/dist/{proof-CMJcrQoM.cjs → proof-feEDocLH.cjs} +17 -16
  85. package/dist/{send-C7A7_big.js → send-vPZ03xUr.js} +2 -2
  86. package/dist/sig/http.test.js +12 -13
  87. package/dist/sig/key.test.js +9 -11
  88. package/dist/sig/ld.test.js +8 -10
  89. package/dist/sig/mod.cjs +9 -11
  90. package/dist/sig/mod.d.cts +5 -7
  91. package/dist/sig/mod.d.ts +5 -7
  92. package/dist/sig/mod.js +5 -7
  93. package/dist/sig/owner.test.js +10 -12
  94. package/dist/sig/proof.test.js +13 -14
  95. package/dist/testing/docloader.test.js +6 -8
  96. package/dist/testing/mod.d.ts +1 -86
  97. package/dist/testing/mod.js +2 -3
  98. package/dist/{testing-e8Kpb1uV.js → testing-u2cUPQLp.js} +1 -2
  99. package/dist/{types-Db4ukgX8.js → types-BtUjyi5y.js} +1 -1
  100. package/dist/{types-LjTL4QMx.cjs → types-CWgzGaqk.cjs} +3 -3
  101. package/dist/{runtime/authdocloader.test.js → utils/docloader.test.js} +14 -15
  102. package/dist/utils/kv-cache.test.js +209 -0
  103. package/dist/utils/mod.cjs +12 -0
  104. package/dist/utils/mod.d.cts +5 -0
  105. package/dist/utils/mod.d.ts +7 -0
  106. package/dist/utils/mod.js +11 -0
  107. package/dist/vocab/actor.test.js +8 -10
  108. package/dist/vocab/lookup.test.js +7 -9
  109. package/dist/vocab/mod.cjs +3 -4
  110. package/dist/vocab/mod.d.cts +3 -5
  111. package/dist/vocab/mod.d.ts +3 -5
  112. package/dist/vocab/mod.js +3 -4
  113. package/dist/vocab/type.test.js +2 -3
  114. package/dist/vocab/vocab.test.js +9 -10
  115. package/dist/{vocab-BI0Ak5lL.d.ts → vocab-BCWe1Ih5.d.ts} +2 -21
  116. package/dist/{vocab-Dw1-yVGg.d.cts → vocab-CeDBzu-f.d.cts} +2 -21
  117. package/dist/{vocab-DLHpZwOW.cjs → vocab-NvDV-exu.cjs} +5 -5
  118. package/dist/{vocab-CJHF7Q71.js → vocab-wADjlIH4.js} +3 -3
  119. package/dist/webfinger/handler.test.js +24 -25
  120. package/dist/webfinger/lookup.test.js +7 -9
  121. package/dist/webfinger/mod.cjs +2 -3
  122. package/dist/webfinger/mod.d.cts +1 -3
  123. package/dist/webfinger/mod.d.ts +1 -3
  124. package/dist/webfinger/mod.js +2 -3
  125. package/dist/x/cfworkers.d.cts +2 -2
  126. package/dist/x/cfworkers.d.ts +2 -2
  127. package/dist/x/cfworkers.test.js +6 -8
  128. package/dist/x/hono.d.cts +10 -11
  129. package/dist/x/hono.d.ts +10 -11
  130. package/dist/x/sveltekit.d.cts +10 -11
  131. package/dist/x/sveltekit.d.ts +10 -11
  132. package/package.json +15 -14
  133. package/dist/assert_throws-BOO88avQ.js +0 -39
  134. package/dist/authdocloader-CEqdZdT7.cjs +0 -58
  135. package/dist/authdocloader-CZsCIRLV.js +0 -52
  136. package/dist/docloader-Buh0Ah9G.cjs +0 -4861
  137. package/dist/docloader-CxWcuWqQ.d.ts +0 -221
  138. package/dist/docloader-D-MrRyHl.d.cts +0 -219
  139. package/dist/docloader-DOmINJ1U.js +0 -4795
  140. package/dist/key-B2cp5-JF.js +0 -10
  141. package/dist/key-BR1W25rw.cjs +0 -290
  142. package/dist/key-BnjofJ4e.js +0 -260
  143. package/dist/key-DhflzsBJ.cjs +0 -10
  144. package/dist/key-WES6wszI.js +0 -10
  145. package/dist/lookup-CDOxr8vw.cjs +0 -137
  146. package/dist/lookup-D8tCnUj2.js +0 -131
  147. package/dist/lookup-VSVPBU3J.js +0 -331
  148. package/dist/middleware-9KSLASn7.js +0 -17
  149. package/dist/middleware-CH0PNtaj.cjs +0 -17
  150. package/dist/middleware-CrzCnpdt.js +0 -26
  151. package/dist/mod-CerN_Sza.d.ts +0 -104
  152. package/dist/mod-Cj1tHXBR.d.cts +0 -102
  153. package/dist/runtime/docloader.test.js +0 -522
  154. package/dist/runtime/key.test.d.ts +0 -3
  155. package/dist/runtime/key.test.js +0 -103
  156. package/dist/runtime/langstr.test.d.ts +0 -3
  157. package/dist/runtime/langstr.test.js +0 -39
  158. package/dist/runtime/link.test.d.ts +0 -3
  159. package/dist/runtime/link.test.js +0 -61
  160. package/dist/runtime/mod.cjs +0 -25
  161. package/dist/runtime/mod.d.cts +0 -6
  162. package/dist/runtime/mod.d.ts +0 -8
  163. package/dist/runtime/mod.js +0 -13
  164. package/dist/runtime/multibase/multibase.test.d.ts +0 -3
  165. package/dist/runtime/multibase/multibase.test.js +0 -358
  166. package/dist/runtime/url.test.d.ts +0 -3
  167. package/dist/runtime/url.test.js +0 -45
  168. /package/dist/{assert_not_equals-f3m3epl3.js → assert_not_equals-C80BG-_5.js} +0 -0
  169. /package/dist/{collection-CcnIw1qY.js → collection-BzWsN9pB.js} +0 -0
  170. /package/dist/{denokv-Bv33Xxea.js → denokv-CCssOzMJ.js} +0 -0
  171. /package/dist/{federation-H2_En3j5.cjs → federation-CRpdnOMS.cjs} +0 -0
  172. /package/dist/{federation-D1U8YY9t.js → federation-jcR8-ZxP.js} +0 -0
  173. /package/dist/{kv-C7sopW2E.d.ts → kv-BKNZ-Tb-.d.ts} +0 -0
  174. /package/dist/{kv-63Cil1MD.d.cts → kv-Bxr0Q87_.d.cts} +0 -0
  175. /package/dist/{mod-FZd39qVq.d.cts → mod-B-hUPT2N.d.cts} +0 -0
  176. /package/dist/{mod-1pDWKvUL.d.ts → mod-CVgZgliM.d.ts} +0 -0
  177. /package/dist/{mod-g0xFzAP9.d.ts → mod-xIj-IT58.d.ts} +0 -0
  178. /package/dist/{mq-CRGm1e_F.d.ts → mq-CUKlBw08.d.ts} +0 -0
  179. /package/dist/{mq-B7R1Q-M5.d.cts → mq-DcJPkXD5.d.cts} +0 -0
  180. /package/dist/{negotiation-5NPJL6zp.js → negotiation-C4nFufNk.js} +0 -0
  181. /package/dist/{nodeinfo-DfycQ8Wf.js → nodeinfo-BnthBobC.js} +0 -0
  182. /package/dist/{nodeinfo-Co9lJrWl.cjs → nodeinfo-CdN0rEnZ.cjs} +0 -0
  183. /package/dist/{retry-D4GJ670a.js → retry-CfF8Gn4d.js} +0 -0
  184. /package/dist/{runtime-DPYEDf-o.js → sig-C34-oHBl.js} +0 -0
  185. /package/dist/{runtime-C58AJWSv.cjs → sig-YYj5tCnr.cjs} +0 -0
  186. /package/dist/{std__assert-X-_kMxKM.js → std__assert-DWivtrGR.js} +0 -0
  187. /package/dist/{types-BSuWJsOm.js → types-C2XVl6gj.js} +0 -0
  188. /package/dist/{runtime → utils}/docloader.test.d.ts +0 -0
  189. /package/dist/{runtime/authdocloader.test.d.ts → utils/kv-cache.test.d.ts} +0 -0
  190. /package/dist/{sig-Cj3tk-ig.js → utils-D-Va7aXC.js} +0 -0
  191. /package/dist/{sig-ByHXzqUi.cjs → utils-DyRU1gdZ.cjs} +0 -0
  192. /package/dist/{webfinger-De_bU0iE.js → webfinger-C72Y8lrh.js} +0 -0
  193. /package/dist/{webfinger-BjOEdFPs.cjs → webfinger-vAtLmxOF.cjs} +0 -0
@@ -0,0 +1,261 @@
1
+
2
+ import { Temporal } from "@js-temporal/polyfill";
3
+ import { URLPattern } from "urlpattern-polyfill";
4
+
5
+ import { getLogger } from "@logtape/logtape";
6
+ import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
7
+ import { UrlError, getUserAgent, validatePublicUrl } from "@fedify/vocab-runtime";
8
+
9
+ //#region deno.json
10
+ var name = "@fedify/fedify";
11
+ var version = "2.0.0-dev.1736+ea8e853e";
12
+ var license = "MIT";
13
+ var exports = {
14
+ ".": "./src/mod.ts",
15
+ "./compat": "./src/compat/mod.ts",
16
+ "./federation": "./src/federation/mod.ts",
17
+ "./nodeinfo": "./src/nodeinfo/mod.ts",
18
+ "./sig": "./src/sig/mod.ts",
19
+ "./testing": "./src/testing/mod.ts",
20
+ "./vocab": "./src/vocab/mod.ts",
21
+ "./utils": "./src/utils/mod.ts",
22
+ "./webfinger": "./src/webfinger/mod.ts",
23
+ "./x/cfworkers": "./src/x/cfworkers.ts",
24
+ "./x/denokv": "./src/x/denokv.ts",
25
+ "./x/fresh": "./src/x/fresh.ts",
26
+ "./x/hono": "./src/x/hono.ts",
27
+ "./x/sveltekit": "./src/x/sveltekit.ts"
28
+ };
29
+ var imports = {
30
+ "@cfworker/json-schema": "npm:@cfworker/json-schema@^4.1.1",
31
+ "@multiformats/base-x": "npm:@multiformats/base-x@^4.0.1",
32
+ "@opentelemetry/api": "npm:@opentelemetry/api@^1.9.0",
33
+ "@opentelemetry/semantic-conventions": "npm:@opentelemetry/semantic-conventions@^1.27.0",
34
+ "@std/assert": "jsr:@std/assert@^0.226.0",
35
+ "@std/testing": "jsr:@std/testing@^0.224.0",
36
+ "@std/url": "jsr:@std/url@^0.225.1",
37
+ "asn1js": "npm:asn1js@^3.0.5",
38
+ "byte-encodings": "npm:byte-encodings@^1.0.11",
39
+ "es-toolkit": "jsr:@es-toolkit/es-toolkit@^1.39.5",
40
+ "fast-check": "npm:fast-check@^3.22.0",
41
+ "fetch-mock": "npm:fetch-mock@^12.5.2",
42
+ "json-canon": "npm:json-canon@^1.0.1",
43
+ "jsonld": "npm:jsonld@^8.3.2",
44
+ "multicodec": "npm:multicodec@^3.2.1",
45
+ "pkijs": "npm:pkijs@^3.2.4",
46
+ "structured-field-values": "npm:structured-field-values@^2.0.4",
47
+ "uri-template-router": "npm:uri-template-router@^0.0.17",
48
+ "url-template": "npm:url-template@^3.1.1"
49
+ };
50
+ var include = ["src/vocab/vocab.ts"];
51
+ var exclude = [
52
+ ".test-report.xml",
53
+ "apidoc/",
54
+ "dist/",
55
+ "node_modules/",
56
+ "npm/",
57
+ "pnpm-lock.yaml",
58
+ "src/cfworkers/dist/",
59
+ "src/cfworkers/fixtures/",
60
+ "src/cfworkers/imports.ts",
61
+ "src/cfworkers/README.md",
62
+ "src/cfworkers/server.ts",
63
+ "src/cfworkers/server.js",
64
+ "src/cfworkers/server.js.map",
65
+ "src/codegen/schema.yaml",
66
+ "src/vocab/*.yaml",
67
+ "!src/vocab/vocab.ts"
68
+ ];
69
+ var tasks = {
70
+ "codegen": "GENPATH=vocab-$(deno eval \"console.log(crypto.randomUUID());\").ts && deno run --allow-read --allow-write --check src/codegen/main.ts src/vocab/ src/vocab/$GENPATH && deno fmt src/vocab/$GENPATH && mv src/vocab/$GENPATH src/vocab/vocab.ts && deno cache src/vocab/vocab.ts && deno check src/vocab/vocab.ts",
71
+ "cache": {
72
+ "command": "deno cache src/mod.ts",
73
+ "dependencies": ["codegen"]
74
+ },
75
+ "check": {
76
+ "command": "deno fmt --check && deno lint && deno check src/**/*.ts",
77
+ "dependencies": ["codegen"]
78
+ },
79
+ "test": {
80
+ "command": "deno test --check --doc --allow-read --allow-write --allow-env --unstable-kv --trace-leaks --parallel",
81
+ "dependencies": ["codegen"]
82
+ },
83
+ "coverage": "deno task test --clean --coverage && deno coverage --html coverage",
84
+ "bench": {
85
+ "command": "deno bench --allow-read --allow-write --allow-net --allow-env --allow-run --unstable-kv",
86
+ "dependencies": ["codegen"]
87
+ },
88
+ "apidoc": {
89
+ "command": "deno doc --html --name=Fedify --output=apidoc/ src/mod.ts",
90
+ "dependencies": ["codegen"]
91
+ },
92
+ "publish": {
93
+ "command": "deno publish",
94
+ "dependencies": ["codegen"]
95
+ },
96
+ "pnpm:install": "pnpm install --silent",
97
+ "pnpm:build": {
98
+ "command": "pnpm exec tsdown",
99
+ "dependencies": [
100
+ "codegen",
101
+ "pnpm:install",
102
+ "pnpm:build-vocab"
103
+ ]
104
+ },
105
+ "pnpm:build-vocab-runtime": { "command": "cd ../vocab-runtime && pnpm build" },
106
+ "pnpm:build-vocab": { "dependencies": ["pnpm:build-vocab-runtime"] },
107
+ "test:node": {
108
+ "command": "cd dist/ && node --test",
109
+ "dependencies": ["pnpm:build"]
110
+ },
111
+ "test:bun": {
112
+ "command": "cd dist/ && bun test --timeout 60000",
113
+ "dependencies": ["pnpm:build-vocab", "pnpm:build"]
114
+ },
115
+ "test:cfworkers": {
116
+ "command": "pnpm exec wrangler deploy --dry-run --outdir src/cfworkers && node --import=tsx src/cfworkers/client.ts",
117
+ "dependencies": ["pnpm:build-vocab", "pnpm:build"]
118
+ },
119
+ "test-all": { "dependencies": [
120
+ "check",
121
+ "test",
122
+ "test:node",
123
+ "test:bun",
124
+ "test:cfworkers"
125
+ ] }
126
+ };
127
+ var deno_default = {
128
+ name,
129
+ version,
130
+ license,
131
+ exports,
132
+ imports,
133
+ include,
134
+ exclude,
135
+ tasks
136
+ };
137
+
138
+ //#endregion
139
+ //#region src/webfinger/lookup.ts
140
+ const logger = getLogger([
141
+ "fedify",
142
+ "webfinger",
143
+ "lookup"
144
+ ]);
145
+ const DEFAULT_MAX_REDIRECTION = 5;
146
+ /**
147
+ * Looks up a WebFinger resource.
148
+ * @param resource The resource URL to look up.
149
+ * @param options Extra options for looking up the resource.
150
+ * @returns The resource descriptor, or `null` if not found.
151
+ * @since 0.2.0
152
+ */
153
+ async function lookupWebFinger(resource, options = {}) {
154
+ const tracerProvider = options.tracerProvider ?? trace.getTracerProvider();
155
+ const tracer = tracerProvider.getTracer(deno_default.name, deno_default.version);
156
+ return await tracer.startActiveSpan("webfinger.lookup", {
157
+ kind: SpanKind.CLIENT,
158
+ attributes: {
159
+ "webfinger.resource": resource.toString(),
160
+ "webfinger.resource.scheme": typeof resource === "string" ? resource.replace(/:.*$/, "") : resource.protocol.replace(/:$/, "")
161
+ }
162
+ }, async (span) => {
163
+ try {
164
+ const result = await lookupWebFingerInternal(resource, options);
165
+ span.setStatus({ code: result === null ? SpanStatusCode.ERROR : SpanStatusCode.OK });
166
+ return result;
167
+ } catch (error) {
168
+ span.setStatus({
169
+ code: SpanStatusCode.ERROR,
170
+ message: String(error)
171
+ });
172
+ throw error;
173
+ } finally {
174
+ span.end();
175
+ }
176
+ });
177
+ }
178
+ async function lookupWebFingerInternal(resource, options = {}) {
179
+ if (typeof resource === "string") resource = new URL(resource);
180
+ let protocol = "https:";
181
+ let server;
182
+ if (resource.protocol === "acct:") {
183
+ const atPos = resource.pathname.lastIndexOf("@");
184
+ if (atPos < 0) return null;
185
+ server = resource.pathname.substring(atPos + 1);
186
+ if (server === "") return null;
187
+ } else {
188
+ protocol = resource.protocol;
189
+ server = resource.host;
190
+ }
191
+ let url = new URL(`${protocol}//${server}/.well-known/webfinger`);
192
+ url.searchParams.set("resource", resource.href);
193
+ let redirected = 0;
194
+ while (true) {
195
+ logger.debug("Fetching WebFinger resource descriptor from {url}...", { url: url.href });
196
+ let response;
197
+ if (options.allowPrivateAddress !== true) try {
198
+ await validatePublicUrl(url.href);
199
+ } catch (e) {
200
+ if (e instanceof UrlError) {
201
+ logger.error("Invalid URL for WebFinger resource descriptor: {error}", { error: e });
202
+ return null;
203
+ }
204
+ throw e;
205
+ }
206
+ try {
207
+ response = await fetch(url, {
208
+ headers: {
209
+ Accept: "application/jrd+json",
210
+ "User-Agent": typeof options.userAgent === "string" ? options.userAgent : getUserAgent(options.userAgent)
211
+ },
212
+ redirect: "manual",
213
+ signal: options.signal
214
+ });
215
+ } catch (error) {
216
+ logger.debug("Failed to fetch WebFinger resource descriptor: {error}", {
217
+ url: url.href,
218
+ error
219
+ });
220
+ return null;
221
+ }
222
+ if (response.status >= 300 && response.status < 400 && response.headers.has("Location")) {
223
+ redirected++;
224
+ const maxRedirection = options.maxRedirection ?? DEFAULT_MAX_REDIRECTION;
225
+ if (redirected >= maxRedirection) {
226
+ logger.error("Too many redirections ({redirections}) while fetching WebFinger resource descriptor.", { redirections: redirected });
227
+ return null;
228
+ }
229
+ const redirectedUrl = new URL(response.headers.get("Location"), response.url == null || response.url === "" ? url : response.url);
230
+ if (redirectedUrl.protocol !== url.protocol) {
231
+ logger.error("Redirected to a different protocol ({protocol} to {redirectedProtocol}) while fetching WebFinger resource descriptor.", {
232
+ protocol: url.protocol,
233
+ redirectedProtocol: redirectedUrl.protocol
234
+ });
235
+ return null;
236
+ }
237
+ url = redirectedUrl;
238
+ continue;
239
+ }
240
+ if (!response.ok) {
241
+ logger.debug("Failed to fetch WebFinger resource descriptor: {status} {statusText}.", {
242
+ url: url.href,
243
+ status: response.status,
244
+ statusText: response.statusText
245
+ });
246
+ return null;
247
+ }
248
+ try {
249
+ return await response.json();
250
+ } catch (e) {
251
+ if (e instanceof SyntaxError) {
252
+ logger.debug("Failed to parse WebFinger resource descriptor as JSON: {error}", { error: e });
253
+ return null;
254
+ }
255
+ throw e;
256
+ }
257
+ }
258
+ }
259
+
260
+ //#endregion
261
+ export { deno_default, lookupWebFinger };
@@ -3,23 +3,24 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { Activity, Collection, CollectionPage, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage, deno_default, getDocumentLoader, getTypeId, kvCache, lookupWebFinger } from "./type-D_8QzkEn.js";
7
- import { getNodeInfo } from "./client-BfzV3u96.js";
8
- import { RouterError, lookupObject, traverseCollection } from "./lookup-VSVPBU3J.js";
9
- import { nodeInfoToJson } from "./types-BSuWJsOm.js";
10
- import { exportJwk, importJwk, validateCryptoKey } from "./key-CIIkeide.js";
11
- import { verifyRequest } from "./http-Danw_xTY.js";
12
- import { getAuthenticatedDocumentLoader } from "./authdocloader-DevmXsTo.js";
13
- import { detachSignature, hasSignature, signJsonLd, verifyJsonLd } from "./ld-C7KL1MK2.js";
14
- import { doesActorOwnKey, getKeyOwner } from "./owner-COcyel6J.js";
15
- import { signObject, verifyObject } from "./proof-Cpk853lc.js";
16
- import { routeActivity } from "./inbox-Blp5F74G.js";
17
- import { FederationBuilderImpl } from "./builder-CGF1vv7G.js";
18
- import { buildCollectionSynchronizationHeader } from "./collection-CcnIw1qY.js";
19
- import { KvKeyCache } from "./keycache-Covv8lvK.js";
20
- import { acceptsJsonLd } from "./negotiation-5NPJL6zp.js";
21
- import { createExponentialBackoffPolicy } from "./retry-D4GJ670a.js";
22
- import { extractInboxes, sendActivity } from "./send-C7A7_big.js";
6
+ import { Activity, Collection, CollectionPage, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage, RouterError, deno_default, getTypeId, lookupObject, lookupWebFinger, traverseCollection } from "./lookup-NXjB7xUj.js";
7
+ import { getNodeInfo } from "./client-pY7-3icS.js";
8
+ import { nodeInfoToJson } from "./types-C2XVl6gj.js";
9
+ import { exportJwk, importJwk, validateCryptoKey } from "./key-CgKiloJr.js";
10
+ import { verifyRequest } from "./http-B9npZ3Md.js";
11
+ import { detachSignature, hasSignature, signJsonLd, verifyJsonLd } from "./ld-B7TO6JH2.js";
12
+ import { doesActorOwnKey, getKeyOwner } from "./owner-CSktF-2s.js";
13
+ import { signObject, verifyObject } from "./proof-Cs5Mcy_U.js";
14
+ import { getAuthenticatedDocumentLoader } from "./docloader-DtYIz2Pb.js";
15
+ import { kvCache } from "./kv-cache-z0lgwFi_.js";
16
+ import { routeActivity } from "./inbox-CY8fblhz.js";
17
+ import { FederationBuilderImpl } from "./builder-C4gbKvM5.js";
18
+ import { buildCollectionSynchronizationHeader } from "./collection-BzWsN9pB.js";
19
+ import { KvKeyCache } from "./keycache-B6O-bhMs.js";
20
+ import { acceptsJsonLd } from "./negotiation-C4nFufNk.js";
21
+ import { createExponentialBackoffPolicy } from "./retry-CfF8Gn4d.js";
22
+ import { extractInboxes, sendActivity } from "./send-vPZ03xUr.js";
23
+ import { getDocumentLoader } from "@fedify/vocab-runtime";
23
24
  import { getLogger, withContext } from "@logtape/logtape";
24
25
  import { SpanKind, SpanStatusCode, context, propagation, trace } from "@opentelemetry/api";
25
26
  import { ATTR_HTTP_REQUEST_HEADER, ATTR_HTTP_REQUEST_METHOD, ATTR_HTTP_RESPONSE_HEADER, ATTR_HTTP_RESPONSE_STATUS_CODE, ATTR_URL_FULL } from "@opentelemetry/semantic-conventions";
@@ -4,21 +4,20 @@
4
4
 
5
5
  const require_chunk = require('./chunk-DqRYRqnO.cjs');
6
6
  const require_transformers = require('./transformers-CoBS-oFG.cjs');
7
- const require_docloader = require('./docloader-Buh0Ah9G.cjs');
8
- const require_actor = require('./actor-Bn2RCpws.cjs');
9
- const require_lookup = require('./lookup-CDOxr8vw.cjs');
10
- const require_key = require('./key-BR1W25rw.cjs');
11
- const require_http = require('./http-BmbMWfmh.cjs');
12
- const require_proof = require('./proof-CMJcrQoM.cjs');
13
- const require_types = require('./types-LjTL4QMx.cjs');
14
- const require_authdocloader = require('./authdocloader-CEqdZdT7.cjs');
15
- const require_vocab = require('./vocab-DLHpZwOW.cjs');
7
+ const require_lookup = require('./lookup-Cc3ZAAis.cjs');
8
+ const require_actor = require('./actor-C3oFUgfc.cjs');
9
+ const require_http = require('./http-ngJvMHez.cjs');
10
+ const require_proof = require('./proof-feEDocLH.cjs');
11
+ const require_types = require('./types-CWgzGaqk.cjs');
12
+ const require_kv_cache = require('./kv-cache-BrjWZnGU.cjs');
13
+ const require_vocab = require('./vocab-NvDV-exu.cjs');
16
14
  const __logtape_logtape = require_chunk.__toESM(require("@logtape/logtape"));
17
15
  const __opentelemetry_api = require_chunk.__toESM(require("@opentelemetry/api"));
18
- const byte_encodings_hex = require_chunk.__toESM(require("byte-encodings/hex"));
16
+ const __fedify_vocab_runtime = require_chunk.__toESM(require("@fedify/vocab-runtime"));
19
17
  const es_toolkit = require_chunk.__toESM(require("es-toolkit"));
20
18
  const uri_template_router = require_chunk.__toESM(require("uri-template-router"));
21
19
  const url_template = require_chunk.__toESM(require("url-template"));
20
+ const byte_encodings_hex = require_chunk.__toESM(require("byte-encodings/hex"));
22
21
  const __opentelemetry_semantic_conventions = require_chunk.__toESM(require("@opentelemetry/semantic-conventions"));
23
22
  const node_url = require_chunk.__toESM(require("node:url"));
24
23
 
@@ -143,7 +142,7 @@ async function routeActivity({ context: ctx, json, activity, recipient, inboxLis
143
142
  return "enqueued";
144
143
  }
145
144
  tracerProvider = tracerProvider ?? __opentelemetry_api.trace.getTracerProvider();
146
- const tracer = tracerProvider.getTracer(require_docloader.deno_default.name, require_docloader.deno_default.version);
145
+ const tracer = tracerProvider.getTracer(require_lookup.deno_default.name, require_lookup.deno_default.version);
147
146
  return await tracer.startActiveSpan("activitypub.dispatch_inbox_listener", { kind: __opentelemetry_api.SpanKind.INTERNAL }, async (span$1) => {
148
147
  const dispatched = inboxListeners?.dispatchWithClass(activity);
149
148
  if (dispatched == null) {
@@ -340,7 +339,7 @@ var FederationBuilderImpl = class {
340
339
  this.collectionTypeIds = {};
341
340
  }
342
341
  async build(options) {
343
- const { FederationImpl: FederationImpl$1 } = await Promise.resolve().then(() => require("./middleware-CH0PNtaj.cjs"));
342
+ const { FederationImpl: FederationImpl$1 } = await Promise.resolve().then(() => require("./middleware-glwCut0b.cjs"));
344
343
  const f = new FederationImpl$1(options);
345
344
  const trailingSlashInsensitiveValue = f.router.trailingSlashInsensitive;
346
345
  f.router = this.router.clone();
@@ -366,7 +365,7 @@ var FederationBuilderImpl = class {
366
365
  return f;
367
366
  }
368
367
  _getTracer() {
369
- return __opentelemetry_api.trace.getTracer(require_docloader.deno_default.name, require_docloader.deno_default.version);
368
+ return __opentelemetry_api.trace.getTracer(require_lookup.deno_default.name, require_lookup.deno_default.version);
370
369
  }
371
370
  setActorDispatcher(path, dispatcher) {
372
371
  if (this.router.has("actor")) throw new RouterError("Actor dispatcher already set.");
@@ -1113,7 +1112,7 @@ async function handleObject(request, { values, context: context$2, objectDispatc
1113
1112
  async function handleCollection(request, { name, identifier, uriGetter, filter, filterPredicate, context: context$2, collectionCallbacks, tracerProvider, onUnauthorized, onNotFound }) {
1114
1113
  const spanName = name.trim().replace(/\s+/g, "_");
1115
1114
  tracerProvider = tracerProvider ?? __opentelemetry_api.trace.getTracerProvider();
1116
- const tracer = tracerProvider.getTracer(require_docloader.deno_default.name, require_docloader.deno_default.version);
1115
+ const tracer = tracerProvider.getTracer(require_lookup.deno_default.name, require_lookup.deno_default.version);
1117
1116
  const url = new URL(request.url);
1118
1117
  const cursor = url.searchParams.get("cursor");
1119
1118
  if (collectionCallbacks == null) return await onNotFound(request);
@@ -1290,7 +1289,7 @@ function filterCollectionItems(items, collectionName, filterPredicate) {
1290
1289
  */
1291
1290
  async function handleInbox(request, options) {
1292
1291
  const tracerProvider = options.tracerProvider ?? __opentelemetry_api.trace.getTracerProvider();
1293
- const tracer = tracerProvider.getTracer(require_docloader.deno_default.name, require_docloader.deno_default.version);
1292
+ const tracer = tracerProvider.getTracer(require_lookup.deno_default.name, require_lookup.deno_default.version);
1294
1293
  return await tracer.startActiveSpan("activitypub.inbox", {
1295
1294
  kind: options.queue == null ? __opentelemetry_api.SpanKind.SERVER : __opentelemetry_api.SpanKind.PRODUCER,
1296
1295
  attributes: { "activitypub.shared_inbox": options.recipient == null }
@@ -1642,7 +1641,7 @@ var CustomCollectionHandler = class {
1642
1641
  this.CollectionPage = CollectionPage$1;
1643
1642
  this.filterPredicate = filterPredicate;
1644
1643
  this.name = this.name.trim().replace(/\s+/g, "_");
1645
- this.#tracer = this.tracerProvider.getTracer(require_docloader.deno_default.name, require_docloader.deno_default.version);
1644
+ this.#tracer = this.tracerProvider.getTracer(require_lookup.deno_default.name, require_lookup.deno_default.version);
1646
1645
  this.#id = new URL(this.context.url);
1647
1646
  this.#dispatcher = callbacks.dispatcher.bind(callbacks);
1648
1647
  }
@@ -2233,7 +2232,7 @@ function extractInboxes({ recipients, preferSharedInbox, excludeBaseUris }) {
2233
2232
  */
2234
2233
  function sendActivity(options) {
2235
2234
  const tracerProvider = options.tracerProvider ?? __opentelemetry_api.trace.getTracerProvider();
2236
- const tracer = tracerProvider.getTracer(require_docloader.deno_default.name, require_docloader.deno_default.version);
2235
+ const tracer = tracerProvider.getTracer(require_lookup.deno_default.name, require_lookup.deno_default.version);
2237
2236
  return tracer.startActiveSpan("activitypub.send_activity", {
2238
2237
  kind: __opentelemetry_api.SpanKind.CLIENT,
2239
2238
  attributes: { "activitypub.shared_inbox": options.sharedInbox ?? false }
@@ -2404,8 +2403,8 @@ var FederationImpl = class extends FederationBuilderImpl {
2404
2403
  const { allowPrivateAddress, userAgent } = options;
2405
2404
  this.allowPrivateAddress = allowPrivateAddress ?? false;
2406
2405
  this.documentLoaderFactory = options.documentLoaderFactory ?? ((opts) => {
2407
- return require_docloader.kvCache({
2408
- loader: require_docloader.getDocumentLoader({
2406
+ return require_kv_cache.kvCache({
2407
+ loader: (0, __fedify_vocab_runtime.getDocumentLoader)({
2409
2408
  allowPrivateAddress: opts?.allowPrivateAddress ?? allowPrivateAddress,
2410
2409
  userAgent: opts?.userAgent ?? userAgent
2411
2410
  }),
@@ -2414,7 +2413,7 @@ var FederationImpl = class extends FederationBuilderImpl {
2414
2413
  });
2415
2414
  });
2416
2415
  this.contextLoaderFactory = options.contextLoaderFactory ?? this.documentLoaderFactory;
2417
- this.authenticatedDocumentLoaderFactory = options.authenticatedDocumentLoaderFactory ?? ((identity) => require_authdocloader.getAuthenticatedDocumentLoader(identity, {
2416
+ this.authenticatedDocumentLoaderFactory = options.authenticatedDocumentLoaderFactory ?? ((identity) => require_kv_cache.getAuthenticatedDocumentLoader(identity, {
2418
2417
  allowPrivateAddress,
2419
2418
  userAgent,
2420
2419
  specDeterminer: new KvSpecDeterminer(this.kv, this.kvPrefixes.httpMessageSignaturesSpec, options.firstKnock),
@@ -2435,7 +2434,7 @@ var FederationImpl = class extends FederationBuilderImpl {
2435
2434
  this.router.add("/.well-known/nodeinfo", "nodeInfoJrd");
2436
2435
  }
2437
2436
  _getTracer() {
2438
- return this.tracerProvider.getTracer(require_docloader.deno_default.name, require_docloader.deno_default.version);
2437
+ return this.tracerProvider.getTracer(require_lookup.deno_default.name, require_lookup.deno_default.version);
2439
2438
  }
2440
2439
  async _startQueueInternal(ctxData, signal, queue) {
2441
2440
  if (this.inboxQueue == null && this.outboxQueue == null) return;
@@ -2533,7 +2532,7 @@ var FederationImpl = class extends FederationBuilderImpl {
2533
2532
  });
2534
2533
  const keys = await Promise.all(message.keys.map(async ({ keyId, privateKey }) => ({
2535
2534
  keyId: new URL(keyId),
2536
- privateKey: await require_key.importJwk(privateKey, "private")
2535
+ privateKey: await require_http.importJwk(privateKey, "private")
2537
2536
  })));
2538
2537
  const activity = await require_actor.Activity.fromJsonLd(message.activity, {
2539
2538
  contextLoader: this.contextLoaderFactory({
@@ -2574,7 +2573,7 @@ var FederationImpl = class extends FederationBuilderImpl {
2574
2573
  for (const { keyId, privateKey } of message.keys) {
2575
2574
  const pair = {
2576
2575
  keyId: new URL(keyId),
2577
- privateKey: await require_key.importJwk(privateKey, "private")
2576
+ privateKey: await require_http.importJwk(privateKey, "private")
2578
2577
  };
2579
2578
  if (rsaKeyPair == null && pair.privateKey.algorithm.name === "RSASSA-PKCS1-v1_5") rsaKeyPair = pair;
2580
2579
  keys.push(pair);
@@ -2809,7 +2808,7 @@ var FederationImpl = class extends FederationBuilderImpl {
2809
2808
  let proofCreated = false;
2810
2809
  let rsaKey = null;
2811
2810
  for (const { keyId, privateKey } of keys) {
2812
- require_key.validateCryptoKey(privateKey, "private");
2811
+ require_http.validateCryptoKey(privateKey, "private");
2813
2812
  if (rsaKey == null && privateKey.algorithm.name === "RSASSA-PKCS1-v1_5") {
2814
2813
  rsaKey = {
2815
2814
  keyId,
@@ -2877,7 +2876,7 @@ var FederationImpl = class extends FederationBuilderImpl {
2877
2876
  });
2878
2877
  const keyJwkPairs = [];
2879
2878
  for (const { keyId, privateKey } of keys) {
2880
- const privateKeyJwk = await require_key.exportJwk(privateKey);
2879
+ const privateKeyJwk = await require_http.exportJwk(privateKey);
2881
2880
  keyJwkPairs.push({
2882
2881
  keyId: keyId.href,
2883
2882
  privateKey: privateKeyJwk
@@ -3577,7 +3576,7 @@ var ContextImpl = class ContextImpl {
3577
3576
  });
3578
3577
  }
3579
3578
  sendActivity(sender, recipients, activity, options = {}) {
3580
- const tracer = this.tracerProvider.getTracer(require_docloader.deno_default.name, require_docloader.deno_default.version);
3579
+ const tracer = this.tracerProvider.getTracer(require_lookup.deno_default.name, require_lookup.deno_default.version);
3581
3580
  return tracer.startActiveSpan(this.federation.outboxQueue == null || options.immediate ? "activitypub.outbox" : "activitypub.fanout", {
3582
3581
  kind: this.federation.outboxQueue == null || options.immediate ? __opentelemetry_api.SpanKind.CLIENT : __opentelemetry_api.SpanKind.PRODUCER,
3583
3582
  attributes: {
@@ -3634,7 +3633,7 @@ var ContextImpl = class ContextImpl {
3634
3633
  keys = sender;
3635
3634
  } else keys = [sender];
3636
3635
  if (keys.length < 1) throw new TypeError("The sender's keys must not be empty.");
3637
- for (const { privateKey } of keys) require_key.validateCryptoKey(privateKey, "private");
3636
+ for (const { privateKey } of keys) require_http.validateCryptoKey(privateKey, "private");
3638
3637
  const opts = { context: this };
3639
3638
  let expandedRecipients;
3640
3639
  if (Array.isArray(recipients)) expandedRecipients = recipients;
@@ -3675,7 +3674,7 @@ var ContextImpl = class ContextImpl {
3675
3674
  }
3676
3675
  const keyJwkPairs = await Promise.all(keys.map(async ({ keyId, privateKey }) => ({
3677
3676
  keyId: keyId.href,
3678
- privateKey: await require_key.exportJwk(privateKey)
3677
+ privateKey: await require_http.exportJwk(privateKey)
3679
3678
  })));
3680
3679
  const carrier = {};
3681
3680
  __opentelemetry_api.propagation.inject(__opentelemetry_api.context.active(), carrier);
@@ -3723,7 +3722,7 @@ var ContextImpl = class ContextImpl {
3723
3722
  }
3724
3723
  routeActivity(recipient, activity, options = {}) {
3725
3724
  const tracerProvider = this.tracerProvider ?? this.tracerProvider;
3726
- const tracer = tracerProvider.getTracer(require_docloader.deno_default.name, require_docloader.deno_default.version);
3725
+ const tracer = tracerProvider.getTracer(require_lookup.deno_default.name, require_lookup.deno_default.version);
3727
3726
  return tracer.startActiveSpan("activitypub.inbox", {
3728
3727
  kind: this.federation.inboxQueue == null || options.immediate ? __opentelemetry_api.SpanKind.INTERNAL : __opentelemetry_api.SpanKind.PRODUCER,
3729
3728
  attributes: { "activitypub.activity.type": require_actor.getTypeId(activity).href }
@@ -3941,7 +3940,7 @@ var InboxContextImpl = class InboxContextImpl extends ContextImpl {
3941
3940
  });
3942
3941
  }
3943
3942
  forwardActivity(forwarder, recipients, options) {
3944
- const tracer = this.tracerProvider.getTracer(require_docloader.deno_default.name, require_docloader.deno_default.version);
3943
+ const tracer = this.tracerProvider.getTracer(require_lookup.deno_default.name, require_lookup.deno_default.version);
3945
3944
  return tracer.startActiveSpan("activitypub.outbox", {
3946
3945
  kind: this.federation.outboxQueue == null || options?.immediate ? __opentelemetry_api.SpanKind.CLIENT : __opentelemetry_api.SpanKind.PRODUCER,
3947
3946
  attributes: { "activitypub.activity.type": this.activityType }
@@ -4042,7 +4041,7 @@ var InboxContextImpl = class InboxContextImpl extends ContextImpl {
4042
4041
  });
4043
4042
  const keyJwkPairs = [];
4044
4043
  for (const { keyId, privateKey } of keys) {
4045
- const privateKeyJwk = await require_key.exportJwk(privateKey);
4044
+ const privateKeyJwk = await require_http.exportJwk(privateKey);
4046
4045
  keyJwkPairs.push({
4047
4046
  keyId: keyId.href,
4048
4047
  privateKey: privateKeyJwk
@@ -0,0 +1,26 @@
1
+
2
+ import { Temporal } from "@js-temporal/polyfill";
3
+ import { URLPattern } from "urlpattern-polyfill";
4
+ globalThis.addEventListener = () => {};
5
+
6
+ import "./lookup-NXjB7xUj.js";
7
+ import { ContextImpl, FederationImpl, InboxContextImpl, KvSpecDeterminer, createFederation } from "./middleware-BMPvaTpX.js";
8
+ import "./client-pY7-3icS.js";
9
+ import "./types-C2XVl6gj.js";
10
+ import "./actor-BLq4KEGR.js";
11
+ import "./key-CgKiloJr.js";
12
+ import "./http-B9npZ3Md.js";
13
+ import "./ld-B7TO6JH2.js";
14
+ import "./owner-CSktF-2s.js";
15
+ import "./proof-Cs5Mcy_U.js";
16
+ import "./docloader-DtYIz2Pb.js";
17
+ import "./kv-cache-z0lgwFi_.js";
18
+ import "./inbox-CY8fblhz.js";
19
+ import "./builder-C4gbKvM5.js";
20
+ import "./collection-BzWsN9pB.js";
21
+ import "./keycache-B6O-bhMs.js";
22
+ import "./negotiation-C4nFufNk.js";
23
+ import "./retry-CfF8Gn4d.js";
24
+ import "./send-vPZ03xUr.js";
25
+
26
+ export { FederationImpl };
@@ -3,21 +3,20 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
 
5
5
  import { getDefaultActivityTransformers } from "./transformers-BFT6d7J5.js";
6
- import { deno_default, getDocumentLoader, kvCache } from "./docloader-DOmINJ1U.js";
7
- import { Activity, Collection, CollectionPage, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage, getTypeId } from "./actor-menZmmiI.js";
8
- import { lookupWebFinger } from "./lookup-D8tCnUj2.js";
9
- import { exportJwk, importJwk, validateCryptoKey } from "./key-BnjofJ4e.js";
10
- import { doubleKnock, verifyRequest } from "./http-gHyCrTrX.js";
11
- import { detachSignature, doesActorOwnKey, getKeyOwner, hasSignature, signJsonLd, signObject, verifyJsonLd, verifyObject } from "./proof-D6pbnNx2.js";
12
- import { getNodeInfo, nodeInfoToJson } from "./types-Db4ukgX8.js";
13
- import { getAuthenticatedDocumentLoader } from "./authdocloader-CZsCIRLV.js";
14
- import { lookupObject, traverseCollection } from "./vocab-CJHF7Q71.js";
6
+ import { deno_default, lookupWebFinger } from "./lookup-fEH6e7ZX.js";
7
+ import { Activity, Collection, CollectionPage, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage, getTypeId } from "./actor-btAA7QSA.js";
8
+ import { doubleKnock, exportJwk, importJwk, validateCryptoKey, verifyRequest } from "./http-D7qwMpca.js";
9
+ import { detachSignature, doesActorOwnKey, getKeyOwner, hasSignature, signJsonLd, signObject, verifyJsonLd, verifyObject } from "./proof-BT65yR1Q.js";
10
+ import { getNodeInfo, nodeInfoToJson } from "./types-BtUjyi5y.js";
11
+ import { getAuthenticatedDocumentLoader, kvCache } from "./kv-cache-DkW_lqUw.js";
12
+ import { lookupObject, traverseCollection } from "./vocab-wADjlIH4.js";
15
13
  import { getLogger, withContext } from "@logtape/logtape";
16
14
  import { SpanKind, SpanStatusCode, context, propagation, trace } from "@opentelemetry/api";
17
- import { encodeHex } from "byte-encodings/hex";
15
+ import { getDocumentLoader } from "@fedify/vocab-runtime";
18
16
  import { cloneDeep } from "es-toolkit";
19
17
  import { Router } from "uri-template-router";
20
18
  import { parseTemplate } from "url-template";
19
+ import { encodeHex } from "byte-encodings/hex";
21
20
  import { ATTR_HTTP_REQUEST_HEADER, ATTR_HTTP_REQUEST_METHOD, ATTR_HTTP_RESPONSE_HEADER, ATTR_HTTP_RESPONSE_STATUS_CODE, ATTR_URL_FULL } from "@opentelemetry/semantic-conventions";
22
21
  import { domainToASCII } from "node:url";
23
22
 
@@ -339,7 +338,7 @@ var FederationBuilderImpl = class {
339
338
  this.collectionTypeIds = {};
340
339
  }
341
340
  async build(options) {
342
- const { FederationImpl: FederationImpl$1 } = await import("./middleware-9KSLASn7.js");
341
+ const { FederationImpl: FederationImpl$1 } = await import("./middleware-Yk-MuxWc.js");
343
342
  const f = new FederationImpl$1(options);
344
343
  const trailingSlashInsensitiveValue = f.router.trailingSlashInsensitive;
345
344
  f.router = this.router.clone();
@@ -0,0 +1,15 @@
1
+
2
+ import { Temporal } from "@js-temporal/polyfill";
3
+ import { URLPattern } from "urlpattern-polyfill";
4
+
5
+ import "./transformers-BFT6d7J5.js";
6
+ import "./lookup-fEH6e7ZX.js";
7
+ import "./actor-btAA7QSA.js";
8
+ import { ContextImpl, FederationImpl, InboxContextImpl, KvSpecDeterminer, createFederation } from "./middleware-D_VyRsDx.js";
9
+ import "./http-D7qwMpca.js";
10
+ import "./proof-BT65yR1Q.js";
11
+ import "./types-BtUjyi5y.js";
12
+ import "./kv-cache-DkW_lqUw.js";
13
+ import "./vocab-wADjlIH4.js";
14
+
15
+ export { FederationImpl };
@@ -0,0 +1,15 @@
1
+
2
+ const { Temporal } = require("@js-temporal/polyfill");
3
+ const { URLPattern } = require("urlpattern-polyfill");
4
+
5
+ require('./transformers-CoBS-oFG.cjs');
6
+ require('./lookup-Cc3ZAAis.cjs');
7
+ require('./actor-C3oFUgfc.cjs');
8
+ const require_middleware = require('./middleware-C8w5YYxK.cjs');
9
+ require('./http-ngJvMHez.cjs');
10
+ require('./proof-feEDocLH.cjs');
11
+ require('./types-CWgzGaqk.cjs');
12
+ require('./kv-cache-BrjWZnGU.cjs');
13
+ require('./vocab-NvDV-exu.cjs');
14
+
15
+ exports.FederationImpl = require_middleware.FederationImpl;
@@ -1,9 +1,9 @@
1
1
  import { Temporal } from "@js-temporal/polyfill";
2
2
  import { URLPattern } from "urlpattern-polyfill";
3
- import { DocumentLoader } from "./docloader-CxWcuWqQ.js";
4
- import { CryptographicKey, DataIntegrityProof, Multikey, Object as Object$1 } from "./vocab-BI0Ak5lL.js";
5
- import { KeyCache } from "./http-D6Uj2x2y.js";
3
+ import { CryptographicKey, DataIntegrityProof, Multikey, Object as Object$1 } from "./vocab-BCWe1Ih5.js";
4
+ import { KeyCache } from "./http-BbO0ejuk.js";
6
5
  import { TracerProvider } from "@opentelemetry/api";
6
+ import { DocumentLoader } from "@fedify/vocab-runtime";
7
7
 
8
8
  //#region src/sig/ld.d.ts
9
9
  /**