@fedify/fedify 0.5.0-dev.88

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.

Potentially problematic release.


This version of @fedify/fedify might be problematic. Click here for more details.

Files changed (496) hide show
  1. package/CHANGES.md +239 -0
  2. package/LICENSE +661 -0
  3. package/README.md +96 -0
  4. package/esm/_dnt.shims.d.ts +11 -0
  5. package/esm/_dnt.shims.d.ts.map +1 -0
  6. package/esm/_dnt.shims.js +67 -0
  7. package/esm/_dnt.test_polyfills.d.ts.map +1 -0
  8. package/esm/_dnt.test_shims.d.ts.map +1 -0
  9. package/esm/codegen/fs.d.ts.map +1 -0
  10. package/esm/codegen/schema.d.ts.map +1 -0
  11. package/esm/codegen/schema.yaml +194 -0
  12. package/esm/codegen/type.d.ts.map +1 -0
  13. package/esm/deps/crux.land/api/get/2KNRVU.d.ts.map +1 -0
  14. package/esm/deps/deno.land/x/mock_fetch@0.3.0/mod.d.ts.map +1 -0
  15. package/esm/deps/jsr.io/@david/which-runtime/0.2.0/mod.d.ts.map +1 -0
  16. package/esm/deps/jsr.io/@hongminhee/aitertools/0.6.0/mod.d.ts.map +1 -0
  17. package/esm/deps/jsr.io/@hongminhee/aitertools/0.6.0/src/collections.d.ts.map +1 -0
  18. package/esm/deps/jsr.io/@hongminhee/aitertools/0.6.0/src/concat.d.ts.map +1 -0
  19. package/esm/deps/jsr.io/@hongminhee/aitertools/0.6.0/src/drop.d.ts.map +1 -0
  20. package/esm/deps/jsr.io/@hongminhee/aitertools/0.6.0/src/filter.d.ts.map +1 -0
  21. package/esm/deps/jsr.io/@hongminhee/aitertools/0.6.0/src/fold.d.ts.map +1 -0
  22. package/esm/deps/jsr.io/@hongminhee/aitertools/0.6.0/src/infinite.d.ts.map +1 -0
  23. package/esm/deps/jsr.io/@hongminhee/aitertools/0.6.0/src/map.d.ts.map +1 -0
  24. package/esm/deps/jsr.io/@hongminhee/aitertools/0.6.0/src/mod.d.ts.map +1 -0
  25. package/esm/deps/jsr.io/@hongminhee/aitertools/0.6.0/src/range.d.ts.map +1 -0
  26. package/esm/deps/jsr.io/@hongminhee/aitertools/0.6.0/src/take.d.ts.map +1 -0
  27. package/esm/deps/jsr.io/@hongminhee/aitertools/0.6.0/src/tee.d.ts.map +1 -0
  28. package/esm/deps/jsr.io/@hongminhee/aitertools/0.6.0/src/testing.d.ts.map +1 -0
  29. package/esm/deps/jsr.io/@hongminhee/aitertools/0.6.0/src/unique.d.ts.map +1 -0
  30. package/esm/deps/jsr.io/@std/assert/0.220.1/_constants.d.ts.map +1 -0
  31. package/esm/deps/jsr.io/@std/assert/0.220.1/_diff.d.ts.map +1 -0
  32. package/esm/deps/jsr.io/@std/assert/0.220.1/_format.d.ts.map +1 -0
  33. package/esm/deps/jsr.io/@std/assert/0.220.1/assert.d.ts.map +1 -0
  34. package/esm/deps/jsr.io/@std/assert/0.220.1/assert_almost_equals.d.ts.map +1 -0
  35. package/esm/deps/jsr.io/@std/assert/0.220.1/assert_array_includes.d.ts.map +1 -0
  36. package/esm/deps/jsr.io/@std/assert/0.220.1/assert_equals.d.ts.map +1 -0
  37. package/esm/deps/jsr.io/@std/assert/0.220.1/assert_exists.d.ts.map +1 -0
  38. package/esm/deps/jsr.io/@std/assert/0.220.1/assert_false.d.ts.map +1 -0
  39. package/esm/deps/jsr.io/@std/assert/0.220.1/assert_greater.d.ts.map +1 -0
  40. package/esm/deps/jsr.io/@std/assert/0.220.1/assert_greater_or_equal.d.ts.map +1 -0
  41. package/esm/deps/jsr.io/@std/assert/0.220.1/assert_instance_of.d.ts.map +1 -0
  42. package/esm/deps/jsr.io/@std/assert/0.220.1/assert_is_error.d.ts.map +1 -0
  43. package/esm/deps/jsr.io/@std/assert/0.220.1/assert_less.d.ts.map +1 -0
  44. package/esm/deps/jsr.io/@std/assert/0.220.1/assert_less_or_equal.d.ts.map +1 -0
  45. package/esm/deps/jsr.io/@std/assert/0.220.1/assert_match.d.ts.map +1 -0
  46. package/esm/deps/jsr.io/@std/assert/0.220.1/assert_not_equals.d.ts.map +1 -0
  47. package/esm/deps/jsr.io/@std/assert/0.220.1/assert_not_instance_of.d.ts.map +1 -0
  48. package/esm/deps/jsr.io/@std/assert/0.220.1/assert_not_match.d.ts.map +1 -0
  49. package/esm/deps/jsr.io/@std/assert/0.220.1/assert_not_strict_equals.d.ts.map +1 -0
  50. package/esm/deps/jsr.io/@std/assert/0.220.1/assert_object_match.d.ts.map +1 -0
  51. package/esm/deps/jsr.io/@std/assert/0.220.1/assert_rejects.d.ts.map +1 -0
  52. package/esm/deps/jsr.io/@std/assert/0.220.1/assert_strict_equals.d.ts.map +1 -0
  53. package/esm/deps/jsr.io/@std/assert/0.220.1/assert_string_includes.d.ts.map +1 -0
  54. package/esm/deps/jsr.io/@std/assert/0.220.1/assert_throws.d.ts.map +1 -0
  55. package/esm/deps/jsr.io/@std/assert/0.220.1/assertion_error.d.ts.map +1 -0
  56. package/esm/deps/jsr.io/@std/assert/0.220.1/equal.d.ts.map +1 -0
  57. package/esm/deps/jsr.io/@std/assert/0.220.1/fail.d.ts.map +1 -0
  58. package/esm/deps/jsr.io/@std/assert/0.220.1/mod.d.ts.map +1 -0
  59. package/esm/deps/jsr.io/@std/assert/0.220.1/unimplemented.d.ts.map +1 -0
  60. package/esm/deps/jsr.io/@std/assert/0.220.1/unreachable.d.ts.map +1 -0
  61. package/esm/deps/jsr.io/@std/bytes/0.220.1/concat.d.ts +14 -0
  62. package/esm/deps/jsr.io/@std/bytes/0.220.1/concat.d.ts.map +1 -0
  63. package/esm/deps/jsr.io/@std/bytes/0.220.1/concat.js +27 -0
  64. package/esm/deps/jsr.io/@std/bytes/0.220.1/copy.d.ts +28 -0
  65. package/esm/deps/jsr.io/@std/bytes/0.220.1/copy.d.ts.map +1 -0
  66. package/esm/deps/jsr.io/@std/bytes/0.220.1/copy.js +37 -0
  67. package/esm/deps/jsr.io/@std/bytes/0.220.1/ends_with.d.ts +14 -0
  68. package/esm/deps/jsr.io/@std/bytes/0.220.1/ends_with.d.ts.map +1 -0
  69. package/esm/deps/jsr.io/@std/bytes/0.220.1/ends_with.js +23 -0
  70. package/esm/deps/jsr.io/@std/bytes/0.220.1/equals.d.ts +6 -0
  71. package/esm/deps/jsr.io/@std/bytes/0.220.1/equals.d.ts.map +1 -0
  72. package/esm/deps/jsr.io/@std/bytes/0.220.1/equals.js +44 -0
  73. package/esm/deps/jsr.io/@std/bytes/0.220.1/includes_needle.d.ts +17 -0
  74. package/esm/deps/jsr.io/@std/bytes/0.220.1/includes_needle.d.ts.map +1 -0
  75. package/esm/deps/jsr.io/@std/bytes/0.220.1/includes_needle.js +21 -0
  76. package/esm/deps/jsr.io/@std/bytes/0.220.1/index_of_needle.d.ts +18 -0
  77. package/esm/deps/jsr.io/@std/bytes/0.220.1/index_of_needle.d.ts.map +1 -0
  78. package/esm/deps/jsr.io/@std/bytes/0.220.1/index_of_needle.js +45 -0
  79. package/esm/deps/jsr.io/@std/bytes/0.220.1/last_index_of_needle.d.ts +18 -0
  80. package/esm/deps/jsr.io/@std/bytes/0.220.1/last_index_of_needle.d.ts.map +1 -0
  81. package/esm/deps/jsr.io/@std/bytes/0.220.1/last_index_of_needle.js +45 -0
  82. package/esm/deps/jsr.io/@std/bytes/0.220.1/mod.d.ts +24 -0
  83. package/esm/deps/jsr.io/@std/bytes/0.220.1/mod.d.ts.map +1 -0
  84. package/esm/deps/jsr.io/@std/bytes/0.220.1/mod.js +25 -0
  85. package/esm/deps/jsr.io/@std/bytes/0.220.1/repeat.d.ts +15 -0
  86. package/esm/deps/jsr.io/@std/bytes/0.220.1/repeat.d.ts.map +1 -0
  87. package/esm/deps/jsr.io/@std/bytes/0.220.1/repeat.js +33 -0
  88. package/esm/deps/jsr.io/@std/bytes/0.220.1/starts_with.d.ts +14 -0
  89. package/esm/deps/jsr.io/@std/bytes/0.220.1/starts_with.d.ts.map +1 -0
  90. package/esm/deps/jsr.io/@std/bytes/0.220.1/starts_with.js +21 -0
  91. package/esm/deps/jsr.io/@std/encoding/0.220.1/_util.d.ts +2 -0
  92. package/esm/deps/jsr.io/@std/encoding/0.220.1/_util.d.ts.map +1 -0
  93. package/esm/deps/jsr.io/@std/encoding/0.220.1/_util.js +26 -0
  94. package/esm/deps/jsr.io/@std/encoding/0.220.1/base64.d.ts +27 -0
  95. package/esm/deps/jsr.io/@std/encoding/0.220.1/base64.d.ts.map +1 -0
  96. package/esm/deps/jsr.io/@std/encoding/0.220.1/base64.js +141 -0
  97. package/esm/deps/jsr.io/@std/fmt/0.220.1/colors.d.ts.map +1 -0
  98. package/esm/deps/jsr.io/@std/fs/0.220.1/_get_file_info_type.d.ts.map +1 -0
  99. package/esm/deps/jsr.io/@std/fs/0.220.1/_to_path_string.d.ts.map +1 -0
  100. package/esm/deps/jsr.io/@std/fs/0.220.1/ensure_dir.d.ts.map +1 -0
  101. package/esm/deps/jsr.io/@std/fs/0.220.1/ensure_file.d.ts.map +1 -0
  102. package/esm/deps/jsr.io/@std/http/0.220.1/_negotiation/common.d.ts +38 -0
  103. package/esm/deps/jsr.io/@std/http/0.220.1/_negotiation/common.d.ts.map +1 -0
  104. package/esm/deps/jsr.io/@std/http/0.220.1/_negotiation/common.js +40 -0
  105. package/esm/deps/jsr.io/@std/http/0.220.1/_negotiation/encoding.d.ts +34 -0
  106. package/esm/deps/jsr.io/@std/http/0.220.1/_negotiation/encoding.d.ts.map +1 -0
  107. package/esm/deps/jsr.io/@std/http/0.220.1/_negotiation/encoding.js +121 -0
  108. package/esm/deps/jsr.io/@std/http/0.220.1/_negotiation/language.d.ts +31 -0
  109. package/esm/deps/jsr.io/@std/http/0.220.1/_negotiation/language.d.ts.map +1 -0
  110. package/esm/deps/jsr.io/@std/http/0.220.1/_negotiation/language.js +113 -0
  111. package/esm/deps/jsr.io/@std/http/0.220.1/_negotiation/media_type.d.ts +31 -0
  112. package/esm/deps/jsr.io/@std/http/0.220.1/_negotiation/media_type.d.ts.map +1 -0
  113. package/esm/deps/jsr.io/@std/http/0.220.1/_negotiation/media_type.js +140 -0
  114. package/esm/deps/jsr.io/@std/http/0.220.1/negotiation.d.ts +128 -0
  115. package/esm/deps/jsr.io/@std/http/0.220.1/negotiation.d.ts.map +1 -0
  116. package/esm/deps/jsr.io/@std/http/0.220.1/negotiation.js +37 -0
  117. package/esm/deps/jsr.io/@std/path/0.220.1/_common/assert_path.d.ts.map +1 -0
  118. package/esm/deps/jsr.io/@std/path/0.220.1/_common/basename.d.ts.map +1 -0
  119. package/esm/deps/jsr.io/@std/path/0.220.1/_common/common.d.ts.map +1 -0
  120. package/esm/deps/jsr.io/@std/path/0.220.1/_common/constants.d.ts.map +1 -0
  121. package/esm/deps/jsr.io/@std/path/0.220.1/_common/dirname.d.ts.map +1 -0
  122. package/esm/deps/jsr.io/@std/path/0.220.1/_common/format.d.ts.map +1 -0
  123. package/esm/deps/jsr.io/@std/path/0.220.1/_common/from_file_url.d.ts.map +1 -0
  124. package/esm/deps/jsr.io/@std/path/0.220.1/_common/glob_to_reg_exp.d.ts.map +1 -0
  125. package/esm/deps/jsr.io/@std/path/0.220.1/_common/normalize.d.ts.map +1 -0
  126. package/esm/deps/jsr.io/@std/path/0.220.1/_common/normalize_string.d.ts.map +1 -0
  127. package/esm/deps/jsr.io/@std/path/0.220.1/_common/relative.d.ts.map +1 -0
  128. package/esm/deps/jsr.io/@std/path/0.220.1/_common/strip_trailing_separators.d.ts.map +1 -0
  129. package/esm/deps/jsr.io/@std/path/0.220.1/_common/to_file_url.d.ts.map +1 -0
  130. package/esm/deps/jsr.io/@std/path/0.220.1/_interface.d.ts.map +1 -0
  131. package/esm/deps/jsr.io/@std/path/0.220.1/_os.d.ts.map +1 -0
  132. package/esm/deps/jsr.io/@std/path/0.220.1/basename.d.ts.map +1 -0
  133. package/esm/deps/jsr.io/@std/path/0.220.1/common.d.ts.map +1 -0
  134. package/esm/deps/jsr.io/@std/path/0.220.1/constants.d.ts.map +1 -0
  135. package/esm/deps/jsr.io/@std/path/0.220.1/dirname.d.ts.map +1 -0
  136. package/esm/deps/jsr.io/@std/path/0.220.1/extname.d.ts.map +1 -0
  137. package/esm/deps/jsr.io/@std/path/0.220.1/format.d.ts.map +1 -0
  138. package/esm/deps/jsr.io/@std/path/0.220.1/from_file_url.d.ts.map +1 -0
  139. package/esm/deps/jsr.io/@std/path/0.220.1/glob_to_regexp.d.ts.map +1 -0
  140. package/esm/deps/jsr.io/@std/path/0.220.1/is_absolute.d.ts.map +1 -0
  141. package/esm/deps/jsr.io/@std/path/0.220.1/is_glob.d.ts.map +1 -0
  142. package/esm/deps/jsr.io/@std/path/0.220.1/join.d.ts.map +1 -0
  143. package/esm/deps/jsr.io/@std/path/0.220.1/join_globs.d.ts.map +1 -0
  144. package/esm/deps/jsr.io/@std/path/0.220.1/mod.d.ts.map +1 -0
  145. package/esm/deps/jsr.io/@std/path/0.220.1/normalize.d.ts.map +1 -0
  146. package/esm/deps/jsr.io/@std/path/0.220.1/normalize_glob.d.ts.map +1 -0
  147. package/esm/deps/jsr.io/@std/path/0.220.1/parse.d.ts.map +1 -0
  148. package/esm/deps/jsr.io/@std/path/0.220.1/posix/_util.d.ts.map +1 -0
  149. package/esm/deps/jsr.io/@std/path/0.220.1/posix/basename.d.ts.map +1 -0
  150. package/esm/deps/jsr.io/@std/path/0.220.1/posix/common.d.ts.map +1 -0
  151. package/esm/deps/jsr.io/@std/path/0.220.1/posix/constants.d.ts.map +1 -0
  152. package/esm/deps/jsr.io/@std/path/0.220.1/posix/dirname.d.ts.map +1 -0
  153. package/esm/deps/jsr.io/@std/path/0.220.1/posix/extname.d.ts.map +1 -0
  154. package/esm/deps/jsr.io/@std/path/0.220.1/posix/format.d.ts.map +1 -0
  155. package/esm/deps/jsr.io/@std/path/0.220.1/posix/from_file_url.d.ts.map +1 -0
  156. package/esm/deps/jsr.io/@std/path/0.220.1/posix/glob_to_regexp.d.ts.map +1 -0
  157. package/esm/deps/jsr.io/@std/path/0.220.1/posix/is_absolute.d.ts.map +1 -0
  158. package/esm/deps/jsr.io/@std/path/0.220.1/posix/is_glob.d.ts.map +1 -0
  159. package/esm/deps/jsr.io/@std/path/0.220.1/posix/join.d.ts.map +1 -0
  160. package/esm/deps/jsr.io/@std/path/0.220.1/posix/join_globs.d.ts.map +1 -0
  161. package/esm/deps/jsr.io/@std/path/0.220.1/posix/mod.d.ts.map +1 -0
  162. package/esm/deps/jsr.io/@std/path/0.220.1/posix/normalize.d.ts.map +1 -0
  163. package/esm/deps/jsr.io/@std/path/0.220.1/posix/normalize_glob.d.ts.map +1 -0
  164. package/esm/deps/jsr.io/@std/path/0.220.1/posix/parse.d.ts.map +1 -0
  165. package/esm/deps/jsr.io/@std/path/0.220.1/posix/relative.d.ts.map +1 -0
  166. package/esm/deps/jsr.io/@std/path/0.220.1/posix/resolve.d.ts.map +1 -0
  167. package/esm/deps/jsr.io/@std/path/0.220.1/posix/to_file_url.d.ts.map +1 -0
  168. package/esm/deps/jsr.io/@std/path/0.220.1/posix/to_namespaced_path.d.ts.map +1 -0
  169. package/esm/deps/jsr.io/@std/path/0.220.1/relative.d.ts.map +1 -0
  170. package/esm/deps/jsr.io/@std/path/0.220.1/resolve.d.ts.map +1 -0
  171. package/esm/deps/jsr.io/@std/path/0.220.1/to_file_url.d.ts.map +1 -0
  172. package/esm/deps/jsr.io/@std/path/0.220.1/to_namespaced_path.d.ts.map +1 -0
  173. package/esm/deps/jsr.io/@std/path/0.220.1/windows/_util.d.ts.map +1 -0
  174. package/esm/deps/jsr.io/@std/path/0.220.1/windows/basename.d.ts.map +1 -0
  175. package/esm/deps/jsr.io/@std/path/0.220.1/windows/common.d.ts.map +1 -0
  176. package/esm/deps/jsr.io/@std/path/0.220.1/windows/constants.d.ts.map +1 -0
  177. package/esm/deps/jsr.io/@std/path/0.220.1/windows/dirname.d.ts.map +1 -0
  178. package/esm/deps/jsr.io/@std/path/0.220.1/windows/extname.d.ts.map +1 -0
  179. package/esm/deps/jsr.io/@std/path/0.220.1/windows/format.d.ts.map +1 -0
  180. package/esm/deps/jsr.io/@std/path/0.220.1/windows/from_file_url.d.ts.map +1 -0
  181. package/esm/deps/jsr.io/@std/path/0.220.1/windows/glob_to_regexp.d.ts.map +1 -0
  182. package/esm/deps/jsr.io/@std/path/0.220.1/windows/is_absolute.d.ts.map +1 -0
  183. package/esm/deps/jsr.io/@std/path/0.220.1/windows/is_glob.d.ts.map +1 -0
  184. package/esm/deps/jsr.io/@std/path/0.220.1/windows/join.d.ts.map +1 -0
  185. package/esm/deps/jsr.io/@std/path/0.220.1/windows/join_globs.d.ts.map +1 -0
  186. package/esm/deps/jsr.io/@std/path/0.220.1/windows/mod.d.ts.map +1 -0
  187. package/esm/deps/jsr.io/@std/path/0.220.1/windows/normalize.d.ts.map +1 -0
  188. package/esm/deps/jsr.io/@std/path/0.220.1/windows/normalize_glob.d.ts.map +1 -0
  189. package/esm/deps/jsr.io/@std/path/0.220.1/windows/parse.d.ts.map +1 -0
  190. package/esm/deps/jsr.io/@std/path/0.220.1/windows/relative.d.ts.map +1 -0
  191. package/esm/deps/jsr.io/@std/path/0.220.1/windows/resolve.d.ts.map +1 -0
  192. package/esm/deps/jsr.io/@std/path/0.220.1/windows/to_file_url.d.ts.map +1 -0
  193. package/esm/deps/jsr.io/@std/path/0.220.1/windows/to_namespaced_path.d.ts.map +1 -0
  194. package/esm/deps/jsr.io/@std/semver/0.220.1/_constants.d.ts +2 -0
  195. package/esm/deps/jsr.io/@std/semver/0.220.1/_constants.d.ts.map +1 -0
  196. package/esm/deps/jsr.io/@std/semver/0.220.1/_constants.js +10 -0
  197. package/esm/deps/jsr.io/@std/semver/0.220.1/_shared.d.ts +44 -0
  198. package/esm/deps/jsr.io/@std/semver/0.220.1/_shared.d.ts.map +1 -0
  199. package/esm/deps/jsr.io/@std/semver/0.220.1/_shared.js +161 -0
  200. package/esm/deps/jsr.io/@std/semver/0.220.1/can_parse.d.ts +2 -0
  201. package/esm/deps/jsr.io/@std/semver/0.220.1/can_parse.d.ts.map +1 -0
  202. package/esm/deps/jsr.io/@std/semver/0.220.1/can_parse.js +14 -0
  203. package/esm/deps/jsr.io/@std/semver/0.220.1/compare.d.ts +11 -0
  204. package/esm/deps/jsr.io/@std/semver/0.220.1/compare.d.ts.map +1 -0
  205. package/esm/deps/jsr.io/@std/semver/0.220.1/compare.js +18 -0
  206. package/esm/deps/jsr.io/@std/semver/0.220.1/constants.d.ts +43 -0
  207. package/esm/deps/jsr.io/@std/semver/0.220.1/constants.d.ts.map +1 -0
  208. package/esm/deps/jsr.io/@std/semver/0.220.1/constants.js +73 -0
  209. package/esm/deps/jsr.io/@std/semver/0.220.1/difference.d.ts +6 -0
  210. package/esm/deps/jsr.io/@std/semver/0.220.1/difference.d.ts.map +1 -0
  211. package/esm/deps/jsr.io/@std/semver/0.220.1/difference.js +16 -0
  212. package/esm/deps/jsr.io/@std/semver/0.220.1/equals.d.ts +8 -0
  213. package/esm/deps/jsr.io/@std/semver/0.220.1/equals.d.ts.map +1 -0
  214. package/esm/deps/jsr.io/@std/semver/0.220.1/equals.js +10 -0
  215. package/esm/deps/jsr.io/@std/semver/0.220.1/format.d.ts +13 -0
  216. package/esm/deps/jsr.io/@std/semver/0.220.1/format.d.ts.map +1 -0
  217. package/esm/deps/jsr.io/@std/semver/0.220.1/format.js +36 -0
  218. package/esm/deps/jsr.io/@std/semver/0.220.1/format_range.d.ts +9 -0
  219. package/esm/deps/jsr.io/@std/semver/0.220.1/format_range.d.ts.map +1 -0
  220. package/esm/deps/jsr.io/@std/semver/0.220.1/format_range.js +16 -0
  221. package/esm/deps/jsr.io/@std/semver/0.220.1/greater_or_equal.d.ts +8 -0
  222. package/esm/deps/jsr.io/@std/semver/0.220.1/greater_or_equal.d.ts.map +1 -0
  223. package/esm/deps/jsr.io/@std/semver/0.220.1/greater_or_equal.js +9 -0
  224. package/esm/deps/jsr.io/@std/semver/0.220.1/greater_than.d.ts +8 -0
  225. package/esm/deps/jsr.io/@std/semver/0.220.1/greater_than.d.ts.map +1 -0
  226. package/esm/deps/jsr.io/@std/semver/0.220.1/greater_than.js +10 -0
  227. package/esm/deps/jsr.io/@std/semver/0.220.1/increment.d.ts +29 -0
  228. package/esm/deps/jsr.io/@std/semver/0.220.1/increment.d.ts.map +1 -0
  229. package/esm/deps/jsr.io/@std/semver/0.220.1/increment.js +160 -0
  230. package/esm/deps/jsr.io/@std/semver/0.220.1/is_range.d.ts +13 -0
  231. package/esm/deps/jsr.io/@std/semver/0.220.1/is_range.d.ts.map +1 -0
  232. package/esm/deps/jsr.io/@std/semver/0.220.1/is_range.js +28 -0
  233. package/esm/deps/jsr.io/@std/semver/0.220.1/is_semver.d.ts +18 -0
  234. package/esm/deps/jsr.io/@std/semver/0.220.1/is_semver.d.ts.map +1 -0
  235. package/esm/deps/jsr.io/@std/semver/0.220.1/is_semver.js +38 -0
  236. package/esm/deps/jsr.io/@std/semver/0.220.1/less_or_equal.d.ts +8 -0
  237. package/esm/deps/jsr.io/@std/semver/0.220.1/less_or_equal.d.ts.map +1 -0
  238. package/esm/deps/jsr.io/@std/semver/0.220.1/less_or_equal.js +9 -0
  239. package/esm/deps/jsr.io/@std/semver/0.220.1/less_than.d.ts +8 -0
  240. package/esm/deps/jsr.io/@std/semver/0.220.1/less_than.d.ts.map +1 -0
  241. package/esm/deps/jsr.io/@std/semver/0.220.1/less_than.js +9 -0
  242. package/esm/deps/jsr.io/@std/semver/0.220.1/max_satisfying.d.ts +10 -0
  243. package/esm/deps/jsr.io/@std/semver/0.220.1/max_satisfying.d.ts.map +1 -0
  244. package/esm/deps/jsr.io/@std/semver/0.220.1/max_satisfying.js +18 -0
  245. package/esm/deps/jsr.io/@std/semver/0.220.1/min_satisfying.d.ts +10 -0
  246. package/esm/deps/jsr.io/@std/semver/0.220.1/min_satisfying.d.ts.map +1 -0
  247. package/esm/deps/jsr.io/@std/semver/0.220.1/min_satisfying.js +18 -0
  248. package/esm/deps/jsr.io/@std/semver/0.220.1/mod.d.ts +291 -0
  249. package/esm/deps/jsr.io/@std/semver/0.220.1/mod.d.ts.map +1 -0
  250. package/esm/deps/jsr.io/@std/semver/0.220.1/mod.js +293 -0
  251. package/esm/deps/jsr.io/@std/semver/0.220.1/not_equals.d.ts +8 -0
  252. package/esm/deps/jsr.io/@std/semver/0.220.1/not_equals.d.ts.map +1 -0
  253. package/esm/deps/jsr.io/@std/semver/0.220.1/not_equals.js +9 -0
  254. package/esm/deps/jsr.io/@std/semver/0.220.1/parse.d.ts +9 -0
  255. package/esm/deps/jsr.io/@std/semver/0.220.1/parse.d.ts.map +1 -0
  256. package/esm/deps/jsr.io/@std/semver/0.220.1/parse.js +34 -0
  257. package/esm/deps/jsr.io/@std/semver/0.220.1/parse_range.d.ts +8 -0
  258. package/esm/deps/jsr.io/@std/semver/0.220.1/parse_range.d.ts.map +1 -0
  259. package/esm/deps/jsr.io/@std/semver/0.220.1/parse_range.js +336 -0
  260. package/esm/deps/jsr.io/@std/semver/0.220.1/range_intersects.d.ts +9 -0
  261. package/esm/deps/jsr.io/@std/semver/0.220.1/range_intersects.d.ts.map +1 -0
  262. package/esm/deps/jsr.io/@std/semver/0.220.1/range_intersects.js +72 -0
  263. package/esm/deps/jsr.io/@std/semver/0.220.1/range_max.d.ts +8 -0
  264. package/esm/deps/jsr.io/@std/semver/0.220.1/range_max.d.ts.map +1 -0
  265. package/esm/deps/jsr.io/@std/semver/0.220.1/range_max.js +58 -0
  266. package/esm/deps/jsr.io/@std/semver/0.220.1/range_min.d.ts +8 -0
  267. package/esm/deps/jsr.io/@std/semver/0.220.1/range_min.d.ts.map +1 -0
  268. package/esm/deps/jsr.io/@std/semver/0.220.1/range_min.js +49 -0
  269. package/esm/deps/jsr.io/@std/semver/0.220.1/test_range.d.ts +9 -0
  270. package/esm/deps/jsr.io/@std/semver/0.220.1/test_range.d.ts.map +1 -0
  271. package/esm/deps/jsr.io/@std/semver/0.220.1/test_range.js +69 -0
  272. package/esm/deps/jsr.io/@std/semver/0.220.1/try_parse.d.ts +8 -0
  273. package/esm/deps/jsr.io/@std/semver/0.220.1/try_parse.d.ts.map +1 -0
  274. package/esm/deps/jsr.io/@std/semver/0.220.1/try_parse.js +17 -0
  275. package/esm/deps/jsr.io/@std/semver/0.220.1/try_parse_range.d.ts +8 -0
  276. package/esm/deps/jsr.io/@std/semver/0.220.1/try_parse_range.d.ts.map +1 -0
  277. package/esm/deps/jsr.io/@std/semver/0.220.1/try_parse_range.js +17 -0
  278. package/esm/deps/jsr.io/@std/semver/0.220.1/types.d.ts +38 -0
  279. package/esm/deps/jsr.io/@std/semver/0.220.1/types.d.ts.map +1 -0
  280. package/esm/deps/jsr.io/@std/semver/0.220.1/types.js +2 -0
  281. package/esm/deps/jsr.io/@std/testing/0.220.1/snapshot.d.ts.map +1 -0
  282. package/esm/deps/jsr.io/@std/text/0.220.1/_util.d.ts.map +1 -0
  283. package/esm/deps/jsr.io/@std/text/0.220.1/case.d.ts.map +1 -0
  284. package/esm/deps/jsr.io/@std/text/0.220.1/closest_string.d.ts.map +1 -0
  285. package/esm/deps/jsr.io/@std/text/0.220.1/compare_similarity.d.ts.map +1 -0
  286. package/esm/deps/jsr.io/@std/text/0.220.1/levenshtein_distance.d.ts.map +1 -0
  287. package/esm/deps/jsr.io/@std/text/0.220.1/mod.d.ts.map +1 -0
  288. package/esm/deps/jsr.io/@std/text/0.220.1/word_similarity_sort.d.ts.map +1 -0
  289. package/esm/deps/jsr.io/@std/url/0.220.1/_strip.d.ts.map +1 -0
  290. package/esm/deps/jsr.io/@std/url/0.220.1/basename.d.ts.map +1 -0
  291. package/esm/deps/jsr.io/@std/url/0.220.1/dirname.d.ts.map +1 -0
  292. package/esm/deps/jsr.io/@std/url/0.220.1/extname.d.ts.map +1 -0
  293. package/esm/deps/jsr.io/@std/url/0.220.1/join.d.ts.map +1 -0
  294. package/esm/deps/jsr.io/@std/url/0.220.1/mod.d.ts.map +1 -0
  295. package/esm/deps/jsr.io/@std/url/0.220.1/normalize.d.ts.map +1 -0
  296. package/esm/deps/jsr.io/@std/yaml/0.220.1/_dumper/dumper.d.ts.map +1 -0
  297. package/esm/deps/jsr.io/@std/yaml/0.220.1/_dumper/dumper_state.d.ts.map +1 -0
  298. package/esm/deps/jsr.io/@std/yaml/0.220.1/_error.d.ts.map +1 -0
  299. package/esm/deps/jsr.io/@std/yaml/0.220.1/_loader/loader.d.ts.map +1 -0
  300. package/esm/deps/jsr.io/@std/yaml/0.220.1/_loader/loader_state.d.ts.map +1 -0
  301. package/esm/deps/jsr.io/@std/yaml/0.220.1/_mark.d.ts.map +1 -0
  302. package/esm/deps/jsr.io/@std/yaml/0.220.1/_state.d.ts.map +1 -0
  303. package/esm/deps/jsr.io/@std/yaml/0.220.1/_type/binary.d.ts.map +1 -0
  304. package/esm/deps/jsr.io/@std/yaml/0.220.1/_type/bool.d.ts.map +1 -0
  305. package/esm/deps/jsr.io/@std/yaml/0.220.1/_type/float.d.ts.map +1 -0
  306. package/esm/deps/jsr.io/@std/yaml/0.220.1/_type/function.d.ts.map +1 -0
  307. package/esm/deps/jsr.io/@std/yaml/0.220.1/_type/int.d.ts.map +1 -0
  308. package/esm/deps/jsr.io/@std/yaml/0.220.1/_type/map.d.ts.map +1 -0
  309. package/esm/deps/jsr.io/@std/yaml/0.220.1/_type/merge.d.ts.map +1 -0
  310. package/esm/deps/jsr.io/@std/yaml/0.220.1/_type/mod.d.ts.map +1 -0
  311. package/esm/deps/jsr.io/@std/yaml/0.220.1/_type/nil.d.ts.map +1 -0
  312. package/esm/deps/jsr.io/@std/yaml/0.220.1/_type/omap.d.ts.map +1 -0
  313. package/esm/deps/jsr.io/@std/yaml/0.220.1/_type/pairs.d.ts.map +1 -0
  314. package/esm/deps/jsr.io/@std/yaml/0.220.1/_type/regexp.d.ts.map +1 -0
  315. package/esm/deps/jsr.io/@std/yaml/0.220.1/_type/seq.d.ts.map +1 -0
  316. package/esm/deps/jsr.io/@std/yaml/0.220.1/_type/set.d.ts.map +1 -0
  317. package/esm/deps/jsr.io/@std/yaml/0.220.1/_type/str.d.ts.map +1 -0
  318. package/esm/deps/jsr.io/@std/yaml/0.220.1/_type/timestamp.d.ts.map +1 -0
  319. package/esm/deps/jsr.io/@std/yaml/0.220.1/_type/undefined.d.ts.map +1 -0
  320. package/esm/deps/jsr.io/@std/yaml/0.220.1/_utils.d.ts.map +1 -0
  321. package/esm/deps/jsr.io/@std/yaml/0.220.1/mod.d.ts.map +1 -0
  322. package/esm/deps/jsr.io/@std/yaml/0.220.1/parse.d.ts.map +1 -0
  323. package/esm/deps/jsr.io/@std/yaml/0.220.1/schema/core.d.ts.map +1 -0
  324. package/esm/deps/jsr.io/@std/yaml/0.220.1/schema/default.d.ts.map +1 -0
  325. package/esm/deps/jsr.io/@std/yaml/0.220.1/schema/extended.d.ts.map +1 -0
  326. package/esm/deps/jsr.io/@std/yaml/0.220.1/schema/failsafe.d.ts.map +1 -0
  327. package/esm/deps/jsr.io/@std/yaml/0.220.1/schema/json.d.ts.map +1 -0
  328. package/esm/deps/jsr.io/@std/yaml/0.220.1/schema/mod.d.ts.map +1 -0
  329. package/esm/deps/jsr.io/@std/yaml/0.220.1/schema.d.ts.map +1 -0
  330. package/esm/deps/jsr.io/@std/yaml/0.220.1/stringify.d.ts.map +1 -0
  331. package/esm/deps/jsr.io/@std/yaml/0.220.1/type.d.ts.map +1 -0
  332. package/esm/federation/callback.d.ts +56 -0
  333. package/esm/federation/callback.d.ts.map +1 -0
  334. package/esm/federation/callback.js +1 -0
  335. package/esm/federation/collection.d.ts +9 -0
  336. package/esm/federation/collection.d.ts.map +1 -0
  337. package/esm/federation/collection.js +1 -0
  338. package/esm/federation/context.d.ts +148 -0
  339. package/esm/federation/context.d.ts.map +1 -0
  340. package/esm/federation/context.js +1 -0
  341. package/esm/federation/handler.d.ts +83 -0
  342. package/esm/federation/handler.d.ts.map +1 -0
  343. package/esm/federation/handler.js +266 -0
  344. package/esm/federation/handler.test.d.ts.map +1 -0
  345. package/esm/federation/kv.d.ts +58 -0
  346. package/esm/federation/kv.d.ts.map +1 -0
  347. package/esm/federation/kv.js +45 -0
  348. package/esm/federation/middleware.d.ts +309 -0
  349. package/esm/federation/middleware.d.ts.map +1 -0
  350. package/esm/federation/middleware.js +626 -0
  351. package/esm/federation/middleware.test.d.ts.map +1 -0
  352. package/esm/federation/mod.d.ts +14 -0
  353. package/esm/federation/mod.d.ts.map +1 -0
  354. package/esm/federation/mod.js +13 -0
  355. package/esm/federation/mq.d.ts +42 -0
  356. package/esm/federation/mq.d.ts.map +1 -0
  357. package/esm/federation/mq.js +26 -0
  358. package/esm/federation/queue.d.ts +10 -0
  359. package/esm/federation/queue.d.ts.map +1 -0
  360. package/esm/federation/queue.js +1 -0
  361. package/esm/federation/router.d.ts +52 -0
  362. package/esm/federation/router.d.ts.map +1 -0
  363. package/esm/federation/router.js +80 -0
  364. package/esm/federation/router.test.d.ts.map +1 -0
  365. package/esm/federation/send.d.ts +60 -0
  366. package/esm/federation/send.d.ts.map +1 -0
  367. package/esm/federation/send.js +45 -0
  368. package/esm/federation/send.test.d.ts.map +1 -0
  369. package/esm/httpsig/key.d.ts +32 -0
  370. package/esm/httpsig/key.d.ts.map +1 -0
  371. package/esm/httpsig/key.js +62 -0
  372. package/esm/httpsig/key.test.d.ts.map +1 -0
  373. package/esm/httpsig/mod.d.ts +47 -0
  374. package/esm/httpsig/mod.d.ts.map +1 -0
  375. package/esm/httpsig/mod.js +193 -0
  376. package/esm/httpsig/mod.test.d.ts.map +1 -0
  377. package/esm/mod.d.ts +51 -0
  378. package/esm/mod.d.ts.map +1 -0
  379. package/esm/mod.js +50 -0
  380. package/esm/nodeinfo/handler.d.ts +33 -0
  381. package/esm/nodeinfo/handler.d.ts.map +1 -0
  382. package/esm/nodeinfo/handler.js +49 -0
  383. package/esm/nodeinfo/handler.test.d.ts.map +1 -0
  384. package/esm/nodeinfo/mod.d.ts +8 -0
  385. package/esm/nodeinfo/mod.d.ts.map +1 -0
  386. package/esm/nodeinfo/mod.js +7 -0
  387. package/esm/nodeinfo/types.d.ts +133 -0
  388. package/esm/nodeinfo/types.d.ts.map +1 -0
  389. package/esm/nodeinfo/types.js +60 -0
  390. package/esm/nodeinfo/types.test.d.ts.map +1 -0
  391. package/esm/package.json +3 -0
  392. package/esm/runtime/docloader.d.ts +104 -0
  393. package/esm/runtime/docloader.d.ts.map +1 -0
  394. package/esm/runtime/docloader.js +124 -0
  395. package/esm/runtime/docloader.test.d.ts.map +1 -0
  396. package/esm/runtime/key.d.ts +14 -0
  397. package/esm/runtime/key.d.ts.map +1 -0
  398. package/esm/runtime/key.js +24 -0
  399. package/esm/runtime/key.test.d.ts.map +1 -0
  400. package/esm/runtime/langstr.d.ts +15 -0
  401. package/esm/runtime/langstr.d.ts.map +1 -0
  402. package/esm/runtime/langstr.js +25 -0
  403. package/esm/runtime/langstr.test.d.ts.map +1 -0
  404. package/esm/runtime/mod.d.ts +10 -0
  405. package/esm/runtime/mod.d.ts.map +1 -0
  406. package/esm/runtime/mod.js +9 -0
  407. package/esm/shim/event.d.ts.map +1 -0
  408. package/esm/testing/context.d.ts.map +1 -0
  409. package/esm/testing/docloader.d.ts.map +1 -0
  410. package/esm/testing/fixtures/example.com/hong-gildong +11 -0
  411. package/esm/testing/fixtures/example.com/key +7 -0
  412. package/esm/testing/fixtures/example.com/key2 +6 -0
  413. package/esm/testing/fixtures/example.com/object +6 -0
  414. package/esm/testing/fixtures/example.com/person +22 -0
  415. package/esm/testing/fixtures/example.com/test +5 -0
  416. package/esm/testing/fixtures/example.com/users/handle +16 -0
  417. package/esm/testing/fixtures/example.com/wrong-type +3 -0
  418. package/esm/testing/fixtures/w3id.org/security/v1 +50 -0
  419. package/esm/testing/fixtures/www.w3.org/ns/activitystreams +379 -0
  420. package/esm/testing/keys.d.ts.map +1 -0
  421. package/esm/vocab/accept.yaml +11 -0
  422. package/esm/vocab/activity.yaml +42 -0
  423. package/esm/vocab/actor.d.ts +52 -0
  424. package/esm/vocab/actor.d.ts.map +1 -0
  425. package/esm/vocab/actor.js +94 -0
  426. package/esm/vocab/actor.test.d.ts.map +1 -0
  427. package/esm/vocab/add.yaml +12 -0
  428. package/esm/vocab/announce.yaml +11 -0
  429. package/esm/vocab/application.yaml +179 -0
  430. package/esm/vocab/article.yaml +8 -0
  431. package/esm/vocab/audio.yaml +8 -0
  432. package/esm/vocab/block.yaml +12 -0
  433. package/esm/vocab/collection.yaml +63 -0
  434. package/esm/vocab/collectionpage.yaml +38 -0
  435. package/esm/vocab/create.yaml +8 -0
  436. package/esm/vocab/delete.yaml +10 -0
  437. package/esm/vocab/dislike.yaml +8 -0
  438. package/esm/vocab/document.yaml +8 -0
  439. package/esm/vocab/endpoints.yaml +78 -0
  440. package/esm/vocab/event.yaml +8 -0
  441. package/esm/vocab/flag.yaml +11 -0
  442. package/esm/vocab/follow.yaml +12 -0
  443. package/esm/vocab/group.yaml +179 -0
  444. package/esm/vocab/ignore.yaml +10 -0
  445. package/esm/vocab/image.yaml +8 -0
  446. package/esm/vocab/intransitiveactivity.yaml +11 -0
  447. package/esm/vocab/key.yaml +25 -0
  448. package/esm/vocab/like.yaml +10 -0
  449. package/esm/vocab/link.yaml +92 -0
  450. package/esm/vocab/lookup.d.ts +42 -0
  451. package/esm/vocab/lookup.d.ts.map +1 -0
  452. package/esm/vocab/lookup.js +82 -0
  453. package/esm/vocab/lookup.test.d.ts.map +1 -0
  454. package/esm/vocab/mention.yaml +8 -0
  455. package/esm/vocab/mod.d.ts +55 -0
  456. package/esm/vocab/mod.d.ts.map +1 -0
  457. package/esm/vocab/mod.js +54 -0
  458. package/esm/vocab/note.yaml +10 -0
  459. package/esm/vocab/object.yaml +301 -0
  460. package/esm/vocab/orderedcollection.yaml +11 -0
  461. package/esm/vocab/orderedcollectionpage.yaml +20 -0
  462. package/esm/vocab/organization.yaml +179 -0
  463. package/esm/vocab/page.yaml +8 -0
  464. package/esm/vocab/person.yaml +179 -0
  465. package/esm/vocab/place.yaml +66 -0
  466. package/esm/vocab/profile.yaml +22 -0
  467. package/esm/vocab/reject.yaml +10 -0
  468. package/esm/vocab/relationship.yaml +46 -0
  469. package/esm/vocab/remove.yaml +10 -0
  470. package/esm/vocab/service.yaml +179 -0
  471. package/esm/vocab/undo.yaml +15 -0
  472. package/esm/vocab/update.yaml +13 -0
  473. package/esm/vocab/video.yaml +8 -0
  474. package/esm/vocab/vocab.d.ts +7191 -0
  475. package/esm/vocab/vocab.d.ts.map +1 -0
  476. package/esm/vocab/vocab.js +14279 -0
  477. package/esm/vocab/vocab.test.d.ts.map +1 -0
  478. package/esm/webfinger/handler.d.ts +29 -0
  479. package/esm/webfinger/handler.d.ts.map +1 -0
  480. package/esm/webfinger/handler.js +76 -0
  481. package/esm/webfinger/handler.test.d.ts.map +1 -0
  482. package/esm/webfinger/jrd.d.ts +52 -0
  483. package/esm/webfinger/jrd.d.ts.map +1 -0
  484. package/esm/webfinger/jrd.js +1 -0
  485. package/esm/webfinger/lookup.d.ts +9 -0
  486. package/esm/webfinger/lookup.d.ts.map +1 -0
  487. package/esm/webfinger/lookup.js +44 -0
  488. package/esm/webfinger/lookup.test.d.ts.map +1 -0
  489. package/esm/webfinger/mod.d.ts +8 -0
  490. package/esm/webfinger/mod.d.ts.map +1 -0
  491. package/esm/webfinger/mod.js +7 -0
  492. package/esm/x/fresh.d.ts +58 -0
  493. package/esm/x/fresh.d.ts.map +1 -0
  494. package/esm/x/fresh.js +77 -0
  495. package/logo.svg +187 -0
  496. package/package.json +60 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vocab.test.d.ts","sourceRoot":"","sources":["../../src/vocab/vocab.test.ts"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,CAAC"}
