@fedify/fedify 1.6.0-dev.814 → 1.6.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 (1249) hide show
  1. package/dist/_virtual/rolldown_runtime.js +15 -0
  2. package/dist/codegen/fs.js +23 -0
  3. package/dist/codegen/schema.js +87 -0
  4. package/dist/codegen/type.js +392 -0
  5. package/dist/compat/mod.d.ts +5 -0
  6. package/dist/compat/mod.js +7 -0
  7. package/dist/compat/transformers.d.ts +101 -0
  8. package/dist/compat/transformers.js +98 -0
  9. package/dist/compat/transformers.test.d.ts +2 -0
  10. package/dist/compat/transformers.test.js +69 -0
  11. package/dist/compat/types.d.ts +18 -0
  12. package/dist/deno.js +123 -0
  13. package/dist/federation/builder.d.ts +19 -0
  14. package/dist/federation/builder.js +491 -0
  15. package/dist/federation/builder.test.d.ts +2 -0
  16. package/dist/federation/builder.test.js +123 -0
  17. package/dist/federation/callback.d.ts +211 -0
  18. package/dist/federation/collection.d.ts +36 -0
  19. package/dist/federation/collection.js +48 -0
  20. package/dist/federation/collection.test.d.ts +2 -0
  21. package/dist/federation/collection.test.js +25 -0
  22. package/dist/federation/context.d.ts +724 -0
  23. package/dist/federation/federation.d.ts +689 -0
  24. package/dist/federation/handler.d.ts +44 -0
  25. package/dist/federation/handler.js +543 -0
  26. package/dist/federation/handler.test.d.ts +2 -0
  27. package/dist/federation/handler.test.js +1186 -0
  28. package/dist/federation/inbox.js +165 -0
  29. package/dist/federation/inbox.test.d.ts +2 -0
  30. package/dist/federation/inbox.test.js +88 -0
  31. package/dist/federation/keycache.js +47 -0
  32. package/dist/federation/keycache.test.d.ts +2 -0
  33. package/dist/federation/keycache.test.js +55 -0
  34. package/dist/federation/kv.d.ts +74 -0
  35. package/dist/federation/kv.js +51 -0
  36. package/dist/federation/kv.test.d.ts +2 -0
  37. package/dist/federation/kv.test.js +25 -0
  38. package/dist/federation/middleware.d.ts +101 -0
  39. package/dist/federation/middleware.js +1775 -0
  40. package/dist/federation/middleware.test.d.ts +2 -0
  41. package/dist/federation/middleware.test.js +1491 -0
  42. package/dist/federation/mod.d.ts +15 -0
  43. package/dist/federation/mod.js +14 -0
  44. package/dist/federation/mq.d.ts +127 -0
  45. package/dist/federation/mq.js +147 -0
  46. package/dist/federation/mq.test.d.ts +2 -0
  47. package/dist/federation/mq.test.js +128 -0
  48. package/dist/federation/negotiation.js +63 -0
  49. package/dist/federation/retry.d.ts +71 -0
  50. package/dist/federation/retry.js +36 -0
  51. package/dist/federation/retry.test.d.ts +2 -0
  52. package/dist/federation/retry.test.js +44 -0
  53. package/dist/federation/router.d.ts +91 -0
  54. package/dist/federation/router.js +99 -0
  55. package/dist/federation/router.test.d.ts +2 -0
  56. package/dist/federation/router.test.js +78 -0
  57. package/dist/federation/send.d.ts +29 -0
  58. package/dist/federation/send.js +127 -0
  59. package/dist/federation/send.test.d.ts +2 -0
  60. package/dist/federation/send.test.js +214 -0
  61. package/dist/mod.d.ts +36 -0
  62. package/dist/mod.js +33 -0
  63. package/dist/node_modules/.pnpm/@jsr_hongminhee__deno-mock-fetch@0.3.2/node_modules/@jsr/hongminhee__deno-mock-fetch/mod.js +101 -0
  64. package/dist/node_modules/.pnpm/@jsr_hongminhee__deno-mock-fetch@0.3.2/node_modules/@jsr/hongminhee__deno-mock-fetch/router.js +93 -0
  65. package/dist/node_modules/.pnpm/@jsr_std__assert@0.226.0/node_modules/@jsr/std__assert/assert.js +26 -0
  66. package/dist/node_modules/.pnpm/@jsr_std__assert@0.226.0/node_modules/@jsr/std__assert/assert_equals.js +49 -0
  67. package/dist/node_modules/.pnpm/@jsr_std__assert@0.226.0/node_modules/@jsr/std__assert/assert_exists.js +32 -0
  68. package/dist/node_modules/.pnpm/@jsr_std__assert@0.226.0/node_modules/@jsr/std__assert/assert_false.js +26 -0
  69. package/dist/node_modules/.pnpm/@jsr_std__assert@0.226.0/node_modules/@jsr/std__assert/assert_greater.js +34 -0
  70. package/dist/node_modules/.pnpm/@jsr_std__assert@0.226.0/node_modules/@jsr/std__assert/assert_greater_or_equal.js +34 -0
  71. package/dist/node_modules/.pnpm/@jsr_std__assert@0.226.0/node_modules/@jsr/std__assert/assert_instance_of.js +40 -0
  72. package/dist/node_modules/.pnpm/@jsr_std__assert@0.226.0/node_modules/@jsr/std__assert/assert_is_error.js +48 -0
  73. package/dist/node_modules/.pnpm/@jsr_std__assert@0.226.0/node_modules/@jsr/std__assert/assert_not_equals.js +36 -0
  74. package/dist/node_modules/.pnpm/@jsr_std__assert@0.226.0/node_modules/@jsr/std__assert/assert_object_match.js +4 -0
  75. package/dist/node_modules/.pnpm/@jsr_std__assert@0.226.0/node_modules/@jsr/std__assert/assert_rejects.js +42 -0
  76. package/dist/node_modules/.pnpm/@jsr_std__assert@0.226.0/node_modules/@jsr/std__assert/assert_strict_equals.js +53 -0
  77. package/dist/node_modules/.pnpm/@jsr_std__assert@0.226.0/node_modules/@jsr/std__assert/assert_string_includes.js +32 -0
  78. package/dist/node_modules/.pnpm/@jsr_std__assert@0.226.0/node_modules/@jsr/std__assert/assert_throws.js +38 -0
  79. package/dist/node_modules/.pnpm/@jsr_std__assert@0.226.0/node_modules/@jsr/std__assert/assertion_error.js +33 -0
  80. package/dist/node_modules/.pnpm/@jsr_std__assert@0.226.0/node_modules/@jsr/std__assert/equal.js +79 -0
  81. package/dist/node_modules/.pnpm/@jsr_std__assert@0.226.0/node_modules/@jsr/std__assert/mod.js +19 -0
  82. package/dist/node_modules/.pnpm/@jsr_std__internal@1.0.7/node_modules/@jsr/std__internal/assertion_state.js +177 -0
  83. package/dist/node_modules/.pnpm/@jsr_std__internal@1.0.7/node_modules/@jsr/std__internal/build_message.js +101 -0
  84. package/dist/node_modules/.pnpm/@jsr_std__internal@1.0.7/node_modules/@jsr/std__internal/diff.js +274 -0
  85. package/dist/node_modules/.pnpm/@jsr_std__internal@1.0.7/node_modules/@jsr/std__internal/diff_str.js +148 -0
  86. package/dist/node_modules/.pnpm/@jsr_std__internal@1.0.7/node_modules/@jsr/std__internal/format.js +37 -0
  87. package/dist/node_modules/.pnpm/@jsr_std__internal@1.0.7/node_modules/@jsr/std__internal/mod.js +10 -0
  88. package/dist/node_modules/.pnpm/@jsr_std__internal@1.0.7/node_modules/@jsr/std__internal/styles.js +172 -0
  89. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/_common/assert_path.js +11 -0
  90. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/_common/constants.js +16 -0
  91. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/_common/dirname.js +14 -0
  92. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/_common/from_file_url.js +13 -0
  93. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/_common/normalize.js +14 -0
  94. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/_common/normalize_string.js +60 -0
  95. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/_common/strip_trailing_separators.js +15 -0
  96. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/_os.js +9 -0
  97. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/basename.js +4 -0
  98. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/common.js +4 -0
  99. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/constants.js +4 -0
  100. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/dirname.js +35 -0
  101. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/extname.js +4 -0
  102. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/format.js +4 -0
  103. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/from_file_url.js +34 -0
  104. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/glob_to_regexp.js +4 -0
  105. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/is_absolute.js +4 -0
  106. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/join.js +35 -0
  107. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/join_globs.js +4 -0
  108. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/mod.js +7 -0
  109. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/normalize.js +4 -0
  110. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/normalize_glob.js +4 -0
  111. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/parse.js +4 -0
  112. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/posix/_util.js +13 -0
  113. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/posix/dirname.js +54 -0
  114. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/posix/from_file_url.js +27 -0
  115. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/posix/join.js +47 -0
  116. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/posix/normalize.js +59 -0
  117. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/relative.js +4 -0
  118. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/resolve.js +4 -0
  119. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/to_file_url.js +4 -0
  120. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/to_namespaced_path.js +4 -0
  121. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/windows/_util.js +19 -0
  122. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/windows/dirname.js +75 -0
  123. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/windows/from_file_url.js +31 -0
  124. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/windows/join.js +54 -0
  125. package/dist/node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/windows/normalize.js +87 -0
  126. package/dist/node_modules/.pnpm/@jsr_std__url@1.0.0-rc.3/node_modules/@jsr/std__url/_strip.js +17 -0
  127. package/dist/node_modules/.pnpm/@jsr_std__url@1.0.0-rc.3/node_modules/@jsr/std__url/dirname.js +38 -0
  128. package/dist/node_modules/.pnpm/@jsr_std__url@1.0.0-rc.3/node_modules/@jsr/std__url/join.js +36 -0
  129. package/dist/node_modules/.pnpm/@jsr_std__yaml@1.0.6/node_modules/@jsr/std__yaml/_chars.js +47 -0
  130. package/dist/node_modules/.pnpm/@jsr_std__yaml@1.0.6/node_modules/@jsr/std__yaml/_dumper_state.js +4 -0
  131. package/dist/node_modules/.pnpm/@jsr_std__yaml@1.0.6/node_modules/@jsr/std__yaml/_loader_state.js +884 -0
  132. package/dist/node_modules/.pnpm/@jsr_std__yaml@1.0.6/node_modules/@jsr/std__yaml/_schema.js +120 -0
  133. package/dist/node_modules/.pnpm/@jsr_std__yaml@1.0.6/node_modules/@jsr/std__yaml/_type/binary.js +92 -0
  134. package/dist/node_modules/.pnpm/@jsr_std__yaml@1.0.6/node_modules/@jsr/std__yaml/_type/bool.js +41 -0
  135. package/dist/node_modules/.pnpm/@jsr_std__yaml@1.0.6/node_modules/@jsr/std__yaml/_type/float.js +58 -0
  136. package/dist/node_modules/.pnpm/@jsr_std__yaml@1.0.6/node_modules/@jsr/std__yaml/_type/int.js +118 -0
  137. package/dist/node_modules/.pnpm/@jsr_std__yaml@1.0.6/node_modules/@jsr/std__yaml/_type/map.js +18 -0
  138. package/dist/node_modules/.pnpm/@jsr_std__yaml@1.0.6/node_modules/@jsr/std__yaml/_type/merge.js +14 -0
  139. package/dist/node_modules/.pnpm/@jsr_std__yaml@1.0.6/node_modules/@jsr/std__yaml/_type/nil.js +23 -0
  140. package/dist/node_modules/.pnpm/@jsr_std__yaml@1.0.6/node_modules/@jsr/std__yaml/_type/omap.js +31 -0
  141. package/dist/node_modules/.pnpm/@jsr_std__yaml@1.0.6/node_modules/@jsr/std__yaml/_type/pairs.js +22 -0
  142. package/dist/node_modules/.pnpm/@jsr_std__yaml@1.0.6/node_modules/@jsr/std__yaml/_type/regexp.js +29 -0
  143. package/dist/node_modules/.pnpm/@jsr_std__yaml@1.0.6/node_modules/@jsr/std__yaml/_type/seq.js +14 -0
  144. package/dist/node_modules/.pnpm/@jsr_std__yaml@1.0.6/node_modules/@jsr/std__yaml/_type/set.js +17 -0
  145. package/dist/node_modules/.pnpm/@jsr_std__yaml@1.0.6/node_modules/@jsr/std__yaml/_type/str.js +14 -0
  146. package/dist/node_modules/.pnpm/@jsr_std__yaml@1.0.6/node_modules/@jsr/std__yaml/_type/timestamp.js +57 -0
  147. package/dist/node_modules/.pnpm/@jsr_std__yaml@1.0.6/node_modules/@jsr/std__yaml/_type/undefined.js +24 -0
  148. package/dist/node_modules/.pnpm/@jsr_std__yaml@1.0.6/node_modules/@jsr/std__yaml/_utils.js +17 -0
  149. package/dist/node_modules/.pnpm/@jsr_std__yaml@1.0.6/node_modules/@jsr/std__yaml/mod.js +5 -0
  150. package/dist/node_modules/.pnpm/@jsr_std__yaml@1.0.6/node_modules/@jsr/std__yaml/parse.js +54 -0
  151. package/dist/node_modules/.pnpm/@jsr_std__yaml@1.0.6/node_modules/@jsr/std__yaml/stringify.js +4 -0
  152. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/AlwaysShrinkableArbitrary.js +30 -0
  153. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/ArrayArbitrary.js +203 -0
  154. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/ArrayInt64Arbitrary.js +122 -0
  155. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/BigIntArbitrary.js +63 -0
  156. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/ConstantArbitrary.js +58 -0
  157. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/FrequencyArbitrary.js +136 -0
  158. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/IntegerArbitrary.js +64 -0
  159. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/LazyArbitrary.js +29 -0
  160. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/StringUnitArbitrary.js +45 -0
  161. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/TupleArbitrary.js +74 -0
  162. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/WithShrinkFromOtherArbitrary.js +40 -0
  163. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/builders/AnyArbitraryBuilder.js +97 -0
  164. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/builders/BoxedArbitraryBuilder.js +13 -0
  165. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/builders/CharacterArbitraryBuilder.js +17 -0
  166. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/builders/RestrictedIntegerArbitraryBuilder.js +23 -0
  167. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/builders/TypedIntArrayArbitraryBuilder.js +32 -0
  168. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/data/GraphemeRanges.js +990 -0
  169. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/helpers/ArrayInt64.js +98 -0
  170. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/helpers/BiasNumericRange.js +53 -0
  171. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/helpers/BuildSlicedGenerator.js +15 -0
  172. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/helpers/CustomEqualSet.js +27 -0
  173. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/helpers/DepthContext.js +24 -0
  174. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/helpers/DoubleHelpers.js +96 -0
  175. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/helpers/DoubleOnlyHelpers.js +25 -0
  176. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/helpers/FloatHelpers.js +57 -0
  177. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/helpers/FloatOnlyHelpers.js +26 -0
  178. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/helpers/FloatingOnlyHelpers.js +26 -0
  179. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/helpers/GraphemeRangesHelpers.js +58 -0
  180. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/helpers/MaxLengthFromMinLength.js +72 -0
  181. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/helpers/NoUndefinedAsContext.js +16 -0
  182. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/helpers/QualifiedObjectConstraints.js +58 -0
  183. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/helpers/SameValueSet.js +41 -0
  184. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/helpers/SameValueZeroSet.js +33 -0
  185. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/helpers/ShrinkBigInt.js +37 -0
  186. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/helpers/ShrinkInteger.js +41 -0
  187. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/helpers/SlicesForStringBuilder.js +74 -0
  188. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/helpers/StrictlyEqualSet.js +38 -0
  189. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/helpers/TokenizeString.js +47 -0
  190. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/implementations/NoopSlicedGenerator.js +21 -0
  191. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/implementations/SlicedBasedGenerator.js +53 -0
  192. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/mappers/ArrayToMap.js +16 -0
  193. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/mappers/ArrayToSet.js +16 -0
  194. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/mappers/CodePointsToString.js +17 -0
  195. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/mappers/IndexToCharString.js +20 -0
  196. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/mappers/IndexToMappedConstant.js +69 -0
  197. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/mappers/IndexToPrintableIndex.js +18 -0
  198. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/mappers/KeyValuePairsToObject.js +42 -0
  199. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/mappers/PatternsToString.js +32 -0
  200. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/mappers/TimeToDate.js +30 -0
  201. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/_internals/mappers/UnboxedToBoxed.js +22 -0
  202. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/anything.js +14 -0
  203. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/array.js +22 -0
  204. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/bigInt.js +38 -0
  205. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/boolean.js +24 -0
  206. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/constant.js +13 -0
  207. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/constantFrom.js +14 -0
  208. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/date.js +30 -0
  209. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/dictionary.js +27 -0
  210. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/double.js +54 -0
  211. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/float.js +60 -0
  212. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/float32Array.js +22 -0
  213. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/float64Array.js +22 -0
  214. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/fullUnicode.js +24 -0
  215. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/fullUnicodeString.js +20 -0
  216. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/int16Array.js +15 -0
  217. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/int32Array.js +15 -0
  218. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/int8Array.js +15 -0
  219. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/integer.js +26 -0
  220. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/letrec.js +28 -0
  221. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/mapToConstant.js +26 -0
  222. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/maxSafeInteger.js +15 -0
  223. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/nat.js +17 -0
  224. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/noBias.js +11 -0
  225. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/oneof.js +31 -0
  226. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/sparseArray.js +68 -0
  227. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/string.js +32 -0
  228. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/tuple.js +13 -0
  229. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/uint16Array.js +15 -0
  230. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/uint32Array.js +15 -0
  231. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/uint8Array.js +15 -0
  232. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/uint8ClampedArray.js +15 -0
  233. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/arbitrary/uniqueArray.js +47 -0
  234. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/check/arbitrary/definition/Arbitrary.js +184 -0
  235. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/check/arbitrary/definition/Value.js +31 -0
  236. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/check/precondition/PreconditionFailure.js +19 -0
  237. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/check/property/IRawProperty.js +12 -0
  238. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/check/property/IgnoreEqualValuesProperty.js +52 -0
  239. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/check/property/Property.generic.js +77 -0
  240. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/check/property/Property.js +22 -0
  241. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/check/property/SkipAfterProperty.js +61 -0
  242. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/check/property/TimeoutProperty.js +52 -0
  243. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/check/property/UnbiasedProperty.js +29 -0
  244. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/check/runner/DecorateProperty.js +26 -0
  245. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/check/runner/Runner.js +61 -0
  246. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/check/runner/RunnerIterator.js +47 -0
  247. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/check/runner/SourceValuesIterator.js +35 -0
  248. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/check/runner/Tosser.js +33 -0
  249. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/check/runner/configuration/GlobalParameters.js +12 -0
  250. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/check/runner/configuration/QualifiedParameters.js +121 -0
  251. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/check/runner/configuration/VerbosityLevel.js +14 -0
  252. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/check/runner/reporter/ExecutionStatus.js +14 -0
  253. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/check/runner/reporter/RunExecution.js +116 -0
  254. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/check/runner/utils/PathWalker.js +24 -0
  255. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/check/runner/utils/RunDetailsFormatter.js +135 -0
  256. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/check/symbols.js +15 -0
  257. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/random/generator/Random.js +48 -0
  258. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/stream/LazyIterableIterator.js +24 -0
  259. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/stream/Stream.js +84 -0
  260. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/stream/StreamHelpers.js +50 -0
  261. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/utils/apply.js +28 -0
  262. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/utils/globals.js +309 -0
  263. package/dist/node_modules/.pnpm/fast-check@3.23.2/node_modules/fast-check/lib/esm/utils/stringify.js +217 -0
  264. package/dist/node_modules/.pnpm/pure-rand@6.1.0/node_modules/pure-rand/lib/esm/distribution/UniformArrayIntDistribution.js +20 -0
  265. package/dist/node_modules/.pnpm/pure-rand@6.1.0/node_modules/pure-rand/lib/esm/distribution/UniformBigIntDistribution.js +20 -0
  266. package/dist/node_modules/.pnpm/pure-rand@6.1.0/node_modules/pure-rand/lib/esm/distribution/UniformIntDistribution.js +20 -0
  267. package/dist/node_modules/.pnpm/pure-rand@6.1.0/node_modules/pure-rand/lib/esm/distribution/UnsafeUniformArrayIntDistribution.js +20 -0
  268. package/dist/node_modules/.pnpm/pure-rand@6.1.0/node_modules/pure-rand/lib/esm/distribution/UnsafeUniformBigIntDistribution.js +32 -0
  269. package/dist/node_modules/.pnpm/pure-rand@6.1.0/node_modules/pure-rand/lib/esm/distribution/UnsafeUniformIntDistribution.js +43 -0
  270. package/dist/node_modules/.pnpm/pure-rand@6.1.0/node_modules/pure-rand/lib/esm/distribution/internals/ArrayInt.js +139 -0
  271. package/dist/node_modules/.pnpm/pure-rand@6.1.0/node_modules/pure-rand/lib/esm/distribution/internals/UnsafeUniformArrayIntDistributionInternal.js +26 -0
  272. package/dist/node_modules/.pnpm/pure-rand@6.1.0/node_modules/pure-rand/lib/esm/distribution/internals/UnsafeUniformIntDistributionInternal.js +14 -0
  273. package/dist/node_modules/.pnpm/pure-rand@6.1.0/node_modules/pure-rand/lib/esm/generator/LinearCongruential.js +53 -0
  274. package/dist/node_modules/.pnpm/pure-rand@6.1.0/node_modules/pure-rand/lib/esm/generator/MersenneTwister.js +114 -0
  275. package/dist/node_modules/.pnpm/pure-rand@6.1.0/node_modules/pure-rand/lib/esm/generator/RandomGenerator.js +26 -0
  276. package/dist/node_modules/.pnpm/pure-rand@6.1.0/node_modules/pure-rand/lib/esm/generator/XorShift.js +83 -0
  277. package/dist/node_modules/.pnpm/pure-rand@6.1.0/node_modules/pure-rand/lib/esm/generator/XoroShiro.js +83 -0
  278. package/dist/node_modules/.pnpm/pure-rand@6.1.0/node_modules/pure-rand/lib/esm/pure-rand-default.js +44 -0
  279. package/dist/node_modules/.pnpm/pure-rand@6.1.0/node_modules/pure-rand/lib/esm/pure-rand.js +22 -0
  280. package/dist/nodeinfo/client.d.ts +96 -0
  281. package/dist/nodeinfo/client.js +272 -0
  282. package/dist/nodeinfo/client.test.d.ts +2 -0
  283. package/dist/nodeinfo/client.test.js +968 -0
  284. package/dist/nodeinfo/handler.js +46 -0
  285. package/dist/nodeinfo/handler.test.d.ts +2 -0
  286. package/dist/nodeinfo/handler.test.js +94 -0
  287. package/dist/nodeinfo/mod.d.ts +6 -0
  288. package/dist/nodeinfo/mod.js +9 -0
  289. package/dist/nodeinfo/semver.d.ts +78 -0
  290. package/dist/nodeinfo/semver.js +148 -0
  291. package/dist/nodeinfo/semver.test.d.ts +2 -0
  292. package/dist/nodeinfo/semver.test.js +134 -0
  293. package/dist/nodeinfo/types.d.ts +140 -0
  294. package/dist/nodeinfo/types.js +50 -0
  295. package/dist/nodeinfo/types.test.d.ts +2 -0
  296. package/dist/nodeinfo/types.test.js +197 -0
  297. package/dist/runtime/authdocloader.d.ts +56 -0
  298. package/dist/runtime/authdocloader.js +52 -0
  299. package/dist/runtime/authdocloader.test.d.ts +2 -0
  300. package/dist/runtime/authdocloader.test.js +54 -0
  301. package/dist/runtime/contexts.js +4116 -0
  302. package/dist/runtime/docloader.d.ts +211 -0
  303. package/dist/runtime/docloader.js +291 -0
  304. package/dist/runtime/docloader.test.d.ts +2 -0
  305. package/dist/runtime/docloader.test.js +428 -0
  306. package/dist/runtime/key.d.ts +66 -0
  307. package/dist/runtime/key.js +156 -0
  308. package/dist/runtime/key.test.d.ts +2 -0
  309. package/dist/runtime/key.test.js +93 -0
  310. package/dist/runtime/langstr.d.ts +24 -0
  311. package/dist/runtime/langstr.js +32 -0
  312. package/dist/runtime/langstr.test.d.ts +2 -0
  313. package/dist/runtime/langstr.test.js +31 -0
  314. package/dist/runtime/mod.d.ts +7 -0
  315. package/dist/runtime/mod.js +10 -0
  316. package/dist/runtime/multibase/base.js +32 -0
  317. package/dist/runtime/multibase/constants.js +172 -0
  318. package/dist/runtime/multibase/index.js +57 -0
  319. package/dist/runtime/multibase/multibase.test.d.ts +2 -0
  320. package/dist/runtime/multibase/multibase.test.js +351 -0
  321. package/dist/runtime/multibase/rfc4648.js +61 -0
  322. package/dist/runtime/multibase/util.js +21 -0
  323. package/dist/runtime/url.js +67 -0
  324. package/dist/runtime/url.test.d.ts +2 -0
  325. package/dist/runtime/url.test.js +43 -0
  326. package/dist/sig/http.d.ts +143 -0
  327. package/dist/sig/http.js +720 -0
  328. package/dist/sig/http.test.d.ts +2 -0
  329. package/dist/sig/http.test.js +1094 -0
  330. package/dist/sig/key.d.ts +125 -0
  331. package/dist/sig/key.js +257 -0
  332. package/dist/sig/key.test.d.ts +2 -0
  333. package/dist/sig/key.test.js +242 -0
  334. package/dist/sig/ld.d.ts +150 -0
  335. package/dist/sig/ld.js +270 -0
  336. package/dist/sig/ld.test.d.ts +2 -0
  337. package/dist/sig/ld.test.js +224 -0
  338. package/dist/sig/mod.d.ts +8 -0
  339. package/dist/sig/mod.js +11 -0
  340. package/dist/sig/owner.d.ts +74 -0
  341. package/dist/sig/owner.js +89 -0
  342. package/dist/sig/owner.test.d.ts +2 -0
  343. package/dist/sig/owner.test.js +45 -0
  344. package/dist/sig/proof.d.ts +134 -0
  345. package/dist/sig/proof.js +262 -0
  346. package/dist/sig/proof.test.d.ts +2 -0
  347. package/dist/sig/proof.test.js +263 -0
  348. package/dist/testing/context.js +94 -0
  349. package/dist/testing/docloader.js +48 -0
  350. package/dist/testing/docloader.test.d.ts +2 -0
  351. package/dist/testing/docloader.test.js +15 -0
  352. package/dist/testing/keys.js +123 -0
  353. package/dist/testing/mod.js +136 -0
  354. package/dist/vocab/actor.d.ts +133 -0
  355. package/dist/vocab/actor.js +148 -0
  356. package/dist/vocab/actor.test.d.ts +2 -0
  357. package/dist/vocab/actor.test.js +114 -0
  358. package/dist/vocab/constants.d.ts +24 -0
  359. package/dist/vocab/constants.js +17 -0
  360. package/dist/vocab/lookup.d.ts +123 -0
  361. package/dist/vocab/lookup.js +162 -0
  362. package/dist/vocab/lookup.test.d.ts +2 -0
  363. package/dist/vocab/lookup.test.js +113 -0
  364. package/dist/vocab/mod.d.ts +8 -0
  365. package/dist/vocab/mod.js +11 -0
  366. package/dist/vocab/type.d.ts +107 -0
  367. package/dist/vocab/type.js +13 -0
  368. package/dist/vocab/type.test.d.ts +2 -0
  369. package/dist/vocab/type.test.js +24 -0
  370. package/dist/vocab/vocab.d.ts +14448 -0
  371. package/dist/vocab/vocab.js +35617 -0
  372. package/dist/vocab/vocab.test.d.ts +2 -0
  373. package/dist/vocab/vocab.test.js +849 -0
  374. package/dist/webfinger/handler.js +140 -0
  375. package/dist/webfinger/handler.test.d.ts +2 -0
  376. package/dist/webfinger/handler.test.js +483 -0
  377. package/dist/webfinger/jrd.d.ts +60 -0
  378. package/dist/webfinger/lookup.d.ts +47 -0
  379. package/dist/webfinger/lookup.js +131 -0
  380. package/dist/webfinger/lookup.test.d.ts +2 -0
  381. package/dist/webfinger/lookup.test.js +119 -0
  382. package/dist/webfinger/mod.d.ts +5 -0
  383. package/dist/webfinger/mod.js +7 -0
  384. package/dist/x/denokv.js +41 -0
  385. package/dist/x/hono.d.ts +40 -0
  386. package/dist/x/hono.js +48 -0
  387. package/dist/x/sveltekit.d.ts +36 -0
  388. package/dist/x/sveltekit.js +56 -0
  389. package/package.json +57 -60
  390. package/CHANGES.md +0 -3883
  391. package/CONTRIBUTING.md +0 -272
  392. package/FEDERATION.md +0 -85
  393. package/LICENSE +0 -20
  394. package/SECURITY.md +0 -22
  395. package/SPONSORS.md +0 -47
  396. package/esm/_dnt.polyfills.js +0 -15
  397. package/esm/_dnt.shims.js +0 -70
  398. package/esm/compat/mod.js +0 -3
  399. package/esm/compat/transformers.js +0 -95
  400. package/esm/compat/types.js +0 -1
  401. package/esm/deno.js +0 -110
  402. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/_internal/compareValues.js +0 -9
  403. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/at.js +0 -28
  404. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/chunk.js +0 -36
  405. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/compact.js +0 -21
  406. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/countBy.js +0 -36
  407. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/difference.js +0 -26
  408. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/differenceBy.js +0 -38
  409. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/differenceWith.js +0 -35
  410. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/drop.js +0 -20
  411. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/dropRight.js +0 -23
  412. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/dropRightWhile.js +0 -26
  413. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/dropWhile.js +0 -25
  414. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/fill.js +0 -37
  415. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/flatMap.js +0 -24
  416. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/flatMapDeep.js +0 -17
  417. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/flatten.js +0 -33
  418. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/flattenDeep.js +0 -15
  419. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/forEachRight.js +0 -28
  420. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/groupBy.js +0 -44
  421. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/head.js +0 -18
  422. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/index.js +0 -60
  423. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/initial.js +0 -16
  424. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/intersection.js +0 -24
  425. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/intersectionBy.js +0 -37
  426. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/intersectionWith.js +0 -41
  427. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/isSubset.js +0 -27
  428. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/isSubsetWith.js +0 -34
  429. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/keyBy.js +0 -36
  430. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/last.js +0 -25
  431. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/maxBy.js +0 -37
  432. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/minBy.js +0 -37
  433. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/orderBy.js +0 -52
  434. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/partition.js +0 -36
  435. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/pull.js +0 -33
  436. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/pullAt.js +0 -25
  437. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/remove.js +0 -35
  438. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/sample.js +0 -18
  439. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/sampleSize.js +0 -35
  440. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/shuffle.js +0 -25
  441. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/sortBy.js +0 -36
  442. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/tail.js +0 -27
  443. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/take.js +0 -27
  444. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/takeRight.js +0 -29
  445. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/takeRightWhile.js +0 -25
  446. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/takeWhile.js +0 -29
  447. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/toFilled.js +0 -22
  448. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/union.js +0 -21
  449. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/unionBy.js +0 -26
  450. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/unionWith.js +0 -24
  451. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/uniq.js +0 -18
  452. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/uniqBy.js +0 -37
  453. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/uniqWith.js +0 -26
  454. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/unzip.js +0 -31
  455. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/unzipWith.js +0 -26
  456. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/windowed.js +0 -44
  457. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/without.js +0 -24
  458. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/xor.js +0 -23
  459. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/xorBy.js +0 -27
  460. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/xorWith.js +0 -26
  461. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/zip.js +0 -39
  462. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/zipObject.js +0 -37
  463. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/zipWith.js +0 -32
  464. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/compat/_internal/getSymbols.js +0 -3
  465. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/compat/_internal/getTag.js +0 -13
  466. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/compat/_internal/tags.js +0 -26
  467. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/compat/predicate/isArray.js +0 -23
  468. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/compat/predicate/isObjectLike.js +0 -27
  469. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/compat/predicate/isPlainObject.js +0 -51
  470. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/compat/predicate/isSymbol.js +0 -17
  471. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/compat/util/eq.js +0 -16
  472. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/compat/util/toFinite.js +0 -26
  473. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/compat/util/toInteger.js +0 -23
  474. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/compat/util/toNumber.js +0 -23
  475. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/error/AbortError.js +0 -10
  476. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/error/TimeoutError.js +0 -10
  477. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/error/index.js +0 -2
  478. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/after.js +0 -40
  479. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/ary.js +0 -23
  480. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/asyncNoop.js +0 -10
  481. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/before.js +0 -40
  482. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/curry.js +0 -42
  483. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/curryRight.js +0 -44
  484. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/debounce.js +0 -97
  485. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/flow.js +0 -24
  486. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/flowRight.js +0 -21
  487. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/identity.js +0 -22
  488. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/index.js +0 -21
  489. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/memoize.js +0 -86
  490. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/negate.js +0 -16
  491. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/noop.js +0 -10
  492. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/once.js +0 -28
  493. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/partial.js +0 -45
  494. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/partialRight.js +0 -47
  495. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/rest.js +0 -40
  496. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/retry.js +0 -41
  497. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/spread.js +0 -21
  498. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/throttle.js +0 -46
  499. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/unary.js +0 -18
  500. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/index.js +0 -65
  501. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/clamp.js +0 -23
  502. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/inRange.js +0 -24
  503. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/index.js +0 -13
  504. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/mean.js +0 -17
  505. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/meanBy.js +0 -20
  506. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/median.js +0 -35
  507. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/medianBy.js +0 -25
  508. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/random.js +0 -23
  509. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/randomInt.js +0 -18
  510. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/range.js +0 -32
  511. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/rangeRight.js +0 -32
  512. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/round.js +0 -24
  513. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/sum.js +0 -20
  514. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/sumBy.js +0 -22
  515. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/clone.js +0 -70
  516. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/cloneDeep.js +0 -50
  517. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/cloneDeepWith.js +0 -201
  518. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/findKey.js +0 -22
  519. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/flattenObject.js +0 -49
  520. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/index.js +0 -17
  521. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/invert.js +0 -28
  522. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/mapKeys.js +0 -27
  523. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/mapValues.js +0 -28
  524. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/merge.js +0 -69
  525. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/mergeWith.js +0 -71
  526. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/omit.js +0 -25
  527. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/omitBy.js +0 -31
  528. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/pick.js +0 -27
  529. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/pickBy.js +0 -31
  530. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/toCamelCaseKeys.js +0 -66
  531. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/toMerged.js +0 -47
  532. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/toSnakeCaseKeys.js +0 -66
  533. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/index.js +0 -30
  534. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isArrayBuffer.js +0 -20
  535. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isBlob.js +0 -23
  536. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isBoolean.js +0 -25
  537. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isBrowser.js +0 -17
  538. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isBuffer.js +0 -23
  539. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isDate.js +0 -16
  540. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isEqual.js +0 -19
  541. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isEqualWith.js +0 -218
  542. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isError.js +0 -16
  543. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isFile.js +0 -26
  544. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isFunction.js +0 -16
  545. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isJSON.js +0 -40
  546. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isJSONValue.js +0 -94
  547. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isLength.js +0 -24
  548. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isMap.js +0 -20
  549. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isNil.js +0 -22
  550. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isNode.js +0 -17
  551. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isNotNil.js +0 -19
  552. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isNull.js +0 -23
  553. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isPlainObject.js +0 -56
  554. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isPrimitive.js +0 -31
  555. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isPromise.js +0 -20
  556. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isRegExp.js +0 -16
  557. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isSet.js +0 -20
  558. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isString.js +0 -20
  559. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isSymbol.js +0 -26
  560. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isTypedArray.js +0 -29
  561. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isUndefined.js +0 -23
  562. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isWeakMap.js +0 -23
  563. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isWeakSet.js +0 -23
  564. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/promise/delay.js +0 -52
  565. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/promise/index.js +0 -5
  566. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/promise/mutex.js +0 -69
  567. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/promise/semaphore.js +0 -99
  568. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/promise/timeout.js +0 -20
  569. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/promise/withTimeout.js +0 -29
  570. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/camelCase.js +0 -26
  571. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/capitalize.js +0 -14
  572. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/constantCase.js +0 -19
  573. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/deburr.js +0 -64
  574. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/escape.js +0 -23
  575. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/escapeRegExp.js +0 -14
  576. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/index.js +0 -21
  577. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/kebabCase.js +0 -19
  578. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/lowerCase.js +0 -19
  579. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/lowerFirst.js +0 -14
  580. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/pad.js +0 -19
  581. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/pascalCase.js +0 -20
  582. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/reverseString.js +0 -16
  583. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/snakeCase.js +0 -19
  584. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/startCase.js +0 -26
  585. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/trim.js +0 -20
  586. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/trimEnd.js +0 -39
  587. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/trimStart.js +0 -36
  588. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/unescape.js +0 -23
  589. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/upperCase.js +0 -26
  590. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/upperFirst.js +0 -14
  591. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/words.js +0 -38
  592. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/util/attempt.js +0 -47
  593. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/util/attemptAsync.js +0 -41
  594. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/util/index.js +0 -4
  595. package/esm/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/util/invariant.js +0 -33
  596. package/esm/federation/builder.js +0 -652
  597. package/esm/federation/callback.js +0 -1
  598. package/esm/federation/collection.js +0 -43
  599. package/esm/federation/context.js +0 -1
  600. package/esm/federation/federation.js +0 -1
  601. package/esm/federation/handler.js +0 -574
  602. package/esm/federation/inbox.js +0 -146
  603. package/esm/federation/keycache.js +0 -42
  604. package/esm/federation/kv.js +0 -52
  605. package/esm/federation/middleware.js +0 -2071
  606. package/esm/federation/mod.js +0 -17
  607. package/esm/federation/mq.js +0 -161
  608. package/esm/federation/negotiation.js +0 -92
  609. package/esm/federation/queue.js +0 -1
  610. package/esm/federation/retry.js +0 -34
  611. package/esm/federation/router.js +0 -97
  612. package/esm/federation/send.js +0 -129
  613. package/esm/mod.js +0 -52
  614. package/esm/nodeinfo/client.js +0 -372
  615. package/esm/nodeinfo/handler.js +0 -49
  616. package/esm/nodeinfo/mod.js +0 -11
  617. package/esm/nodeinfo/semver.js +0 -150
  618. package/esm/nodeinfo/types.js +0 -60
  619. package/esm/package.json +0 -3
  620. package/esm/runtime/contexts.js +0 -4191
  621. package/esm/runtime/docloader.js +0 -351
  622. package/esm/runtime/key.js +0 -153
  623. package/esm/runtime/langstr.js +0 -25
  624. package/esm/runtime/mod.js +0 -10
  625. package/esm/runtime/multibase/base.js +0 -30
  626. package/esm/runtime/multibase/constants.js +0 -78
  627. package/esm/runtime/multibase/index.js +0 -59
  628. package/esm/runtime/multibase/rfc4648.js +0 -79
  629. package/esm/runtime/multibase/util.js +0 -13
  630. package/esm/runtime/url.js +0 -96
  631. package/esm/sig/http.js +0 -845
  632. package/esm/sig/key.js +0 -253
  633. package/esm/sig/ld.js +0 -288
  634. package/esm/sig/mod.js +0 -11
  635. package/esm/sig/owner.js +0 -103
  636. package/esm/sig/proof.js +0 -269
  637. package/esm/vocab/actor.js +0 -168
  638. package/esm/vocab/constants.js +0 -9
  639. package/esm/vocab/lookup.js +0 -174
  640. package/esm/vocab/mod.js +0 -57
  641. package/esm/vocab/type.js +0 -6
  642. package/esm/vocab/vocab.js +0 -51266
  643. package/esm/webfinger/handler.js +0 -173
  644. package/esm/webfinger/jrd.js +0 -1
  645. package/esm/webfinger/lookup.js +0 -136
  646. package/esm/webfinger/mod.js +0 -8
  647. package/esm/x/hono.js +0 -65
  648. package/esm/x/sveltekit.js +0 -65
  649. package/logo.svg +0 -185
  650. package/types/_dnt.polyfills.d.ts +0 -18
  651. package/types/_dnt.polyfills.d.ts.map +0 -1
  652. package/types/_dnt.shims.d.ts +0 -14
  653. package/types/_dnt.shims.d.ts.map +0 -1
  654. package/types/compat/mod.d.ts +0 -4
  655. package/types/compat/mod.d.ts.map +0 -1
  656. package/types/compat/transformers.d.ts +0 -77
  657. package/types/compat/transformers.d.ts.map +0 -1
  658. package/types/compat/types.d.ts +0 -8
  659. package/types/compat/types.d.ts.map +0 -1
  660. package/types/deno.d.ts +0 -84
  661. package/types/deno.d.ts.map +0 -1
  662. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/_internal/compareValues.d.ts +0 -2
  663. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/_internal/compareValues.d.ts.map +0 -1
  664. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/at.d.ts +0 -17
  665. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/at.d.ts.map +0 -1
  666. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/chunk.d.ts +0 -25
  667. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/chunk.d.ts.map +0 -1
  668. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/compact.d.ts +0 -15
  669. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/compact.d.ts.map +0 -1
  670. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/countBy.d.ts +0 -29
  671. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/countBy.d.ts.map +0 -1
  672. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/difference.d.ts +0 -24
  673. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/difference.d.ts.map +0 -1
  674. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/differenceBy.d.ts +0 -34
  675. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/differenceBy.d.ts.map +0 -1
  676. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/differenceWith.d.ts +0 -30
  677. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/differenceWith.d.ts.map +0 -1
  678. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/drop.d.ts +0 -18
  679. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/drop.d.ts.map +0 -1
  680. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/dropRight.d.ts +0 -18
  681. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/dropRight.d.ts.map +0 -1
  682. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/dropRightWhile.d.ts +0 -20
  683. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/dropRightWhile.d.ts.map +0 -1
  684. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/dropWhile.d.ts +0 -20
  685. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/dropWhile.d.ts.map +0 -1
  686. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/fill.d.ts +0 -85
  687. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/fill.d.ts.map +0 -1
  688. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/flatMap.d.ts +0 -22
  689. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/flatMap.d.ts.map +0 -1
  690. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/flatMapDeep.d.ts +0 -16
  691. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/flatMapDeep.d.ts.map +0 -1
  692. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/flatten.d.ts +0 -18
  693. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/flatten.d.ts.map +0 -1
  694. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/flattenDeep.d.ts +0 -24
  695. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/flattenDeep.d.ts.map +0 -1
  696. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/forEachRight.d.ts +0 -47
  697. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/forEachRight.d.ts.map +0 -1
  698. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/groupBy.d.ts +0 -34
  699. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/groupBy.d.ts.map +0 -1
  700. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/head.d.ts +0 -33
  701. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/head.d.ts.map +0 -1
  702. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/index.d.ts +0 -61
  703. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/index.d.ts.map +0 -1
  704. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/initial.d.ts +0 -53
  705. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/initial.d.ts.map +0 -1
  706. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/intersection.d.ts +0 -20
  707. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/intersection.d.ts.map +0 -1
  708. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/intersectionBy.d.ts +0 -35
  709. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/intersectionBy.d.ts.map +0 -1
  710. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/intersectionWith.d.ts +0 -36
  711. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/intersectionWith.d.ts.map +0 -1
  712. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/isSubset.d.ts +0 -25
  713. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/isSubset.d.ts.map +0 -1
  714. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/isSubsetWith.d.ts +0 -32
  715. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/isSubsetWith.d.ts.map +0 -1
  716. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/keyBy.d.ts +0 -29
  717. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/keyBy.d.ts.map +0 -1
  718. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/last.d.ts +0 -47
  719. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/last.d.ts.map +0 -1
  720. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/maxBy.d.ts +0 -44
  721. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/maxBy.d.ts.map +0 -1
  722. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/minBy.d.ts +0 -44
  723. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/minBy.d.ts.map +0 -1
  724. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/orderBy.d.ts +0 -36
  725. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/orderBy.d.ts.map +0 -1
  726. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/partition.d.ts +0 -24
  727. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/partition.d.ts.map +0 -1
  728. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/pull.d.ts +0 -18
  729. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/pull.d.ts.map +0 -1
  730. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/pullAt.d.ts +0 -18
  731. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/pullAt.d.ts.map +0 -1
  732. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/remove.d.ts +0 -18
  733. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/remove.d.ts.map +0 -1
  734. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/sample.d.ts +0 -16
  735. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/sample.d.ts.map +0 -1
  736. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/sampleSize.d.ts +0 -20
  737. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/sampleSize.d.ts.map +0 -1
  738. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/shuffle.d.ts +0 -16
  739. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/shuffle.d.ts.map +0 -1
  740. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/sortBy.d.ts +0 -34
  741. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/sortBy.d.ts.map +0 -1
  742. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/tail.d.ts +0 -66
  743. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/tail.d.ts.map +0 -1
  744. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/take.d.ts +0 -24
  745. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/take.d.ts.map +0 -1
  746. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/takeRight.d.ts +0 -23
  747. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/takeRight.d.ts.map +0 -1
  748. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/takeRightWhile.d.ts +0 -19
  749. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/takeRightWhile.d.ts.map +0 -1
  750. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/takeWhile.d.ts +0 -20
  751. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/takeWhile.d.ts.map +0 -1
  752. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/toFilled.d.ts +0 -91
  753. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/toFilled.d.ts.map +0 -1
  754. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/union.d.ts +0 -19
  755. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/union.d.ts.map +0 -1
  756. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/unionBy.d.ts +0 -24
  757. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/unionBy.d.ts.map +0 -1
  758. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/unionWith.d.ts +0 -22
  759. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/unionWith.d.ts.map +0 -1
  760. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/uniq.d.ts +0 -17
  761. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/uniq.d.ts.map +0 -1
  762. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/uniqBy.d.ts +0 -28
  763. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/uniqBy.d.ts.map +0 -1
  764. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/uniqWith.d.ts +0 -17
  765. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/uniqWith.d.ts.map +0 -1
  766. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/unzip.d.ts +0 -19
  767. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/unzip.d.ts.map +0 -1
  768. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/unzipWith.d.ts +0 -16
  769. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/unzipWith.d.ts.map +0 -1
  770. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/windowed.d.ts +0 -49
  771. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/windowed.d.ts.map +0 -1
  772. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/without.d.ts +0 -22
  773. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/without.d.ts.map +0 -1
  774. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/xor.d.ts +0 -19
  775. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/xor.d.ts.map +0 -1
  776. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/xorBy.d.ts +0 -21
  777. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/xorBy.d.ts.map +0 -1
  778. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/xorWith.d.ts +0 -20
  779. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/xorWith.d.ts.map +0 -1
  780. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/zip.d.ts +0 -105
  781. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/zip.d.ts.map +0 -1
  782. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/zipObject.d.ts +0 -32
  783. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/zipObject.d.ts.map +0 -1
  784. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/zipWith.d.ts +0 -71
  785. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/array/zipWith.d.ts.map +0 -1
  786. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/compat/_internal/getSymbols.d.ts +0 -2
  787. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/compat/_internal/getSymbols.d.ts.map +0 -1
  788. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/compat/_internal/getTag.d.ts +0 -9
  789. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/compat/_internal/getTag.d.ts.map +0 -1
  790. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/compat/_internal/tags.d.ts +0 -27
  791. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/compat/_internal/tags.d.ts.map +0 -1
  792. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/compat/predicate/isArray.d.ts +0 -22
  793. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/compat/predicate/isArray.d.ts.map +0 -1
  794. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/compat/predicate/isObjectLike.d.ts +0 -26
  795. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/compat/predicate/isObjectLike.d.ts.map +0 -1
  796. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/compat/predicate/isPlainObject.d.ts +0 -24
  797. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/compat/predicate/isPlainObject.d.ts.map +0 -1
  798. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/compat/predicate/isSymbol.d.ts +0 -16
  799. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/compat/predicate/isSymbol.d.ts.map +0 -1
  800. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/compat/util/eq.d.ts +0 -15
  801. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/compat/util/eq.d.ts.map +0 -1
  802. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/compat/util/toFinite.d.ts +0 -16
  803. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/compat/util/toFinite.d.ts.map +0 -1
  804. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/compat/util/toInteger.d.ts +0 -19
  805. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/compat/util/toInteger.d.ts.map +0 -1
  806. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/compat/util/toNumber.d.ts +0 -18
  807. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/compat/util/toNumber.d.ts.map +0 -1
  808. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/error/AbortError.d.ts +0 -8
  809. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/error/AbortError.d.ts.map +0 -1
  810. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/error/TimeoutError.d.ts +0 -8
  811. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/error/TimeoutError.d.ts.map +0 -1
  812. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/error/index.d.ts +0 -3
  813. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/error/index.d.ts.map +0 -1
  814. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/after.d.ts +0 -30
  815. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/after.d.ts.map +0 -1
  816. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/ary.d.ts +0 -20
  817. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/ary.d.ts.map +0 -1
  818. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/asyncNoop.d.ts +0 -11
  819. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/asyncNoop.d.ts.map +0 -1
  820. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/before.d.ts +0 -30
  821. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/before.d.ts.map +0 -1
  822. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/curry.d.ts +0 -125
  823. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/curry.d.ts.map +0 -1
  824. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/curryRight.d.ts +0 -139
  825. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/curryRight.d.ts.map +0 -1
  826. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/debounce.d.ts +0 -74
  827. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/debounce.d.ts.map +0 -1
  828. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/flow.d.ts +0 -131
  829. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/flow.d.ts.map +0 -1
  830. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/flowRight.d.ts +0 -143
  831. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/flowRight.d.ts.map +0 -1
  832. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/identity.d.ts +0 -21
  833. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/identity.d.ts.map +0 -1
  834. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/index.d.ts +0 -22
  835. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/index.d.ts.map +0 -1
  836. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/memoize.d.ts +0 -123
  837. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/memoize.d.ts.map +0 -1
  838. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/negate.d.ts +0 -15
  839. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/negate.d.ts.map +0 -1
  840. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/noop.d.ts +0 -11
  841. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/noop.d.ts.map +0 -1
  842. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/once.d.ts +0 -34
  843. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/once.d.ts.map +0 -1
  844. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/partial.d.ts +0 -552
  845. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/partial.d.ts.map +0 -1
  846. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/partialRight.d.ts +0 -629
  847. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/partialRight.d.ts.map +0 -1
  848. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/rest.d.ts +0 -32
  849. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/rest.d.ts.map +0 -1
  850. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/retry.d.ts +0 -77
  851. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/retry.d.ts.map +0 -1
  852. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/spread.d.ts +0 -18
  853. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/spread.d.ts.map +0 -1
  854. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/throttle.d.ts +0 -48
  855. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/throttle.d.ts.map +0 -1
  856. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/unary.d.ts +0 -16
  857. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/function/unary.d.ts.map +0 -1
  858. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/index.d.ts +0 -66
  859. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/index.d.ts.map +0 -1
  860. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/clamp.d.ts +0 -31
  861. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/clamp.d.ts.map +0 -1
  862. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/inRange.d.ts +0 -26
  863. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/inRange.d.ts.map +0 -1
  864. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/index.d.ts +0 -14
  865. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/index.d.ts.map +0 -1
  866. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/mean.d.ts +0 -15
  867. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/mean.d.ts.map +0 -1
  868. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/meanBy.d.ts +0 -17
  869. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/meanBy.d.ts.map +0 -1
  870. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/median.d.ts +0 -24
  871. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/median.d.ts.map +0 -1
  872. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/medianBy.d.ts +0 -22
  873. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/medianBy.d.ts.map +0 -1
  874. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/random.d.ts +0 -29
  875. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/random.d.ts.map +0 -1
  876. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/randomInt.d.ts +0 -25
  877. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/randomInt.d.ts.map +0 -1
  878. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/range.d.ts +0 -37
  879. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/range.d.ts.map +0 -1
  880. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/rangeRight.d.ts +0 -37
  881. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/rangeRight.d.ts.map +0 -1
  882. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/round.d.ts +0 -19
  883. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/round.d.ts.map +0 -1
  884. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/sum.d.ts +0 -15
  885. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/sum.d.ts.map +0 -1
  886. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/sumBy.d.ts +0 -17
  887. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/math/sumBy.d.ts.map +0 -1
  888. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/clone.d.ts +0 -30
  889. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/clone.d.ts.map +0 -1
  890. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/cloneDeep.d.ts +0 -48
  891. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/cloneDeep.d.ts.map +0 -1
  892. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/cloneDeepWith.d.ts +0 -44
  893. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/cloneDeepWith.d.ts.map +0 -1
  894. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/findKey.d.ts +0 -20
  895. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/findKey.d.ts.map +0 -1
  896. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/flattenObject.d.ts +0 -36
  897. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/flattenObject.d.ts.map +0 -1
  898. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/index.d.ts +0 -18
  899. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/index.d.ts.map +0 -1
  900. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/invert.d.ts +0 -20
  901. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/invert.d.ts.map +0 -1
  902. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/mapKeys.d.ts +0 -19
  903. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/mapKeys.d.ts.map +0 -1
  904. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/mapValues.d.ts +0 -20
  905. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/mapValues.d.ts.map +0 -1
  906. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/merge.d.ts +0 -42
  907. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/merge.d.ts.map +0 -1
  908. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/mergeWith.d.ts +0 -50
  909. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/mergeWith.d.ts.map +0 -1
  910. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/omit.d.ts +0 -19
  911. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/omit.d.ts.map +0 -1
  912. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/omitBy.d.ts +0 -21
  913. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/omitBy.d.ts.map +0 -1
  914. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/pick.d.ts +0 -19
  915. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/pick.d.ts.map +0 -1
  916. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/pickBy.d.ts +0 -21
  917. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/pickBy.d.ts.map +0 -1
  918. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/toCamelCaseKeys.d.ts +0 -53
  919. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/toCamelCaseKeys.d.ts.map +0 -1
  920. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/toMerged.d.ts +0 -44
  921. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/toMerged.d.ts.map +0 -1
  922. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/toSnakeCaseKeys.d.ts +0 -53
  923. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/object/toSnakeCaseKeys.d.ts.map +0 -1
  924. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/index.d.ts +0 -31
  925. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/index.d.ts.map +0 -1
  926. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isArrayBuffer.d.ts +0 -19
  927. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isArrayBuffer.d.ts.map +0 -1
  928. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isBlob.d.ts +0 -18
  929. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isBlob.d.ts.map +0 -1
  930. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isBoolean.d.ts +0 -24
  931. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isBoolean.d.ts.map +0 -1
  932. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isBrowser.d.ts +0 -16
  933. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isBrowser.d.ts.map +0 -1
  934. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isBuffer.d.ts +0 -20
  935. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isBuffer.d.ts.map +0 -1
  936. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isDate.d.ts +0 -15
  937. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isDate.d.ts.map +0 -1
  938. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isEqual.d.ts +0 -16
  939. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isEqual.d.ts.map +0 -1
  940. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isEqualWith.d.ts +0 -37
  941. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isEqualWith.d.ts.map +0 -1
  942. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isError.d.ts +0 -15
  943. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isError.d.ts.map +0 -1
  944. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isFile.d.ts +0 -20
  945. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isFile.d.ts.map +0 -1
  946. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isFunction.d.ts +0 -15
  947. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isFunction.d.ts.map +0 -1
  948. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isJSON.d.ts +0 -30
  949. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isJSON.d.ts.map +0 -1
  950. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isJSONValue.d.ts +0 -55
  951. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isJSONValue.d.ts.map +0 -1
  952. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isLength.d.ts +0 -23
  953. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isLength.d.ts.map +0 -1
  954. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isMap.d.ts +0 -19
  955. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isMap.d.ts.map +0 -1
  956. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isNil.d.ts +0 -21
  957. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isNil.d.ts.map +0 -1
  958. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isNode.d.ts +0 -16
  959. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isNode.d.ts.map +0 -1
  960. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isNotNil.d.ts +0 -18
  961. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isNotNil.d.ts.map +0 -1
  962. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isNull.d.ts +0 -22
  963. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isNull.d.ts.map +0 -1
  964. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isPlainObject.d.ts +0 -44
  965. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isPlainObject.d.ts.map +0 -1
  966. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isPrimitive.d.ts +0 -30
  967. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isPrimitive.d.ts.map +0 -1
  968. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isPromise.d.ts +0 -19
  969. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isPromise.d.ts.map +0 -1
  970. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isRegExp.d.ts +0 -15
  971. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isRegExp.d.ts.map +0 -1
  972. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isSet.d.ts +0 -19
  973. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isSet.d.ts.map +0 -1
  974. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isString.d.ts +0 -19
  975. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isString.d.ts.map +0 -1
  976. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isSymbol.d.ts +0 -25
  977. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isSymbol.d.ts.map +0 -1
  978. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isTypedArray.d.ts +0 -28
  979. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isTypedArray.d.ts.map +0 -1
  980. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isUndefined.d.ts +0 -22
  981. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isUndefined.d.ts.map +0 -1
  982. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isWeakMap.d.ts +0 -22
  983. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isWeakMap.d.ts.map +0 -1
  984. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isWeakSet.d.ts +0 -22
  985. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/predicate/isWeakSet.d.ts.map +0 -1
  986. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/promise/delay.d.ts +0 -38
  987. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/promise/delay.d.ts.map +0 -1
  988. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/promise/index.d.ts +0 -6
  989. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/promise/index.d.ts.map +0 -1
  990. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/promise/mutex.d.ts +0 -63
  991. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/promise/mutex.d.ts.map +0 -1
  992. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/promise/semaphore.d.ts +0 -80
  993. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/promise/semaphore.d.ts.map +0 -1
  994. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/promise/timeout.d.ts +0 -16
  995. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/promise/timeout.d.ts.map +0 -1
  996. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/promise/withTimeout.d.ts +0 -27
  997. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/promise/withTimeout.d.ts.map +0 -1
  998. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/camelCase.d.ts +0 -18
  999. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/camelCase.d.ts.map +0 -1
  1000. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/capitalize.d.ts +0 -15
  1001. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/capitalize.d.ts.map +0 -1
  1002. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/constantCase.d.ts +0 -16
  1003. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/constantCase.d.ts.map +0 -1
  1004. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/deburr.d.ts +0 -21
  1005. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/deburr.d.ts.map +0 -1
  1006. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/escape.d.ts +0 -15
  1007. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/escape.d.ts.map +0 -1
  1008. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/escapeRegExp.d.ts +0 -13
  1009. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/escapeRegExp.d.ts.map +0 -1
  1010. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/index.d.ts +0 -22
  1011. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/index.d.ts.map +0 -1
  1012. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/kebabCase.d.ts +0 -16
  1013. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/kebabCase.d.ts.map +0 -1
  1014. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/lowerCase.d.ts +0 -16
  1015. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/lowerCase.d.ts.map +0 -1
  1016. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/lowerFirst.d.ts +0 -13
  1017. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/lowerFirst.d.ts.map +0 -1
  1018. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/pad.d.ts +0 -18
  1019. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/pad.d.ts.map +0 -1
  1020. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/pascalCase.d.ts +0 -16
  1021. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/pascalCase.d.ts.map +0 -1
  1022. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/reverseString.d.ts +0 -15
  1023. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/reverseString.d.ts.map +0 -1
  1024. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/snakeCase.d.ts +0 -16
  1025. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/snakeCase.d.ts.map +0 -1
  1026. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/startCase.d.ts +0 -15
  1027. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/startCase.d.ts.map +0 -1
  1028. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/trim.d.ts +0 -14
  1029. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/trim.d.ts.map +0 -1
  1030. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/trimEnd.d.ts +0 -18
  1031. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/trimEnd.d.ts.map +0 -1
  1032. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/trimStart.d.ts +0 -18
  1033. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/trimStart.d.ts.map +0 -1
  1034. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/unescape.d.ts +0 -15
  1035. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/unescape.d.ts.map +0 -1
  1036. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/upperCase.d.ts +0 -16
  1037. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/upperCase.d.ts.map +0 -1
  1038. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/upperFirst.d.ts +0 -13
  1039. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/upperFirst.d.ts.map +0 -1
  1040. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/words.d.ts +0 -37
  1041. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/string/words.d.ts.map +0 -1
  1042. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/util/attempt.d.ts +0 -41
  1043. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/util/attempt.d.ts.map +0 -1
  1044. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/util/attemptAsync.d.ts +0 -34
  1045. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/util/attemptAsync.d.ts.map +0 -1
  1046. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/util/index.d.ts +0 -5
  1047. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/util/index.d.ts.map +0 -1
  1048. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/util/invariant.d.ts +0 -39
  1049. package/types/deps/jsr.io/@es-toolkit/es-toolkit/1.38.0/src/util/invariant.d.ts.map +0 -1
  1050. package/types/federation/builder.d.ts +0 -79
  1051. package/types/federation/builder.d.ts.map +0 -1
  1052. package/types/federation/callback.d.ts +0 -202
  1053. package/types/federation/callback.d.ts.map +0 -1
  1054. package/types/federation/collection.d.ts +0 -27
  1055. package/types/federation/collection.d.ts.map +0 -1
  1056. package/types/federation/context.d.ts +0 -727
  1057. package/types/federation/context.d.ts.map +0 -1
  1058. package/types/federation/federation.d.ts +0 -682
  1059. package/types/federation/federation.d.ts.map +0 -1
  1060. package/types/federation/handler.d.ts +0 -120
  1061. package/types/federation/handler.d.ts.map +0 -1
  1062. package/types/federation/inbox.d.ts +0 -35
  1063. package/types/federation/inbox.d.ts.map +0 -1
  1064. package/types/federation/keycache.d.ts +0 -18
  1065. package/types/federation/keycache.d.ts.map +0 -1
  1066. package/types/federation/kv.d.ts +0 -66
  1067. package/types/federation/kv.d.ts.map +0 -1
  1068. package/types/federation/middleware.d.ts +0 -262
  1069. package/types/federation/middleware.d.ts.map +0 -1
  1070. package/types/federation/mod.d.ts +0 -19
  1071. package/types/federation/mod.d.ts.map +0 -1
  1072. package/types/federation/mq.d.ts +0 -119
  1073. package/types/federation/mq.d.ts.map +0 -1
  1074. package/types/federation/negotiation.d.ts +0 -37
  1075. package/types/federation/negotiation.d.ts.map +0 -1
  1076. package/types/federation/queue.d.ts +0 -47
  1077. package/types/federation/queue.d.ts.map +0 -1
  1078. package/types/federation/retry.d.ts +0 -64
  1079. package/types/federation/retry.d.ts.map +0 -1
  1080. package/types/federation/router.d.ts +0 -83
  1081. package/types/federation/router.d.ts.map +0 -1
  1082. package/types/federation/send.d.ts +0 -108
  1083. package/types/federation/send.d.ts.map +0 -1
  1084. package/types/mod.d.ts +0 -53
  1085. package/types/mod.d.ts.map +0 -1
  1086. package/types/nodeinfo/client.d.ts +0 -94
  1087. package/types/nodeinfo/client.d.ts.map +0 -1
  1088. package/types/nodeinfo/handler.d.ts +0 -32
  1089. package/types/nodeinfo/handler.d.ts.map +0 -1
  1090. package/types/nodeinfo/mod.d.ts +0 -12
  1091. package/types/nodeinfo/mod.d.ts.map +0 -1
  1092. package/types/nodeinfo/semver.d.ts +0 -71
  1093. package/types/nodeinfo/semver.d.ts.map +0 -1
  1094. package/types/nodeinfo/types.d.ts +0 -133
  1095. package/types/nodeinfo/types.d.ts.map +0 -1
  1096. package/types/runtime/contexts.d.ts +0 -3
  1097. package/types/runtime/contexts.d.ts.map +0 -1
  1098. package/types/runtime/docloader.d.ts +0 -225
  1099. package/types/runtime/docloader.d.ts.map +0 -1
  1100. package/types/runtime/key.d.ts +0 -54
  1101. package/types/runtime/key.d.ts.map +0 -1
  1102. package/types/runtime/langstr.d.ts +0 -15
  1103. package/types/runtime/langstr.d.ts.map +0 -1
  1104. package/types/runtime/mod.d.ts +0 -11
  1105. package/types/runtime/mod.d.ts.map +0 -1
  1106. package/types/runtime/multibase/base.d.ts +0 -15
  1107. package/types/runtime/multibase/base.d.ts.map +0 -1
  1108. package/types/runtime/multibase/constants.d.ts +0 -5
  1109. package/types/runtime/multibase/constants.d.ts.map +0 -1
  1110. package/types/runtime/multibase/index.d.ts +0 -24
  1111. package/types/runtime/multibase/index.d.ts.map +0 -1
  1112. package/types/runtime/multibase/rfc4648.d.ts +0 -6
  1113. package/types/runtime/multibase/rfc4648.d.ts.map +0 -1
  1114. package/types/runtime/multibase/util.d.ts +0 -4
  1115. package/types/runtime/multibase/util.d.ts.map +0 -1
  1116. package/types/runtime/url.d.ts +0 -11
  1117. package/types/runtime/url.d.ts.map +0 -1
  1118. package/types/shim/event.d.ts.map +0 -1
  1119. package/types/sig/http.d.ts +0 -221
  1120. package/types/sig/http.d.ts.map +0 -1
  1121. package/types/sig/key.d.ts +0 -123
  1122. package/types/sig/key.d.ts.map +0 -1
  1123. package/types/sig/ld.d.ts +0 -152
  1124. package/types/sig/ld.d.ts.map +0 -1
  1125. package/types/sig/mod.d.ts +0 -12
  1126. package/types/sig/mod.d.ts.map +0 -1
  1127. package/types/sig/owner.d.ts +0 -65
  1128. package/types/sig/owner.d.ts.map +0 -1
  1129. package/types/sig/proof.d.ts +0 -122
  1130. package/types/sig/proof.d.ts.map +0 -1
  1131. package/types/vocab/actor.d.ts +0 -125
  1132. package/types/vocab/actor.d.ts.map +0 -1
  1133. package/types/vocab/constants.d.ts +0 -10
  1134. package/types/vocab/constants.d.ts.map +0 -1
  1135. package/types/vocab/lookup.d.ts +0 -115
  1136. package/types/vocab/lookup.d.ts.map +0 -1
  1137. package/types/vocab/mod.d.ts +0 -58
  1138. package/types/vocab/mod.d.ts.map +0 -1
  1139. package/types/vocab/type.d.ts +0 -82
  1140. package/types/vocab/type.d.ts.map +0 -1
  1141. package/types/vocab/vocab.d.ts +0 -14437
  1142. package/types/vocab/vocab.d.ts.map +0 -1
  1143. package/types/webfinger/handler.d.ts +0 -56
  1144. package/types/webfinger/handler.d.ts.map +0 -1
  1145. package/types/webfinger/jrd.d.ts +0 -52
  1146. package/types/webfinger/jrd.d.ts.map +0 -1
  1147. package/types/webfinger/lookup.d.ts +0 -39
  1148. package/types/webfinger/lookup.d.ts.map +0 -1
  1149. package/types/webfinger/mod.d.ts +0 -9
  1150. package/types/webfinger/mod.d.ts.map +0 -1
  1151. package/types/x/hono.d.ts +0 -46
  1152. package/types/x/hono.d.ts.map +0 -1
  1153. package/types/x/sveltekit.d.ts +0 -42
  1154. package/types/x/sveltekit.d.ts.map +0 -1
  1155. /package/{esm → dist}/codegen/schema.yaml +0 -0
  1156. /package/{esm → dist}/testing/fixtures/activitypub.academy/users/brauca_darradiul +0 -0
  1157. /package/{esm → dist}/testing/fixtures/example.com/announce +0 -0
  1158. /package/{esm → dist}/testing/fixtures/example.com/collection +0 -0
  1159. /package/{esm → dist}/testing/fixtures/example.com/create +0 -0
  1160. /package/{esm → dist}/testing/fixtures/example.com/cross-origin-actor +0 -0
  1161. /package/{esm → dist}/testing/fixtures/example.com/hong-gildong +0 -0
  1162. /package/{esm → dist}/testing/fixtures/example.com/invite +0 -0
  1163. /package/{esm → dist}/testing/fixtures/example.com/key +0 -0
  1164. /package/{esm → dist}/testing/fixtures/example.com/key2 +0 -0
  1165. /package/{esm → dist}/testing/fixtures/example.com/object +0 -0
  1166. /package/{esm → dist}/testing/fixtures/example.com/orderedcollectionpage +0 -0
  1167. /package/{esm → dist}/testing/fixtures/example.com/paged/a +0 -0
  1168. /package/{esm → dist}/testing/fixtures/example.com/paged/b +0 -0
  1169. /package/{esm → dist}/testing/fixtures/example.com/paged-collection +0 -0
  1170. /package/{esm → dist}/testing/fixtures/example.com/person +0 -0
  1171. /package/{esm → dist}/testing/fixtures/example.com/person2 +0 -0
  1172. /package/{esm → dist}/testing/fixtures/example.com/test +0 -0
  1173. /package/{esm → dist}/testing/fixtures/example.com/users/handle +0 -0
  1174. /package/{esm → dist}/testing/fixtures/example.com/wrong-type +0 -0
  1175. /package/{esm → dist}/testing/fixtures/remote.domain/users/bob +0 -0
  1176. /package/{esm → dist}/testing/fixtures/server.example/users/alice +0 -0
  1177. /package/{esm → dist}/testing/fixtures/w3id.org/identity/v1 +0 -0
  1178. /package/{esm → dist}/testing/fixtures/w3id.org/security/data-integrity/v1 +0 -0
  1179. /package/{esm → dist}/testing/fixtures/w3id.org/security/multikey/v1 +0 -0
  1180. /package/{esm → dist}/testing/fixtures/w3id.org/security/v1 +0 -0
  1181. /package/{esm → dist}/testing/fixtures/wizard.casa/users/hongminhee +0 -0
  1182. /package/{esm → dist}/testing/fixtures/www.w3.org/ns/activitystreams +0 -0
  1183. /package/{esm → dist}/testing/fixtures/www.w3.org/ns/did/v1 +0 -0
  1184. /package/{esm → dist}/vocab/accept.yaml +0 -0
  1185. /package/{esm → dist}/vocab/activity.yaml +0 -0
  1186. /package/{esm → dist}/vocab/add.yaml +0 -0
  1187. /package/{esm → dist}/vocab/announce.yaml +0 -0
  1188. /package/{esm → dist}/vocab/application.yaml +0 -0
  1189. /package/{esm → dist}/vocab/arrive.yaml +0 -0
  1190. /package/{esm → dist}/vocab/article.yaml +0 -0
  1191. /package/{esm → dist}/vocab/audio.yaml +0 -0
  1192. /package/{esm → dist}/vocab/block.yaml +0 -0
  1193. /package/{esm → dist}/vocab/chatmessage.yaml +0 -0
  1194. /package/{esm → dist}/vocab/collection.yaml +0 -0
  1195. /package/{esm → dist}/vocab/collectionpage.yaml +0 -0
  1196. /package/{esm → dist}/vocab/create.yaml +0 -0
  1197. /package/{esm → dist}/vocab/dataintegrityproof.yaml +0 -0
  1198. /package/{esm → dist}/vocab/delete.yaml +0 -0
  1199. /package/{esm → dist}/vocab/didservice.yaml +0 -0
  1200. /package/{esm → dist}/vocab/dislike.yaml +0 -0
  1201. /package/{esm → dist}/vocab/document.yaml +0 -0
  1202. /package/{esm → dist}/vocab/emoji.yaml +0 -0
  1203. /package/{esm → dist}/vocab/emojireact.yaml +0 -0
  1204. /package/{esm → dist}/vocab/endpoints.yaml +0 -0
  1205. /package/{esm → dist}/vocab/event.yaml +0 -0
  1206. /package/{esm → dist}/vocab/export.yaml +0 -0
  1207. /package/{esm → dist}/vocab/flag.yaml +0 -0
  1208. /package/{esm → dist}/vocab/follow.yaml +0 -0
  1209. /package/{esm → dist}/vocab/group.yaml +0 -0
  1210. /package/{esm → dist}/vocab/hashtag.yaml +0 -0
  1211. /package/{esm → dist}/vocab/ignore.yaml +0 -0
  1212. /package/{esm → dist}/vocab/image.yaml +0 -0
  1213. /package/{esm → dist}/vocab/intransitiveactivity.yaml +0 -0
  1214. /package/{esm → dist}/vocab/invite.yaml +0 -0
  1215. /package/{esm → dist}/vocab/join.yaml +0 -0
  1216. /package/{esm → dist}/vocab/key.yaml +0 -0
  1217. /package/{esm → dist}/vocab/leave.yaml +0 -0
  1218. /package/{esm → dist}/vocab/like.yaml +0 -0
  1219. /package/{esm → dist}/vocab/link.yaml +0 -0
  1220. /package/{esm → dist}/vocab/listen.yaml +0 -0
  1221. /package/{esm → dist}/vocab/mention.yaml +0 -0
  1222. /package/{esm → dist}/vocab/move.yaml +0 -0
  1223. /package/{esm → dist}/vocab/multikey.yaml +0 -0
  1224. /package/{esm → dist}/vocab/note.yaml +0 -0
  1225. /package/{esm → dist}/vocab/object.yaml +0 -0
  1226. /package/{esm → dist}/vocab/offer.yaml +0 -0
  1227. /package/{esm → dist}/vocab/orderedcollection.yaml +0 -0
  1228. /package/{esm → dist}/vocab/orderedcollectionpage.yaml +0 -0
  1229. /package/{esm → dist}/vocab/organization.yaml +0 -0
  1230. /package/{esm → dist}/vocab/page.yaml +0 -0
  1231. /package/{esm → dist}/vocab/person.yaml +0 -0
  1232. /package/{esm → dist}/vocab/place.yaml +0 -0
  1233. /package/{esm → dist}/vocab/profile.yaml +0 -0
  1234. /package/{esm → dist}/vocab/propertyvalue.yaml +0 -0
  1235. /package/{esm → dist}/vocab/question.yaml +0 -0
  1236. /package/{esm → dist}/vocab/read.yaml +0 -0
  1237. /package/{esm → dist}/vocab/reject.yaml +0 -0
  1238. /package/{esm → dist}/vocab/relationship.yaml +0 -0
  1239. /package/{esm → dist}/vocab/remove.yaml +0 -0
  1240. /package/{esm → dist}/vocab/service.yaml +0 -0
  1241. /package/{esm → dist}/vocab/source.yaml +0 -0
  1242. /package/{esm → dist}/vocab/tentativeaccept.yaml +0 -0
  1243. /package/{esm → dist}/vocab/tentativereject.yaml +0 -0
  1244. /package/{esm → dist}/vocab/tombstone.yaml +0 -0
  1245. /package/{esm → dist}/vocab/travel.yaml +0 -0
  1246. /package/{esm → dist}/vocab/undo.yaml +0 -0
  1247. /package/{esm → dist}/vocab/update.yaml +0 -0
  1248. /package/{esm → dist}/vocab/video.yaml +0 -0
  1249. /package/{esm → dist}/vocab/view.yaml +0 -0
