@pkcprotocol/pkc-js 0.0.11

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 (843) hide show
  1. package/LICENSE +339 -0
  2. package/README.md +1663 -0
  3. package/dist/browser/challenges.d.ts +1 -0
  4. package/dist/browser/challenges.js +2 -0
  5. package/dist/browser/challenges.js.map +1 -0
  6. package/dist/browser/clients/base-client-manager.d.ts +126 -0
  7. package/dist/browser/clients/base-client-manager.js +673 -0
  8. package/dist/browser/clients/base-client-manager.js.map +1 -0
  9. package/dist/browser/clients/name-resolver-client.d.ts +8 -0
  10. package/dist/browser/clients/name-resolver-client.js +10 -0
  11. package/dist/browser/clients/name-resolver-client.js.map +1 -0
  12. package/dist/browser/clients/pkc-typed-emitter.d.ts +9 -0
  13. package/dist/browser/clients/pkc-typed-emitter.js +52 -0
  14. package/dist/browser/clients/pkc-typed-emitter.js.map +1 -0
  15. package/dist/browser/clients/rpc-client/decode-rpc-response-util.d.ts +8 -0
  16. package/dist/browser/clients/rpc-client/decode-rpc-response-util.js +53 -0
  17. package/dist/browser/clients/rpc-client/decode-rpc-response-util.js.map +1 -0
  18. package/dist/browser/clients/rpc-client/pkc-rpc-client.d.ts +68 -0
  19. package/dist/browser/clients/rpc-client/pkc-rpc-client.js +404 -0
  20. package/dist/browser/clients/rpc-client/pkc-rpc-client.js.map +1 -0
  21. package/dist/browser/clients/rpc-client/rpc-schema-util.d.ts +147 -0
  22. package/dist/browser/clients/rpc-client/rpc-schema-util.js +11 -0
  23. package/dist/browser/clients/rpc-client/rpc-schema-util.js.map +1 -0
  24. package/dist/browser/clients/rpc-client/schema.d.ts +433 -0
  25. package/dist/browser/clients/rpc-client/schema.js +49 -0
  26. package/dist/browser/clients/rpc-client/schema.js.map +1 -0
  27. package/dist/browser/clients/rpc-client/types.d.ts +8 -0
  28. package/dist/browser/clients/rpc-client/types.js +2 -0
  29. package/dist/browser/clients/rpc-client/types.js.map +1 -0
  30. package/dist/browser/community/community-client-manager.d.ts +60 -0
  31. package/dist/browser/community/community-client-manager.js +717 -0
  32. package/dist/browser/community/community-client-manager.js.map +1 -0
  33. package/dist/browser/community/community-clients.d.ts +18 -0
  34. package/dist/browser/community/community-clients.js +12 -0
  35. package/dist/browser/community/community-clients.js.map +1 -0
  36. package/dist/browser/community/community-wire.d.ts +20 -0
  37. package/dist/browser/community/community-wire.js +38 -0
  38. package/dist/browser/community/community-wire.js.map +1 -0
  39. package/dist/browser/community/remote-community.d.ts +110 -0
  40. package/dist/browser/community/remote-community.js +555 -0
  41. package/dist/browser/community/remote-community.js.map +1 -0
  42. package/dist/browser/community/rpc-local-community.d.ts +41 -0
  43. package/dist/browser/community/rpc-local-community.js +289 -0
  44. package/dist/browser/community/rpc-local-community.js.map +1 -0
  45. package/dist/browser/community/rpc-remote-community.d.ts +18 -0
  46. package/dist/browser/community/rpc-remote-community.js +286 -0
  47. package/dist/browser/community/rpc-remote-community.js.map +1 -0
  48. package/dist/browser/community/schema.d.ts +4217 -0
  49. package/dist/browser/community/schema.js +289 -0
  50. package/dist/browser/community/schema.js.map +1 -0
  51. package/dist/browser/community/types.d.ts +135 -0
  52. package/dist/browser/community/types.js +2 -0
  53. package/dist/browser/community/types.js.map +1 -0
  54. package/dist/browser/constants.d.ts +6 -0
  55. package/dist/browser/constants.js +9 -0
  56. package/dist/browser/constants.js.map +1 -0
  57. package/dist/browser/decorator-util.d.ts +1 -0
  58. package/dist/browser/decorator-util.js +35 -0
  59. package/dist/browser/decorator-util.js.map +1 -0
  60. package/dist/browser/errors.d.ts +343 -0
  61. package/dist/browser/errors.js +358 -0
  62. package/dist/browser/errors.js.map +1 -0
  63. package/dist/browser/general-util/limited-set.d.ts +15 -0
  64. package/dist/browser/general-util/limited-set.js +66 -0
  65. package/dist/browser/general-util/limited-set.js.map +1 -0
  66. package/dist/browser/generated-version.d.ts +1 -0
  67. package/dist/browser/generated-version.js +3 -0
  68. package/dist/browser/generated-version.js.map +1 -0
  69. package/dist/browser/generic-state-client.d.ts +6 -0
  70. package/dist/browser/generic-state-client.js +11 -0
  71. package/dist/browser/generic-state-client.js.map +1 -0
  72. package/dist/browser/helia/helia-for-pkc.d.ts +3 -0
  73. package/dist/browser/helia/helia-for-pkc.js +255 -0
  74. package/dist/browser/helia/helia-for-pkc.js.map +1 -0
  75. package/dist/browser/helia/ipns-over-pubsub-with-fetch.d.ts +36 -0
  76. package/dist/browser/helia/ipns-over-pubsub-with-fetch.js +229 -0
  77. package/dist/browser/helia/ipns-over-pubsub-with-fetch.js.map +1 -0
  78. package/dist/browser/helia/libp2pjsClient.d.ts +27 -0
  79. package/dist/browser/helia/libp2pjsClient.js +15 -0
  80. package/dist/browser/helia/libp2pjsClient.js.map +1 -0
  81. package/dist/browser/helia/types.d.ts +19 -0
  82. package/dist/browser/helia/types.js +2 -0
  83. package/dist/browser/helia/types.js.map +1 -0
  84. package/dist/browser/helia/util.d.ts +13 -0
  85. package/dist/browser/helia/util.js +98 -0
  86. package/dist/browser/helia/util.js.map +1 -0
  87. package/dist/browser/index.d.ts +244 -0
  88. package/dist/browser/index.js +36 -0
  89. package/dist/browser/index.js.map +1 -0
  90. package/dist/browser/logger.d.ts +12 -0
  91. package/dist/browser/logger.js +11 -0
  92. package/dist/browser/logger.js.map +1 -0
  93. package/dist/browser/pages/pages-client-manager.d.ts +159 -0
  94. package/dist/browser/pages/pages-client-manager.js +334 -0
  95. package/dist/browser/pages/pages-client-manager.js.map +1 -0
  96. package/dist/browser/pages/pages-clients.d.ts +11 -0
  97. package/dist/browser/pages/pages-clients.js +10 -0
  98. package/dist/browser/pages/pages-clients.js.map +1 -0
  99. package/dist/browser/pages/pages.d.ts +107 -0
  100. package/dist/browser/pages/pages.js +262 -0
  101. package/dist/browser/pages/pages.js.map +1 -0
  102. package/dist/browser/pages/schema-util.d.ts +3 -0
  103. package/dist/browser/pages/schema-util.js +3 -0
  104. package/dist/browser/pages/schema-util.js.map +1 -0
  105. package/dist/browser/pages/schema.d.ts +719 -0
  106. package/dist/browser/pages/schema.js +32 -0
  107. package/dist/browser/pages/schema.js.map +1 -0
  108. package/dist/browser/pages/types.d.ts +44 -0
  109. package/dist/browser/pages/types.js +2 -0
  110. package/dist/browser/pages/types.js.map +1 -0
  111. package/dist/browser/pages/util.d.ts +56 -0
  112. package/dist/browser/pages/util.js +446 -0
  113. package/dist/browser/pages/util.js.map +1 -0
  114. package/dist/browser/pkc/pkc-client-manager.d.ts +44 -0
  115. package/dist/browser/pkc/pkc-client-manager.js +156 -0
  116. package/dist/browser/pkc/pkc-client-manager.js.map +1 -0
  117. package/dist/browser/pkc/pkc-clients.d.ts +11 -0
  118. package/dist/browser/pkc/pkc-clients.js +8 -0
  119. package/dist/browser/pkc/pkc-clients.js.map +1 -0
  120. package/dist/browser/pkc/pkc-with-rpc-client.d.ts +19 -0
  121. package/dist/browser/pkc/pkc-with-rpc-client.js +128 -0
  122. package/dist/browser/pkc/pkc-with-rpc-client.js.map +1 -0
  123. package/dist/browser/pkc/pkc.d.ts +137 -0
  124. package/dist/browser/pkc/pkc.js +888 -0
  125. package/dist/browser/pkc/pkc.js.map +1 -0
  126. package/dist/browser/pkc/tracked-instance-registry-util.d.ts +44 -0
  127. package/dist/browser/pkc/tracked-instance-registry-util.js +106 -0
  128. package/dist/browser/pkc/tracked-instance-registry-util.js.map +1 -0
  129. package/dist/browser/pkc/tracked-instance-registry.d.ts +18 -0
  130. package/dist/browser/pkc/tracked-instance-registry.js +134 -0
  131. package/dist/browser/pkc/tracked-instance-registry.js.map +1 -0
  132. package/dist/browser/pkc-error.d.ts +65 -0
  133. package/dist/browser/pkc-error.js +137 -0
  134. package/dist/browser/pkc-error.js.map +1 -0
  135. package/dist/browser/publications/comment/comment-client-manager.d.ts +86 -0
  136. package/dist/browser/publications/comment/comment-client-manager.js +908 -0
  137. package/dist/browser/publications/comment/comment-client-manager.js.map +1 -0
  138. package/dist/browser/publications/comment/comment-clients.d.ts +19 -0
  139. package/dist/browser/publications/comment/comment-clients.js +12 -0
  140. package/dist/browser/publications/comment/comment-clients.js.map +1 -0
  141. package/dist/browser/publications/comment/comment-util.d.ts +10 -0
  142. package/dist/browser/publications/comment/comment-util.js +202 -0
  143. package/dist/browser/publications/comment/comment-util.js.map +1 -0
  144. package/dist/browser/publications/comment/comment.d.ts +147 -0
  145. package/dist/browser/publications/comment/comment.js +1044 -0
  146. package/dist/browser/publications/comment/comment.js.map +1 -0
  147. package/dist/browser/publications/comment/schema.d.ts +1237 -0
  148. package/dist/browser/publications/comment/schema.js +184 -0
  149. package/dist/browser/publications/comment/schema.js.map +1 -0
  150. package/dist/browser/publications/comment/types.d.ts +100 -0
  151. package/dist/browser/publications/comment/types.js +2 -0
  152. package/dist/browser/publications/comment/types.js.map +1 -0
  153. package/dist/browser/publications/comment-edit/comment-edit.d.ts +41 -0
  154. package/dist/browser/publications/comment-edit/comment-edit.js +63 -0
  155. package/dist/browser/publications/comment-edit/comment-edit.js.map +1 -0
  156. package/dist/browser/publications/comment-edit/schema.d.ts +295 -0
  157. package/dist/browser/publications/comment-edit/schema.js +55 -0
  158. package/dist/browser/publications/comment-edit/schema.js.map +1 -0
  159. package/dist/browser/publications/comment-edit/types.d.ts +25 -0
  160. package/dist/browser/publications/comment-edit/types.js +2 -0
  161. package/dist/browser/publications/comment-edit/types.js.map +1 -0
  162. package/dist/browser/publications/comment-moderation/comment-moderation.d.ts +36 -0
  163. package/dist/browser/publications/comment-moderation/comment-moderation.js +53 -0
  164. package/dist/browser/publications/comment-moderation/comment-moderation.js.map +1 -0
  165. package/dist/browser/publications/comment-moderation/schema.d.ts +315 -0
  166. package/dist/browser/publications/comment-moderation/schema.js +62 -0
  167. package/dist/browser/publications/comment-moderation/schema.js.map +1 -0
  168. package/dist/browser/publications/comment-moderation/types.d.ts +22 -0
  169. package/dist/browser/publications/comment-moderation/types.js +2 -0
  170. package/dist/browser/publications/comment-moderation/types.js.map +1 -0
  171. package/dist/browser/publications/community-edit/community-edit.d.ts +35 -0
  172. package/dist/browser/publications/community-edit/community-edit.js +50 -0
  173. package/dist/browser/publications/community-edit/community-edit.js.map +1 -0
  174. package/dist/browser/publications/community-edit/schema.d.ts +467 -0
  175. package/dist/browser/publications/community-edit/schema.js +36 -0
  176. package/dist/browser/publications/community-edit/schema.js.map +1 -0
  177. package/dist/browser/publications/community-edit/types.d.ts +19 -0
  178. package/dist/browser/publications/community-edit/types.js +2 -0
  179. package/dist/browser/publications/community-edit/types.js.map +1 -0
  180. package/dist/browser/publications/publication-author.d.ts +22 -0
  181. package/dist/browser/publications/publication-author.js +66 -0
  182. package/dist/browser/publications/publication-author.js.map +1 -0
  183. package/dist/browser/publications/publication-client-manager.d.ts +62 -0
  184. package/dist/browser/publications/publication-client-manager.js +257 -0
  185. package/dist/browser/publications/publication-client-manager.js.map +1 -0
  186. package/dist/browser/publications/publication-clients.d.ts +19 -0
  187. package/dist/browser/publications/publication-clients.js +12 -0
  188. package/dist/browser/publications/publication-clients.js.map +1 -0
  189. package/dist/browser/publications/publication-community.d.ts +55 -0
  190. package/dist/browser/publications/publication-community.js +87 -0
  191. package/dist/browser/publications/publication-community.js.map +1 -0
  192. package/dist/browser/publications/publication.d.ts +120 -0
  193. package/dist/browser/publications/publication.js +950 -0
  194. package/dist/browser/publications/publication.js.map +1 -0
  195. package/dist/browser/publications/types.d.ts +26 -0
  196. package/dist/browser/publications/types.js +2 -0
  197. package/dist/browser/publications/types.js.map +1 -0
  198. package/dist/browser/publications/vote/schema.d.ts +150 -0
  199. package/dist/browser/publications/vote/schema.js +44 -0
  200. package/dist/browser/publications/vote/schema.js.map +1 -0
  201. package/dist/browser/publications/vote/types.d.ts +21 -0
  202. package/dist/browser/publications/vote/types.js +2 -0
  203. package/dist/browser/publications/vote/types.js.map +1 -0
  204. package/dist/browser/publications/vote/vote.d.ts +36 -0
  205. package/dist/browser/publications/vote/vote.js +49 -0
  206. package/dist/browser/publications/vote/vote.js.map +1 -0
  207. package/dist/browser/pubsub-messages/schema.d.ts +964 -0
  208. package/dist/browser/pubsub-messages/schema.js +98 -0
  209. package/dist/browser/pubsub-messages/schema.js.map +1 -0
  210. package/dist/browser/pubsub-messages/types.d.ts +81 -0
  211. package/dist/browser/pubsub-messages/types.js +2 -0
  212. package/dist/browser/pubsub-messages/types.js.map +1 -0
  213. package/dist/browser/rpc/src/index.d.ts +483 -0
  214. package/dist/browser/rpc/src/index.js +1267 -0
  215. package/dist/browser/rpc/src/index.js.map +1 -0
  216. package/dist/browser/rpc/src/json-rpc-util.d.ts +1 -0
  217. package/dist/browser/rpc/src/json-rpc-util.js +19 -0
  218. package/dist/browser/rpc/src/json-rpc-util.js.map +1 -0
  219. package/dist/browser/rpc/src/lib/pkc-js/index.d.ts +132 -0
  220. package/dist/browser/rpc/src/lib/pkc-js/index.js +29 -0
  221. package/dist/browser/rpc/src/lib/pkc-js/index.js.map +1 -0
  222. package/dist/browser/rpc/src/lib/pkc-js/pkc-js-mock.d.ts +1 -0
  223. package/dist/browser/rpc/src/lib/pkc-js/pkc-js-mock.js +472 -0
  224. package/dist/browser/rpc/src/lib/pkc-js/pkc-js-mock.js.map +1 -0
  225. package/dist/browser/rpc/src/schema.d.ts +843 -0
  226. package/dist/browser/rpc/src/schema.js +28 -0
  227. package/dist/browser/rpc/src/schema.js.map +1 -0
  228. package/dist/browser/rpc/src/types.d.ts +24 -0
  229. package/dist/browser/rpc/src/types.js +2 -0
  230. package/dist/browser/rpc/src/types.js.map +1 -0
  231. package/dist/browser/rpc/src/utils.d.ts +7 -0
  232. package/dist/browser/rpc/src/utils.js +58 -0
  233. package/dist/browser/rpc/src/utils.js.map +1 -0
  234. package/dist/browser/runtime/browser/community/challenges/index.d.ts +6 -0
  235. package/dist/browser/runtime/browser/community/challenges/index.js +7 -0
  236. package/dist/browser/runtime/browser/community/challenges/index.js.map +1 -0
  237. package/dist/browser/runtime/browser/community/local-community.d.ts +3 -0
  238. package/dist/browser/runtime/browser/community/local-community.js +6 -0
  239. package/dist/browser/runtime/browser/community/local-community.js.map +1 -0
  240. package/dist/browser/runtime/browser/db-handler.d.ts +4 -0
  241. package/dist/browser/runtime/browser/db-handler.js +8 -0
  242. package/dist/browser/runtime/browser/db-handler.js.map +1 -0
  243. package/dist/browser/runtime/browser/localforage-lru.d.ts +15 -0
  244. package/dist/browser/runtime/browser/localforage-lru.js +140 -0
  245. package/dist/browser/runtime/browser/localforage-lru.js.map +1 -0
  246. package/dist/browser/runtime/browser/lru-storage.d.ts +14 -0
  247. package/dist/browser/runtime/browser/lru-storage.js +34 -0
  248. package/dist/browser/runtime/browser/lru-storage.js.map +1 -0
  249. package/dist/browser/runtime/browser/native-functions.d.ts +3 -0
  250. package/dist/browser/runtime/browser/native-functions.js +6 -0
  251. package/dist/browser/runtime/browser/native-functions.js.map +1 -0
  252. package/dist/browser/runtime/browser/polyfill.d.ts +3 -0
  253. package/dist/browser/runtime/browser/polyfill.js +37 -0
  254. package/dist/browser/runtime/browser/polyfill.js.map +1 -0
  255. package/dist/browser/runtime/browser/setup-kubo-address-rewriter-and-http-router.d.ts +1 -0
  256. package/dist/browser/runtime/browser/setup-kubo-address-rewriter-and-http-router.js +4 -0
  257. package/dist/browser/runtime/browser/setup-kubo-address-rewriter-and-http-router.js.map +1 -0
  258. package/dist/browser/runtime/browser/storage.d.ts +13 -0
  259. package/dist/browser/runtime/browser/storage.js +37 -0
  260. package/dist/browser/runtime/browser/storage.js.map +1 -0
  261. package/dist/browser/runtime/browser/util.d.ts +14 -0
  262. package/dist/browser/runtime/browser/util.js +61 -0
  263. package/dist/browser/runtime/browser/util.js.map +1 -0
  264. package/dist/browser/runtime/node/address-rewriter-db.d.ts +31 -0
  265. package/dist/browser/runtime/node/address-rewriter-db.js +156 -0
  266. package/dist/browser/runtime/node/address-rewriter-db.js.map +1 -0
  267. package/dist/browser/runtime/node/addresses-rewriter-proxy-server.d.ts +45 -0
  268. package/dist/browser/runtime/node/addresses-rewriter-proxy-server.js +493 -0
  269. package/dist/browser/runtime/node/addresses-rewriter-proxy-server.js.map +1 -0
  270. package/dist/browser/runtime/node/community/challenges/exclude/exclude.d.ts +8 -0
  271. package/dist/browser/runtime/node/community/challenges/exclude/exclude.js +280 -0
  272. package/dist/browser/runtime/node/community/challenges/exclude/exclude.js.map +1 -0
  273. package/dist/browser/runtime/node/community/challenges/exclude/index.d.ts +3 -0
  274. package/dist/browser/runtime/node/community/challenges/exclude/index.js +4 -0
  275. package/dist/browser/runtime/node/community/challenges/exclude/index.js.map +1 -0
  276. package/dist/browser/runtime/node/community/challenges/exclude/rate-limiter.d.ts +5 -0
  277. package/dist/browser/runtime/node/community/challenges/exclude/rate-limiter.js +127 -0
  278. package/dist/browser/runtime/node/community/challenges/exclude/rate-limiter.js.map +1 -0
  279. package/dist/browser/runtime/node/community/challenges/exclude/utils.d.ts +13 -0
  280. package/dist/browser/runtime/node/community/challenges/exclude/utils.js +52 -0
  281. package/dist/browser/runtime/node/community/challenges/exclude/utils.js.map +1 -0
  282. package/dist/browser/runtime/node/community/challenges/index.d.ts +32 -0
  283. package/dist/browser/runtime/node/community/challenges/index.js +307 -0
  284. package/dist/browser/runtime/node/community/challenges/index.js.map +1 -0
  285. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/blacklist.d.ts +5 -0
  286. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/blacklist.js +118 -0
  287. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/blacklist.js.map +1 -0
  288. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/fail.d.ts +5 -0
  289. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/fail.js +26 -0
  290. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/fail.js.map +1 -0
  291. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/publication-match.d.ts +5 -0
  292. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/publication-match.js +135 -0
  293. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/publication-match.js.map +1 -0
  294. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/question.d.ts +5 -0
  295. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/question.js +66 -0
  296. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/question.js.map +1 -0
  297. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/text-math.d.ts +5 -0
  298. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/text-math.js +61 -0
  299. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/text-math.js.map +1 -0
  300. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/whitelist.d.ts +5 -0
  301. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/whitelist.js +118 -0
  302. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/whitelist.js.map +1 -0
  303. package/dist/browser/runtime/node/community/db-handler-types.d.ts +19 -0
  304. package/dist/browser/runtime/node/community/db-handler-types.js +2 -0
  305. package/dist/browser/runtime/node/community/db-handler-types.js.map +1 -0
  306. package/dist/browser/runtime/node/community/db-handler.d.ts +226 -0
  307. package/dist/browser/runtime/node/community/db-handler.js +2462 -0
  308. package/dist/browser/runtime/node/community/db-handler.js.map +1 -0
  309. package/dist/browser/runtime/node/community/db-row-parser.d.ts +19 -0
  310. package/dist/browser/runtime/node/community/db-row-parser.js +40 -0
  311. package/dist/browser/runtime/node/community/db-row-parser.js.map +1 -0
  312. package/dist/browser/runtime/node/community/keyv-better-sqlite3.d.ts +68 -0
  313. package/dist/browser/runtime/node/community/keyv-better-sqlite3.js +251 -0
  314. package/dist/browser/runtime/node/community/keyv-better-sqlite3.js.map +1 -0
  315. package/dist/browser/runtime/node/community/local-community.d.ts +129 -0
  316. package/dist/browser/runtime/node/community/local-community.js +2978 -0
  317. package/dist/browser/runtime/node/community/local-community.js.map +1 -0
  318. package/dist/browser/runtime/node/community/page-generator.d.ts +433 -0
  319. package/dist/browser/runtime/node/community/page-generator.js +441 -0
  320. package/dist/browser/runtime/node/community/page-generator.js.map +1 -0
  321. package/dist/browser/runtime/node/lru-storage.d.ts +14 -0
  322. package/dist/browser/runtime/node/lru-storage.js +40 -0
  323. package/dist/browser/runtime/node/lru-storage.js.map +1 -0
  324. package/dist/browser/runtime/node/native-functions.d.ts +3 -0
  325. package/dist/browser/runtime/node/native-functions.js +7 -0
  326. package/dist/browser/runtime/node/native-functions.js.map +1 -0
  327. package/dist/browser/runtime/node/polyfill.d.ts +3 -0
  328. package/dist/browser/runtime/node/polyfill.js +20 -0
  329. package/dist/browser/runtime/node/polyfill.js.map +1 -0
  330. package/dist/browser/runtime/node/setup-kubo-address-rewriter-and-http-router.d.ts +4 -0
  331. package/dist/browser/runtime/node/setup-kubo-address-rewriter-and-http-router.js +240 -0
  332. package/dist/browser/runtime/node/setup-kubo-address-rewriter-and-http-router.js.map +1 -0
  333. package/dist/browser/runtime/node/sqlite-lru-cache.d.ts +52 -0
  334. package/dist/browser/runtime/node/sqlite-lru-cache.js +127 -0
  335. package/dist/browser/runtime/node/sqlite-lru-cache.js.map +1 -0
  336. package/dist/browser/runtime/node/storage.d.ts +14 -0
  337. package/dist/browser/runtime/node/storage.js +52 -0
  338. package/dist/browser/runtime/node/storage.js.map +1 -0
  339. package/dist/browser/runtime/node/test/helpers/hanging-runner.d.ts +1 -0
  340. package/dist/browser/runtime/node/test/helpers/hanging-runner.js +157 -0
  341. package/dist/browser/runtime/node/test/helpers/hanging-runner.js.map +1 -0
  342. package/dist/browser/runtime/node/test/helpers/run-hanging-node.d.ts +7 -0
  343. package/dist/browser/runtime/node/test/helpers/run-hanging-node.js +68 -0
  344. package/dist/browser/runtime/node/test/helpers/run-hanging-node.js.map +1 -0
  345. package/dist/browser/runtime/node/test/mock-http-router.d.ts +54 -0
  346. package/dist/browser/runtime/node/test/mock-http-router.js +397 -0
  347. package/dist/browser/runtime/node/test/mock-http-router.js.map +1 -0
  348. package/dist/browser/runtime/node/util.d.ts +43 -0
  349. package/dist/browser/runtime/node/util.js +384 -0
  350. package/dist/browser/runtime/node/util.js.map +1 -0
  351. package/dist/browser/schema/schema-util.d.ts +2751 -0
  352. package/dist/browser/schema/schema-util.js +562 -0
  353. package/dist/browser/schema/schema-util.js.map +1 -0
  354. package/dist/browser/schema/schema.d.ts +237 -0
  355. package/dist/browser/schema/schema.js +128 -0
  356. package/dist/browser/schema/schema.js.map +1 -0
  357. package/dist/browser/schema.d.ts +1142 -0
  358. package/dist/browser/schema.js +104 -0
  359. package/dist/browser/schema.js.map +1 -0
  360. package/dist/browser/signer/constants.d.ts +2 -0
  361. package/dist/browser/signer/constants.js +3 -0
  362. package/dist/browser/signer/constants.js.map +1 -0
  363. package/dist/browser/signer/encryption.d.ts +21 -0
  364. package/dist/browser/signer/encryption.js +122 -0
  365. package/dist/browser/signer/encryption.js.map +1 -0
  366. package/dist/browser/signer/index.d.ts +21 -0
  367. package/dist/browser/signer/index.js +49 -0
  368. package/dist/browser/signer/index.js.map +1 -0
  369. package/dist/browser/signer/signatures.d.ts +200 -0
  370. package/dist/browser/signer/signatures.js +594 -0
  371. package/dist/browser/signer/signatures.js.map +1 -0
  372. package/dist/browser/signer/types.d.ts +20 -0
  373. package/dist/browser/signer/types.js +2 -0
  374. package/dist/browser/signer/types.js.map +1 -0
  375. package/dist/browser/signer/util.d.ts +14 -0
  376. package/dist/browser/signer/util.js +156 -0
  377. package/dist/browser/signer/util.js.map +1 -0
  378. package/dist/browser/stats.d.ts +15 -0
  379. package/dist/browser/stats.js +64 -0
  380. package/dist/browser/stats.js.map +1 -0
  381. package/dist/browser/test/mock-ipfs-client.d.ts +34 -0
  382. package/dist/browser/test/mock-ipfs-client.js +208 -0
  383. package/dist/browser/test/mock-ipfs-client.js.map +1 -0
  384. package/dist/browser/test/node/hanging-test/scenarios/comment-publish-pending.scenario.d.ts +8 -0
  385. package/dist/browser/test/node/hanging-test/scenarios/comment-publish-pending.scenario.js +21 -0
  386. package/dist/browser/test/node/hanging-test/scenarios/comment-publish-pending.scenario.js.map +1 -0
  387. package/dist/browser/test/node/hanging-test/scenarios/comment-publish.scenario.d.ts +8 -0
  388. package/dist/browser/test/node/hanging-test/scenarios/comment-publish.scenario.js +19 -0
  389. package/dist/browser/test/node/hanging-test/scenarios/comment-publish.scenario.js.map +1 -0
  390. package/dist/browser/test/node/hanging-test/scenarios/comment-update.scenario.d.ts +8 -0
  391. package/dist/browser/test/node/hanging-test/scenarios/comment-update.scenario.js +22 -0
  392. package/dist/browser/test/node/hanging-test/scenarios/comment-update.scenario.js.map +1 -0
  393. package/dist/browser/test/node/hanging-test/scenarios/community-start.scenario.d.ts +8 -0
  394. package/dist/browser/test/node/hanging-test/scenarios/community-start.scenario.js +23 -0
  395. package/dist/browser/test/node/hanging-test/scenarios/community-start.scenario.js.map +1 -0
  396. package/dist/browser/test/node/hanging-test/scenarios/community-update.scenario.d.ts +8 -0
  397. package/dist/browser/test/node/hanging-test/scenarios/community-update.scenario.js +21 -0
  398. package/dist/browser/test/node/hanging-test/scenarios/community-update.scenario.js.map +1 -0
  399. package/dist/browser/test/node/hanging-test/scenarios/destroy-only.scenario.d.ts +7 -0
  400. package/dist/browser/test/node/hanging-test/scenarios/destroy-only.scenario.js +15 -0
  401. package/dist/browser/test/node/hanging-test/scenarios/destroy-only.scenario.js.map +1 -0
  402. package/dist/browser/test/node/hanging-test/scenarios/hanging-test-util.d.ts +30 -0
  403. package/dist/browser/test/node/hanging-test/scenarios/hanging-test-util.js +46 -0
  404. package/dist/browser/test/node/hanging-test/scenarios/hanging-test-util.js.map +1 -0
  405. package/dist/browser/test/test-util.d.ts +1019 -0
  406. package/dist/browser/test/test-util.js +1886 -0
  407. package/dist/browser/test/test-util.js.map +1 -0
  408. package/dist/browser/types.d.ts +165 -0
  409. package/dist/browser/types.js +2 -0
  410. package/dist/browser/types.js.map +1 -0
  411. package/dist/browser/util/inflight-fetch-manager.d.ts +11 -0
  412. package/dist/browser/util/inflight-fetch-manager.js +41 -0
  413. package/dist/browser/util/inflight-fetch-manager.js.map +1 -0
  414. package/dist/browser/util.d.ts +120 -0
  415. package/dist/browser/util.js +816 -0
  416. package/dist/browser/util.js.map +1 -0
  417. package/dist/browser/version.d.ts +7 -0
  418. package/dist/browser/version.js +12 -0
  419. package/dist/browser/version.js.map +1 -0
  420. package/dist/browser/zod-error-map.d.ts +1 -0
  421. package/dist/browser/zod-error-map.js +10 -0
  422. package/dist/browser/zod-error-map.js.map +1 -0
  423. package/dist/node/challenges.d.ts +1 -0
  424. package/dist/node/challenges.js +2 -0
  425. package/dist/node/challenges.js.map +1 -0
  426. package/dist/node/clients/base-client-manager.d.ts +126 -0
  427. package/dist/node/clients/base-client-manager.js +673 -0
  428. package/dist/node/clients/base-client-manager.js.map +1 -0
  429. package/dist/node/clients/name-resolver-client.d.ts +8 -0
  430. package/dist/node/clients/name-resolver-client.js +10 -0
  431. package/dist/node/clients/name-resolver-client.js.map +1 -0
  432. package/dist/node/clients/pkc-typed-emitter.d.ts +9 -0
  433. package/dist/node/clients/pkc-typed-emitter.js +52 -0
  434. package/dist/node/clients/pkc-typed-emitter.js.map +1 -0
  435. package/dist/node/clients/rpc-client/decode-rpc-response-util.d.ts +8 -0
  436. package/dist/node/clients/rpc-client/decode-rpc-response-util.js +53 -0
  437. package/dist/node/clients/rpc-client/decode-rpc-response-util.js.map +1 -0
  438. package/dist/node/clients/rpc-client/pkc-rpc-client.d.ts +68 -0
  439. package/dist/node/clients/rpc-client/pkc-rpc-client.js +404 -0
  440. package/dist/node/clients/rpc-client/pkc-rpc-client.js.map +1 -0
  441. package/dist/node/clients/rpc-client/rpc-schema-util.d.ts +147 -0
  442. package/dist/node/clients/rpc-client/rpc-schema-util.js +11 -0
  443. package/dist/node/clients/rpc-client/rpc-schema-util.js.map +1 -0
  444. package/dist/node/clients/rpc-client/schema.d.ts +433 -0
  445. package/dist/node/clients/rpc-client/schema.js +49 -0
  446. package/dist/node/clients/rpc-client/schema.js.map +1 -0
  447. package/dist/node/clients/rpc-client/types.d.ts +8 -0
  448. package/dist/node/clients/rpc-client/types.js +2 -0
  449. package/dist/node/clients/rpc-client/types.js.map +1 -0
  450. package/dist/node/community/community-client-manager.d.ts +60 -0
  451. package/dist/node/community/community-client-manager.js +717 -0
  452. package/dist/node/community/community-client-manager.js.map +1 -0
  453. package/dist/node/community/community-clients.d.ts +18 -0
  454. package/dist/node/community/community-clients.js +12 -0
  455. package/dist/node/community/community-clients.js.map +1 -0
  456. package/dist/node/community/community-wire.d.ts +20 -0
  457. package/dist/node/community/community-wire.js +38 -0
  458. package/dist/node/community/community-wire.js.map +1 -0
  459. package/dist/node/community/remote-community.d.ts +110 -0
  460. package/dist/node/community/remote-community.js +555 -0
  461. package/dist/node/community/remote-community.js.map +1 -0
  462. package/dist/node/community/rpc-local-community.d.ts +41 -0
  463. package/dist/node/community/rpc-local-community.js +289 -0
  464. package/dist/node/community/rpc-local-community.js.map +1 -0
  465. package/dist/node/community/rpc-remote-community.d.ts +18 -0
  466. package/dist/node/community/rpc-remote-community.js +286 -0
  467. package/dist/node/community/rpc-remote-community.js.map +1 -0
  468. package/dist/node/community/schema.d.ts +4217 -0
  469. package/dist/node/community/schema.js +289 -0
  470. package/dist/node/community/schema.js.map +1 -0
  471. package/dist/node/community/types.d.ts +135 -0
  472. package/dist/node/community/types.js +2 -0
  473. package/dist/node/community/types.js.map +1 -0
  474. package/dist/node/constants.d.ts +6 -0
  475. package/dist/node/constants.js +9 -0
  476. package/dist/node/constants.js.map +1 -0
  477. package/dist/node/decorator-util.d.ts +1 -0
  478. package/dist/node/decorator-util.js +35 -0
  479. package/dist/node/decorator-util.js.map +1 -0
  480. package/dist/node/errors.d.ts +343 -0
  481. package/dist/node/errors.js +358 -0
  482. package/dist/node/errors.js.map +1 -0
  483. package/dist/node/general-util/limited-set.d.ts +15 -0
  484. package/dist/node/general-util/limited-set.js +66 -0
  485. package/dist/node/general-util/limited-set.js.map +1 -0
  486. package/dist/node/generated-version.d.ts +1 -0
  487. package/dist/node/generated-version.js +3 -0
  488. package/dist/node/generated-version.js.map +1 -0
  489. package/dist/node/generic-state-client.d.ts +6 -0
  490. package/dist/node/generic-state-client.js +11 -0
  491. package/dist/node/generic-state-client.js.map +1 -0
  492. package/dist/node/helia/helia-for-pkc.d.ts +3 -0
  493. package/dist/node/helia/helia-for-pkc.js +255 -0
  494. package/dist/node/helia/helia-for-pkc.js.map +1 -0
  495. package/dist/node/helia/ipns-over-pubsub-with-fetch.d.ts +36 -0
  496. package/dist/node/helia/ipns-over-pubsub-with-fetch.js +229 -0
  497. package/dist/node/helia/ipns-over-pubsub-with-fetch.js.map +1 -0
  498. package/dist/node/helia/libp2pjsClient.d.ts +27 -0
  499. package/dist/node/helia/libp2pjsClient.js +15 -0
  500. package/dist/node/helia/libp2pjsClient.js.map +1 -0
  501. package/dist/node/helia/types.d.ts +19 -0
  502. package/dist/node/helia/types.js +2 -0
  503. package/dist/node/helia/types.js.map +1 -0
  504. package/dist/node/helia/util.d.ts +13 -0
  505. package/dist/node/helia/util.js +98 -0
  506. package/dist/node/helia/util.js.map +1 -0
  507. package/dist/node/index.d.ts +244 -0
  508. package/dist/node/index.js +36 -0
  509. package/dist/node/index.js.map +1 -0
  510. package/dist/node/logger.d.ts +12 -0
  511. package/dist/node/logger.js +11 -0
  512. package/dist/node/logger.js.map +1 -0
  513. package/dist/node/pages/pages-client-manager.d.ts +159 -0
  514. package/dist/node/pages/pages-client-manager.js +334 -0
  515. package/dist/node/pages/pages-client-manager.js.map +1 -0
  516. package/dist/node/pages/pages-clients.d.ts +11 -0
  517. package/dist/node/pages/pages-clients.js +10 -0
  518. package/dist/node/pages/pages-clients.js.map +1 -0
  519. package/dist/node/pages/pages.d.ts +107 -0
  520. package/dist/node/pages/pages.js +262 -0
  521. package/dist/node/pages/pages.js.map +1 -0
  522. package/dist/node/pages/schema-util.d.ts +3 -0
  523. package/dist/node/pages/schema-util.js +3 -0
  524. package/dist/node/pages/schema-util.js.map +1 -0
  525. package/dist/node/pages/schema.d.ts +719 -0
  526. package/dist/node/pages/schema.js +32 -0
  527. package/dist/node/pages/schema.js.map +1 -0
  528. package/dist/node/pages/types.d.ts +44 -0
  529. package/dist/node/pages/types.js +2 -0
  530. package/dist/node/pages/types.js.map +1 -0
  531. package/dist/node/pages/util.d.ts +56 -0
  532. package/dist/node/pages/util.js +446 -0
  533. package/dist/node/pages/util.js.map +1 -0
  534. package/dist/node/pkc/pkc-client-manager.d.ts +44 -0
  535. package/dist/node/pkc/pkc-client-manager.js +156 -0
  536. package/dist/node/pkc/pkc-client-manager.js.map +1 -0
  537. package/dist/node/pkc/pkc-clients.d.ts +11 -0
  538. package/dist/node/pkc/pkc-clients.js +8 -0
  539. package/dist/node/pkc/pkc-clients.js.map +1 -0
  540. package/dist/node/pkc/pkc-with-rpc-client.d.ts +19 -0
  541. package/dist/node/pkc/pkc-with-rpc-client.js +128 -0
  542. package/dist/node/pkc/pkc-with-rpc-client.js.map +1 -0
  543. package/dist/node/pkc/pkc.d.ts +137 -0
  544. package/dist/node/pkc/pkc.js +888 -0
  545. package/dist/node/pkc/pkc.js.map +1 -0
  546. package/dist/node/pkc/tracked-instance-registry-util.d.ts +44 -0
  547. package/dist/node/pkc/tracked-instance-registry-util.js +106 -0
  548. package/dist/node/pkc/tracked-instance-registry-util.js.map +1 -0
  549. package/dist/node/pkc/tracked-instance-registry.d.ts +18 -0
  550. package/dist/node/pkc/tracked-instance-registry.js +134 -0
  551. package/dist/node/pkc/tracked-instance-registry.js.map +1 -0
  552. package/dist/node/pkc-error.d.ts +65 -0
  553. package/dist/node/pkc-error.js +137 -0
  554. package/dist/node/pkc-error.js.map +1 -0
  555. package/dist/node/publications/comment/comment-client-manager.d.ts +86 -0
  556. package/dist/node/publications/comment/comment-client-manager.js +908 -0
  557. package/dist/node/publications/comment/comment-client-manager.js.map +1 -0
  558. package/dist/node/publications/comment/comment-clients.d.ts +19 -0
  559. package/dist/node/publications/comment/comment-clients.js +12 -0
  560. package/dist/node/publications/comment/comment-clients.js.map +1 -0
  561. package/dist/node/publications/comment/comment-util.d.ts +10 -0
  562. package/dist/node/publications/comment/comment-util.js +202 -0
  563. package/dist/node/publications/comment/comment-util.js.map +1 -0
  564. package/dist/node/publications/comment/comment.d.ts +147 -0
  565. package/dist/node/publications/comment/comment.js +1044 -0
  566. package/dist/node/publications/comment/comment.js.map +1 -0
  567. package/dist/node/publications/comment/schema.d.ts +1237 -0
  568. package/dist/node/publications/comment/schema.js +184 -0
  569. package/dist/node/publications/comment/schema.js.map +1 -0
  570. package/dist/node/publications/comment/types.d.ts +100 -0
  571. package/dist/node/publications/comment/types.js +2 -0
  572. package/dist/node/publications/comment/types.js.map +1 -0
  573. package/dist/node/publications/comment-edit/comment-edit.d.ts +41 -0
  574. package/dist/node/publications/comment-edit/comment-edit.js +63 -0
  575. package/dist/node/publications/comment-edit/comment-edit.js.map +1 -0
  576. package/dist/node/publications/comment-edit/schema.d.ts +295 -0
  577. package/dist/node/publications/comment-edit/schema.js +55 -0
  578. package/dist/node/publications/comment-edit/schema.js.map +1 -0
  579. package/dist/node/publications/comment-edit/types.d.ts +25 -0
  580. package/dist/node/publications/comment-edit/types.js +2 -0
  581. package/dist/node/publications/comment-edit/types.js.map +1 -0
  582. package/dist/node/publications/comment-moderation/comment-moderation.d.ts +36 -0
  583. package/dist/node/publications/comment-moderation/comment-moderation.js +53 -0
  584. package/dist/node/publications/comment-moderation/comment-moderation.js.map +1 -0
  585. package/dist/node/publications/comment-moderation/schema.d.ts +315 -0
  586. package/dist/node/publications/comment-moderation/schema.js +62 -0
  587. package/dist/node/publications/comment-moderation/schema.js.map +1 -0
  588. package/dist/node/publications/comment-moderation/types.d.ts +22 -0
  589. package/dist/node/publications/comment-moderation/types.js +2 -0
  590. package/dist/node/publications/comment-moderation/types.js.map +1 -0
  591. package/dist/node/publications/community-edit/community-edit.d.ts +35 -0
  592. package/dist/node/publications/community-edit/community-edit.js +50 -0
  593. package/dist/node/publications/community-edit/community-edit.js.map +1 -0
  594. package/dist/node/publications/community-edit/schema.d.ts +467 -0
  595. package/dist/node/publications/community-edit/schema.js +36 -0
  596. package/dist/node/publications/community-edit/schema.js.map +1 -0
  597. package/dist/node/publications/community-edit/types.d.ts +19 -0
  598. package/dist/node/publications/community-edit/types.js +2 -0
  599. package/dist/node/publications/community-edit/types.js.map +1 -0
  600. package/dist/node/publications/publication-author.d.ts +22 -0
  601. package/dist/node/publications/publication-author.js +66 -0
  602. package/dist/node/publications/publication-author.js.map +1 -0
  603. package/dist/node/publications/publication-client-manager.d.ts +62 -0
  604. package/dist/node/publications/publication-client-manager.js +257 -0
  605. package/dist/node/publications/publication-client-manager.js.map +1 -0
  606. package/dist/node/publications/publication-clients.d.ts +19 -0
  607. package/dist/node/publications/publication-clients.js +12 -0
  608. package/dist/node/publications/publication-clients.js.map +1 -0
  609. package/dist/node/publications/publication-community.d.ts +55 -0
  610. package/dist/node/publications/publication-community.js +87 -0
  611. package/dist/node/publications/publication-community.js.map +1 -0
  612. package/dist/node/publications/publication.d.ts +120 -0
  613. package/dist/node/publications/publication.js +950 -0
  614. package/dist/node/publications/publication.js.map +1 -0
  615. package/dist/node/publications/types.d.ts +26 -0
  616. package/dist/node/publications/types.js +2 -0
  617. package/dist/node/publications/types.js.map +1 -0
  618. package/dist/node/publications/vote/schema.d.ts +150 -0
  619. package/dist/node/publications/vote/schema.js +44 -0
  620. package/dist/node/publications/vote/schema.js.map +1 -0
  621. package/dist/node/publications/vote/types.d.ts +21 -0
  622. package/dist/node/publications/vote/types.js +2 -0
  623. package/dist/node/publications/vote/types.js.map +1 -0
  624. package/dist/node/publications/vote/vote.d.ts +36 -0
  625. package/dist/node/publications/vote/vote.js +49 -0
  626. package/dist/node/publications/vote/vote.js.map +1 -0
  627. package/dist/node/pubsub-messages/schema.d.ts +964 -0
  628. package/dist/node/pubsub-messages/schema.js +98 -0
  629. package/dist/node/pubsub-messages/schema.js.map +1 -0
  630. package/dist/node/pubsub-messages/types.d.ts +81 -0
  631. package/dist/node/pubsub-messages/types.js +2 -0
  632. package/dist/node/pubsub-messages/types.js.map +1 -0
  633. package/dist/node/rpc/src/index.d.ts +483 -0
  634. package/dist/node/rpc/src/index.js +1267 -0
  635. package/dist/node/rpc/src/index.js.map +1 -0
  636. package/dist/node/rpc/src/json-rpc-util.d.ts +1 -0
  637. package/dist/node/rpc/src/json-rpc-util.js +19 -0
  638. package/dist/node/rpc/src/json-rpc-util.js.map +1 -0
  639. package/dist/node/rpc/src/lib/pkc-js/index.d.ts +132 -0
  640. package/dist/node/rpc/src/lib/pkc-js/index.js +29 -0
  641. package/dist/node/rpc/src/lib/pkc-js/index.js.map +1 -0
  642. package/dist/node/rpc/src/lib/pkc-js/pkc-js-mock.d.ts +1 -0
  643. package/dist/node/rpc/src/lib/pkc-js/pkc-js-mock.js +472 -0
  644. package/dist/node/rpc/src/lib/pkc-js/pkc-js-mock.js.map +1 -0
  645. package/dist/node/rpc/src/schema.d.ts +843 -0
  646. package/dist/node/rpc/src/schema.js +28 -0
  647. package/dist/node/rpc/src/schema.js.map +1 -0
  648. package/dist/node/rpc/src/types.d.ts +24 -0
  649. package/dist/node/rpc/src/types.js +2 -0
  650. package/dist/node/rpc/src/types.js.map +1 -0
  651. package/dist/node/rpc/src/utils.d.ts +7 -0
  652. package/dist/node/rpc/src/utils.js +58 -0
  653. package/dist/node/rpc/src/utils.js.map +1 -0
  654. package/dist/node/runtime/browser/community/challenges/index.d.ts +6 -0
  655. package/dist/node/runtime/browser/community/challenges/index.js +7 -0
  656. package/dist/node/runtime/browser/community/challenges/index.js.map +1 -0
  657. package/dist/node/runtime/browser/community/local-community.d.ts +3 -0
  658. package/dist/node/runtime/browser/community/local-community.js +6 -0
  659. package/dist/node/runtime/browser/community/local-community.js.map +1 -0
  660. package/dist/node/runtime/browser/db-handler.d.ts +4 -0
  661. package/dist/node/runtime/browser/db-handler.js +8 -0
  662. package/dist/node/runtime/browser/db-handler.js.map +1 -0
  663. package/dist/node/runtime/browser/localforage-lru.d.ts +15 -0
  664. package/dist/node/runtime/browser/localforage-lru.js +140 -0
  665. package/dist/node/runtime/browser/localforage-lru.js.map +1 -0
  666. package/dist/node/runtime/browser/lru-storage.d.ts +14 -0
  667. package/dist/node/runtime/browser/lru-storage.js +34 -0
  668. package/dist/node/runtime/browser/lru-storage.js.map +1 -0
  669. package/dist/node/runtime/browser/native-functions.d.ts +3 -0
  670. package/dist/node/runtime/browser/native-functions.js +6 -0
  671. package/dist/node/runtime/browser/native-functions.js.map +1 -0
  672. package/dist/node/runtime/browser/polyfill.d.ts +3 -0
  673. package/dist/node/runtime/browser/polyfill.js +37 -0
  674. package/dist/node/runtime/browser/polyfill.js.map +1 -0
  675. package/dist/node/runtime/browser/setup-kubo-address-rewriter-and-http-router.d.ts +1 -0
  676. package/dist/node/runtime/browser/setup-kubo-address-rewriter-and-http-router.js +4 -0
  677. package/dist/node/runtime/browser/setup-kubo-address-rewriter-and-http-router.js.map +1 -0
  678. package/dist/node/runtime/browser/storage.d.ts +13 -0
  679. package/dist/node/runtime/browser/storage.js +37 -0
  680. package/dist/node/runtime/browser/storage.js.map +1 -0
  681. package/dist/node/runtime/browser/util.d.ts +14 -0
  682. package/dist/node/runtime/browser/util.js +61 -0
  683. package/dist/node/runtime/browser/util.js.map +1 -0
  684. package/dist/node/runtime/node/address-rewriter-db.d.ts +31 -0
  685. package/dist/node/runtime/node/address-rewriter-db.js +156 -0
  686. package/dist/node/runtime/node/address-rewriter-db.js.map +1 -0
  687. package/dist/node/runtime/node/addresses-rewriter-proxy-server.d.ts +45 -0
  688. package/dist/node/runtime/node/addresses-rewriter-proxy-server.js +493 -0
  689. package/dist/node/runtime/node/addresses-rewriter-proxy-server.js.map +1 -0
  690. package/dist/node/runtime/node/community/challenges/exclude/exclude.d.ts +8 -0
  691. package/dist/node/runtime/node/community/challenges/exclude/exclude.js +280 -0
  692. package/dist/node/runtime/node/community/challenges/exclude/exclude.js.map +1 -0
  693. package/dist/node/runtime/node/community/challenges/exclude/index.d.ts +3 -0
  694. package/dist/node/runtime/node/community/challenges/exclude/index.js +4 -0
  695. package/dist/node/runtime/node/community/challenges/exclude/index.js.map +1 -0
  696. package/dist/node/runtime/node/community/challenges/exclude/rate-limiter.d.ts +5 -0
  697. package/dist/node/runtime/node/community/challenges/exclude/rate-limiter.js +127 -0
  698. package/dist/node/runtime/node/community/challenges/exclude/rate-limiter.js.map +1 -0
  699. package/dist/node/runtime/node/community/challenges/exclude/utils.d.ts +13 -0
  700. package/dist/node/runtime/node/community/challenges/exclude/utils.js +52 -0
  701. package/dist/node/runtime/node/community/challenges/exclude/utils.js.map +1 -0
  702. package/dist/node/runtime/node/community/challenges/index.d.ts +32 -0
  703. package/dist/node/runtime/node/community/challenges/index.js +307 -0
  704. package/dist/node/runtime/node/community/challenges/index.js.map +1 -0
  705. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/blacklist.d.ts +5 -0
  706. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/blacklist.js +118 -0
  707. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/blacklist.js.map +1 -0
  708. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/fail.d.ts +5 -0
  709. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/fail.js +26 -0
  710. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/fail.js.map +1 -0
  711. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/publication-match.d.ts +5 -0
  712. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/publication-match.js +135 -0
  713. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/publication-match.js.map +1 -0
  714. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/question.d.ts +5 -0
  715. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/question.js +66 -0
  716. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/question.js.map +1 -0
  717. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/text-math.d.ts +5 -0
  718. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/text-math.js +61 -0
  719. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/text-math.js.map +1 -0
  720. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/whitelist.d.ts +5 -0
  721. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/whitelist.js +118 -0
  722. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/whitelist.js.map +1 -0
  723. package/dist/node/runtime/node/community/db-handler-types.d.ts +19 -0
  724. package/dist/node/runtime/node/community/db-handler-types.js +2 -0
  725. package/dist/node/runtime/node/community/db-handler-types.js.map +1 -0
  726. package/dist/node/runtime/node/community/db-handler.d.ts +226 -0
  727. package/dist/node/runtime/node/community/db-handler.js +2462 -0
  728. package/dist/node/runtime/node/community/db-handler.js.map +1 -0
  729. package/dist/node/runtime/node/community/db-row-parser.d.ts +19 -0
  730. package/dist/node/runtime/node/community/db-row-parser.js +40 -0
  731. package/dist/node/runtime/node/community/db-row-parser.js.map +1 -0
  732. package/dist/node/runtime/node/community/keyv-better-sqlite3.d.ts +68 -0
  733. package/dist/node/runtime/node/community/keyv-better-sqlite3.js +251 -0
  734. package/dist/node/runtime/node/community/keyv-better-sqlite3.js.map +1 -0
  735. package/dist/node/runtime/node/community/local-community.d.ts +129 -0
  736. package/dist/node/runtime/node/community/local-community.js +2978 -0
  737. package/dist/node/runtime/node/community/local-community.js.map +1 -0
  738. package/dist/node/runtime/node/community/page-generator.d.ts +433 -0
  739. package/dist/node/runtime/node/community/page-generator.js +441 -0
  740. package/dist/node/runtime/node/community/page-generator.js.map +1 -0
  741. package/dist/node/runtime/node/lru-storage.d.ts +14 -0
  742. package/dist/node/runtime/node/lru-storage.js +40 -0
  743. package/dist/node/runtime/node/lru-storage.js.map +1 -0
  744. package/dist/node/runtime/node/native-functions.d.ts +3 -0
  745. package/dist/node/runtime/node/native-functions.js +7 -0
  746. package/dist/node/runtime/node/native-functions.js.map +1 -0
  747. package/dist/node/runtime/node/polyfill.d.ts +3 -0
  748. package/dist/node/runtime/node/polyfill.js +20 -0
  749. package/dist/node/runtime/node/polyfill.js.map +1 -0
  750. package/dist/node/runtime/node/setup-kubo-address-rewriter-and-http-router.d.ts +4 -0
  751. package/dist/node/runtime/node/setup-kubo-address-rewriter-and-http-router.js +240 -0
  752. package/dist/node/runtime/node/setup-kubo-address-rewriter-and-http-router.js.map +1 -0
  753. package/dist/node/runtime/node/sqlite-lru-cache.d.ts +52 -0
  754. package/dist/node/runtime/node/sqlite-lru-cache.js +127 -0
  755. package/dist/node/runtime/node/sqlite-lru-cache.js.map +1 -0
  756. package/dist/node/runtime/node/storage.d.ts +14 -0
  757. package/dist/node/runtime/node/storage.js +52 -0
  758. package/dist/node/runtime/node/storage.js.map +1 -0
  759. package/dist/node/runtime/node/test/helpers/hanging-runner.d.ts +1 -0
  760. package/dist/node/runtime/node/test/helpers/hanging-runner.js +157 -0
  761. package/dist/node/runtime/node/test/helpers/hanging-runner.js.map +1 -0
  762. package/dist/node/runtime/node/test/helpers/run-hanging-node.d.ts +7 -0
  763. package/dist/node/runtime/node/test/helpers/run-hanging-node.js +68 -0
  764. package/dist/node/runtime/node/test/helpers/run-hanging-node.js.map +1 -0
  765. package/dist/node/runtime/node/test/mock-http-router.d.ts +54 -0
  766. package/dist/node/runtime/node/test/mock-http-router.js +397 -0
  767. package/dist/node/runtime/node/test/mock-http-router.js.map +1 -0
  768. package/dist/node/runtime/node/util.d.ts +43 -0
  769. package/dist/node/runtime/node/util.js +384 -0
  770. package/dist/node/runtime/node/util.js.map +1 -0
  771. package/dist/node/schema/schema-util.d.ts +2751 -0
  772. package/dist/node/schema/schema-util.js +562 -0
  773. package/dist/node/schema/schema-util.js.map +1 -0
  774. package/dist/node/schema/schema.d.ts +237 -0
  775. package/dist/node/schema/schema.js +128 -0
  776. package/dist/node/schema/schema.js.map +1 -0
  777. package/dist/node/schema.d.ts +1142 -0
  778. package/dist/node/schema.js +104 -0
  779. package/dist/node/schema.js.map +1 -0
  780. package/dist/node/signer/constants.d.ts +2 -0
  781. package/dist/node/signer/constants.js +3 -0
  782. package/dist/node/signer/constants.js.map +1 -0
  783. package/dist/node/signer/encryption.d.ts +21 -0
  784. package/dist/node/signer/encryption.js +122 -0
  785. package/dist/node/signer/encryption.js.map +1 -0
  786. package/dist/node/signer/index.d.ts +21 -0
  787. package/dist/node/signer/index.js +49 -0
  788. package/dist/node/signer/index.js.map +1 -0
  789. package/dist/node/signer/signatures.d.ts +200 -0
  790. package/dist/node/signer/signatures.js +594 -0
  791. package/dist/node/signer/signatures.js.map +1 -0
  792. package/dist/node/signer/types.d.ts +20 -0
  793. package/dist/node/signer/types.js +2 -0
  794. package/dist/node/signer/types.js.map +1 -0
  795. package/dist/node/signer/util.d.ts +14 -0
  796. package/dist/node/signer/util.js +156 -0
  797. package/dist/node/signer/util.js.map +1 -0
  798. package/dist/node/stats.d.ts +15 -0
  799. package/dist/node/stats.js +64 -0
  800. package/dist/node/stats.js.map +1 -0
  801. package/dist/node/test/mock-ipfs-client.d.ts +34 -0
  802. package/dist/node/test/mock-ipfs-client.js +208 -0
  803. package/dist/node/test/mock-ipfs-client.js.map +1 -0
  804. package/dist/node/test/node/hanging-test/scenarios/comment-publish-pending.scenario.d.ts +8 -0
  805. package/dist/node/test/node/hanging-test/scenarios/comment-publish-pending.scenario.js +21 -0
  806. package/dist/node/test/node/hanging-test/scenarios/comment-publish-pending.scenario.js.map +1 -0
  807. package/dist/node/test/node/hanging-test/scenarios/comment-publish.scenario.d.ts +8 -0
  808. package/dist/node/test/node/hanging-test/scenarios/comment-publish.scenario.js +19 -0
  809. package/dist/node/test/node/hanging-test/scenarios/comment-publish.scenario.js.map +1 -0
  810. package/dist/node/test/node/hanging-test/scenarios/comment-update.scenario.d.ts +8 -0
  811. package/dist/node/test/node/hanging-test/scenarios/comment-update.scenario.js +22 -0
  812. package/dist/node/test/node/hanging-test/scenarios/comment-update.scenario.js.map +1 -0
  813. package/dist/node/test/node/hanging-test/scenarios/community-start.scenario.d.ts +8 -0
  814. package/dist/node/test/node/hanging-test/scenarios/community-start.scenario.js +23 -0
  815. package/dist/node/test/node/hanging-test/scenarios/community-start.scenario.js.map +1 -0
  816. package/dist/node/test/node/hanging-test/scenarios/community-update.scenario.d.ts +8 -0
  817. package/dist/node/test/node/hanging-test/scenarios/community-update.scenario.js +21 -0
  818. package/dist/node/test/node/hanging-test/scenarios/community-update.scenario.js.map +1 -0
  819. package/dist/node/test/node/hanging-test/scenarios/destroy-only.scenario.d.ts +7 -0
  820. package/dist/node/test/node/hanging-test/scenarios/destroy-only.scenario.js +15 -0
  821. package/dist/node/test/node/hanging-test/scenarios/destroy-only.scenario.js.map +1 -0
  822. package/dist/node/test/node/hanging-test/scenarios/hanging-test-util.d.ts +30 -0
  823. package/dist/node/test/node/hanging-test/scenarios/hanging-test-util.js +46 -0
  824. package/dist/node/test/node/hanging-test/scenarios/hanging-test-util.js.map +1 -0
  825. package/dist/node/test/test-util.d.ts +1019 -0
  826. package/dist/node/test/test-util.js +1886 -0
  827. package/dist/node/test/test-util.js.map +1 -0
  828. package/dist/node/types.d.ts +165 -0
  829. package/dist/node/types.js +2 -0
  830. package/dist/node/types.js.map +1 -0
  831. package/dist/node/util/inflight-fetch-manager.d.ts +11 -0
  832. package/dist/node/util/inflight-fetch-manager.js +41 -0
  833. package/dist/node/util/inflight-fetch-manager.js.map +1 -0
  834. package/dist/node/util.d.ts +120 -0
  835. package/dist/node/util.js +816 -0
  836. package/dist/node/util.js.map +1 -0
  837. package/dist/node/version.d.ts +7 -0
  838. package/dist/node/version.js +12 -0
  839. package/dist/node/version.js.map +1 -0
  840. package/dist/node/zod-error-map.d.ts +1 -0
  841. package/dist/node/zod-error-map.js +10 -0
  842. package/dist/node/zod-error-map.js.map +1 -0
  843. package/package.json +212 -0