@@ -0,0 +1,29 @@
1
+ /// <reference types="node" />
2
+ import type { ActorDispatcher } from "../federation/callback.js";
3
+ import type { RequestContext } from "../federation/context.js";
4
+ /**
5
+ * Parameters for {@link handleWebFinger}.
6
+ */
7
+ export interface WebFingerHandlerParameters<TContextData> {
8
+ /**
9
+ * The request context.
10
+ */
11
+ context: RequestContext<TContextData>;
12
+ /**
13
+ * The callback for dispatching the actor.
14
+ */
15
+ actorDispatcher?: ActorDispatcher<TContextData>;
16
+ /**
17
+ * The function to call when the actor is not found.
18
+ */
19
+ onNotFound(request: Request): Response | Promise<Response>;
20
+ }
21
+ /**
22
+ * Handles a WebFinger request. You would not typically call this function
23
+ * directly, but instead use {@link Federation.handle} method.
24
+ * @param request The WebFinger request to handle.
25
+ * @param parameters The parameters for handling the request.
26
+ * @returns The response to the request.
27
+ */
28
+ export declare function handleWebFinger<TContextData>(request: Request, { context, actorDispatcher, onNotFound, }: WebFingerHandlerParameters<TContextData>): Promise<Response>;
29
+ //# sourceMappingURL=handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/webfinger/handler.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAI/D;;GAEG;AACH,MAAM,WAAW,0BAA0B,CAAC,YAAY;IACtD;;OAEG;IACH,OAAO,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;IAEtC;;OAEG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;IAEhD;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC5D;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,YAAY,EAChD,OAAO,EAAE,OAAO,EAChB,EACE,OAAO,EACP,eAAe,EACf,UAAU,GACX,EAAE,0BAA0B,CAAC,YAAY,CAAC,GAC1C,OAAO,CAAC,QAAQ,CAAC,CAiEnB"}
@@ -0,0 +1,76 @@
1
+ import { Link as LinkObject } from "../vocab/mod.js";
2
+ /**
3
+ * Handles a WebFinger request. You would not typically call this function
4
+ * directly, but instead use {@link Federation.handle} method.
5
+ * @param request The WebFinger request to handle.
6
+ * @param parameters The parameters for handling the request.
7
+ * @returns The response to the request.
8
+ */
9
+ export async function handleWebFinger(request, { context, actorDispatcher, onNotFound, }) {
10
+ if (actorDispatcher == null) {
11
+ const response = onNotFound(request);
12
+ return response instanceof Promise ? await response : response;
13
+ }
14
+ const resource = context.url.searchParams.get("resource");
15
+ if (resource == null) {
16
+ return new Response("Missing resource parameter.", { status: 400 });
17
+ }
18
+ let resourceUrl;
19
+ try {
20
+ resourceUrl = new URL(resource);
21
+ }
22
+ catch (e) {
23
+ if (e instanceof TypeError) {
24
+ return new Response("Invalid resource URL.", { status: 400 });
25
+ }
26
+ throw new e();
27
+ }
28
+ let handle = context.getHandleFromActorUri(resourceUrl);
29
+ if (handle == null) {
30
+ const match = /^acct:([^@]+)@([^@]+)$/.exec(resource);
31
+ if (match == null || match[2] != context.url.host) {
32
+ const response = onNotFound(request);
33
+ return response instanceof Promise ? await response : response;
34
+ }
35
+ handle = match[1];
36
+ }
37
+ const key = await context.getActorKey(handle);
38
+ const actor = await actorDispatcher(context, handle, key);
39
+ if (actor == null) {
40
+ const response = onNotFound(request);
41
+ return response instanceof Promise ? await response : response;
42
+ }
43
+ const links = [
44
+ {
45
+ rel: "self",
46
+ href: context.getActorUri(handle).href,
47
+ type: "application/activity+json",
48
+ },
49
+ ];
50
+ for (const url of actor.urls) {
51
+ if (url instanceof LinkObject && url.href != null) {
52
+ links.push({
53
+ rel: url.rel ?? "http://webfinger.net/rel/profile-page",
54
+ href: url.href.href,
55
+ type: url.mediaType == null ? undefined : url.mediaType,
56
+ });
57
+ }
58
+ else if (url instanceof URL) {
59
+ links.push({
60
+ rel: "http://webfinger.net/rel/profile-page",
61
+ href: url.href,
62
+ });
63
+ }
64
+ }
65
+ const jrd = {
66
+ subject: `acct:${handle}@${context.url.host}`,
67
+ aliases: [context.getActorUri(handle).href],
68
+ links,
69
+ };
70
+ return new Response(JSON.stringify(jrd), {
71
+ headers: {
72
+ "Content-Type": "application/jrd+json",
73
+ "Access-Control-Allow-Origin": "*",
74
+ },
75
+ });
76
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.test.d.ts","sourceRoot":"","sources":["../../src/webfinger/handler.test.ts"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,CAAC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Describes a resource. See also
3
+ * [RFC 7033 section 4.4](https://datatracker.ietf.org/doc/html/rfc7033#section-4.4).
4
+ */
5
+ export interface ResourceDescriptor {
6
+ /**
7
+ * A URI that identifies the entity that this descriptor describes.
8
+ */
9
+ subject?: string;
10
+ /**
11
+ * URIs that identify the same entity as the `subject`.
12
+ */
13
+ aliases?: string[];
14
+ /**
15
+ * Conveys additional information about the `subject` of this descriptor.
16
+ */
17
+ properties?: Record<string, string>;
18
+ /**
19
+ * Links to other resources.
20
+ */
21
+ links?: Link[];
22
+ }
23
+ /**
24
+ * Represents a link. See also
25
+ * [RFC 7033 section 4.4.4](https://datatracker.ietf.org/doc/html/rfc7033#section-4.4.4).
26
+ */
27
+ export interface Link {
28
+ /**
29
+ * The link's relation type, which is either a URI or a registered relation
30
+ * type (see [RFC 5988](https://datatracker.ietf.org/doc/html/rfc5988)).
31
+ */
32
+ rel: string;
33
+ /**
34
+ * The media type of the target resource (see
35
+ * [RFC 6838](https://datatracker.ietf.org/doc/html/rfc6838)).
36
+ */
37
+ type?: string;
38
+ /**
39
+ * A URI pointing to the target resource.
40
+ */
41
+ href: string;
42
+ /**
43
+ * Human-readable titles describing the link relation. If the language is
44
+ * unknown or unspecified, the key is `"und"`.
45
+ */
46
+ titles?: Record<string, string>;
47
+ /**
48
+ * Conveys additional information about the link relation.
49
+ */
50
+ properties?: Record<string, string>;
51
+ }
52
+ //# sourceMappingURL=jrd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jrd.d.ts","sourceRoot":"","sources":["../../src/webfinger/jrd.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEpC;;OAEG;IACH,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,IAAI;IACnB;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,9 @@
1
+ /// <reference types="node" />
2
+ import type { ResourceDescriptor } from "./jrd.js";
3
+ /**
4
+ * Looks up a WebFinger resource.
5
+ * @param resource The resource URL to look up.
6
+ * @returns The resource descriptor, or `null` if not found.
7
+ */
8
+ export declare function lookupWebFinger(resource: URL | string): Promise<ResourceDescriptor | null>;
9
+ //# sourceMappingURL=lookup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lookup.d.ts","sourceRoot":"","sources":["../../src/webfinger/lookup.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,GAAG,GAAG,MAAM,GACrB,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAiCpC"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Looks up a WebFinger resource.
3
+ * @param resource The resource URL to look up.
4
+ * @returns The resource descriptor, or `null` if not found.
5
+ */
6
+ export async function lookupWebFinger(resource) {
7
+ if (typeof resource === "string")
8
+ resource = new URL(resource);
9
+ let server;
10
+ if (resource.protocol === "acct:") {
11
+ const atPos = resource.pathname.lastIndexOf("@");
12
+ if (atPos < 0)
13
+ return null;
14
+ server = resource.pathname.substring(atPos + 1);
15
+ if (server === "")
16
+ return null;
17
+ }
18
+ else {
19
+ server = resource.hostname;
20
+ }
21
+ let url = new URL(`https://${server}/.well-known/webfinger`);
22
+ url.searchParams.set("resource", resource.href);
23
+ while (true) {
24
+ const response = await fetch(url, {
25
+ headers: { Accept: "application/jrd+json" },
26
+ redirect: "manual",
27
+ });
28
+ if (response.status >= 300 && response.status < 400 &&
29
+ response.headers.has("Location")) {
30
+ url = new URL(response.headers.get("Location"));
31
+ continue;
32
+ }
33
+ if (!response.ok)
34
+ return null;
35
+ try {
36
+ return await response.json();
37
+ }
38
+ catch (e) {
39
+ if (e instanceof SyntaxError)
40
+ return null;
41
+ throw e;
42
+ }
43
+ }
44
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lookup.test.d.ts","sourceRoot":"","sources":["../../src/webfinger/lookup.test.ts"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Exports WebFinger-related types and functions.
3
+ *
4
+ * @module
5
+ */
6
+ export * from "./jrd.js";
7
+ export * from "./lookup.js";
8
+ //# sourceMappingURL=mod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/webfinger/mod.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Exports WebFinger-related types and functions.
3
+ *
4
+ * @module
5
+ */
6
+ export * from "./jrd.js";
7
+ export * from "./lookup.js";
@@ -0,0 +1,58 @@
1
+ /// <reference types="node" />
2
+ /**
3
+ * Fedify with Fresh
4
+ * =================
5
+ *
6
+ * This module contains some utilities for integrating Fedify with [Fresh],
7
+ * a web framework for Deno.
8
+ *
9
+ * [Fresh]: https://fresh.deno.dev/
10
+ *
11
+ * @module
12
+ */
13
+ import type { Federation, FederationHandlerParameters } from "../federation/middleware.js";
14
+ interface FreshContext {
15
+ next(): Promise<Response>;
16
+ }
17
+ /**
18
+ * Create options for the `federation` object to integrate with Fresh.
19
+ *
20
+ * @example _middleware.ts
21
+ * ``` typescript
22
+ * import { FreshContext } from "$fresh/server.ts";
23
+ * import { federation } from "federation.ts"; // Import the `Federation` object
24
+ *
25
+ * export async function handler(request: Request, context: FreshContext) {
26
+ * return await federation.handle(request, {
27
+ * contextData: undefined,
28
+ * ...integrateHandlerOptions(context),
29
+ * })
30
+ * }
31
+ * ```
32
+ *
33
+ * @param context A Fresh context.
34
+ * @returns Options for the {@link Federation.handle} method.
35
+ */
36
+ export declare function integrateHandlerOptions(context: FreshContext): Omit<FederationHandlerParameters<void>, "contextData">;
37
+ /**
38
+ * Create a Fresh middleware handler to integrate with the {@link Federation}
39
+ * object.
40
+ *
41
+ * @example _middleware.ts
42
+ * ``` typescript
43
+ * import { federation } from "federation.ts"; // Import the `Federation` object
44
+ *
45
+ * export const handler = integrateHandler(federation, () => undefined);
46
+ * ```
47
+ *
48
+ * @typeParam TContextData A type of the context data for the {@link Federation}
49
+ * object.
50
+ * @typeParam TFreshContext A type of the Fresh context.
51
+ * @param federation A {@link Federation} object to integrate with Fresh.
52
+ * @param createContextData A function to create a context data for the
53
+ * {@link Federation} object.
54
+ * @returns A Fresh middleware handler.
55
+ */
56
+ export declare function integrateHandler<TContextData, TFreshContext extends FreshContext>(federation: Federation<TContextData>, createContextData: (req: Request, ctx: TFreshContext) => TContextData | Promise<TContextData>): (req: Request, ctx: TFreshContext) => Promise<Response>;
57
+ export {};
58
+ //# sourceMappingURL=fresh.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fresh.d.ts","sourceRoot":"","sources":["../../src/x/fresh.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EACV,UAAU,EACV,2BAA2B,EAC5B,MAAM,6BAA6B,CAAC;AAErC,UAAU,YAAY;IACpB,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,YAAY,GACpB,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,CA2BxD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EACZ,aAAa,SAAS,YAAY,EAElC,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,EACpC,iBAAiB,EAAE,CACjB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,aAAa,KACf,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,GACxC,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,QAAQ,CAAC,CAYzD"}
package/esm/x/fresh.js ADDED
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Create options for the `federation` object to integrate with Fresh.
3
+ *
4
+ * @example _middleware.ts
5
+ * ``` typescript
6
+ * import { FreshContext } from "$fresh/server.ts";
7
+ * import { federation } from "federation.ts"; // Import the `Federation` object
8
+ *
9
+ * export async function handler(request: Request, context: FreshContext) {
10
+ * return await federation.handle(request, {
11
+ * contextData: undefined,
12
+ * ...integrateHandlerOptions(context),
13
+ * })
14
+ * }
15
+ * ```
16
+ *
17
+ * @param context A Fresh context.
18
+ * @returns Options for the {@link Federation.handle} method.
19
+ */
20
+ export function integrateHandlerOptions(context) {
21
+ return {
22
+ // If the `federation` object finds a request not responsible for it
23
+ // (i.e., not a federation-related request), it will call the `next`
24
+ // provided by the Fresh framework to continue the request handling
25
+ // by the Fresh:
26
+ onNotFound: context.next.bind(context),
27
+ // Similar to `onNotFound`, but slightly more tricky one.
28
+ // When the `federation` object finds a request not acceptable type-wise
29
+ // (i.e., a user-agent doesn't want JSON-LD), it will call the `next`
30
+ // provided by the Fresh framework so that it renders HTML if there's some
31
+ // page. Otherwise, it will simply return a 406 Not Acceptable response.
32
+ // This kind of trick enables the Fedify and Fresh to share the same routes
33
+ // and they do content negotiation depending on `Accept` header:
34
+ async onNotAcceptable(_request) {
35
+ const response = await context.next();
36
+ if (response.status !== 404)
37
+ return response;
38
+ return new Response("Not acceptable", {
39
+ status: 406,
40
+ headers: {
41
+ "Content-Type": "text/plain",
42
+ Vary: "Accept",
43
+ },
44
+ });
45
+ },
46
+ };
47
+ }
48
+ /**
49
+ * Create a Fresh middleware handler to integrate with the {@link Federation}
50
+ * object.
51
+ *
52
+ * @example _middleware.ts
53
+ * ``` typescript
54
+ * import { federation } from "federation.ts"; // Import the `Federation` object
55
+ *
56
+ * export const handler = integrateHandler(federation, () => undefined);
57
+ * ```
58
+ *
59
+ * @typeParam TContextData A type of the context data for the {@link Federation}
60
+ * object.
61
+ * @typeParam TFreshContext A type of the Fresh context.
62
+ * @param federation A {@link Federation} object to integrate with Fresh.
63
+ * @param createContextData A function to create a context data for the
64
+ * {@link Federation} object.
65
+ * @returns A Fresh middleware handler.
66
+ */
67
+ export function integrateHandler(federation, createContextData) {
68
+ return async (request, context) => {
69
+ let contextData = createContextData(request, context);
70
+ if (contextData instanceof Promise)
71
+ contextData = await contextData;
72
+ return await federation.handle(request, {
73
+ contextData,
74
+ ...integrateHandlerOptions(context),
75
+ });
76
+ };
77
+ }
package/logo.svg ADDED
@@ -0,0 +1,187 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg
3
+ width="48"
4
+ height="48"
5
+ viewBox="0 0 112 112"
6
+ version="1.1"
7
+ id="svg5"
8
+ xmlns="http://www.w3.org/2000/svg"
9
+ xmlns:svg="http://www.w3.org/2000/svg"
10
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
11
+ xmlns:cc="http://creativecommons.org/ns#"
12
+ xmlns:dc="http://purl.org/dc/elements/1.1/">
13
+ <defs
14
+ id="defs5">
15
+ <clipPath
16
+ clipPathUnits="userSpaceOnUse"
17
+ id="clipPath8">
18
+ <ellipse
19
+ style="fill:#000000;stroke:#000000;stroke-width:3.02635;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
20
+ id="ellipse8"
21
+ cx="55.92646"
22
+ cy="56.073448"
23
+ transform="rotate(-0.07519647)"
24
+ rx="54.486828"
25
+ ry="54.486824" />
26
+ </clipPath>
27
+ </defs>
28
+ <title
29
+ id="title1">Deno Avatar</title>
30
+ <ellipse
31
+ style="fill:#ffffff;stroke:none;stroke-width:3.02635;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
32
+ id="path8-2"
33
+ cx="55.92646"
34
+ cy="56.073448"
35
+ transform="rotate(-0.07519647)"
36
+ rx="54.486828"
37
+ ry="54.486824" />
38
+ <g
39
+ id="g8"
40
+ clip-path="url(#clipPath8)">
41
+ <g
42
+ id="g5">
43
+ <path
44
+ d="M 77.4624,78.9593 C 78.2802,68.3428 73.7143,58.8833 71.3291,55.4806 L 87.6847,48.335 c 4.9066,1.6333 6.474,17.3537 6.6444,25.0098 0,0 -3.5778,0.5104 -5.6222,2.0416 -2.085,1.5616 -5.6222,5.1041 -11.2445,3.5729 z"
45
+ fill="#ffffff"
46
+ stroke="#84b5d9"
47
+ stroke-width="3"
48
+ stroke-linecap="round"
49
+ id="path1" />
50
+ <path
51
+ d="M 7.06239,52.159 C -5.55748,54.1782 -12.682,66.0659 -17.661,73.2769 c -0.8584,13.3918 -0.6181,41.1021 7.211,44.8111 7.82906,3.709 26.9553,1.545 35.5398,0 v 4.121 c 1.3736,0.515 5.0477,1.648 8.7562,2.06 3.7085,0.412 6.696,-1.202 7.7261,-2.06 v -9.787 c 0.5151,-0.343 2.9874,-1.957 8.7562,-5.666 7.211,-4.635 11.3315,-16.482 9.7863,-24.7229 -1.1589,-6.181 3.6055,-18.5427 6.1809,-26.7838 9.7863,2.0601 22.148,-1.0301 23.1781,-14.9369 C 90.1205,31.5801 80.7174,19.9868 63.2051,25.3752 45.6927,30.7636 48.268,52.159 41.5721,59.37 35.3913,53.1891 23.5446,49.5219 7.06239,52.159 Z"
52
+ fill="#bae6fd"
53
+ stroke="#0c4a6e"
54
+ stroke-width="3"
55
+ stroke-linecap="round"
56
+ id="path3" />
57
+ <path
58
+ d="M 66.2955,55.2493 C 64.5786,54.7342 60.9387,53.6011 60.1146,53.189"
59
+ stroke="#0284c7"
60
+ stroke-opacity="0.37"
61
+ stroke-width="3"
62
+ stroke-linecap="round"
63
+ id="path4"
64
+ style="opacity:1;fill:none;stroke-width:3;stroke-linejoin:miter;stroke-dasharray:none;paint-order:normal" />
65
+ <path
66
+ d="m 41.5721,59.3698 c -0.6868,0.8585 -2.6784,2.7814 -5.1507,3.6055"
67
+ stroke="#0284c7"
68
+ stroke-opacity="0.37"
69
+ stroke-width="3"
70
+ stroke-linecap="round"
71
+ id="path5"
72
+ style="fill:none" />
73
+ <circle
74
+ cx="68.870796"
75
+ cy="42.8876"
76
+ r="2.0602801"
77
+ fill="#000000"
78
+ id="circle5" />
79
+ </g>
80
+ <g
81
+ id="g2"
82
+ transform="matrix(0.08160718,0,0,0.08160718,76.994732,53.205469)"
83
+ style="display:inline">
84
+ <path
85
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#a730b8;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:41.5748;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
86
+ d="m 181.13086,275.13672 a 68.892408,68.892408 0 0 1 -29.46484,29.32812 l 161.75781,162.38868 38.99805,-19.76368 z m 213.36328,214.1875 -38.99805,19.76367 81.96289,82.2832 a 68.892409,68.892409 0 0 1 29.47071,-29.33203 z"
87
+ id="path9722"
88
+ transform="matrix(0.26458333,0,0,0.26458333,-6.6789703,32.495842)" />
89
+ <path
90
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#5496be;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:41.5748;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
91
+ d="m 581.64648,339.39062 -91.57617,46.41016 6.75196,43.18945 103.61523,-52.51367 A 68.892409,68.892409 0 0 1 581.64648,339.39062 Z M 436.9082,412.74219 220.38281,522.47656 a 68.892408,68.892408 0 0 1 18.79492,37.08985 L 443.66016,455.93359 Z"
92
+ id="path9729"
93
+ transform="matrix(0.26458333,0,0,0.26458333,-6.6789703,32.495842)" />
94
+ <path
95
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ce3d1a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:41.5748;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
96
+ d="M 367.27539,142.4375 262.79492,346.4082 293.64258,377.375 404.26562,161.41797 A 68.892408,68.892408 0 0 1 367.27539,142.4375 Z m -131.6543,257.02148 -52.92187,103.31446 a 68.892409,68.892409 0 0 1 36.98633,18.97851 l 46.78125,-91.32812 z"
97
+ id="path9713"
98
+ transform="matrix(0.26458333,0,0,0.26458333,-6.6789703,32.495842)" />
99
+ <path
100
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#d0188f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:41.5748;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
101
+ d="m 150.76758,304.91797 a 68.892408,68.892408 0 0 1 -34.41602,7.19531 68.892408,68.892408 0 0 1 -6.65039,-0.69531 l 30.90235,197.66211 a 68.892409,68.892409 0 0 1 34.41601,-7.19531 68.892409,68.892409 0 0 1 6.64649,0.69531 z"
102
+ id="path1015"
103
+ transform="matrix(0.26458333,0,0,0.26458333,-6.6789703,32.495842)" />
104
+ <path
105
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#5b36e9;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:41.5748;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
106
+ d="m 239.3418,560.54492 a 68.892408,68.892408 0 0 1 0.7207,13.87696 68.892408,68.892408 0 0 1 -7.26758,27.17968 l 197.62891,31.71289 a 68.892409,68.892409 0 0 1 -0.72266,-13.8789 68.892409,68.892409 0 0 1 7.26953,-27.17774 z"
107
+ id="path1674"
108
+ transform="matrix(0.26458333,0,0,0.26458333,-6.6789703,32.495842)" />
109
+ <path
110
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#30b873;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:41.5748;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
111
+ d="m 601.13281,377.19922 -91.21875,178.08203 a 68.892408,68.892408 0 0 1 36.99414,18.98242 L 638.125,396.18359 a 68.892409,68.892409 0 0 1 -36.99219,-18.98437 z"
112
+ id="path1676"
113
+ transform="matrix(0.26458333,0,0,0.26458333,-6.6789703,32.495842)" />
114
+ <path
115
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ebe305;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:41.5748;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
116
+ d="m 476.72266,125.33008 a 68.892408,68.892408 0 0 1 -29.47071,29.33203 l 141.26563,141.81055 a 68.892409,68.892409 0 0 1 29.46875,-29.33204 z"
117
+ id="path1678"
118
+ transform="matrix(0.26458333,0,0,0.26458333,-6.6789703,32.495842)" />
119
+ <path
120
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#f47601;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:41.5748;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
121
+ d="m 347.78711,104.63086 -178.57617,90.49805 a 68.892409,68.892409 0 0 1 18.79297,37.08593 l 178.57421,-90.50195 a 68.892408,68.892408 0 0 1 -18.79101,-37.08203 z"
122
+ id="path1680"
123
+ transform="matrix(0.26458333,0,0,0.26458333,-6.6789703,32.495842)" />
124
+ <path
125
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#57c115;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:41.5748;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
126
+ d="m 446.92578,154.82617 a 68.892408,68.892408 0 0 1 -34.98242,7.48242 68.892408,68.892408 0 0 1 -6.0293,-0.63281 l 15.81836,101.29102 43.16211,6.92578 z m -16,167.02735 37.40039,239.48242 a 68.892409,68.892409 0 0 1 33.91406,-6.94336 68.892409,68.892409 0 0 1 7.20704,0.79101 L 474.08984,328.77734 Z"
127
+ id="path9758"
128
+ transform="matrix(0.26458333,0,0,0.26458333,-6.6789703,32.495842)" />
129
+ <path
130
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#dbb210;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:41.5748;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
131
+ d="m 188.13086,232.97461 a 68.892408,68.892408 0 0 1 0.75781,14.0957 68.892408,68.892408 0 0 1 -7.16015,26.98242 l 101.36914,16.28125 19.92382,-38.9082 z m 173.73633,27.90039 -19.92578,38.91211 239.51367,38.4668 a 68.892409,68.892409 0 0 1 -0.69531,-13.71875 68.892409,68.892409 0 0 1 7.34961,-27.32422 z"
132
+ id="path9760"
133
+ transform="matrix(0.26458333,0,0,0.26458333,-6.6789703,32.495842)" />
134
+ <circle
135
+ style="fill:#ffca00;fill-opacity:0.995968;stroke:none;stroke-width:0.264583;stroke-opacity:0.960784"
136
+ id="path817"
137
+ cx="106.26596"
138
+ cy="51.535553"
139
+ r="16.570711"
140
+ transform="rotate(3.1178174)" />
141
+ <circle
142
+ id="path819"
143
+ style="fill:#64ff00;fill-opacity:0.995968;stroke:none;stroke-width:0.264583;stroke-opacity:0.960784"
144
+ cx="171.42836"
145
+ cy="110.19328"
146
+ r="16.570711"
147
+ transform="rotate(3.1178174)" />
148
+ <circle
149
+ id="path823"
150
+ style="fill:#00a3ff;fill-opacity:0.995968;stroke:none;stroke-width:0.264583;stroke-opacity:0.960784"
151
+ cx="135.76379"
152
+ cy="190.27704"
153
+ r="16.570711"
154
+ transform="rotate(3.1178174)" />
155
+ <circle
156
+ style="fill:#9500ff;fill-opacity:0.995968;stroke:none;stroke-width:0.264583;stroke-opacity:0.960784"
157
+ id="path825"
158
+ cx="48.559471"
159
+ cy="181.1138"
160
+ r="16.570711"
161
+ transform="rotate(3.1178174)" />
162
+ <circle
163
+ id="path827"
164
+ style="fill:#ff0000;fill-opacity:0.995968;stroke:none;stroke-width:0.264583;stroke-opacity:0.960784"
165
+ cx="30.328812"
166
+ cy="95.366837"
167
+ r="16.570711"
168
+ transform="rotate(3.1178174)" />
169
+ </g>
170
+ </g>
171
+ <circle
172
+ style="opacity:1;fill:none;stroke:#84b5d9;stroke-width:4.91342;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
173
+ id="path8"
174
+ cx="55.926456"
175
+ cy="56.073448"
176
+ transform="rotate(-0.07519625)"
177
+ r="53.543289" />
178
+ <metadata
179
+ id="metadata8">
180
+ <rdf:RDF>
181
+ <cc:Work
182
+ rdf:about="">
183
+ <dc:title>Deno Avatar</dc:title>
184
+ </cc:Work>
185
+ </rdf:RDF>
186
+ </metadata>
187
+ </svg>