@@ -0,0 +1,1491 @@
1
+
2
+ import { Temporal } from "@js-temporal/polyfill";
3
+ import { URLPattern } from "urlpattern-polyfill";
4
+
5
+ import { getTypeId } from "../vocab/type.js";
6
+ import { FetchError, fetchDocumentLoader } from "../runtime/docloader.js";
7
+ import { Activity, Announce, Create, Invite, Multikey, Note, Object as Object$1, Offer, Person } from "../vocab/vocab.js";
8
+ import { RouterError } from "./router.js";
9
+ import { signRequest, verifyRequest } from "../sig/http.js";
10
+ import { detachSignature, signJsonLd, verifyJsonLd } from "../sig/ld.js";
11
+ import { doesActorOwnKey } from "../sig/owner.js";
12
+ import { signObject, verifyObject } from "../sig/proof.js";
13
+ import { MemoryKvStore } from "./kv.js";
14
+ import { getAuthenticatedDocumentLoader } from "../runtime/authdocloader.js";
15
+ import { lookupObject } from "../vocab/lookup.js";
16
+ import { ContextImpl, FederationImpl, InboxContextImpl, createFederation } from "./middleware.js";
17
+ import { assert } from "../node_modules/.pnpm/@jsr_std__assert@0.226.0/node_modules/@jsr/std__assert/assert.js";
18
+ import { assertEquals } from "../node_modules/.pnpm/@jsr_std__assert@0.226.0/node_modules/@jsr/std__assert/assert_equals.js";
19
+ import { assertInstanceOf } from "../node_modules/.pnpm/@jsr_std__assert@0.226.0/node_modules/@jsr/std__assert/assert_instance_of.js";
20
+ import { test } from "../testing/mod.js";
21
+ import { assertFalse } from "../node_modules/.pnpm/@jsr_std__assert@0.226.0/node_modules/@jsr/std__assert/assert_false.js";
22
+ import { assertNotEquals } from "../node_modules/.pnpm/@jsr_std__assert@0.226.0/node_modules/@jsr/std__assert/assert_not_equals.js";
23
+ import { assertRejects } from "../node_modules/.pnpm/@jsr_std__assert@0.226.0/node_modules/@jsr/std__assert/assert_rejects.js";
24
+ import { assertStrictEquals } from "../node_modules/.pnpm/@jsr_std__assert@0.226.0/node_modules/@jsr/std__assert/assert_strict_equals.js";
25
+ import { assertThrows } from "../node_modules/.pnpm/@jsr_std__assert@0.226.0/node_modules/@jsr/std__assert/assert_throws.js";
26
+ import { dirname } from "../node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/dirname.js";
27
+ import { join } from "../node_modules/.pnpm/@jsr_std__path@1.0.9/node_modules/@jsr/std__path/join.js";
28
+ import { mockDocumentLoader } from "../testing/docloader.js";
29
+ import { ed25519Multikey, ed25519PrivateKey, ed25519PublicKey, rsaPrivateKey2, rsaPrivateKey3, rsaPublicKey2, rsaPublicKey3 } from "../testing/keys.js";
30
+ import { install, mock, uninstall } from "../node_modules/.pnpm/@jsr_hongminhee__deno-mock-fetch@0.3.2/node_modules/@jsr/hongminhee__deno-mock-fetch/mod.js";
31
+ import { readFile } from "node:fs/promises";
32
+
33
+ //#region federation/middleware.test.ts
34
+ test("createFederation()", async (t) => {
35
+ const kv = new MemoryKvStore();
36
+ await t.step("allowPrivateAddress", () => {
37
+ assertThrows(() => createFederation({
38
+ kv,
39
+ documentLoader: mockDocumentLoader,
40
+ allowPrivateAddress: true
41
+ }), TypeError);
42
+ assertThrows(() => createFederation({
43
+ kv,
44
+ contextLoader: mockDocumentLoader,
45
+ allowPrivateAddress: true
46
+ }), TypeError);
47
+ assertThrows(() => createFederation({
48
+ kv,
49
+ authenticatedDocumentLoaderFactory: () => mockDocumentLoader,
50
+ allowPrivateAddress: true
51
+ }), TypeError);
52
+ });
53
+ await t.step("origin", () => {
54
+ const f = createFederation({
55
+ kv,
56
+ origin: "http://example.com:8080"
57
+ });
58
+ assertInstanceOf(f, FederationImpl);
59
+ assertEquals(f.origin, {
60
+ handleHost: "example.com:8080",
61
+ webOrigin: "http://example.com:8080"
62
+ });
63
+ assertThrows(() => createFederation({
64
+ kv,
65
+ origin: "example.com"
66
+ }), TypeError);
67
+ assertThrows(() => createFederation({
68
+ kv,
69
+ origin: "ftp://example.com"
70
+ }), TypeError);
71
+ assertThrows(() => createFederation({
72
+ kv,
73
+ origin: "https://example.com/foo"
74
+ }), TypeError);
75
+ assertThrows(() => createFederation({
76
+ kv,
77
+ origin: "https://example.com/?foo"
78
+ }), TypeError);
79
+ assertThrows(() => createFederation({
80
+ kv,
81
+ origin: "https://example.com/#foo"
82
+ }), TypeError);
83
+ const f2 = createFederation({
84
+ kv,
85
+ origin: {
86
+ handleHost: "example.com:8080",
87
+ webOrigin: "https://ap.example.com"
88
+ }
89
+ });
90
+ assertInstanceOf(f2, FederationImpl);
91
+ assertEquals(f2.origin, {
92
+ handleHost: "example.com:8080",
93
+ webOrigin: "https://ap.example.com"
94
+ });
95
+ assertThrows(() => createFederation({
96
+ kv,
97
+ origin: {
98
+ handleHost: "https://example.com",
99
+ webOrigin: "https://example.com"
100
+ }
101
+ }), TypeError);
102
+ assertThrows(() => createFederation({
103
+ kv,
104
+ origin: {
105
+ handleHost: "example.com/",
106
+ webOrigin: "https://example.com"
107
+ }
108
+ }), TypeError);
109
+ assertThrows(() => createFederation({
110
+ kv,
111
+ origin: {
112
+ handleHost: "example.com",
113
+ webOrigin: "example.com"
114
+ }
115
+ }), TypeError);
116
+ assertThrows(() => createFederation({
117
+ kv,
118
+ origin: {
119
+ handleHost: "example.com",
120
+ webOrigin: "ftp://example.com"
121
+ }
122
+ }), TypeError);
123
+ assertThrows(() => createFederation({
124
+ kv,
125
+ origin: {
126
+ handleHost: "example.com",
127
+ webOrigin: "https://example.com/foo"
128
+ }
129
+ }), TypeError);
130
+ assertThrows(() => createFederation({
131
+ kv,
132
+ origin: {
133
+ handleHost: "example.com",
134
+ webOrigin: "https://example.com/?foo"
135
+ }
136
+ }), TypeError);
137
+ assertThrows(() => createFederation({
138
+ kv,
139
+ origin: {
140
+ handleHost: "example.com",
141
+ webOrigin: "https://example.com/#foo"
142
+ }
143
+ }), TypeError);
144
+ });
145
+ });
146
+ test("Federation.createContext()", async (t) => {
147
+ const kv = new MemoryKvStore();
148
+ const documentLoader = (url) => {
149
+ throw new FetchError(new URL(url), "Not found");
150
+ };
151
+ install();
152
+ mock("GET@/object", async (req) => {
153
+ const v = await verifyRequest(req, {
154
+ contextLoader: mockDocumentLoader,
155
+ documentLoader: mockDocumentLoader,
156
+ currentTime: Temporal.Now.instant()
157
+ });
158
+ return new Response(JSON.stringify(v != null), { headers: { "Content-Type": "application/json" } });
159
+ });
160
+ await t.step("Context", async () => {
161
+ const federation = createFederation({
162
+ kv,
163
+ documentLoader,
164
+ contextLoader: mockDocumentLoader
165
+ });
166
+ let ctx = federation.createContext(new URL("https://example.com:1234/"), 123);
167
+ assertEquals(ctx.data, 123);
168
+ assertEquals(ctx.origin, "https://example.com:1234");
169
+ assertEquals(ctx.canonicalOrigin, "https://example.com:1234");
170
+ assertEquals(ctx.host, "example.com:1234");
171
+ assertEquals(ctx.hostname, "example.com");
172
+ assertStrictEquals(ctx.documentLoader, documentLoader);
173
+ assertStrictEquals(ctx.contextLoader, mockDocumentLoader);
174
+ assertThrows(() => ctx.getNodeInfoUri(), RouterError);
175
+ assertThrows(() => ctx.getActorUri("handle"), RouterError);
176
+ assertThrows(() => ctx.getObjectUri(Note, {
177
+ handle: "handle",
178
+ id: "id"
179
+ }), RouterError);
180
+ assertThrows(() => ctx.getInboxUri(), RouterError);
181
+ assertThrows(() => ctx.getInboxUri("handle"), RouterError);
182
+ assertThrows(() => ctx.getOutboxUri("handle"), RouterError);
183
+ assertThrows(() => ctx.getFollowingUri("handle"), RouterError);
184
+ assertThrows(() => ctx.getFollowersUri("handle"), RouterError);
185
+ assertThrows(() => ctx.getLikedUri("handle"), RouterError);
186
+ assertThrows(() => ctx.getFeaturedUri("handle"), RouterError);
187
+ assertThrows(() => ctx.getFeaturedTagsUri("handle"), RouterError);
188
+ assertEquals(ctx.parseUri(new URL("https://example.com/")), null);
189
+ assertEquals(ctx.parseUri(null), null);
190
+ assertEquals(await ctx.getActorKeyPairs("handle"), []);
191
+ await assertRejects(() => ctx.getDocumentLoader({ identifier: "handle" }), Error, "No actor key pairs dispatcher registered");
192
+ await assertRejects(() => ctx.sendActivity({ identifier: "handle" }, [], new Create({})), Error, "No actor key pairs dispatcher registered");
193
+ federation.setNodeInfoDispatcher("/nodeinfo/2.1", () => ({
194
+ software: {
195
+ name: "Example",
196
+ version: {
197
+ major: 1,
198
+ minor: 2,
199
+ patch: 3
200
+ }
201
+ },
202
+ protocols: ["activitypub"],
203
+ usage: {
204
+ users: {},
205
+ localPosts: 123,
206
+ localComments: 456
207
+ }
208
+ }));
209
+ ctx = federation.createContext(new URL("https://example.com/"), 123);
210
+ assertEquals(ctx.getNodeInfoUri(), new URL("https://example.com/nodeinfo/2.1"));
211
+ federation.setActorDispatcher("/users/{identifier}", () => new Person({})).setKeyPairsDispatcher(() => [{
212
+ privateKey: rsaPrivateKey2,
213
+ publicKey: rsaPublicKey2.publicKey
214
+ }, {
215
+ privateKey: ed25519PrivateKey,
216
+ publicKey: ed25519PublicKey.publicKey
217
+ }]).mapHandle((_, username) => username === "HANDLE" ? "handle" : null);
218
+ ctx = federation.createContext(new URL("https://example.com/"), 123);
219
+ assertEquals(ctx.getActorUri("handle"), new URL("https://example.com/users/handle"));
220
+ assertEquals(ctx.parseUri(new URL("https://example.com/")), null);
221
+ assertEquals(ctx.parseUri(new URL("https://example.com/users/handle")), {
222
+ type: "actor",
223
+ identifier: "handle",
224
+ handle: "handle"
225
+ });
226
+ assertEquals(ctx.parseUri(null), null);
227
+ assertEquals(await ctx.getActorKeyPairs("handle"), [{
228
+ keyId: new URL("https://example.com/users/handle#main-key"),
229
+ privateKey: rsaPrivateKey2,
230
+ publicKey: rsaPublicKey2.publicKey,
231
+ cryptographicKey: rsaPublicKey2.clone({
232
+ id: new URL("https://example.com/users/handle#main-key"),
233
+ owner: new URL("https://example.com/users/handle")
234
+ }),
235
+ multikey: new Multikey({
236
+ id: new URL("https://example.com/users/handle#main-key"),
237
+ controller: new URL("https://example.com/users/handle"),
238
+ publicKey: rsaPublicKey2.publicKey
239
+ })
240
+ }, {
241
+ keyId: new URL("https://example.com/users/handle#key-2"),
242
+ privateKey: ed25519PrivateKey,
243
+ publicKey: ed25519PublicKey.publicKey,
244
+ cryptographicKey: ed25519PublicKey.clone({
245
+ id: new URL("https://example.com/users/handle#key-2"),
246
+ owner: new URL("https://example.com/users/handle")
247
+ }),
248
+ multikey: new Multikey({
249
+ id: new URL("https://example.com/users/handle#key-2"),
250
+ controller: new URL("https://example.com/users/handle"),
251
+ publicKey: ed25519PublicKey.publicKey
252
+ })
253
+ }]);
254
+ const loader = await ctx.getDocumentLoader({ identifier: "handle" });
255
+ assertEquals(await loader("https://example.com/object"), {
256
+ contextUrl: null,
257
+ documentUrl: "https://example.com/object",
258
+ document: true
259
+ });
260
+ const loader2 = await ctx.getDocumentLoader({ username: "HANDLE" });
261
+ assertEquals(await loader2("https://example.com/object"), {
262
+ contextUrl: null,
263
+ documentUrl: "https://example.com/object",
264
+ document: true
265
+ });
266
+ const loader3 = ctx.getDocumentLoader({
267
+ keyId: new URL("https://example.com/key2"),
268
+ privateKey: rsaPrivateKey2
269
+ });
270
+ assertEquals(await loader3("https://example.com/object"), {
271
+ contextUrl: null,
272
+ documentUrl: "https://example.com/object",
273
+ document: true
274
+ });
275
+ assertEquals(await ctx.lookupObject("https://example.com/object"), null);
276
+ await assertRejects(() => ctx.sendActivity({ identifier: "handle" }, [], new Create({})), TypeError, "The activity to send must have at least one actor property.");
277
+ await ctx.sendActivity({ identifier: "handle" }, [], new Create({ actor: new URL("https://example.com/users/handle") }));
278
+ const federation2 = createFederation({
279
+ kv,
280
+ documentLoader: mockDocumentLoader,
281
+ contextLoader: mockDocumentLoader
282
+ });
283
+ const ctx2 = federation2.createContext(new URL("https://example.com/"), 123);
284
+ assertEquals(await ctx2.lookupObject("https://example.com/object"), new Object$1({
285
+ id: new URL("https://example.com/object"),
286
+ name: "Fetched object"
287
+ }));
288
+ federation.setObjectDispatcher(Note, "/users/{identifier}/notes/{id}", (_ctx, values) => {
289
+ return new Note({ summary: `Note ${values.id} by ${values.identifier}` });
290
+ });
291
+ ctx = federation.createContext(new URL("https://example.com/"), 123);
292
+ assertEquals(ctx.getObjectUri(Note, {
293
+ identifier: "john",
294
+ id: "123"
295
+ }), new URL("https://example.com/users/john/notes/123"));
296
+ assertEquals(ctx.parseUri(new URL("https://example.com/users/john/notes/123")), {
297
+ type: "object",
298
+ class: Note,
299
+ typeId: new URL("https://www.w3.org/ns/activitystreams#Note"),
300
+ values: {
301
+ identifier: "john",
302
+ id: "123"
303
+ }
304
+ });
305
+ assertEquals(ctx.parseUri(null), null);
306
+ federation.setInboxListeners("/users/{identifier}/inbox", "/inbox");
307
+ ctx = federation.createContext(new URL("https://example.com/"), 123);
308
+ assertEquals(ctx.getInboxUri(), new URL("https://example.com/inbox"));
309
+ assertEquals(ctx.getInboxUri("handle"), new URL("https://example.com/users/handle/inbox"));
310
+ assertEquals(ctx.parseUri(new URL("https://example.com/inbox")), {
311
+ type: "inbox",
312
+ identifier: void 0,
313
+ handle: void 0
314
+ });
315
+ assertEquals(ctx.parseUri(new URL("https://example.com/users/handle/inbox")), {
316
+ type: "inbox",
317
+ identifier: "handle",
318
+ handle: "handle"
319
+ });
320
+ assertEquals(ctx.parseUri(null), null);
321
+ federation.setOutboxDispatcher("/users/{identifier}/outbox", () => ({ items: [] }));
322
+ ctx = federation.createContext(new URL("https://example.com/"), 123);
323
+ assertEquals(ctx.getOutboxUri("handle"), new URL("https://example.com/users/handle/outbox"));
324
+ assertEquals(ctx.parseUri(new URL("https://example.com/users/handle/outbox")), {
325
+ type: "outbox",
326
+ identifier: "handle",
327
+ handle: "handle"
328
+ });
329
+ assertEquals(ctx.parseUri(null), null);
330
+ federation.setFollowingDispatcher("/users/{identifier}/following", () => ({ items: [] }));
331
+ ctx = federation.createContext(new URL("https://example.com/"), 123);
332
+ assertEquals(ctx.getFollowingUri("handle"), new URL("https://example.com/users/handle/following"));
333
+ assertEquals(ctx.parseUri(new URL("https://example.com/users/handle/following")), {
334
+ type: "following",
335
+ identifier: "handle",
336
+ handle: "handle"
337
+ });
338
+ assertEquals(ctx.parseUri(null), null);
339
+ federation.setFollowersDispatcher("/users/{identifier}/followers", () => ({ items: [] }));
340
+ ctx = federation.createContext(new URL("https://example.com/"), 123);
341
+ assertEquals(ctx.getFollowersUri("handle"), new URL("https://example.com/users/handle/followers"));
342
+ assertEquals(ctx.parseUri(new URL("https://example.com/users/handle/followers")), {
343
+ type: "followers",
344
+ identifier: "handle",
345
+ handle: "handle"
346
+ });
347
+ assertEquals(ctx.parseUri(null), null);
348
+ federation.setLikedDispatcher("/users/{identifier}/liked", () => ({ items: [] }));
349
+ ctx = federation.createContext(new URL("https://example.com/"), 123);
350
+ assertEquals(ctx.getLikedUri("handle"), new URL("https://example.com/users/handle/liked"));
351
+ assertEquals(ctx.parseUri(new URL("https://example.com/users/handle/liked")), {
352
+ type: "liked",
353
+ identifier: "handle",
354
+ handle: "handle"
355
+ });
356
+ assertEquals(ctx.parseUri(null), null);
357
+ federation.setFeaturedDispatcher("/users/{identifier}/featured", () => ({ items: [] }));
358
+ ctx = federation.createContext(new URL("https://example.com/"), 123);
359
+ assertEquals(ctx.getFeaturedUri("handle"), new URL("https://example.com/users/handle/featured"));
360
+ assertEquals(ctx.parseUri(new URL("https://example.com/users/handle/featured")), {
361
+ type: "featured",
362
+ identifier: "handle",
363
+ handle: "handle"
364
+ });
365
+ assertEquals(ctx.parseUri(null), null);
366
+ federation.setFeaturedTagsDispatcher("/users/{identifier}/tags", () => ({ items: [] }));
367
+ ctx = federation.createContext(new URL("https://example.com/"), 123);
368
+ assertEquals(ctx.getFeaturedTagsUri("handle"), new URL("https://example.com/users/handle/tags"));
369
+ assertEquals(ctx.parseUri(new URL("https://example.com/users/handle/tags")), {
370
+ type: "featuredTags",
371
+ identifier: "handle",
372
+ handle: "handle"
373
+ });
374
+ assertEquals(ctx.parseUri(null), null);
375
+ });
376
+ await t.step("Context with origin", () => {
377
+ const federation = createFederation({
378
+ kv,
379
+ origin: "https://ap.example.com",
380
+ documentLoader,
381
+ contextLoader: mockDocumentLoader
382
+ });
383
+ const ctx = federation.createContext(new URL("https://example.com:1234/"));
384
+ assertEquals(ctx.origin, "https://example.com:1234");
385
+ assertEquals(ctx.canonicalOrigin, "https://ap.example.com");
386
+ assertEquals(ctx.host, "example.com:1234");
387
+ assertEquals(ctx.hostname, "example.com");
388
+ federation.setNodeInfoDispatcher("/nodeinfo/2.1", () => ({
389
+ software: {
390
+ name: "Example",
391
+ version: {
392
+ major: 1,
393
+ minor: 2,
394
+ patch: 3
395
+ }
396
+ },
397
+ protocols: ["activitypub"],
398
+ usage: {
399
+ users: {},
400
+ localPosts: 123,
401
+ localComments: 456
402
+ }
403
+ }));
404
+ assertEquals(ctx.getNodeInfoUri(), new URL("https://ap.example.com/nodeinfo/2.1"));
405
+ federation.setActorDispatcher("/users/{identifier}", () => new Person({}));
406
+ assertEquals(ctx.getActorUri("handle"), new URL("https://ap.example.com/users/handle"));
407
+ assertEquals(ctx.parseUri(new URL("https://ap.example.com/users/handle")), {
408
+ type: "actor",
409
+ handle: "handle",
410
+ identifier: "handle"
411
+ });
412
+ assertEquals(ctx.parseUri(new URL("https://example.com:1234/users/handle")), {
413
+ type: "actor",
414
+ handle: "handle",
415
+ identifier: "handle"
416
+ });
417
+ federation.setObjectDispatcher(Note, "/users/{identifier}/notes/{id}", (_ctx, values) => {
418
+ return new Note({ summary: `Note ${values.id} by ${values.identifier}` });
419
+ });
420
+ assertEquals(ctx.getObjectUri(Note, {
421
+ identifier: "john",
422
+ id: "123"
423
+ }), new URL("https://ap.example.com/users/john/notes/123"));
424
+ assertEquals(ctx.parseUri(new URL("https://ap.example.com/users/john/notes/123")), {
425
+ type: "object",
426
+ class: Note,
427
+ typeId: new URL("https://www.w3.org/ns/activitystreams#Note"),
428
+ values: {
429
+ identifier: "john",
430
+ id: "123"
431
+ }
432
+ });
433
+ assertEquals(ctx.parseUri(new URL("https://example.com:1234/users/john/notes/123")), {
434
+ type: "object",
435
+ class: Note,
436
+ typeId: new URL("https://www.w3.org/ns/activitystreams#Note"),
437
+ values: {
438
+ identifier: "john",
439
+ id: "123"
440
+ }
441
+ });
442
+ federation.setInboxListeners("/users/{identifier}/inbox", "/inbox");
443
+ assertEquals(ctx.getInboxUri(), new URL("https://ap.example.com/inbox"));
444
+ assertEquals(ctx.getInboxUri("handle"), new URL("https://ap.example.com/users/handle/inbox"));
445
+ assertEquals(ctx.parseUri(new URL("https://ap.example.com/inbox")), {
446
+ type: "inbox",
447
+ handle: void 0,
448
+ identifier: void 0
449
+ });
450
+ assertEquals(ctx.parseUri(new URL("https://example.com:1234/inbox")), {
451
+ type: "inbox",
452
+ handle: void 0,
453
+ identifier: void 0
454
+ });
455
+ assertEquals(ctx.parseUri(new URL("https://ap.example.com/users/handle/inbox")), {
456
+ type: "inbox",
457
+ handle: "handle",
458
+ identifier: "handle"
459
+ });
460
+ assertEquals(ctx.parseUri(new URL("https://example.com:1234/users/handle/inbox")), {
461
+ type: "inbox",
462
+ handle: "handle",
463
+ identifier: "handle"
464
+ });
465
+ federation.setOutboxDispatcher("/users/{identifier}/outbox", () => ({ items: [] }));
466
+ assertEquals(ctx.getOutboxUri("handle"), new URL("https://ap.example.com/users/handle/outbox"));
467
+ assertEquals(ctx.parseUri(new URL("https://ap.example.com/users/handle/outbox")), {
468
+ type: "outbox",
469
+ handle: "handle",
470
+ identifier: "handle"
471
+ });
472
+ assertEquals(ctx.parseUri(new URL("https://example.com:1234/users/handle/outbox")), {
473
+ type: "outbox",
474
+ handle: "handle",
475
+ identifier: "handle"
476
+ });
477
+ federation.setFollowingDispatcher("/users/{identifier}/following", () => ({ items: [] }));
478
+ assertEquals(ctx.getFollowingUri("handle"), new URL("https://ap.example.com/users/handle/following"));
479
+ assertEquals(ctx.parseUri(new URL("https://ap.example.com/users/handle/following")), {
480
+ type: "following",
481
+ handle: "handle",
482
+ identifier: "handle"
483
+ });
484
+ assertEquals(ctx.parseUri(new URL("https://example.com:1234/users/handle/following")), {
485
+ type: "following",
486
+ handle: "handle",
487
+ identifier: "handle"
488
+ });
489
+ federation.setFollowersDispatcher("/users/{identifier}/followers", () => ({ items: [] }));
490
+ assertEquals(ctx.getFollowersUri("handle"), new URL("https://ap.example.com/users/handle/followers"));
491
+ assertEquals(ctx.parseUri(new URL("https://ap.example.com/users/handle/followers")), {
492
+ type: "followers",
493
+ handle: "handle",
494
+ identifier: "handle"
495
+ });
496
+ assertEquals(ctx.parseUri(new URL("https://example.com:1234/users/handle/followers")), {
497
+ type: "followers",
498
+ handle: "handle",
499
+ identifier: "handle"
500
+ });
501
+ federation.setLikedDispatcher("/users/{identifier}/liked", () => ({ items: [] }));
502
+ assertEquals(ctx.getLikedUri("handle"), new URL("https://ap.example.com/users/handle/liked"));
503
+ assertEquals(ctx.parseUri(new URL("https://ap.example.com/users/handle/liked")), {
504
+ type: "liked",
505
+ handle: "handle",
506
+ identifier: "handle"
507
+ });
508
+ assertEquals(ctx.parseUri(new URL("https://example.com:1234/users/handle/liked")), {
509
+ type: "liked",
510
+ handle: "handle",
511
+ identifier: "handle"
512
+ });
513
+ federation.setFeaturedDispatcher("/users/{identifier}/featured", () => ({ items: [] }));
514
+ assertEquals(ctx.getFeaturedUri("handle"), new URL("https://ap.example.com/users/handle/featured"));
515
+ assertEquals(ctx.parseUri(new URL("https://ap.example.com/users/handle/featured")), {
516
+ type: "featured",
517
+ handle: "handle",
518
+ identifier: "handle"
519
+ });
520
+ assertEquals(ctx.parseUri(new URL("https://example.com:1234/users/handle/featured")), {
521
+ type: "featured",
522
+ handle: "handle",
523
+ identifier: "handle"
524
+ });
525
+ federation.setFeaturedTagsDispatcher("/users/{identifier}/tags", () => ({ items: [] }));
526
+ assertEquals(ctx.getFeaturedTagsUri("handle"), new URL("https://ap.example.com/users/handle/tags"));
527
+ assertEquals(ctx.parseUri(new URL("https://ap.example.com/users/handle/tags")), {
528
+ type: "featuredTags",
529
+ handle: "handle",
530
+ identifier: "handle"
531
+ });
532
+ assertEquals(ctx.parseUri(new URL("https://example.com:1234/users/handle/tags")), {
533
+ type: "featuredTags",
534
+ handle: "handle",
535
+ identifier: "handle"
536
+ });
537
+ });
538
+ mock("GET@/.well-known/nodeinfo", (req) => {
539
+ assertEquals(new URL(req.url).host, "example.com");
540
+ assertEquals(req.headers.get("User-Agent"), "CustomUserAgent/1.2.3");
541
+ return new Response(JSON.stringify({ links: [{
542
+ rel: "http://nodeinfo.diaspora.software/ns/schema/2.1",
543
+ href: "https://example.com/nodeinfo/2.1"
544
+ }] }));
545
+ });
546
+ mock("GET@/nodeinfo/2.1", (req) => {
547
+ assertEquals(new URL(req.url).host, "example.com");
548
+ assertEquals(req.headers.get("User-Agent"), "CustomUserAgent/1.2.3");
549
+ return new Response(JSON.stringify({
550
+ software: {
551
+ name: "foo",
552
+ version: "1.2.3"
553
+ },
554
+ protocols: ["activitypub", "diaspora"],
555
+ usage: {
556
+ users: {},
557
+ localPosts: 123,
558
+ localComments: 456
559
+ }
560
+ }));
561
+ });
562
+ await t.step("Context.lookupNodeInfo()", async () => {
563
+ const federation = createFederation({
564
+ kv,
565
+ userAgent: "CustomUserAgent/1.2.3"
566
+ });
567
+ const ctx = federation.createContext(new URL("https://example.com/"), 123);
568
+ const nodeInfo = await ctx.lookupNodeInfo("https://example.com/");
569
+ assertEquals(nodeInfo, {
570
+ software: {
571
+ name: "foo",
572
+ version: {
573
+ major: 1,
574
+ minor: 2,
575
+ patch: 3,
576
+ build: [],
577
+ prerelease: []
578
+ }
579
+ },
580
+ protocols: ["activitypub", "diaspora"],
581
+ usage: {
582
+ users: {},
583
+ localPosts: 123,
584
+ localComments: 456
585
+ }
586
+ });
587
+ const rawNodeInfo = await ctx.lookupNodeInfo("https://example.com/", { parse: "none" });
588
+ assertEquals(rawNodeInfo, {
589
+ software: {
590
+ name: "foo",
591
+ version: "1.2.3"
592
+ },
593
+ protocols: ["activitypub", "diaspora"],
594
+ usage: {
595
+ users: {},
596
+ localPosts: 123,
597
+ localComments: 456
598
+ }
599
+ });
600
+ });
601
+ await t.step("RequestContext", async () => {
602
+ const federation = createFederation({
603
+ kv,
604
+ documentLoader: mockDocumentLoader
605
+ });
606
+ const req = new Request("https://example.com/");
607
+ const ctx = federation.createContext(req, 123);
608
+ assertEquals(ctx.request, req);
609
+ assertEquals(ctx.url, new URL("https://example.com/"));
610
+ assertEquals(ctx.origin, "https://example.com");
611
+ assertEquals(ctx.host, "example.com");
612
+ assertEquals(ctx.hostname, "example.com");
613
+ assertEquals(ctx.data, 123);
614
+ await assertRejects(() => ctx.getActor("someone"), Error);
615
+ await assertRejects(() => ctx.getObject(Note, {
616
+ handle: "someone",
617
+ id: "123"
618
+ }), Error);
619
+ assertEquals(await ctx.getSignedKey(), null);
620
+ assertEquals(await ctx.getSignedKeyOwner(), null);
621
+ assertEquals(await ctx.getSignedKey(), null);
622
+ assertEquals(await ctx.getSignedKeyOwner(), null);
623
+ await assertRejects(() => ctx.getActor("someone"), Error, "No actor dispatcher registered");
624
+ const signedReq = await signRequest(new Request("https://example.com/"), rsaPrivateKey2, rsaPublicKey2.id);
625
+ const signedCtx = federation.createContext(signedReq, 456);
626
+ assertEquals(signedCtx.request, signedReq);
627
+ assertEquals(signedCtx.url, new URL("https://example.com/"));
628
+ assertEquals(signedCtx.data, 456);
629
+ assertEquals(await signedCtx.getSignedKey(), rsaPublicKey2);
630
+ assertEquals(await signedCtx.getSignedKeyOwner(), null);
631
+ assertEquals(await signedCtx.getSignedKey(), rsaPublicKey2);
632
+ assertEquals(await signedCtx.getSignedKeyOwner(), null);
633
+ const signedReq2 = await signRequest(new Request("https://example.com/"), rsaPrivateKey3, rsaPublicKey3.id);
634
+ const signedCtx2 = federation.createContext(signedReq2, 456);
635
+ assertEquals(signedCtx2.request, signedReq2);
636
+ assertEquals(signedCtx2.url, new URL("https://example.com/"));
637
+ assertEquals(signedCtx2.data, 456);
638
+ assertEquals(await signedCtx2.getSignedKey(), rsaPublicKey3);
639
+ const expectedOwner = await lookupObject("https://example.com/person2", {
640
+ documentLoader: mockDocumentLoader,
641
+ contextLoader: mockDocumentLoader
642
+ });
643
+ assertEquals(await signedCtx2.getSignedKeyOwner(), expectedOwner);
644
+ assertEquals(await signedCtx2.getSignedKey(), rsaPublicKey3);
645
+ assertEquals(await signedCtx2.getSignedKeyOwner(), expectedOwner);
646
+ federation.setActorDispatcher("/users/{identifier}", (_ctx, identifier) => new Person({ preferredUsername: identifier }));
647
+ const ctx2 = federation.createContext(req, 789);
648
+ assertEquals(ctx2.request, req);
649
+ assertEquals(ctx2.url, new URL("https://example.com/"));
650
+ assertEquals(ctx2.data, 789);
651
+ assertEquals(await ctx2.getActor("john"), new Person({ preferredUsername: "john" }));
652
+ federation.setObjectDispatcher(Note, "/users/{identifier}/notes/{id}", (_ctx, values) => {
653
+ return new Note({ summary: `Note ${values.id} by ${values.identifier}` });
654
+ });
655
+ const ctx3 = federation.createContext(req, 123);
656
+ assertEquals(ctx3.request, req);
657
+ assertEquals(ctx3.url, new URL("https://example.com/"));
658
+ assertEquals(ctx3.data, 123);
659
+ assertEquals(await ctx2.getObject(Note, {
660
+ identifier: "john",
661
+ id: "123"
662
+ }), new Note({ summary: "Note 123 by john" }));
663
+ });
664
+ uninstall();
665
+ });
666
+ test("Federation.setInboxListeners()", async (t) => {
667
+ const kv = new MemoryKvStore();
668
+ install();
669
+ mock("GET@/key2", async () => {
670
+ return new Response(JSON.stringify(await rsaPublicKey2.toJsonLd({ contextLoader: mockDocumentLoader })), { headers: { "Content-Type": "application/activity+json" } });
671
+ });
672
+ mock("GET@/person", async () => {
673
+ return new Response(await readFile(join(dirname(import.meta.dirname), "testing", "fixtures", "example.com", "person")), { headers: { "Content-Type": "application/activity+json" } });
674
+ });
675
+ mock("GET@/person2", async () => {
676
+ return new Response(await readFile(join(dirname(import.meta.dirname), "testing", "fixtures", "example.com", "person2")), { headers: { "Content-Type": "application/activity+json" } });
677
+ });
678
+ await t.step("path match", () => {
679
+ const federation = createFederation({
680
+ kv,
681
+ documentLoader: mockDocumentLoader
682
+ });
683
+ federation.setInboxDispatcher("/users/{identifier}/inbox", () => ({ items: [] }));
684
+ assertThrows(() => federation.setInboxListeners("/users/{identifier}/inbox2"), RouterError);
685
+ });
686
+ await t.step("wrong variables in path", () => {
687
+ const federation = createFederation({
688
+ kv,
689
+ documentLoader: mockDocumentLoader
690
+ });
691
+ assertThrows(() => federation.setInboxListeners("/users/inbox"), RouterError);
692
+ assertThrows(() => federation.setInboxListeners("/users/{identifier}/inbox/{id2}"), RouterError);
693
+ assertThrows(() => federation.setInboxListeners("/users/{identifier}/inbox/{handle}"), RouterError);
694
+ assertThrows(() => federation.setInboxListeners("/users/{identifier2}/inbox"), RouterError);
695
+ });
696
+ await t.step("on()", async () => {
697
+ const authenticatedRequests = [];
698
+ const federation = createFederation({
699
+ kv,
700
+ documentLoader: mockDocumentLoader,
701
+ authenticatedDocumentLoaderFactory(identity) {
702
+ const docLoader = getAuthenticatedDocumentLoader(identity);
703
+ return (url) => {
704
+ const urlObj = new URL(url);
705
+ authenticatedRequests.push([url, identity.keyId.href]);
706
+ if (urlObj.host === "example.com") return docLoader(url);
707
+ return mockDocumentLoader(url);
708
+ };
709
+ }
710
+ });
711
+ const inbox = [];
712
+ federation.setInboxListeners("/users/{identifier}/inbox", "/inbox").on(Create, (ctx, create) => {
713
+ inbox.push([ctx, create]);
714
+ });
715
+ let response = await federation.fetch(new Request("https://example.com/inbox", { method: "POST" }), { contextData: void 0 });
716
+ assertEquals(inbox, []);
717
+ assertEquals(response.status, 404);
718
+ federation.setActorDispatcher("/users/{identifier}", (_, identifier) => identifier === "john" ? new Person({}) : null).setKeyPairsDispatcher(() => [{
719
+ privateKey: rsaPrivateKey2,
720
+ publicKey: rsaPublicKey2.publicKey
721
+ }]);
722
+ const options = {
723
+ documentLoader: mockDocumentLoader,
724
+ contextLoader: mockDocumentLoader
725
+ };
726
+ const activity = () => new Create({
727
+ id: new URL("https://example.com/activities/" + crypto.randomUUID()),
728
+ actor: new URL("https://example.com/person2")
729
+ });
730
+ response = await federation.fetch(new Request("https://example.com/inbox", {
731
+ method: "POST",
732
+ body: JSON.stringify(await activity().toJsonLd(options))
733
+ }), { contextData: void 0 });
734
+ assertEquals(inbox, []);
735
+ assertEquals(response.status, 401);
736
+ response = await federation.fetch(new Request("https://example.com/users/no-one/inbox", { method: "POST" }), { contextData: void 0 });
737
+ assertEquals(inbox, []);
738
+ assertEquals(response.status, 404);
739
+ response = await federation.fetch(new Request("https://example.com/users/john/inbox", {
740
+ method: "POST",
741
+ body: JSON.stringify(await activity().toJsonLd(options))
742
+ }), { contextData: void 0 });
743
+ assertEquals(inbox, []);
744
+ assertEquals(response.status, 401);
745
+ const activityPayload = await activity().toJsonLd(options);
746
+ let request = new Request("https://example.com/users/john/inbox", {
747
+ method: "POST",
748
+ headers: { "Content-Type": "application/activity+json" },
749
+ body: JSON.stringify(activityPayload)
750
+ });
751
+ request = await signRequest(request, rsaPrivateKey3, new URL("https://example.com/person2#key3"));
752
+ response = await federation.fetch(request, { contextData: void 0 });
753
+ assertEquals(inbox.length, 1);
754
+ assertEquals(inbox[0][1].actorId, new URL("https://example.com/person2"));
755
+ assertEquals(response.status, 202);
756
+ while (authenticatedRequests.length > 0) authenticatedRequests.shift();
757
+ assertEquals(authenticatedRequests, []);
758
+ await inbox[0][0].documentLoader("https://example.com/person");
759
+ assertEquals(authenticatedRequests, [["https://example.com/person", "https://example.com/users/john#main-key"]]);
760
+ response = await federation.fetch(request, { contextData: void 0 });
761
+ assertEquals(inbox.length, 1);
762
+ inbox.shift();
763
+ request = new Request("https://another.host/users/john/inbox", {
764
+ method: "POST",
765
+ headers: { "Content-Type": "application/activity+json" },
766
+ body: JSON.stringify(activityPayload)
767
+ });
768
+ request = await signRequest(request, rsaPrivateKey3, new URL("https://example.com/person2#key3"));
769
+ response = await federation.fetch(request, { contextData: void 0 });
770
+ assertEquals(inbox.length, 1);
771
+ assertEquals(inbox[0][1].actorId, new URL("https://example.com/person2"));
772
+ assertEquals(response.status, 202);
773
+ while (authenticatedRequests.length > 0) authenticatedRequests.shift();
774
+ assertEquals(authenticatedRequests, []);
775
+ await inbox[0][0].documentLoader("https://example.com/person");
776
+ assertEquals(authenticatedRequests, [["https://example.com/person", "https://another.host/users/john#main-key"]]);
777
+ inbox.shift();
778
+ request = new Request("https://example.com/inbox", {
779
+ method: "POST",
780
+ headers: { "Content-Type": "application/activity+json" },
781
+ body: JSON.stringify(await activity().toJsonLd(options))
782
+ });
783
+ request = await signRequest(request, rsaPrivateKey3, new URL("https://example.com/person2#key3"));
784
+ response = await federation.fetch(request, { contextData: void 0 });
785
+ assertEquals(inbox.length, 1);
786
+ assertEquals(inbox[0][1].actorId, new URL("https://example.com/person2"));
787
+ assertEquals(response.status, 202);
788
+ while (authenticatedRequests.length > 0) authenticatedRequests.shift();
789
+ assertEquals(authenticatedRequests, []);
790
+ await inbox[0][0].documentLoader("https://example.com/person");
791
+ assertEquals(authenticatedRequests, []);
792
+ inbox.shift();
793
+ request = new Request("https://example.com/users/john/inbox", {
794
+ method: "POST",
795
+ headers: { "Content-Type": "application/activity+json" },
796
+ body: JSON.stringify(await (await signObject(activity(), ed25519PrivateKey, ed25519Multikey.id, options)).toJsonLd(options))
797
+ });
798
+ response = await federation.fetch(request, { contextData: void 0 });
799
+ assertEquals(inbox.length, 1);
800
+ assertEquals(inbox[0][1].actorId, new URL("https://example.com/person2"));
801
+ assertEquals(response.status, 202);
802
+ while (authenticatedRequests.length > 0) authenticatedRequests.shift();
803
+ assertEquals(authenticatedRequests, []);
804
+ await inbox[0][0].documentLoader("https://example.com/person");
805
+ assertEquals(authenticatedRequests, [["https://example.com/person", "https://example.com/users/john#main-key"]]);
806
+ });
807
+ await t.step("onError()", async () => {
808
+ const federation = createFederation({
809
+ kv,
810
+ documentLoader: mockDocumentLoader,
811
+ authenticatedDocumentLoaderFactory(identity) {
812
+ const docLoader = getAuthenticatedDocumentLoader(identity);
813
+ return (url) => {
814
+ const urlObj = new URL(url);
815
+ if (urlObj.host === "example.com") return docLoader(url);
816
+ return mockDocumentLoader(url);
817
+ };
818
+ }
819
+ });
820
+ federation.setActorDispatcher("/users/{identifier}", (_, identifier) => identifier === "john" ? new Person({}) : null).setKeyPairsDispatcher(() => [{
821
+ privateKey: rsaPrivateKey2,
822
+ publicKey: rsaPublicKey2.publicKey
823
+ }]);
824
+ const error = new Error("test");
825
+ const errors = [];
826
+ federation.setInboxListeners("/users/{identifier}/inbox", "/inbox").on(Create, () => {
827
+ throw error;
828
+ }).onError((_, e) => {
829
+ errors.push(e);
830
+ });
831
+ const activity = new Create({ actor: new URL("https://example.com/person") });
832
+ let request = new Request("https://example.com/users/john/inbox", {
833
+ method: "POST",
834
+ headers: { "Content-Type": "application/activity+json" },
835
+ body: JSON.stringify(await activity.toJsonLd({ contextLoader: mockDocumentLoader }))
836
+ });
837
+ request = await signRequest(request, rsaPrivateKey2, new URL("https://example.com/key2"));
838
+ const response = await federation.fetch(request, { contextData: void 0 });
839
+ assertEquals(errors.length, 1);
840
+ assertEquals(errors[0], error);
841
+ assertEquals(response.status, 500);
842
+ });
843
+ uninstall();
844
+ });
845
+ test("Federation.setInboxDispatcher()", async (t) => {
846
+ const kv = new MemoryKvStore();
847
+ await t.step("path match", () => {
848
+ const federation = createFederation({
849
+ kv,
850
+ documentLoader: mockDocumentLoader
851
+ });
852
+ federation.setInboxListeners("/users/{identifier}/inbox");
853
+ assertThrows(() => federation.setInboxDispatcher("/users/{identifier}/inbox2", () => ({ items: [] })), RouterError);
854
+ });
855
+ await t.step("path match", () => {
856
+ const federation = createFederation({
857
+ kv,
858
+ documentLoader: mockDocumentLoader
859
+ });
860
+ federation.setInboxListeners("/users/{identifier}/inbox");
861
+ federation.setInboxDispatcher("/users/{identifier}/inbox", () => ({ items: [] }));
862
+ });
863
+ await t.step("wrong variables in path", () => {
864
+ const federation = createFederation({
865
+ kv,
866
+ documentLoader: mockDocumentLoader
867
+ });
868
+ assertThrows(() => federation.setInboxDispatcher("/users/inbox", () => ({ items: [] })), RouterError);
869
+ assertThrows(() => federation.setInboxDispatcher("/users/{identifier}/inbox/{identifier2}", () => ({ items: [] })), RouterError);
870
+ assertThrows(() => federation.setInboxDispatcher("/users/{identifier2}/inbox", () => ({ items: [] })), RouterError);
871
+ });
872
+ });
873
+ test("FederationImpl.sendActivity()", async (t) => {
874
+ install();
875
+ let verified = null;
876
+ let request = null;
877
+ mock("POST@/inbox", async (req) => {
878
+ verified = [];
879
+ request = req.clone();
880
+ const options = {
881
+ documentLoader: mockDocumentLoader,
882
+ contextLoader: mockDocumentLoader
883
+ };
884
+ let json = await req.json();
885
+ if (await verifyJsonLd(json, options)) verified.push("ld");
886
+ json = detachSignature(json);
887
+ let activity = await verifyObject(Activity, json, options);
888
+ if (activity == null) activity = await Activity.fromJsonLd(json, options);
889
+ else verified.push("proof");
890
+ const key = await verifyRequest(request, options);
891
+ if (key != null && await doesActorOwnKey(activity, key, options)) verified.push("http");
892
+ if (verified.length > 0) return new Response(null, { status: 202 });
893
+ return new Response(null, { status: 401 });
894
+ });
895
+ const kv = new MemoryKvStore();
896
+ const federation = new FederationImpl({
897
+ kv,
898
+ contextLoader: mockDocumentLoader
899
+ });
900
+ const context = federation.createContext(new URL("https://example.com/"));
901
+ await t.step("success", async () => {
902
+ const activity = new Create({
903
+ id: new URL("https://example.com/activity/1"),
904
+ actor: new URL("https://example.com/person")
905
+ });
906
+ const inboxes = { "https://example.com/inbox": {
907
+ actorIds: ["https://example.com/recipient"],
908
+ sharedInbox: false
909
+ } };
910
+ await federation.sendActivity([{
911
+ privateKey: rsaPrivateKey2,
912
+ keyId: rsaPublicKey2.id
913
+ }], inboxes, activity, { context });
914
+ assertEquals(verified, ["http"]);
915
+ assertInstanceOf(request, Request);
916
+ assertEquals(request?.method, "POST");
917
+ assertEquals(request?.url, "https://example.com/inbox");
918
+ assertEquals(request?.headers.get("Content-Type"), "application/activity+json");
919
+ verified = null;
920
+ await federation.sendActivity([{
921
+ privateKey: rsaPrivateKey3,
922
+ keyId: rsaPublicKey3.id
923
+ }], inboxes, activity.clone({ actor: new URL("https://example.com/person2") }), { context });
924
+ assertEquals(verified, ["ld", "http"]);
925
+ assertInstanceOf(request, Request);
926
+ assertEquals(request?.method, "POST");
927
+ assertEquals(request?.url, "https://example.com/inbox");
928
+ assertEquals(request?.headers.get("Content-Type"), "application/activity+json");
929
+ verified = null;
930
+ await federation.sendActivity([{
931
+ privateKey: ed25519PrivateKey,
932
+ keyId: ed25519Multikey.id
933
+ }], inboxes, activity.clone({ actor: new URL("https://example.com/person2") }), { context });
934
+ assertEquals(verified, ["proof"]);
935
+ assertInstanceOf(request, Request);
936
+ assertEquals(request?.method, "POST");
937
+ assertEquals(request?.url, "https://example.com/inbox");
938
+ assertEquals(request?.headers.get("Content-Type"), "application/activity+json");
939
+ verified = null;
940
+ await federation.sendActivity([{
941
+ privateKey: rsaPrivateKey3,
942
+ keyId: rsaPublicKey3.id
943
+ }, {
944
+ privateKey: ed25519PrivateKey,
945
+ keyId: ed25519Multikey.id
946
+ }], inboxes, activity.clone({ actor: new URL("https://example.com/person2") }), { context });
947
+ assertEquals(verified, [
948
+ "ld",
949
+ "proof",
950
+ "http"
951
+ ]);
952
+ assertInstanceOf(request, Request);
953
+ assertEquals(request?.method, "POST");
954
+ assertEquals(request?.url, "https://example.com/inbox");
955
+ assertEquals(request?.headers.get("Content-Type"), "application/activity+json");
956
+ });
957
+ uninstall();
958
+ });
959
+ test("ContextImpl.lookupObject()", async (t) => {
960
+ install();
961
+ mock("GET@/.well-known/webfinger", () => new Response(JSON.stringify({
962
+ subject: "acct:test@localhost",
963
+ links: [{
964
+ rel: "self",
965
+ type: "application/activity+json",
966
+ href: "https://localhost/actor"
967
+ }]
968
+ }), { headers: { "Content-Type": "application/jrd+json" } }));
969
+ mock("GET@/actor", () => new Response(JSON.stringify({
970
+ "@context": "https://www.w3.org/ns/activitystreams",
971
+ "type": "Person",
972
+ "id": "https://localhost/actor",
973
+ "preferredUsername": "test"
974
+ }), { headers: { "Content-Type": "application/activity+json" } }));
975
+ await t.step("allowPrivateAddress: true", async () => {
976
+ const federation = createFederation({
977
+ kv: new MemoryKvStore(),
978
+ allowPrivateAddress: true
979
+ });
980
+ const ctx = federation.createContext(new URL("https://example.com/"));
981
+ const result = await ctx.lookupObject("@test@localhost");
982
+ assertInstanceOf(result, Person);
983
+ assertEquals(result.id, new URL("https://localhost/actor"));
984
+ assertEquals(result.preferredUsername, "test");
985
+ });
986
+ await t.step("allowPrivateAddress: false", async () => {
987
+ const federation = createFederation({
988
+ kv: new MemoryKvStore(),
989
+ allowPrivateAddress: false
990
+ });
991
+ const ctx = federation.createContext(new URL("https://example.com/"));
992
+ const result = await ctx.lookupObject("@test@localhost");
993
+ assertEquals(result, null);
994
+ });
995
+ uninstall();
996
+ });
997
+ test("ContextImpl.sendActivity()", async (t) => {
998
+ install();
999
+ let verified = null;
1000
+ let request = null;
1001
+ let collectionSyncHeader = null;
1002
+ mock("POST@/inbox", async (req) => {
1003
+ verified = [];
1004
+ request = req.clone();
1005
+ collectionSyncHeader = req.headers.get("Collection-Synchronization");
1006
+ const options = {
1007
+ async documentLoader(url) {
1008
+ const response = await federation.fetch(new Request(url), { contextData: void 0 });
1009
+ if (response.ok) return {
1010
+ contextUrl: null,
1011
+ document: await response.json(),
1012
+ documentUrl: response.url
1013
+ };
1014
+ return await mockDocumentLoader(url);
1015
+ },
1016
+ contextLoader: mockDocumentLoader,
1017
+ keyCache: {
1018
+ async get(keyId) {
1019
+ const ctx = federation.createContext(new URL("https://example.com/"), void 0);
1020
+ const keys = await ctx.getActorKeyPairs("1");
1021
+ for (const key$1 of keys) if (key$1.keyId.href === keyId.href) if (key$1.publicKey.algorithm.name === "Ed25519") return key$1.multikey;
1022
+ else return key$1.cryptographicKey;
1023
+ return void 0;
1024
+ },
1025
+ async set(_keyId, _key) {}
1026
+ }
1027
+ };
1028
+ let json = await req.json();
1029
+ if (await verifyJsonLd(json, options)) verified.push("ld");
1030
+ json = detachSignature(json);
1031
+ let activity = await verifyObject(Activity, json, options);
1032
+ if (activity == null) activity = await Activity.fromJsonLd(json, options);
1033
+ else verified.push("proof");
1034
+ const key = await verifyRequest(request, options);
1035
+ if (key != null && await doesActorOwnKey(activity, key, options)) verified.push("http");
1036
+ if (verified.length > 0) return new Response(null, { status: 202 });
1037
+ return new Response(null, { status: 401 });
1038
+ });
1039
+ const kv = new MemoryKvStore();
1040
+ const federation = new FederationImpl({
1041
+ kv,
1042
+ contextLoader: mockDocumentLoader
1043
+ });
1044
+ federation.setActorDispatcher("/{identifier}", async (ctx, identifier) => {
1045
+ if (identifier !== "1") return null;
1046
+ const keys = await ctx.getActorKeyPairs(identifier);
1047
+ return new Person({
1048
+ id: ctx.getActorUri(identifier),
1049
+ preferredUsername: "john",
1050
+ publicKey: keys[0].cryptographicKey,
1051
+ assertionMethods: keys.map((k) => k.multikey)
1052
+ });
1053
+ }).setKeyPairsDispatcher((_ctx, identifier) => {
1054
+ if (identifier !== "1") return [];
1055
+ return [{
1056
+ privateKey: rsaPrivateKey2,
1057
+ publicKey: rsaPublicKey2.publicKey
1058
+ }, {
1059
+ privateKey: ed25519PrivateKey,
1060
+ publicKey: ed25519PublicKey.publicKey
1061
+ }];
1062
+ }).mapHandle((_ctx, username) => username === "john" ? "1" : null);
1063
+ federation.setFollowersDispatcher("/users/{identifier}/followers", () => ({ items: [{
1064
+ id: new URL("https://example.com/recipient"),
1065
+ inboxId: new URL("https://example.com/inbox")
1066
+ }] }));
1067
+ await t.step("success", async () => {
1068
+ const activity = new Create({ actor: new URL("https://example.com/person") });
1069
+ const ctx = new ContextImpl({
1070
+ data: void 0,
1071
+ federation,
1072
+ url: new URL("https://example.com/"),
1073
+ documentLoader: fetchDocumentLoader,
1074
+ contextLoader: fetchDocumentLoader
1075
+ });
1076
+ await ctx.sendActivity([{
1077
+ privateKey: rsaPrivateKey2,
1078
+ keyId: rsaPublicKey2.id
1079
+ }], {
1080
+ id: new URL("https://example.com/recipient"),
1081
+ inboxId: new URL("https://example.com/inbox")
1082
+ }, activity);
1083
+ assertEquals(verified, ["http"]);
1084
+ assertInstanceOf(request, Request);
1085
+ assertEquals(request?.method, "POST");
1086
+ assertEquals(request?.url, "https://example.com/inbox");
1087
+ assertEquals(request?.headers.get("Content-Type"), "application/activity+json");
1088
+ verified = null;
1089
+ await ctx.sendActivity([{
1090
+ privateKey: rsaPrivateKey3,
1091
+ keyId: rsaPublicKey3.id
1092
+ }], {
1093
+ id: new URL("https://example.com/recipient"),
1094
+ inboxId: new URL("https://example.com/inbox")
1095
+ }, activity.clone({ actor: new URL("https://example.com/person2") }));
1096
+ assertEquals(verified, ["ld", "http"]);
1097
+ assertInstanceOf(request, Request);
1098
+ assertEquals(request?.method, "POST");
1099
+ assertEquals(request?.url, "https://example.com/inbox");
1100
+ assertEquals(request?.headers.get("Content-Type"), "application/activity+json");
1101
+ verified = null;
1102
+ await ctx.sendActivity({ identifier: "1" }, {
1103
+ id: new URL("https://example.com/recipient"),
1104
+ inboxId: new URL("https://example.com/inbox")
1105
+ }, activity.clone({ actor: ctx.getActorUri("1") }));
1106
+ assertEquals(verified, [
1107
+ "ld",
1108
+ "proof",
1109
+ "http"
1110
+ ]);
1111
+ assertInstanceOf(request, Request);
1112
+ assertEquals(request?.method, "POST");
1113
+ assertEquals(request?.url, "https://example.com/inbox");
1114
+ assertEquals(request?.headers.get("Content-Type"), "application/activity+json");
1115
+ verified = null;
1116
+ await ctx.sendActivity({ username: "john" }, {
1117
+ id: new URL("https://example.com/recipient"),
1118
+ inboxId: new URL("https://example.com/inbox")
1119
+ }, activity.clone({ actor: ctx.getActorUri("1") }));
1120
+ assertEquals(verified, [
1121
+ "ld",
1122
+ "proof",
1123
+ "http"
1124
+ ]);
1125
+ assertInstanceOf(request, Request);
1126
+ assertEquals(request?.method, "POST");
1127
+ assertEquals(request?.url, "https://example.com/inbox");
1128
+ assertEquals(request?.headers.get("Content-Type"), "application/activity+json");
1129
+ await assertRejects(() => ctx.sendActivity({ identifier: "not-found" }, {
1130
+ id: new URL("https://example.com/recipient"),
1131
+ inboxId: new URL("https://example.com/inbox")
1132
+ }, activity.clone({ actor: ctx.getActorUri("1") })));
1133
+ await assertRejects(() => ctx.sendActivity({ username: "not-found" }, {
1134
+ id: new URL("https://example.com/recipient"),
1135
+ inboxId: new URL("https://example.com/inbox")
1136
+ }, activity.clone({ actor: ctx.getActorUri("1") })));
1137
+ });
1138
+ const queue = {
1139
+ messages: [],
1140
+ enqueue(message) {
1141
+ this.messages.push(message);
1142
+ return Promise.resolve();
1143
+ },
1144
+ async listen() {},
1145
+ clear() {
1146
+ while (this.messages.length > 0) this.messages.shift();
1147
+ }
1148
+ };
1149
+ const federation2 = new FederationImpl({
1150
+ kv,
1151
+ contextLoader: mockDocumentLoader,
1152
+ queue
1153
+ });
1154
+ federation2.setActorDispatcher("/{identifier}", async (ctx, identifier) => {
1155
+ if (identifier !== "john") return null;
1156
+ const keys = await ctx.getActorKeyPairs(identifier);
1157
+ return new Person({
1158
+ id: ctx.getActorUri(identifier),
1159
+ preferredUsername: "john",
1160
+ publicKey: keys[0].cryptographicKey,
1161
+ assertionMethods: keys.map((k) => k.multikey)
1162
+ });
1163
+ }).setKeyPairsDispatcher((_ctx, identifier) => {
1164
+ if (identifier !== "john") return [];
1165
+ return [{
1166
+ privateKey: rsaPrivateKey2,
1167
+ publicKey: rsaPublicKey2.publicKey
1168
+ }, {
1169
+ privateKey: ed25519PrivateKey,
1170
+ publicKey: ed25519PublicKey.publicKey
1171
+ }];
1172
+ });
1173
+ const ctx2 = new ContextImpl({
1174
+ data: void 0,
1175
+ federation: federation2,
1176
+ url: new URL("https://example.com/"),
1177
+ documentLoader: fetchDocumentLoader,
1178
+ contextLoader: fetchDocumentLoader
1179
+ });
1180
+ await t.step("fanout: \"force\"", async () => {
1181
+ const activity = new Create({
1182
+ id: new URL("https://example.com/activity/1"),
1183
+ actor: new URL("https://example.com/person")
1184
+ });
1185
+ await ctx2.sendActivity({ username: "john" }, {
1186
+ id: new URL("https://example.com/recipient"),
1187
+ inboxId: new URL("https://example.com/inbox")
1188
+ }, activity, { fanout: "force" });
1189
+ assertEquals(queue.messages, [{
1190
+ id: queue.messages[0].id,
1191
+ type: "fanout",
1192
+ activity: await activity.toJsonLd({
1193
+ format: "compact",
1194
+ contextLoader: fetchDocumentLoader
1195
+ }),
1196
+ activityId: "https://example.com/activity/1",
1197
+ activityType: "https://www.w3.org/ns/activitystreams#Create",
1198
+ baseUrl: "https://example.com",
1199
+ collectionSync: void 0,
1200
+ inboxes: { "https://example.com/inbox": {
1201
+ actorIds: ["https://example.com/recipient"],
1202
+ sharedInbox: false
1203
+ } },
1204
+ keys: queue.messages[0].type === "fanout" ? queue.messages[0].keys : [],
1205
+ traceContext: {}
1206
+ }]);
1207
+ });
1208
+ queue.clear();
1209
+ await t.step("fanout: \"skip\"", async () => {
1210
+ const activity = new Create({
1211
+ id: new URL("https://example.com/activity/1"),
1212
+ actor: new URL("https://example.com/person")
1213
+ });
1214
+ await ctx2.sendActivity({ username: "john" }, {
1215
+ id: new URL("https://example.com/recipient"),
1216
+ inboxId: new URL("https://example.com/inbox")
1217
+ }, activity, { fanout: "skip" });
1218
+ assertEquals(queue.messages, [{
1219
+ ...queue.messages[0],
1220
+ type: "outbox"
1221
+ }]);
1222
+ });
1223
+ queue.clear();
1224
+ await t.step("fanout: \"auto\"", async () => {
1225
+ const activity = new Create({
1226
+ id: new URL("https://example.com/activity/1"),
1227
+ actor: new URL("https://example.com/person")
1228
+ });
1229
+ await ctx2.sendActivity({ username: "john" }, {
1230
+ id: new URL("https://example.com/recipient"),
1231
+ inboxId: new URL("https://example.com/inbox")
1232
+ }, activity, { fanout: "auto" });
1233
+ assertEquals(queue.messages, [{
1234
+ ...queue.messages[0],
1235
+ type: "outbox"
1236
+ }]);
1237
+ queue.clear();
1238
+ await ctx2.sendActivity({ username: "john" }, [
1239
+ {
1240
+ id: new URL("https://example.com/recipient"),
1241
+ inboxId: new URL("https://example.com/inbox")
1242
+ },
1243
+ {
1244
+ id: new URL("https://example2.com/recipient"),
1245
+ inboxId: new URL("https://example2.com/inbox")
1246
+ },
1247
+ {
1248
+ id: new URL("https://example3.com/recipient"),
1249
+ inboxId: new URL("https://example3.com/inbox")
1250
+ },
1251
+ {
1252
+ id: new URL("https://example4.com/recipient"),
1253
+ inboxId: new URL("https://example4.com/inbox")
1254
+ },
1255
+ {
1256
+ id: new URL("https://example5.com/recipient"),
1257
+ inboxId: new URL("https://example5.com/inbox")
1258
+ }
1259
+ ], activity, { fanout: "auto" });
1260
+ assertEquals(queue.messages, [{
1261
+ ...queue.messages[0],
1262
+ type: "fanout"
1263
+ }]);
1264
+ });
1265
+ collectionSyncHeader = null;
1266
+ await t.step("followers collection without syncCollection", async () => {
1267
+ const ctx = new ContextImpl({
1268
+ data: void 0,
1269
+ federation,
1270
+ url: new URL("https://example.com/"),
1271
+ documentLoader: fetchDocumentLoader,
1272
+ contextLoader: fetchDocumentLoader
1273
+ });
1274
+ const activity = new Create({
1275
+ id: new URL("https://example.com/activity/1"),
1276
+ actor: ctx.getActorUri("1"),
1277
+ to: ctx.getFollowersUri("1")
1278
+ });
1279
+ await ctx.sendActivity({ identifier: "1" }, "followers", activity);
1280
+ assertEquals(collectionSyncHeader, null);
1281
+ });
1282
+ collectionSyncHeader = null;
1283
+ await t.step("followers collection with syncCollection", async () => {
1284
+ const ctx = new ContextImpl({
1285
+ data: void 0,
1286
+ federation,
1287
+ url: new URL("https://example.com/"),
1288
+ documentLoader: fetchDocumentLoader,
1289
+ contextLoader: fetchDocumentLoader
1290
+ });
1291
+ const activity = new Create({
1292
+ id: new URL("https://example.com/activity/2"),
1293
+ actor: ctx.getActorUri("1"),
1294
+ to: ctx.getFollowersUri("1")
1295
+ });
1296
+ await ctx.sendActivity({ identifier: "1" }, "followers", activity, {
1297
+ syncCollection: true,
1298
+ preferSharedInbox: true
1299
+ });
1300
+ assertNotEquals(collectionSyncHeader, null);
1301
+ });
1302
+ });
1303
+ test("ContextImpl.routeActivity()", async () => {
1304
+ const federation = new FederationImpl({ kv: new MemoryKvStore() });
1305
+ const activities = [];
1306
+ federation.setInboxListeners("/u/{identifier}/i", "/i").on(Offer, (ctx$1, offer) => {
1307
+ activities.push([ctx$1.recipient, offer]);
1308
+ });
1309
+ const ctx = new ContextImpl({
1310
+ url: new URL("https://example.com/"),
1311
+ federation,
1312
+ data: void 0,
1313
+ documentLoader: mockDocumentLoader,
1314
+ contextLoader: fetchDocumentLoader
1315
+ });
1316
+ assertFalse(await ctx.routeActivity(null, new Offer({ actor: new URL("https://example.com/person") })));
1317
+ assertEquals(activities, []);
1318
+ const signedOffer = await signObject(new Offer({ actor: new URL("https://example.com/person2") }), ed25519PrivateKey, ed25519Multikey.id);
1319
+ assert(await ctx.routeActivity(null, signedOffer));
1320
+ assertEquals(activities, [[null, signedOffer]]);
1321
+ const signedInvite = await signObject(new Invite({ actor: new URL("https://example.com/person2") }), ed25519PrivateKey, ed25519Multikey.id);
1322
+ assert(await ctx.routeActivity("id", signedInvite));
1323
+ assertEquals(activities, [[null, signedOffer], ["id", signedInvite]]);
1324
+ assertFalse(await ctx.routeActivity(null, new Create({
1325
+ id: new URL("https://example.com/not-found"),
1326
+ actor: new URL("https://example.com/person")
1327
+ })));
1328
+ assertEquals(activities, [[null, signedOffer], ["id", signedInvite]]);
1329
+ assertFalse(await ctx.routeActivity(null, new Create({
1330
+ id: new URL("https://example.com/person"),
1331
+ actor: new URL("https://example.com/person")
1332
+ })));
1333
+ assertEquals(activities, [[null, signedOffer], ["id", signedInvite]]);
1334
+ assertFalse(await ctx.routeActivity(null, new Announce({
1335
+ id: new URL("https://example.com/announce#diffrent-id"),
1336
+ actor: new URL("https://example.com/person")
1337
+ })));
1338
+ assertEquals(activities, [[null, signedOffer], ["id", signedInvite]]);
1339
+ assertFalse(await ctx.routeActivity(null, new Announce({
1340
+ id: new URL("https://example.com/announce"),
1341
+ actor: new URL("https://example.com/person")
1342
+ })));
1343
+ assertEquals(activities, [[null, signedOffer], ["id", signedInvite]]);
1344
+ assertFalse(await ctx.routeActivity(null, new Create({
1345
+ id: new URL("https://example.com/cross-origin-actor"),
1346
+ actor: new URL("https://cross-origin.com/actor")
1347
+ })));
1348
+ assertEquals(activities, [[null, signedOffer], ["id", signedInvite]]);
1349
+ assert(await ctx.routeActivity(null, new Create({
1350
+ id: new URL("https://example.com/create"),
1351
+ actor: new URL("https://example.com/person")
1352
+ })));
1353
+ assertEquals(activities, [[null, signedOffer], ["id", signedInvite]]);
1354
+ assert(await ctx.routeActivity(null, new Invite({
1355
+ id: new URL("https://example.com/invite"),
1356
+ actor: new URL("https://example.com/person")
1357
+ })));
1358
+ assertEquals(activities, [
1359
+ [null, signedOffer],
1360
+ ["id", signedInvite],
1361
+ [null, new Invite({
1362
+ id: new URL("https://example.com/invite"),
1363
+ actor: new URL("https://example.com/person"),
1364
+ object: new URL("https://example.com/object")
1365
+ })]
1366
+ ]);
1367
+ });
1368
+ test("InboxContextImpl.forwardActivity()", async (t) => {
1369
+ install();
1370
+ let verified = null;
1371
+ let request = null;
1372
+ mock("POST@/inbox", async (req) => {
1373
+ verified = [];
1374
+ request = req.clone();
1375
+ const options = {
1376
+ documentLoader: mockDocumentLoader,
1377
+ contextLoader: mockDocumentLoader
1378
+ };
1379
+ let json = await req.json();
1380
+ if (await verifyJsonLd(json, options)) verified.push("ld");
1381
+ json = detachSignature(json);
1382
+ let activity = await verifyObject(Activity, json, options);
1383
+ if (activity == null) activity = await Activity.fromJsonLd(json, options);
1384
+ else verified.push("proof");
1385
+ const key = await verifyRequest(request, options);
1386
+ if (key != null && await doesActorOwnKey(activity, key, options)) verified.push("http");
1387
+ if (verified.length > 0) return new Response(null, { status: 202 });
1388
+ return new Response(null, { status: 401 });
1389
+ });
1390
+ const kv = new MemoryKvStore();
1391
+ const federation = new FederationImpl({
1392
+ kv,
1393
+ contextLoader: mockDocumentLoader
1394
+ });
1395
+ await t.step("skip", async () => {
1396
+ const activity = {
1397
+ "@context": "https://www.w3.org/ns/activitystreams",
1398
+ "type": "Create",
1399
+ "id": "https://example.com/activity",
1400
+ "actor": "https://example.com/person2"
1401
+ };
1402
+ const ctx = new InboxContextImpl(null, activity, "https://example.com/activity", "https://www.w3.org/ns/activitystreams#Create", {
1403
+ data: void 0,
1404
+ federation,
1405
+ url: new URL("https://example.com/"),
1406
+ documentLoader: fetchDocumentLoader,
1407
+ contextLoader: fetchDocumentLoader
1408
+ });
1409
+ await ctx.forwardActivity([{
1410
+ privateKey: rsaPrivateKey2,
1411
+ keyId: rsaPublicKey2.id
1412
+ }], {
1413
+ id: new URL("https://example.com/recipient"),
1414
+ inboxId: new URL("https://example.com/inbox")
1415
+ }, { skipIfUnsigned: true });
1416
+ assertEquals(verified, null);
1417
+ });
1418
+ await t.step("unsigned", async () => {
1419
+ const activity = {
1420
+ "@context": "https://www.w3.org/ns/activitystreams",
1421
+ "type": "Create",
1422
+ "id": "https://example.com/activity",
1423
+ "actor": "https://example.com/person2"
1424
+ };
1425
+ const ctx = new InboxContextImpl(null, activity, "https://example.com/activity", "https://www.w3.org/ns/activitystreams#Create", {
1426
+ data: void 0,
1427
+ federation,
1428
+ url: new URL("https://example.com/"),
1429
+ documentLoader: fetchDocumentLoader,
1430
+ contextLoader: fetchDocumentLoader
1431
+ });
1432
+ await assertRejects(() => ctx.forwardActivity([{
1433
+ privateKey: rsaPrivateKey2,
1434
+ keyId: rsaPublicKey2.id
1435
+ }], {
1436
+ id: new URL("https://example.com/recipient"),
1437
+ inboxId: new URL("https://example.com/inbox")
1438
+ }));
1439
+ assertEquals(verified, []);
1440
+ });
1441
+ await t.step("Object Integrity Proofs", async () => {
1442
+ const activity = await signObject(new Create({
1443
+ id: new URL("https://example.com/activity"),
1444
+ actor: new URL("https://example.com/person2")
1445
+ }), ed25519PrivateKey, ed25519Multikey.id, {
1446
+ contextLoader: mockDocumentLoader,
1447
+ documentLoader: mockDocumentLoader
1448
+ });
1449
+ const ctx = new InboxContextImpl(null, await activity.toJsonLd({ contextLoader: mockDocumentLoader }), activity.id?.href, getTypeId(activity).href, {
1450
+ data: void 0,
1451
+ federation,
1452
+ url: new URL("https://example.com/"),
1453
+ documentLoader: fetchDocumentLoader,
1454
+ contextLoader: fetchDocumentLoader
1455
+ });
1456
+ await ctx.forwardActivity([{
1457
+ privateKey: rsaPrivateKey2,
1458
+ keyId: rsaPublicKey2.id
1459
+ }], {
1460
+ id: new URL("https://example.com/recipient"),
1461
+ inboxId: new URL("https://example.com/inbox")
1462
+ }, { skipIfUnsigned: true });
1463
+ assertEquals(verified, ["proof"]);
1464
+ });
1465
+ await t.step("LD Signatures", async () => {
1466
+ const activity = await signJsonLd({
1467
+ "@context": "https://www.w3.org/ns/activitystreams",
1468
+ "type": "Create",
1469
+ "id": "https://example.com/activity",
1470
+ "actor": "https://example.com/person2"
1471
+ }, rsaPrivateKey3, rsaPublicKey3.id, { contextLoader: mockDocumentLoader });
1472
+ const ctx = new InboxContextImpl(null, activity, "https://example.com/activity", "https://www.w3.org/ns/activitystreams#Create", {
1473
+ data: void 0,
1474
+ federation,
1475
+ url: new URL("https://example.com/"),
1476
+ documentLoader: fetchDocumentLoader,
1477
+ contextLoader: fetchDocumentLoader
1478
+ });
1479
+ await ctx.forwardActivity([{
1480
+ privateKey: rsaPrivateKey2,
1481
+ keyId: rsaPublicKey2.id
1482
+ }], {
1483
+ id: new URL("https://example.com/recipient"),
1484
+ inboxId: new URL("https://example.com/inbox")
1485
+ }, { skipIfUnsigned: true });
1486
+ assertEquals(verified, ["ld"]);
1487
+ });
1488
+ uninstall();
1489
+ });
1490
+
1491
+ //#endregion