@@ -0,0 +1,32 @@
1
+ import { z } from "zod";
2
+ import { CidStringSchema } from "../schema/schema.js";
3
+ import { CommentIpfsSchema, CommentUpdateForChallengeVerificationSchema, CommentUpdateSchema } from "../publications/comment/schema.js";
4
+ // Pages schemas here
5
+ export const PageIpfsSchema = z.object({
6
+ comments: z.lazy(() => z.object({ comment: CommentIpfsSchema.loose(), commentUpdate: CommentUpdateSchema.loose() }).array()),
7
+ nextCid: CidStringSchema.optional()
8
+ });
9
+ export const PostSortNameSchema = z
10
+ .enum(["hot", "new", "topHour", "topDay", "topWeek", "topMonth", "topYear", "topAll", "active"])
11
+ .or(z.string().min(1)); // this is added to allow flexibility
12
+ // Comment pages here
13
+ export const ReplySortNameSchema = z.enum(["best", "new", "old", "newFlat", "oldFlat"]).or(z.string().min(1)); // this is added to allow flexiblity;
14
+ // TODO combine the two into one schema
15
+ export const PostsPagesIpfsSchema = z.object({
16
+ pages: z.record(PostSortNameSchema, PageIpfsSchema), // pre loaded pages
17
+ pageCids: z.record(PostSortNameSchema, CidStringSchema).optional() // pageCids is optional if all posts can fit in one preloaded page
18
+ });
19
+ export const RepliesPagesIpfsSchema = z.object({
20
+ pages: z.record(ReplySortNameSchema, PageIpfsSchema), // pre loaded pages
21
+ pageCids: z.record(ReplySortNameSchema, CidStringSchema).optional() // pageCids is optional if all replies can fit in one preloaded page
22
+ });
23
+ export const ModQueuePagesIpfsSchema = z.object({
24
+ pageCids: z.record(z.string().min(1), CidStringSchema)
25
+ });
26
+ export const ModQueuePageIpfsSchema = z.object({
27
+ comments: z.lazy(() => z.object({ comment: CommentIpfsSchema.loose(), commentUpdate: CommentUpdateForChallengeVerificationSchema.loose() }).array()),
28
+ nextCid: CidStringSchema.optional()
29
+ });
30
+ // getPage params
31
+ export const GetPageParam = z.object({ cid: CidStringSchema });
32
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/pages/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,2CAA2C,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExI,qBAAqB;AAErB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,mBAAmB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAC5H,OAAO,EAAE,eAAe,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAC9B,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;KAC/F,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qCAAqC;AAEjE,qBAAqB;AAErB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qCAAqC;AAEpJ,uCAAuC;AACvC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,kBAAkB,EAAE,cAAc,CAAC,EAAE,mBAAmB;IACxE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC,kEAAkE;CACxI,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,mBAAmB,EAAE,cAAc,CAAC,EAAE,mBAAmB;IACzE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC,oEAAoE;CAC3I,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC;CACzD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAClB,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,2CAA2C,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAC/H;IACD,OAAO,EAAE,eAAe,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC;AAEH,iBAAiB;AACjB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,CAAC,CAAC"}
@@ -0,0 +1,44 @@
1
+ import { z } from "zod";
2
+ import { GetPageParam, PageIpfsSchema, PostSortNameSchema, PostsPagesIpfsSchema, RepliesPagesIpfsSchema, ReplySortNameSchema } from "./schema.js";
3
+ import type { CommentIpfsType, CommentUpdateForChallengeVerification, CommentUpdateType, CommentWithinModQueuePageJson, CommentWithinRepliesPostsPageJson } from "../publications/comment/types.js";
4
+ import { JsonOfClass } from "../types.js";
5
+ import { PostsPages, RepliesPages } from "./pages.js";
6
+ export type PageIpfs = z.infer<typeof PageIpfsSchema>;
7
+ export type RepliesPagesTypeIpfs = z.infer<typeof RepliesPagesIpfsSchema>;
8
+ export type PostsPagesTypeIpfs = z.infer<typeof PostsPagesIpfsSchema>;
9
+ export type PagesTypeIpfs = RepliesPagesTypeIpfs | PostsPagesTypeIpfs;
10
+ export type PostSortName = z.infer<typeof PostSortNameSchema>;
11
+ export type ReplySortName = z.infer<typeof ReplySortNameSchema>;
12
+ export type ModQueueSortName = "pendingApproval";
13
+ export type Timeframe = "HOUR" | "DAY" | "WEEK" | "MONTH" | "YEAR" | "ALL";
14
+ export type SortProps = {
15
+ score: (comment: {
16
+ comment: CommentIpfsType;
17
+ commentUpdate: CommentUpdateType;
18
+ }) => number;
19
+ timeframe?: Timeframe;
20
+ flat?: boolean;
21
+ };
22
+ export type PostSort = Record<PostSortName, SortProps>;
23
+ export type ReplySort = Record<ReplySortName, SortProps>;
24
+ export interface PageTypeJson extends Omit<PageIpfs, "comments"> {
25
+ comments: CommentWithinRepliesPostsPageJson[];
26
+ }
27
+ export type PostsPagesTypeJson = JsonOfClass<PostsPages>;
28
+ export type RepliesPagesTypeJson = JsonOfClass<RepliesPages>;
29
+ export type PagesTypeJson = PostsPagesTypeJson | RepliesPagesTypeJson;
30
+ export type ModQueueCommentInPage = {
31
+ comment: CommentIpfsType;
32
+ commentUpdate: CommentUpdateForChallengeVerification & {
33
+ pendingApproval: true;
34
+ };
35
+ };
36
+ export type ModQueuePageIpfs = {
37
+ comments: ModQueueCommentInPage[];
38
+ nextCid?: string;
39
+ };
40
+ export type ModQueuePageTypeJson = {
41
+ comments: CommentWithinModQueuePageJson[];
42
+ nextCid?: string;
43
+ };
44
+ export type GetPageParam = z.infer<typeof GetPageParam>;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/pages/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,56 @@
1
+ import type { PageIpfs, PagesTypeIpfs, PagesTypeJson, PostSort, ReplySort, Timeframe, PageTypeJson, ModQueuePageTypeJson, ModQueuePageIpfs } from "./types.js";
2
+ import { Comment } from "../publications/comment/comment.js";
3
+ import { PostsPages, RepliesPages } from "./pages.js";
4
+ import type { CommentWithinModQueuePageJson, CommentWithinRepliesPostsPageJson, CommentUpdateType } from "../publications/comment/types.js";
5
+ import { RemoteCommunity } from "../community/remote-community.js";
6
+ import type { LRUCache } from "lru-cache";
7
+ import { BaseClientsManager } from "../clients/base-client-manager.js";
8
+ import type { CommunityIpfsType } from "../community/types.js";
9
+ export declare const TIMEFRAMES_TO_SECONDS: Record<Timeframe, number>;
10
+ export declare const POSTS_SORT_TYPES: PostSort;
11
+ export declare const POST_REPLIES_SORT_TYPES: ReplySort;
12
+ export declare const REPLY_REPLIES_SORT_TYPES: ReplySort;
13
+ type CommentToSort = PageIpfs["comments"][0];
14
+ export declare function hotScore(comment: CommentToSort): number;
15
+ export declare function bestScore(comment: CommentToSort): number;
16
+ export declare function controversialScore(comment: CommentToSort): number;
17
+ export declare function topScore(comment: CommentToSort): number;
18
+ export declare function newScore(comment: CommentToSort): number;
19
+ export declare function oldScore(comment: CommentToSort): number;
20
+ export declare function mapModqueuePageIpfsCommentToModQueuePageJsonComment(pageComment: ModQueuePageIpfs["comments"][number]): CommentWithinModQueuePageJson;
21
+ export declare function mapPageIpfsCommentToPageJsonComment(pageComment: PageIpfs["comments"][0]): CommentWithinRepliesPostsPageJson;
22
+ export declare function parsePageIpfs(pageIpfs: PageIpfs): PageTypeJson;
23
+ export declare function parseModQueuePageIpfs(modqueuePageIpfs: ModQueuePageIpfs): ModQueuePageTypeJson;
24
+ export declare function parsePagesIpfs(pagesRaw: PagesTypeIpfs): Omit<PagesTypeJson, "clients">;
25
+ export declare function processAllCommentsRecursively(comments: PageIpfs["comments"], processor: (comment: PageIpfs["comments"][0]) => void): void;
26
+ export declare function parseRawPages(pages: PagesTypeIpfs | Omit<PagesTypeJson, "clients"> | RepliesPages | PostsPages | undefined): Pick<RepliesPages | PostsPages, "pages">;
27
+ export declare function findCommentInPageInstance(pageInstance: RemoteCommunity["posts"] | Comment["replies"], targetCommentCid: string): PageIpfs["comments"][0] | undefined;
28
+ export declare function findCommentInParsedPages(pageJson: PageTypeJson, targetCommentCid: string): PageTypeJson["comments"][0] | undefined;
29
+ export declare function findCommentInHierarchicalPageIpfsRecursively(page: PageIpfs, targetCid: string): PageIpfs["comments"][0] | undefined;
30
+ export type CommentRuntimeFields = {
31
+ author?: Partial<Pick<Comment["author"], "nameResolved">>;
32
+ };
33
+ export type PageRuntimeFields = {
34
+ comments?: CommentRuntimeFields[];
35
+ };
36
+ export declare function buildPageRuntimeFields(page: PageIpfs | ModQueuePageIpfs, cache: LRUCache<string, boolean>): PageRuntimeFields;
37
+ export declare function buildPagesRuntimeFields(pages: Record<string, PageIpfs | ModQueuePageIpfs>, cache: LRUCache<string, boolean>): Record<string, PageRuntimeFields>;
38
+ export declare function extractParsedPagesRuntimeFields(pages: Record<string, PageTypeJson | ModQueuePageTypeJson | undefined>): Record<string, PageRuntimeFields>;
39
+ export declare function extractCommunityRuntimeFieldsFromParsedPages({ postsPages, modQueuePages }: {
40
+ postsPages?: Record<string, PageTypeJson | undefined>;
41
+ modQueuePages?: Record<string, ModQueuePageTypeJson | undefined>;
42
+ }): {
43
+ posts?: {
44
+ pages: Record<string, PageRuntimeFields>;
45
+ };
46
+ modQueue?: {
47
+ pages: Record<string, PageRuntimeFields>;
48
+ };
49
+ } | undefined;
50
+ export declare function findCommentInPageInstanceRecursively(pageInstance: RemoteCommunity["posts"] | Comment["replies"], targetCid: string): PageIpfs["comments"][0] | undefined;
51
+ type PagesSource = NonNullable<CommunityIpfsType["posts"]> | NonNullable<CommentUpdateType["replies"] | NonNullable<CommunityIpfsType["modQueue"]>>;
52
+ export declare function iterateOverPageCidsToFindAllCids(opts: {
53
+ pages: PagesSource;
54
+ clientManager: BaseClientsManager;
55
+ }): Promise<string[]>;
56
+ export {};
@@ -0,0 +1,446 @@
1
+ import assert from "assert";
2
+ import { BasePages } from "./pages.js";
3
+ import * as remeda from "remeda";
4
+ import { shortifyAddress, shortifyCid } from "../util.js";
5
+ import { getAuthorDomainFromWire } from "../publications/publication-author.js";
6
+ import { getCommunityAddressFromRecord } from "../publications/publication-community.js";
7
+ import { sha256 } from "js-sha256";
8
+ import { parseJsonWithPKCErrorIfFails, parsePageIpfsSchemaWithPKCErrorIfItFails } from "../schema/schema-util.js";
9
+ import { buildRuntimeAuthor } from "../publications/publication-author.js";
10
+ export const TIMEFRAMES_TO_SECONDS = Object.freeze({
11
+ HOUR: 3600, // 60 * 60
12
+ DAY: 86400, // 60 * 60 * 24
13
+ WEEK: 604800, // 60 * 60 * 24 * 7
14
+ MONTH: 2629746, // Average seconds in a month (60 * 60 * 24 * 30.436875)
15
+ YEAR: 31557600, // Seconds in a year including leap years (60 * 60 * 24 * 365.25)
16
+ ALL: Infinity
17
+ });
18
+ export const POSTS_SORT_TYPES = {
19
+ hot: { score: (...args) => hotScore(...args) },
20
+ new: { score: (...args) => newScore(...args) },
21
+ active: {
22
+ score: (...args) => {
23
+ throw Error("Active sort has no scoring");
24
+ }
25
+ },
26
+ topHour: { timeframe: "HOUR", score: (...args) => topScore(...args) },
27
+ topDay: { timeframe: "DAY", score: (...args) => topScore(...args) },
28
+ topWeek: { timeframe: "WEEK", score: (...args) => topScore(...args) },
29
+ topMonth: { timeframe: "MONTH", score: (...args) => topScore(...args) },
30
+ topYear: { timeframe: "YEAR", score: (...args) => topScore(...args) },
31
+ topAll: { timeframe: "ALL", score: (...args) => topScore(...args) }
32
+ };
33
+ export const POST_REPLIES_SORT_TYPES = {
34
+ ...remeda.pick(POSTS_SORT_TYPES, ["new"]),
35
+ best: { score: (...args) => bestScore(...args) },
36
+ old: { score: (...args) => oldScore(...args) },
37
+ newFlat: { ...POSTS_SORT_TYPES["new"], flat: true },
38
+ oldFlat: { score: (...args) => oldScore(...args), flat: true }
39
+ };
40
+ export const REPLY_REPLIES_SORT_TYPES = {
41
+ ...remeda.pick(POSTS_SORT_TYPES, ["new"]),
42
+ best: { score: (...args) => bestScore(...args) },
43
+ old: { score: (...args) => oldScore(...args) }
44
+ };
45
+ export function hotScore(comment) {
46
+ assert(typeof comment.commentUpdate.downvoteCount === "number" &&
47
+ typeof comment.commentUpdate.upvoteCount === "number" &&
48
+ typeof comment.comment.timestamp === "number");
49
+ let score = comment.commentUpdate.upvoteCount - comment.commentUpdate.downvoteCount;
50
+ score++; // reddit initial upvotes is 1, pkc is 0
51
+ const order = Math.log10(Math.max(Math.abs(score), 1));
52
+ const sign = score > 0 ? 1 : score < 0 ? -1 : 0;
53
+ const seconds = comment.comment.timestamp - 1134028003;
54
+ return remeda.round(sign * order + seconds / 45000, 7);
55
+ }
56
+ export function bestScore(comment) {
57
+ assert(typeof comment.commentUpdate.downvoteCount === "number" && typeof comment.commentUpdate.upvoteCount === "number");
58
+ const originalUpvoteCount = comment.commentUpdate.upvoteCount; // can be 0
59
+ const upvoteCount = comment.commentUpdate.upvoteCount + 1; // reddit initial upvotes is 1, pkc is 0
60
+ const downvoteCount = comment.commentUpdate.downvoteCount;
61
+ // n is the total number of ratings
62
+ const n = originalUpvoteCount + downvoteCount;
63
+ if (n === 0) {
64
+ return 0;
65
+ }
66
+ // zα/2 is the (1-α/2) quantile of the standard normal distribution
67
+ const z = 1.281551565545;
68
+ // p is the observed fraction of positive ratings
69
+ const p = upvoteCount / n;
70
+ const left = p + (1 / (2 * n)) * z * z;
71
+ const right = z * Math.sqrt((p * (1 - p)) / n + (z * z) / (4 * n * n));
72
+ const under = 1 + (1 / n) * z * z;
73
+ return (left - right) / under;
74
+ }
75
+ export function controversialScore(comment) {
76
+ assert(typeof comment.commentUpdate.downvoteCount === "number" && typeof comment.commentUpdate.upvoteCount === "number");
77
+ const upvoteCount = comment.commentUpdate.upvoteCount + 1; // reddit initial upvotes is 1, pkc is 0
78
+ if (comment.commentUpdate.downvoteCount <= 0 || upvoteCount <= 0)
79
+ return 0;
80
+ const magnitude = upvoteCount + comment.commentUpdate.downvoteCount;
81
+ const balance = upvoteCount > comment.commentUpdate.downvoteCount
82
+ ? comment.commentUpdate.downvoteCount / upvoteCount
83
+ : upvoteCount / comment.commentUpdate.downvoteCount;
84
+ return Math.pow(magnitude, balance);
85
+ }
86
+ export function topScore(comment) {
87
+ assert(typeof comment.commentUpdate.downvoteCount === "number" && typeof comment.commentUpdate.upvoteCount === "number");
88
+ return comment.commentUpdate.upvoteCount - comment.commentUpdate.downvoteCount;
89
+ }
90
+ export function newScore(comment) {
91
+ assert(typeof comment.comment.timestamp === "number");
92
+ return comment.comment.timestamp;
93
+ }
94
+ export function oldScore(comment) {
95
+ assert(typeof comment.comment.timestamp === "number");
96
+ return -comment.comment.timestamp;
97
+ }
98
+ export function mapModqueuePageIpfsCommentToModQueuePageJsonComment(pageComment) {
99
+ const postCid = pageComment.comment.postCid ?? (pageComment.comment.depth === 0 ? pageComment.commentUpdate.cid : undefined);
100
+ if (!postCid)
101
+ throw Error("Failed to infer postCid from pageIpfs.comments.comment");
102
+ const runtimeAuthor = buildRuntimeAuthor({
103
+ author: { ...(pageComment.comment.author || {}), ...(pageComment.commentUpdate.author || {}) },
104
+ signaturePublicKey: pageComment.comment.signature.publicKey
105
+ });
106
+ const communityAddr = getCommunityAddressFromRecord(pageComment.comment);
107
+ return {
108
+ ...pageComment.comment,
109
+ ...pageComment.commentUpdate,
110
+ signature: pageComment.comment.signature,
111
+ author: {
112
+ ...runtimeAuthor,
113
+ ...(pageComment.commentUpdate.author || {}),
114
+ shortAddress: shortifyAddress(runtimeAuthor.address),
115
+ flairs: pageComment.commentUpdate?.author?.community?.flairs || runtimeAuthor.flairs
116
+ },
117
+ communityAddress: communityAddr,
118
+ shortCid: shortifyCid(pageComment.commentUpdate.cid),
119
+ shortCommunityAddress: shortifyAddress(communityAddr),
120
+ postCid,
121
+ raw: {
122
+ comment: pageComment.comment,
123
+ commentUpdate: pageComment.commentUpdate
124
+ }
125
+ };
126
+ }
127
+ export function mapPageIpfsCommentToPageJsonComment(pageComment) {
128
+ const parsedPages = pageComment.commentUpdate.replies ? parsePagesIpfs(pageComment.commentUpdate.replies) : undefined;
129
+ const postCid = pageComment.comment.postCid ?? (pageComment.comment.depth === 0 ? pageComment.commentUpdate.cid : undefined);
130
+ if (!postCid)
131
+ throw Error("Failed to infer postCid from pageIpfs.comments.comment");
132
+ const runtimeAuthor = buildRuntimeAuthor({
133
+ author: { ...(pageComment.comment.author || {}), ...(pageComment.commentUpdate.author || {}) },
134
+ signaturePublicKey: pageComment.comment.signature.publicKey
135
+ });
136
+ const spoiler = typeof pageComment.commentUpdate.spoiler === "boolean"
137
+ ? pageComment.commentUpdate.spoiler
138
+ : typeof pageComment.commentUpdate.edit?.spoiler === "boolean"
139
+ ? pageComment.commentUpdate.edit?.spoiler
140
+ : pageComment.comment.spoiler;
141
+ const nsfw = typeof pageComment.commentUpdate.nsfw === "boolean"
142
+ ? pageComment.commentUpdate.nsfw
143
+ : typeof pageComment.commentUpdate.edit?.nsfw === "boolean"
144
+ ? pageComment.commentUpdate.edit?.nsfw
145
+ : pageComment.comment.nsfw;
146
+ const communityAddr = getCommunityAddressFromRecord(pageComment.comment);
147
+ return {
148
+ ...pageComment.comment,
149
+ ...pageComment.commentUpdate,
150
+ signature: pageComment.comment.signature,
151
+ author: {
152
+ ...runtimeAuthor,
153
+ ...(pageComment.commentUpdate.author || {}),
154
+ shortAddress: shortifyAddress(runtimeAuthor.address),
155
+ flairs: pageComment.commentUpdate?.author?.community?.flairs ||
156
+ pageComment.commentUpdate?.edit?.author?.flairs ||
157
+ runtimeAuthor.flairs
158
+ },
159
+ communityAddress: communityAddr,
160
+ shortCid: shortifyCid(pageComment.commentUpdate.cid),
161
+ shortCommunityAddress: shortifyAddress(communityAddr),
162
+ deleted: pageComment.commentUpdate.edit?.deleted,
163
+ replies: parsedPages,
164
+ content: pageComment.commentUpdate.edit?.content || pageComment.comment.content,
165
+ reason: pageComment.commentUpdate.reason,
166
+ spoiler,
167
+ nsfw,
168
+ // TODO flairs merging strategy will likely change — currently: mod flairs > author edit flairs > original comment flairs
169
+ flairs: pageComment.commentUpdate.flairs || pageComment.commentUpdate.edit?.flairs || pageComment.comment.flairs,
170
+ postCid,
171
+ raw: {
172
+ comment: pageComment.comment,
173
+ commentUpdate: pageComment.commentUpdate
174
+ }
175
+ };
176
+ }
177
+ export function parsePageIpfs(pageIpfs) {
178
+ const finalComments = pageIpfs.comments.map(mapPageIpfsCommentToPageJsonComment);
179
+ return { comments: finalComments, ...remeda.omit(pageIpfs, ["comments"]) };
180
+ }
181
+ export function parseModQueuePageIpfs(modqueuePageIpfs) {
182
+ const finalComments = modqueuePageIpfs.comments.map(mapModqueuePageIpfsCommentToModQueuePageJsonComment);
183
+ return { comments: finalComments, ...remeda.omit(modqueuePageIpfs, ["comments"]) };
184
+ }
185
+ export function parsePagesIpfs(pagesRaw) {
186
+ const keys = remeda.keys.strict(pagesRaw.pages);
187
+ const parsedPages = Object.values(pagesRaw.pages).map((pageIpfs) => parsePageIpfs(pageIpfs));
188
+ const pagesType = remeda.fromEntries.strict(keys.map((key, i) => [key, parsedPages[i]]));
189
+ return { pages: pagesType, pageCids: pagesRaw.pageCids || {} };
190
+ }
191
+ export function processAllCommentsRecursively(comments, processor) {
192
+ if (!comments || comments.length === 0)
193
+ return;
194
+ comments.forEach((comment) => processor(comment));
195
+ for (const comment of comments)
196
+ if (comment.commentUpdate.replies?.pages?.best?.comments)
197
+ processAllCommentsRecursively(comment.commentUpdate.replies.pages.best.comments, processor);
198
+ }
199
+ // To use for both community.posts and comment.replies
200
+ export function parseRawPages(pages) {
201
+ if (!pages)
202
+ return {
203
+ pages: {}
204
+ };
205
+ const isIpfs = typeof Object.values(pages.pages)[0]?.comments[0]?.["commentUpdate"]?.["cid"] === "string";
206
+ if (isIpfs) {
207
+ const pagesIpfs = pages;
208
+ // pages is a PagesTypeIpfs
209
+ const parsedPages = parsePagesIpfs(pagesIpfs);
210
+ return { pages: parsedPages.pages };
211
+ }
212
+ else if (pages instanceof BasePages)
213
+ return { pages: pages.pages }; // already parsed
214
+ else {
215
+ pages = pages;
216
+ // Backward compat: old serialized flat pages may have subplebbitAddress but not communityAddress
217
+ for (const page of Object.values(pages.pages)) {
218
+ if (!page)
219
+ continue;
220
+ for (const comment of page.comments) {
221
+ if (!comment.communityAddress) {
222
+ const addr = getCommunityAddressFromRecord(comment);
223
+ if (addr) {
224
+ comment.communityAddress = addr;
225
+ comment.shortCommunityAddress = shortifyAddress(addr);
226
+ }
227
+ }
228
+ }
229
+ }
230
+ return {
231
+ pages: pages.pages
232
+ };
233
+ }
234
+ }
235
+ // finding comments within pages
236
+ export function findCommentInPageInstance(pageInstance, targetCommentCid) {
237
+ if (!pageInstance)
238
+ throw Error("should define page ipfs");
239
+ if (!targetCommentCid)
240
+ throw Error("should define target comment cid");
241
+ for (const page of Object.values(pageInstance.pages))
242
+ if (page)
243
+ for (const pageComment of page.comments)
244
+ if (pageComment.cid === targetCommentCid)
245
+ return pageComment.raw;
246
+ return undefined;
247
+ }
248
+ export function findCommentInParsedPages(pageJson, targetCommentCid) {
249
+ if (!pageJson)
250
+ throw Error("should define page json");
251
+ if (!targetCommentCid)
252
+ throw Error("should define target comment cid");
253
+ return remeda.find(pageJson.comments, (comment) => comment.cid === targetCommentCid);
254
+ }
255
+ export function findCommentInHierarchicalPageIpfsRecursively(page, targetCid) {
256
+ if (!page)
257
+ throw Error("should define page ipfs");
258
+ if (!targetCid)
259
+ throw Error("should define target comment cid");
260
+ for (const pageComment of page.comments) {
261
+ if (pageComment.commentUpdate.cid === targetCid)
262
+ return pageComment;
263
+ if (pageComment.commentUpdate.replies?.pages) {
264
+ for (const preloadedPage of Object.values(pageComment.commentUpdate.replies.pages)) {
265
+ const result = findCommentInHierarchicalPageIpfsRecursively(preloadedPage, targetCid);
266
+ if (result)
267
+ return result;
268
+ }
269
+ }
270
+ }
271
+ return undefined;
272
+ }
273
+ function _buildCommentRuntimeFields(comment, cache) {
274
+ const domain = getAuthorDomainFromWire(comment.comment.author);
275
+ if (!domain)
276
+ return {};
277
+ const key = sha256(domain + comment.comment.signature.publicKey);
278
+ const cached = cache.get(key);
279
+ if (typeof cached !== "boolean")
280
+ return {};
281
+ return { author: { nameResolved: cached } };
282
+ }
283
+ export function buildPageRuntimeFields(page, cache) {
284
+ return {
285
+ comments: page.comments.map((c) => {
286
+ const rf = _buildCommentRuntimeFields(c, cache);
287
+ // Recurse into nested preloaded replies
288
+ // Use `replies.pages` path (matches parsed PageTypeJson structure) not `commentUpdate.replies.pages` (raw PageIpfs structure)
289
+ if ("commentUpdate" in c && c.commentUpdate?.replies?.pages) {
290
+ const nestedPages = {};
291
+ for (const [sortName, nestedPage] of Object.entries(c.commentUpdate.replies.pages)) {
292
+ nestedPages[sortName] = buildPageRuntimeFields(nestedPage, cache);
293
+ }
294
+ rf.replies = { pages: nestedPages };
295
+ }
296
+ return rf;
297
+ })
298
+ };
299
+ }
300
+ export function buildPagesRuntimeFields(pages, cache) {
301
+ const result = {};
302
+ for (const [sort, page] of Object.entries(pages)) {
303
+ result[sort] = buildPageRuntimeFields(page, cache);
304
+ }
305
+ return result;
306
+ }
307
+ function extractCommentRuntimeFieldsFromParsedComment(comment) {
308
+ const runtimeFields = {};
309
+ if (typeof comment.author?.nameResolved === "boolean")
310
+ runtimeFields.author = { nameResolved: comment.author.nameResolved };
311
+ const repliesPages = "replies" in comment ? comment.replies?.pages : undefined;
312
+ if (repliesPages) {
313
+ const replyRuntimeFields = extractParsedPagesRuntimeFields(repliesPages);
314
+ if (Object.keys(replyRuntimeFields).length > 0)
315
+ runtimeFields.replies = { pages: replyRuntimeFields };
316
+ }
317
+ return runtimeFields;
318
+ }
319
+ function extractParsedPageRuntimeFields(page) {
320
+ const comments = page.comments.map(extractCommentRuntimeFieldsFromParsedComment);
321
+ return comments.some((commentRuntimeFields) => Object.keys(commentRuntimeFields).length > 0) ? { comments } : {};
322
+ }
323
+ export function extractParsedPagesRuntimeFields(pages) {
324
+ const result = {};
325
+ for (const [sort, page] of Object.entries(pages)) {
326
+ if (!page)
327
+ continue;
328
+ const pageRuntimeFields = extractParsedPageRuntimeFields(page);
329
+ if (Object.keys(pageRuntimeFields).length > 0)
330
+ result[sort] = pageRuntimeFields;
331
+ }
332
+ return result;
333
+ }
334
+ export function extractCommunityRuntimeFieldsFromParsedPages({ postsPages, modQueuePages }) {
335
+ const runtimeFields = {};
336
+ if (postsPages) {
337
+ const postsRuntimeFields = extractParsedPagesRuntimeFields(postsPages);
338
+ if (Object.keys(postsRuntimeFields).length > 0)
339
+ runtimeFields.posts = { pages: postsRuntimeFields };
340
+ }
341
+ if (modQueuePages) {
342
+ const modQueueRuntimeFields = extractParsedPagesRuntimeFields(modQueuePages);
343
+ if (Object.keys(modQueueRuntimeFields).length > 0)
344
+ runtimeFields.modQueue = { pages: modQueueRuntimeFields };
345
+ }
346
+ return Object.keys(runtimeFields).length > 0 ? runtimeFields : undefined;
347
+ }
348
+ export function findCommentInPageInstanceRecursively(pageInstance, targetCid) {
349
+ if (!pageInstance)
350
+ throw Error("should define page instance");
351
+ if (!targetCid)
352
+ throw Error("should define target comment cid");
353
+ for (const preloadedPage of Object.values(pageInstance.pages)) {
354
+ if (!preloadedPage)
355
+ continue;
356
+ const pageIpfs = {
357
+ comments: preloadedPage.comments.map((parsedPageComment) => parsedPageComment.raw),
358
+ nextCid: preloadedPage.nextCid
359
+ };
360
+ const foundComment = findCommentInHierarchicalPageIpfsRecursively(pageIpfs, targetCid);
361
+ if (foundComment)
362
+ return foundComment;
363
+ }
364
+ return undefined;
365
+ }
366
+ const FIRST_PAGE_MAX_FILE_SIZE_BYTES = 1024 * 1024;
367
+ export async function iterateOverPageCidsToFindAllCids(opts) {
368
+ if (!opts?.pages)
369
+ throw Error("expected pages to be defined when iterating over page cids");
370
+ const { pages, clientManager } = opts;
371
+ const timeoutMs = clientManager._pkc._timeouts["page-ipfs"];
372
+ const visited = new Set();
373
+ const queued = new Map();
374
+ const queue = [];
375
+ const collectedCids = [];
376
+ const collectedSet = new Set();
377
+ const addCidToResult = (cid) => {
378
+ if (collectedSet.has(cid))
379
+ return;
380
+ collectedSet.add(cid);
381
+ collectedCids.push(cid);
382
+ };
383
+ const enqueue = (cid, maxSize, addToResultFlag = true) => {
384
+ if (typeof cid !== "string" || cid.length === 0 || visited.has(cid))
385
+ return;
386
+ if (addToResultFlag)
387
+ addCidToResult(cid);
388
+ const existingEntry = queued.get(cid);
389
+ if (existingEntry) {
390
+ if (existingEntry.maxSize >= maxSize)
391
+ return;
392
+ existingEntry.maxSize = maxSize;
393
+ return;
394
+ }
395
+ const entry = { cid, maxSize };
396
+ queued.set(cid, entry);
397
+ queue.push(entry);
398
+ };
399
+ const initialPageCids = Array.from(new Set(Object.values(pages.pageCids ?? {}).filter((cid) => typeof cid === "string" && cid.length > 0)));
400
+ initialPageCids.forEach((cid) => enqueue(cid, FIRST_PAGE_MAX_FILE_SIZE_BYTES));
401
+ const preloadedPages = "pages" in pages ? Object.values(pages.pages ?? {}) : [];
402
+ for (const preloadedPage of preloadedPages)
403
+ if (typeof preloadedPage?.nextCid === "string" && preloadedPage.nextCid.length > 0)
404
+ enqueue(preloadedPage.nextCid, FIRST_PAGE_MAX_FILE_SIZE_BYTES * 2);
405
+ const fetchPage = async (cid, maxSizeBytes) => {
406
+ const rawPage = await clientManager._fetchCidP2P(cid, { maxFileSizeBytes: maxSizeBytes, timeoutMs });
407
+ const parsedPage = parseJsonWithPKCErrorIfFails(rawPage);
408
+ const pageIpfs = parsePageIpfsSchemaWithPKCErrorIfItFails(parsedPage);
409
+ return pageIpfs;
410
+ };
411
+ while (queue.length) {
412
+ const batch = queue.splice(0);
413
+ // Fetch the current batch concurrently to reduce latency across sorts.
414
+ const batchResults = await Promise.all(batch.map(async ({ cid, maxSize }) => {
415
+ if (visited.has(cid))
416
+ return { status: "skipped" };
417
+ try {
418
+ const page = await fetchPage(cid, maxSize);
419
+ return { status: "success", cid, page, maxSize };
420
+ }
421
+ catch (error) {
422
+ return { status: "error", cid, error };
423
+ }
424
+ }));
425
+ for (const result of batchResults) {
426
+ if (result.status === "skipped")
427
+ continue;
428
+ if (result.status === "error") {
429
+ visited.add(result.cid);
430
+ queued.delete(result.cid);
431
+ continue;
432
+ }
433
+ const { cid, page, maxSize } = result;
434
+ if (visited.has(cid))
435
+ continue;
436
+ visited.add(cid);
437
+ queued.delete(cid);
438
+ if (!page.nextCid || visited.has(page.nextCid))
439
+ continue;
440
+ const expectedNextPageSize = Math.max(maxSize * 2, FIRST_PAGE_MAX_FILE_SIZE_BYTES);
441
+ enqueue(page.nextCid, expectedNextPageSize);
442
+ }
443
+ }
444
+ return collectedCids;
445
+ }
446
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/pages/util.ts"],"names":[],"mappings":"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"}