@pkcprotocol/pkc-js 0.0.106 → 0.0.108

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 (361) hide show
  1. package/README.md +16 -0
  2. package/dist/browser/clients/base-client-manager.d.ts +1 -1
  3. package/dist/browser/clients/rpc-client/rpc-schema-util.d.ts +16 -0
  4. package/dist/browser/clients/rpc-client/schema.d.ts +16 -0
  5. package/dist/browser/community/remote-community.d.ts +1 -0
  6. package/dist/browser/community/remote-community.js +1 -0
  7. package/dist/browser/community/remote-community.js.map +1 -1
  8. package/dist/browser/community/rpc-local-community.js +13 -0
  9. package/dist/browser/community/rpc-local-community.js.map +1 -1
  10. package/dist/browser/community/rpc-remote-community.js +19 -7
  11. package/dist/browser/community/rpc-remote-community.js.map +1 -1
  12. package/dist/browser/community/schema.d.ts +1369 -1
  13. package/dist/browser/community/schema.js +90 -4
  14. package/dist/browser/community/schema.js.map +1 -1
  15. package/dist/browser/community/types.d.ts +13 -2
  16. package/dist/browser/constants.d.ts +1 -0
  17. package/dist/browser/constants.js +6 -0
  18. package/dist/browser/constants.js.map +1 -1
  19. package/dist/browser/errors.d.ts +16 -1
  20. package/dist/browser/errors.js +16 -0
  21. package/dist/browser/errors.js.map +1 -1
  22. package/dist/browser/generated-version.d.ts +1 -1
  23. package/dist/browser/generated-version.js +1 -1
  24. package/dist/browser/helia/helia-for-pkc.js +78 -11
  25. package/dist/browser/helia/helia-for-pkc.js.map +1 -1
  26. package/dist/browser/helia/util.d.ts +23 -1
  27. package/dist/browser/helia/util.js +52 -5
  28. package/dist/browser/helia/util.js.map +1 -1
  29. package/dist/browser/index-with-compile-cache.d.ts +559 -0
  30. package/dist/browser/index.d.ts +1120 -0
  31. package/dist/browser/index.js +5 -0
  32. package/dist/browser/index.js.map +1 -1
  33. package/dist/browser/logger.js +10 -1
  34. package/dist/browser/logger.js.map +1 -1
  35. package/dist/browser/object-key-util.d.ts +2 -0
  36. package/dist/browser/object-key-util.js +12 -0
  37. package/dist/browser/object-key-util.js.map +1 -0
  38. package/dist/browser/pages/page-sort-options.d.ts +14 -0
  39. package/dist/browser/pages/page-sort-options.js +92 -0
  40. package/dist/browser/pages/page-sort-options.js.map +1 -0
  41. package/dist/browser/pages/page-sort-scoring.d.ts +35 -0
  42. package/dist/browser/pages/page-sort-scoring.js +124 -0
  43. package/dist/browser/pages/page-sort-scoring.js.map +1 -0
  44. package/dist/browser/pages/pages-client-manager.d.ts +1 -0
  45. package/dist/browser/pages/pages-client-manager.js +16 -4
  46. package/dist/browser/pages/pages-client-manager.js.map +1 -1
  47. package/dist/browser/pages/pkc-js-page-sorts/active.d.ts +3 -0
  48. package/dist/browser/pages/pkc-js-page-sorts/active.js +15 -0
  49. package/dist/browser/pages/pkc-js-page-sorts/active.js.map +1 -0
  50. package/dist/browser/pages/pkc-js-page-sorts/best.d.ts +3 -0
  51. package/dist/browser/pages/pkc-js-page-sorts/best.js +10 -0
  52. package/dist/browser/pages/pkc-js-page-sorts/best.js.map +1 -0
  53. package/dist/browser/pages/pkc-js-page-sorts/controversial.d.ts +3 -0
  54. package/dist/browser/pages/pkc-js-page-sorts/controversial.js +10 -0
  55. package/dist/browser/pages/pkc-js-page-sorts/controversial.js.map +1 -0
  56. package/dist/browser/pages/pkc-js-page-sorts/hot.d.ts +3 -0
  57. package/dist/browser/pages/pkc-js-page-sorts/hot.js +10 -0
  58. package/dist/browser/pages/pkc-js-page-sorts/hot.js.map +1 -0
  59. package/dist/browser/pages/pkc-js-page-sorts/index.d.ts +2 -0
  60. package/dist/browser/pages/pkc-js-page-sorts/index.js +37 -0
  61. package/dist/browser/pages/pkc-js-page-sorts/index.js.map +1 -0
  62. package/dist/browser/pages/pkc-js-page-sorts/new-flat.d.ts +3 -0
  63. package/dist/browser/pages/pkc-js-page-sorts/new-flat.js +12 -0
  64. package/dist/browser/pages/pkc-js-page-sorts/new-flat.js.map +1 -0
  65. package/dist/browser/pages/pkc-js-page-sorts/new.d.ts +3 -0
  66. package/dist/browser/pages/pkc-js-page-sorts/new.js +10 -0
  67. package/dist/browser/pages/pkc-js-page-sorts/new.js.map +1 -0
  68. package/dist/browser/pages/pkc-js-page-sorts/old-flat.d.ts +3 -0
  69. package/dist/browser/pages/pkc-js-page-sorts/old-flat.js +12 -0
  70. package/dist/browser/pages/pkc-js-page-sorts/old-flat.js.map +1 -0
  71. package/dist/browser/pages/pkc-js-page-sorts/old.d.ts +3 -0
  72. package/dist/browser/pages/pkc-js-page-sorts/old.js +10 -0
  73. package/dist/browser/pages/pkc-js-page-sorts/old.js.map +1 -0
  74. package/dist/browser/pages/pkc-js-page-sorts/top-all.d.ts +3 -0
  75. package/dist/browser/pages/pkc-js-page-sorts/top-all.js +10 -0
  76. package/dist/browser/pages/pkc-js-page-sorts/top-all.js.map +1 -0
  77. package/dist/browser/pages/pkc-js-page-sorts/top-day.d.ts +3 -0
  78. package/dist/browser/pages/pkc-js-page-sorts/top-day.js +11 -0
  79. package/dist/browser/pages/pkc-js-page-sorts/top-day.js.map +1 -0
  80. package/dist/browser/pages/pkc-js-page-sorts/top-hour.d.ts +3 -0
  81. package/dist/browser/pages/pkc-js-page-sorts/top-hour.js +11 -0
  82. package/dist/browser/pages/pkc-js-page-sorts/top-hour.js.map +1 -0
  83. package/dist/browser/pages/pkc-js-page-sorts/top-month.d.ts +3 -0
  84. package/dist/browser/pages/pkc-js-page-sorts/top-month.js +11 -0
  85. package/dist/browser/pages/pkc-js-page-sorts/top-month.js.map +1 -0
  86. package/dist/browser/pages/pkc-js-page-sorts/top-week.d.ts +3 -0
  87. package/dist/browser/pages/pkc-js-page-sorts/top-week.js +11 -0
  88. package/dist/browser/pages/pkc-js-page-sorts/top-week.js.map +1 -0
  89. package/dist/browser/pages/pkc-js-page-sorts/top-year.d.ts +3 -0
  90. package/dist/browser/pages/pkc-js-page-sorts/top-year.js +11 -0
  91. package/dist/browser/pages/pkc-js-page-sorts/top-year.js.map +1 -0
  92. package/dist/browser/pages/pkc-js-page-sorts/top.d.ts +3 -0
  93. package/dist/browser/pages/pkc-js-page-sorts/top.js +12 -0
  94. package/dist/browser/pages/pkc-js-page-sorts/top.js.map +1 -0
  95. package/dist/browser/pages/pkc-js-page-sorts/util.d.ts +3 -0
  96. package/dist/browser/pages/pkc-js-page-sorts/util.js +7 -0
  97. package/dist/browser/pages/pkc-js-page-sorts/util.js.map +1 -0
  98. package/dist/browser/pages/schema.d.ts +1 -0
  99. package/dist/browser/pages/schema.js +10 -3
  100. package/dist/browser/pages/schema.js.map +1 -1
  101. package/dist/browser/pages/types.d.ts +8 -0
  102. package/dist/browser/pages/util.d.ts +2 -1
  103. package/dist/browser/pages/util.js +11 -10
  104. package/dist/browser/pages/util.js.map +1 -1
  105. package/dist/browser/pkc/pkc.d.ts +2 -1
  106. package/dist/browser/pkc/pkc.js +2 -1
  107. package/dist/browser/pkc/pkc.js.map +1 -1
  108. package/dist/browser/pkc-error.d.ts +1 -1
  109. package/dist/browser/publications/comment/comment-client-manager.d.ts +2 -2
  110. package/dist/browser/publications/comment/comment-client-manager.js +3 -1
  111. package/dist/browser/publications/comment/comment-client-manager.js.map +1 -1
  112. package/dist/browser/publications/comment/comment.js +6 -3
  113. package/dist/browser/publications/comment/comment.js.map +1 -1
  114. package/dist/browser/publications/community-edit/schema.d.ts +64 -0
  115. package/dist/browser/pubsub-messages/schema.d.ts +32 -0
  116. package/dist/browser/rpc/src/index.js +14 -1
  117. package/dist/browser/rpc/src/index.js.map +1 -1
  118. package/dist/browser/rpc/src/lib/pkc-js/index.d.ts +559 -0
  119. package/dist/browser/rpc/src/schema.d.ts +3371 -0
  120. package/dist/browser/rpc/src/schema.js +6 -2
  121. package/dist/browser/rpc/src/schema.js.map +1 -1
  122. package/dist/browser/runtime/browser/community/page-sorts/index.d.ts +1 -0
  123. package/dist/browser/runtime/browser/community/page-sorts/index.js +6 -0
  124. package/dist/browser/runtime/browser/community/page-sorts/index.js.map +1 -0
  125. package/dist/browser/runtime/node/community/db-handler.d.ts +78 -20
  126. package/dist/browser/runtime/node/community/db-handler.js +1151 -734
  127. package/dist/browser/runtime/node/community/db-handler.js.map +1 -1
  128. package/dist/browser/runtime/node/community/db-row-parser.d.ts +13 -0
  129. package/dist/browser/runtime/node/community/db-row-parser.js +58 -1
  130. package/dist/browser/runtime/node/community/db-row-parser.js.map +1 -1
  131. package/dist/browser/runtime/node/community/local-community/cleanup.js +23 -10
  132. package/dist/browser/runtime/node/community/local-community/cleanup.js.map +1 -1
  133. package/dist/browser/runtime/node/community/local-community/comment-updates.d.ts +12 -2
  134. package/dist/browser/runtime/node/community/local-community/comment-updates.js +101 -70
  135. package/dist/browser/runtime/node/community/local-community/comment-updates.js.map +1 -1
  136. package/dist/browser/runtime/node/community/local-community/db-state.js +8 -0
  137. package/dist/browser/runtime/node/community/local-community/db-state.js.map +1 -1
  138. package/dist/browser/runtime/node/community/local-community/editing.d.ts +9 -2
  139. package/dist/browser/runtime/node/community/local-community/editing.js +32 -5
  140. package/dist/browser/runtime/node/community/local-community/editing.js.map +1 -1
  141. package/dist/browser/runtime/node/community/local-community/ipns-publishing.d.ts +2 -2
  142. package/dist/browser/runtime/node/community/local-community/ipns-publishing.js +49 -27
  143. package/dist/browser/runtime/node/community/local-community/ipns-publishing.js.map +1 -1
  144. package/dist/browser/runtime/node/community/local-community/lifecycle.d.ts +1 -0
  145. package/dist/browser/runtime/node/community/local-community/lifecycle.js +49 -18
  146. package/dist/browser/runtime/node/community/local-community/lifecycle.js.map +1 -1
  147. package/dist/browser/runtime/node/community/local-community.d.ts +5 -1
  148. package/dist/browser/runtime/node/community/local-community.js +13 -1
  149. package/dist/browser/runtime/node/community/local-community.js.map +1 -1
  150. package/dist/browser/runtime/node/community/page-generator.d.ts +44 -413
  151. package/dist/browser/runtime/node/community/page-generator.js +531 -308
  152. package/dist/browser/runtime/node/community/page-generator.js.map +1 -1
  153. package/dist/browser/runtime/node/community/page-sorts/index.d.ts +64 -0
  154. package/dist/browser/runtime/node/community/page-sorts/index.js +264 -0
  155. package/dist/browser/runtime/node/community/page-sorts/index.js.map +1 -0
  156. package/dist/browser/runtime/node/util.js +1 -1
  157. package/dist/browser/runtime/node/util.js.map +1 -1
  158. package/dist/browser/schema/schema-util.d.ts +142 -1
  159. package/dist/browser/schema/schema-util.js +11 -0
  160. package/dist/browser/schema/schema-util.js.map +1 -1
  161. package/dist/browser/schema/schema.js +1 -1
  162. package/dist/browser/schema/schema.js.map +1 -1
  163. package/dist/browser/schema.d.ts +4469 -0
  164. package/dist/browser/schema.js +2 -1
  165. package/dist/browser/schema.js.map +1 -1
  166. package/dist/browser/signer/signatures.d.ts +1 -1
  167. package/dist/browser/signer/signatures.js +45 -1
  168. package/dist/browser/signer/signatures.js.map +1 -1
  169. package/dist/browser/test/test-util.d.ts +63 -0
  170. package/dist/browser/test/test-util.js +66 -11
  171. package/dist/browser/test/test-util.js.map +1 -1
  172. package/dist/browser/util.d.ts +4 -0
  173. package/dist/browser/util.js +93 -1
  174. package/dist/browser/util.js.map +1 -1
  175. package/dist/browser/version.js +1 -1
  176. package/dist/bundled/bundle-manifest.json +229 -205
  177. package/dist/bundled/chunks/{helia-for-pkc-qvcQHRw5.js → helia-for-pkc-BY1wF9W8.js} +91 -48
  178. package/dist/bundled/chunks/{local-community-BVWWQKxg.js → local-community-B6i3MUzw.js} +1 -1
  179. package/dist/bundled/chunks/{local-community-DhiNmK3L.js → local-community-Dm02mfn3.js} +6719 -6055
  180. package/dist/bundled/chunks/{node-D8vvnh-6.js → node-B8rEQ_rA.js} +1208 -17
  181. package/dist/bundled/chunks/{rpc-local-community-Bmt73MTy.js → rpc-local-community-DHS2R2Vk.js} +13693 -14182
  182. package/dist/bundled/chunks/{util-DUR-gvDQ.js → util-B-wz3mKY.js} +32 -2
  183. package/dist/bundled/chunks/{schema-B4n6Xctr.js → util-C6zDjhpr.js} +755 -602
  184. package/dist/bundled/index.js +2 -2
  185. package/dist/bundled/rpc/src/index.js +22 -9
  186. package/dist/node/clients/base-client-manager.d.ts +1 -1
  187. package/dist/node/clients/rpc-client/rpc-schema-util.d.ts +16 -0
  188. package/dist/node/clients/rpc-client/schema.d.ts +16 -0
  189. package/dist/node/community/remote-community.d.ts +1 -0
  190. package/dist/node/community/remote-community.js +1 -0
  191. package/dist/node/community/remote-community.js.map +1 -1
  192. package/dist/node/community/rpc-local-community.js +13 -0
  193. package/dist/node/community/rpc-local-community.js.map +1 -1
  194. package/dist/node/community/rpc-remote-community.js +19 -7
  195. package/dist/node/community/rpc-remote-community.js.map +1 -1
  196. package/dist/node/community/schema.d.ts +1369 -1
  197. package/dist/node/community/schema.js +90 -4
  198. package/dist/node/community/schema.js.map +1 -1
  199. package/dist/node/community/types.d.ts +13 -2
  200. package/dist/node/constants.d.ts +1 -0
  201. package/dist/node/constants.js +6 -0
  202. package/dist/node/constants.js.map +1 -1
  203. package/dist/node/errors.d.ts +16 -1
  204. package/dist/node/errors.js +16 -0
  205. package/dist/node/errors.js.map +1 -1
  206. package/dist/node/generated-version.d.ts +1 -1
  207. package/dist/node/generated-version.js +1 -1
  208. package/dist/node/helia/helia-for-pkc.js +78 -11
  209. package/dist/node/helia/helia-for-pkc.js.map +1 -1
  210. package/dist/node/helia/util.d.ts +23 -1
  211. package/dist/node/helia/util.js +52 -5
  212. package/dist/node/helia/util.js.map +1 -1
  213. package/dist/node/index-with-compile-cache.d.ts +559 -0
  214. package/dist/node/index.d.ts +1120 -0
  215. package/dist/node/index.js +5 -0
  216. package/dist/node/index.js.map +1 -1
  217. package/dist/node/logger.js +10 -1
  218. package/dist/node/logger.js.map +1 -1
  219. package/dist/node/object-key-util.d.ts +2 -0
  220. package/dist/node/object-key-util.js +12 -0
  221. package/dist/node/object-key-util.js.map +1 -0
  222. package/dist/node/pages/page-sort-options.d.ts +14 -0
  223. package/dist/node/pages/page-sort-options.js +92 -0
  224. package/dist/node/pages/page-sort-options.js.map +1 -0
  225. package/dist/node/pages/page-sort-scoring.d.ts +35 -0
  226. package/dist/node/pages/page-sort-scoring.js +124 -0
  227. package/dist/node/pages/page-sort-scoring.js.map +1 -0
  228. package/dist/node/pages/pages-client-manager.d.ts +1 -0
  229. package/dist/node/pages/pages-client-manager.js +16 -4
  230. package/dist/node/pages/pages-client-manager.js.map +1 -1
  231. package/dist/node/pages/pkc-js-page-sorts/active.d.ts +3 -0
  232. package/dist/node/pages/pkc-js-page-sorts/active.js +15 -0
  233. package/dist/node/pages/pkc-js-page-sorts/active.js.map +1 -0
  234. package/dist/node/pages/pkc-js-page-sorts/best.d.ts +3 -0
  235. package/dist/node/pages/pkc-js-page-sorts/best.js +10 -0
  236. package/dist/node/pages/pkc-js-page-sorts/best.js.map +1 -0
  237. package/dist/node/pages/pkc-js-page-sorts/controversial.d.ts +3 -0
  238. package/dist/node/pages/pkc-js-page-sorts/controversial.js +10 -0
  239. package/dist/node/pages/pkc-js-page-sorts/controversial.js.map +1 -0
  240. package/dist/node/pages/pkc-js-page-sorts/hot.d.ts +3 -0
  241. package/dist/node/pages/pkc-js-page-sorts/hot.js +10 -0
  242. package/dist/node/pages/pkc-js-page-sorts/hot.js.map +1 -0
  243. package/dist/node/pages/pkc-js-page-sorts/index.d.ts +2 -0
  244. package/dist/node/pages/pkc-js-page-sorts/index.js +37 -0
  245. package/dist/node/pages/pkc-js-page-sorts/index.js.map +1 -0
  246. package/dist/node/pages/pkc-js-page-sorts/new-flat.d.ts +3 -0
  247. package/dist/node/pages/pkc-js-page-sorts/new-flat.js +12 -0
  248. package/dist/node/pages/pkc-js-page-sorts/new-flat.js.map +1 -0
  249. package/dist/node/pages/pkc-js-page-sorts/new.d.ts +3 -0
  250. package/dist/node/pages/pkc-js-page-sorts/new.js +10 -0
  251. package/dist/node/pages/pkc-js-page-sorts/new.js.map +1 -0
  252. package/dist/node/pages/pkc-js-page-sorts/old-flat.d.ts +3 -0
  253. package/dist/node/pages/pkc-js-page-sorts/old-flat.js +12 -0
  254. package/dist/node/pages/pkc-js-page-sorts/old-flat.js.map +1 -0
  255. package/dist/node/pages/pkc-js-page-sorts/old.d.ts +3 -0
  256. package/dist/node/pages/pkc-js-page-sorts/old.js +10 -0
  257. package/dist/node/pages/pkc-js-page-sorts/old.js.map +1 -0
  258. package/dist/node/pages/pkc-js-page-sorts/top-all.d.ts +3 -0
  259. package/dist/node/pages/pkc-js-page-sorts/top-all.js +10 -0
  260. package/dist/node/pages/pkc-js-page-sorts/top-all.js.map +1 -0
  261. package/dist/node/pages/pkc-js-page-sorts/top-day.d.ts +3 -0
  262. package/dist/node/pages/pkc-js-page-sorts/top-day.js +11 -0
  263. package/dist/node/pages/pkc-js-page-sorts/top-day.js.map +1 -0
  264. package/dist/node/pages/pkc-js-page-sorts/top-hour.d.ts +3 -0
  265. package/dist/node/pages/pkc-js-page-sorts/top-hour.js +11 -0
  266. package/dist/node/pages/pkc-js-page-sorts/top-hour.js.map +1 -0
  267. package/dist/node/pages/pkc-js-page-sorts/top-month.d.ts +3 -0
  268. package/dist/node/pages/pkc-js-page-sorts/top-month.js +11 -0
  269. package/dist/node/pages/pkc-js-page-sorts/top-month.js.map +1 -0
  270. package/dist/node/pages/pkc-js-page-sorts/top-week.d.ts +3 -0
  271. package/dist/node/pages/pkc-js-page-sorts/top-week.js +11 -0
  272. package/dist/node/pages/pkc-js-page-sorts/top-week.js.map +1 -0
  273. package/dist/node/pages/pkc-js-page-sorts/top-year.d.ts +3 -0
  274. package/dist/node/pages/pkc-js-page-sorts/top-year.js +11 -0
  275. package/dist/node/pages/pkc-js-page-sorts/top-year.js.map +1 -0
  276. package/dist/node/pages/pkc-js-page-sorts/top.d.ts +3 -0
  277. package/dist/node/pages/pkc-js-page-sorts/top.js +12 -0
  278. package/dist/node/pages/pkc-js-page-sorts/top.js.map +1 -0
  279. package/dist/node/pages/pkc-js-page-sorts/util.d.ts +3 -0
  280. package/dist/node/pages/pkc-js-page-sorts/util.js +7 -0
  281. package/dist/node/pages/pkc-js-page-sorts/util.js.map +1 -0
  282. package/dist/node/pages/schema.d.ts +1 -0
  283. package/dist/node/pages/schema.js +10 -3
  284. package/dist/node/pages/schema.js.map +1 -1
  285. package/dist/node/pages/types.d.ts +8 -0
  286. package/dist/node/pages/util.d.ts +2 -1
  287. package/dist/node/pages/util.js +11 -10
  288. package/dist/node/pages/util.js.map +1 -1
  289. package/dist/node/pkc/pkc.d.ts +2 -1
  290. package/dist/node/pkc/pkc.js +2 -1
  291. package/dist/node/pkc/pkc.js.map +1 -1
  292. package/dist/node/pkc-error.d.ts +1 -1
  293. package/dist/node/publications/comment/comment-client-manager.d.ts +2 -2
  294. package/dist/node/publications/comment/comment-client-manager.js +3 -1
  295. package/dist/node/publications/comment/comment-client-manager.js.map +1 -1
  296. package/dist/node/publications/comment/comment.js +6 -3
  297. package/dist/node/publications/comment/comment.js.map +1 -1
  298. package/dist/node/publications/community-edit/schema.d.ts +64 -0
  299. package/dist/node/pubsub-messages/schema.d.ts +32 -0
  300. package/dist/node/rpc/src/index.js +14 -1
  301. package/dist/node/rpc/src/index.js.map +1 -1
  302. package/dist/node/rpc/src/lib/pkc-js/index.d.ts +559 -0
  303. package/dist/node/rpc/src/schema.d.ts +3371 -0
  304. package/dist/node/rpc/src/schema.js +6 -2
  305. package/dist/node/rpc/src/schema.js.map +1 -1
  306. package/dist/node/runtime/browser/community/page-sorts/index.d.ts +1 -0
  307. package/dist/node/runtime/browser/community/page-sorts/index.js +6 -0
  308. package/dist/node/runtime/browser/community/page-sorts/index.js.map +1 -0
  309. package/dist/node/runtime/node/community/db-handler.d.ts +78 -20
  310. package/dist/node/runtime/node/community/db-handler.js +1151 -734
  311. package/dist/node/runtime/node/community/db-handler.js.map +1 -1
  312. package/dist/node/runtime/node/community/db-row-parser.d.ts +13 -0
  313. package/dist/node/runtime/node/community/db-row-parser.js +58 -1
  314. package/dist/node/runtime/node/community/db-row-parser.js.map +1 -1
  315. package/dist/node/runtime/node/community/local-community/cleanup.js +23 -10
  316. package/dist/node/runtime/node/community/local-community/cleanup.js.map +1 -1
  317. package/dist/node/runtime/node/community/local-community/comment-updates.d.ts +12 -2
  318. package/dist/node/runtime/node/community/local-community/comment-updates.js +101 -70
  319. package/dist/node/runtime/node/community/local-community/comment-updates.js.map +1 -1
  320. package/dist/node/runtime/node/community/local-community/db-state.js +8 -0
  321. package/dist/node/runtime/node/community/local-community/db-state.js.map +1 -1
  322. package/dist/node/runtime/node/community/local-community/editing.d.ts +9 -2
  323. package/dist/node/runtime/node/community/local-community/editing.js +32 -5
  324. package/dist/node/runtime/node/community/local-community/editing.js.map +1 -1
  325. package/dist/node/runtime/node/community/local-community/ipns-publishing.d.ts +2 -2
  326. package/dist/node/runtime/node/community/local-community/ipns-publishing.js +49 -27
  327. package/dist/node/runtime/node/community/local-community/ipns-publishing.js.map +1 -1
  328. package/dist/node/runtime/node/community/local-community/lifecycle.d.ts +1 -0
  329. package/dist/node/runtime/node/community/local-community/lifecycle.js +49 -18
  330. package/dist/node/runtime/node/community/local-community/lifecycle.js.map +1 -1
  331. package/dist/node/runtime/node/community/local-community.d.ts +5 -1
  332. package/dist/node/runtime/node/community/local-community.js +13 -1
  333. package/dist/node/runtime/node/community/local-community.js.map +1 -1
  334. package/dist/node/runtime/node/community/page-generator.d.ts +44 -413
  335. package/dist/node/runtime/node/community/page-generator.js +531 -308
  336. package/dist/node/runtime/node/community/page-generator.js.map +1 -1
  337. package/dist/node/runtime/node/community/page-sorts/index.d.ts +64 -0
  338. package/dist/node/runtime/node/community/page-sorts/index.js +264 -0
  339. package/dist/node/runtime/node/community/page-sorts/index.js.map +1 -0
  340. package/dist/node/runtime/node/util.js +1 -1
  341. package/dist/node/runtime/node/util.js.map +1 -1
  342. package/dist/node/schema/schema-util.d.ts +142 -1
  343. package/dist/node/schema/schema-util.js +11 -0
  344. package/dist/node/schema/schema-util.js.map +1 -1
  345. package/dist/node/schema/schema.js +1 -1
  346. package/dist/node/schema/schema.js.map +1 -1
  347. package/dist/node/schema.d.ts +4469 -0
  348. package/dist/node/schema.js +2 -1
  349. package/dist/node/schema.js.map +1 -1
  350. package/dist/node/signer/signatures.d.ts +1 -1
  351. package/dist/node/signer/signatures.js +45 -1
  352. package/dist/node/signer/signatures.js.map +1 -1
  353. package/dist/node/test/test-util.d.ts +63 -0
  354. package/dist/node/test/test-util.js +66 -11
  355. package/dist/node/test/test-util.js.map +1 -1
  356. package/dist/node/util.d.ts +4 -0
  357. package/dist/node/util.js +93 -1
  358. package/dist/node/util.js.map +1 -1
  359. package/dist/node/version.js +1 -1
  360. package/package.json +2 -2
  361. package/dist/bundled/chunks/{src-Dz9wtvrK.js → src-B07ldGHS.js} +1 -1
@@ -1,19 +1,21 @@
1
1
  import { i as __toESM, r as __require, t as __commonJSMin } from "./chunk-2rV9d50f.js";
2
- import { B as hideClassPrivateProps, Er as logger_default, H as ipnsNameToIpnsOverPubsubTopic, wr as PKCError, x as binaryKeyToPubsubTopic } from "./schema-B4n6Xctr.js";
3
- import { a as fetchBlockWithStalledSessionFailover, c as selectBitswapSessionSeedPeers, i as directFetchIpnsRecordFromProviders, n as cacheIpnsRecordInPubsubLocalStore, o as getHeliaDebugContext, r as connectToPubsubPeers, s as readFreshCachedIpnsRecordFromPubsubLocalStore } from "./util-DUR-gvDQ.js";
2
+ import { Ar as PKCError, Mr as logger_default, S as hideClassPrivateProps, n as binaryKeyToPubsubTopic, w as ipnsNameToIpnsOverPubsubTopic } from "./util-C6zDjhpr.js";
3
+ import { a as directFetchIpnsRecordFromProviders, c as readFreshCachedIpnsRecordFromPubsubLocalStore, i as connectToPubsubPeers, l as selectBitswapSessionSeedPeers, n as REACHABILITY_DOCS_URL, o as fetchBlockWithStalledSessionFailover, r as cacheIpnsRecordInPubsubLocalStore, s as getHeliaDebugContext, u as summarizeProviderReachability } from "./util-B-wz3mKY.js";
4
4
  import { t as map } from "./src-Cpx2Sts8.js";
5
5
  import { t as parallelBatch } from "./src-DKntVmyX.js";
6
6
  import { fileURLToPath } from "node:url";
7
7
  import fsp, { rename, writeFile } from "node:fs/promises";
8
- import Path, { basename, dirname, join } from "node:path";
9
- import path from "path";
8
+ import path, { basename, dirname, join } from "node:path";
9
+ import path$1 from "path";
10
10
  import { CID } from "multiformats/cid";
11
11
  import { peerIdFromString } from "@libp2p/peer-id";
12
12
  import * as Digest from "multiformats/hashes/digest";
13
13
  import { base32, base32upper } from "multiformats/bases/base32";
14
14
  import { EventEmitter as EventEmitter$1 } from "events";
15
+ import { ipnsSelector } from "ipns/selector";
15
16
  import { ipnsValidator } from "ipns/validator";
16
17
  import { multihashToIPNSRoutingKey, unmarshalIPNSRecord } from "ipns";
18
+ import { equals } from "uint8arrays/equals";
17
19
  import { createHeliaLight } from "helia";
18
20
  import { libp2pDefaults, withLibp2p } from "@helia/libp2p";
19
21
  import { withBitswap } from "@helia/bitswap";
@@ -149,7 +151,7 @@ var require_path = /* @__PURE__ */ __commonJSMin(((exports) => {
149
151
  Object.defineProperty(exports, "__esModule", { value: true });
150
152
  exports.convertPosixPathToPattern = exports.convertWindowsPathToPattern = exports.convertPathToPattern = exports.escapePosixPath = exports.escapeWindowsPath = exports.escape = exports.removeLeadingDotSegment = exports.makeAbsolute = exports.unixify = void 0;
151
153
  const os$1 = __require("os");
152
- const path$9 = __require("path");
154
+ const path$10 = __require("path");
153
155
  const IS_WINDOWS_PLATFORM = os$1.platform() === "win32";
154
156
  const LEADING_DOT_SEGMENT_CHARACTERS_COUNT = 2;
155
157
  /**
@@ -178,7 +180,7 @@ var require_path = /* @__PURE__ */ __commonJSMin(((exports) => {
178
180
  }
179
181
  exports.unixify = unixify;
180
182
  function makeAbsolute(cwd, filepath) {
181
- return path$9.resolve(cwd, filepath);
183
+ return path$10.resolve(cwd, filepath);
182
184
  }
183
185
  exports.makeAbsolute = makeAbsolute;
184
186
  function removeLeadingDotSegment(entry) {
@@ -1430,7 +1432,7 @@ var require_braces = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1430
1432
  //#endregion
1431
1433
  //#region node_modules/picomatch/lib/constants.js
1432
1434
  var require_constants$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1433
- const path$8 = __require("path");
1435
+ const path$9 = __require("path");
1434
1436
  const WIN_SLASH = "\\\\/";
1435
1437
  const WIN_NO_SLASH = `[^${WIN_SLASH}]`;
1436
1438
  const DEFAULT_MAX_EXTGLOB_RECURSION = 0;
@@ -1555,7 +1557,7 @@ var require_constants$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1555
1557
  CHAR_UNDERSCORE: 95,
1556
1558
  CHAR_VERTICAL_LINE: 124,
1557
1559
  CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279,
1558
- SEP: path$8.sep,
1560
+ SEP: path$9.sep,
1559
1561
  /**
1560
1562
  * Create EXTGLOB_CHARS
1561
1563
  */
@@ -1599,7 +1601,7 @@ var require_constants$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1599
1601
  //#endregion
1600
1602
  //#region node_modules/picomatch/lib/utils.js
1601
1603
  var require_utils$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
1602
- const path$7 = __require("path");
1604
+ const path$8 = __require("path");
1603
1605
  const win32 = process.platform === "win32";
1604
1606
  const { REGEX_BACKSLASH, REGEX_REMOVE_BACKSLASH, REGEX_SPECIAL_CHARS, REGEX_SPECIAL_CHARS_GLOBAL } = require_constants$1();
1605
1607
  exports.isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val);
@@ -1619,7 +1621,7 @@ var require_utils$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
1619
1621
  };
1620
1622
  exports.isWindows = (options) => {
1621
1623
  if (options && typeof options.windows === "boolean") return options.windows;
1622
- return win32 === true || path$7.sep === "\\";
1624
+ return win32 === true || path$8.sep === "\\";
1623
1625
  };
1624
1626
  exports.escapeLast = (input, char, lastIdx) => {
1625
1627
  const idx = input.lastIndexOf(char, lastIdx);
@@ -2989,7 +2991,7 @@ var require_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
2989
2991
  //#endregion
2990
2992
  //#region node_modules/picomatch/lib/picomatch.js
2991
2993
  var require_picomatch$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
2992
- const path$6 = __require("path");
2994
+ const path$7 = __require("path");
2993
2995
  const scan = require_scan();
2994
2996
  const parse = require_parse();
2995
2997
  const utils = require_utils$2();
@@ -3128,7 +3130,7 @@ var require_picomatch$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3128
3130
  * @api public
3129
3131
  */
3130
3132
  picomatch.matchBase = (input, glob, options, posix = utils.isWindows(options)) => {
3131
- return (glob instanceof RegExp ? glob : picomatch.makeRe(glob, options)).test(path$6.basename(input));
3133
+ return (glob instanceof RegExp ? glob : picomatch.makeRe(glob, options)).test(path$7.basename(input));
3132
3134
  };
3133
3135
  /**
3134
3136
  * Returns true if **any** of the given glob `patterns` match the specified `string`.
@@ -3683,7 +3685,7 @@ var require_micromatch = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3683
3685
  var require_pattern = /* @__PURE__ */ __commonJSMin(((exports) => {
3684
3686
  Object.defineProperty(exports, "__esModule", { value: true });
3685
3687
  exports.isAbsolute = exports.partitionAbsoluteAndRelative = exports.removeDuplicateSlashes = exports.matchAny = exports.convertPatternsToRe = exports.makeRe = exports.getPatternParts = exports.expandBraceExpansion = exports.expandPatternsWithBraceExpansion = exports.isAffectDepthOfReadingPattern = exports.endsWithSlashGlobStar = exports.hasGlobStar = exports.getBaseDirectory = exports.isPatternRelatedToParentDirectory = exports.getPatternsOutsideCurrentDirectory = exports.getPatternsInsideCurrentDirectory = exports.getPositivePatterns = exports.getNegativePatterns = exports.isPositivePattern = exports.isNegativePattern = exports.convertToNegativePattern = exports.convertToPositivePattern = exports.isDynamicPattern = exports.isStaticPattern = void 0;
3686
- const path$5 = __require("path");
3688
+ const path$6 = __require("path");
3687
3689
  const globParent = require_glob_parent();
3688
3690
  const micromatch = require_micromatch();
3689
3691
  const GLOBSTAR = "**";
@@ -3791,7 +3793,7 @@ var require_pattern = /* @__PURE__ */ __commonJSMin(((exports) => {
3791
3793
  }
3792
3794
  exports.endsWithSlashGlobStar = endsWithSlashGlobStar;
3793
3795
  function isAffectDepthOfReadingPattern(pattern) {
3794
- const basename = path$5.basename(pattern);
3796
+ const basename = path$6.basename(pattern);
3795
3797
  return endsWithSlashGlobStar(pattern) || isStaticPattern(basename);
3796
3798
  }
3797
3799
  exports.isAffectDepthOfReadingPattern = isAffectDepthOfReadingPattern;
@@ -3865,7 +3867,7 @@ var require_pattern = /* @__PURE__ */ __commonJSMin(((exports) => {
3865
3867
  }
3866
3868
  exports.partitionAbsoluteAndRelative = partitionAbsoluteAndRelative;
3867
3869
  function isAbsolute(pattern) {
3868
- return path$5.isAbsolute(pattern);
3870
+ return path$6.isAbsolute(pattern);
3869
3871
  }
3870
3872
  exports.isAbsolute = isAbsolute;
3871
3873
  }));
@@ -4493,7 +4495,7 @@ var require_fs = /* @__PURE__ */ __commonJSMin(((exports) => {
4493
4495
  //#region node_modules/@nodelib/fs.scandir/out/settings.js
4494
4496
  var require_settings$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
4495
4497
  Object.defineProperty(exports, "__esModule", { value: true });
4496
- const path$4 = __require("path");
4498
+ const path$5 = __require("path");
4497
4499
  const fsStat = require_out$3();
4498
4500
  const fs = require_fs();
4499
4501
  var Settings = class {
@@ -4501,7 +4503,7 @@ var require_settings$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
4501
4503
  this._options = _options;
4502
4504
  this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, false);
4503
4505
  this.fs = fs.createFileSystemAdapter(this._options.fs);
4504
- this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path$4.sep);
4506
+ this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path$5.sep);
4505
4507
  this.stats = this._getValue(this._options.stats, false);
4506
4508
  this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true);
4507
4509
  this.fsStatSettings = new fsStat.Settings({
@@ -5095,7 +5097,7 @@ var require_sync$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
5095
5097
  //#region node_modules/@nodelib/fs.walk/out/settings.js
5096
5098
  var require_settings$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
5097
5099
  Object.defineProperty(exports, "__esModule", { value: true });
5098
- const path$3 = __require("path");
5100
+ const path$4 = __require("path");
5099
5101
  const fsScandir = require_out$2();
5100
5102
  var Settings = class {
5101
5103
  constructor(_options = {}) {
@@ -5105,7 +5107,7 @@ var require_settings$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
5105
5107
  this.deepFilter = this._getValue(this._options.deepFilter, null);
5106
5108
  this.entryFilter = this._getValue(this._options.entryFilter, null);
5107
5109
  this.errorFilter = this._getValue(this._options.errorFilter, null);
5108
- this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path$3.sep);
5110
+ this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path$4.sep);
5109
5111
  this.fsScandirSettings = new fsScandir.Settings({
5110
5112
  followSymbolicLinks: this._options.followSymbolicLinks,
5111
5113
  fs: this._options.fs,
@@ -5157,7 +5159,7 @@ var require_out$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
5157
5159
  //#region node_modules/fast-glob/out/readers/reader.js
5158
5160
  var require_reader = /* @__PURE__ */ __commonJSMin(((exports) => {
5159
5161
  Object.defineProperty(exports, "__esModule", { value: true });
5160
- const path$2 = __require("path");
5162
+ const path$3 = __require("path");
5161
5163
  const fsStat = require_out$3();
5162
5164
  const utils = require_utils$1();
5163
5165
  var Reader = class {
@@ -5170,7 +5172,7 @@ var require_reader = /* @__PURE__ */ __commonJSMin(((exports) => {
5170
5172
  });
5171
5173
  }
5172
5174
  _getFullEntryPath(filepath) {
5173
- return path$2.resolve(this._settings.cwd, filepath);
5175
+ return path$3.resolve(this._settings.cwd, filepath);
5174
5176
  }
5175
5177
  _makeEntry(stats, pattern) {
5176
5178
  const entry = {
@@ -5505,7 +5507,7 @@ var require_entry = /* @__PURE__ */ __commonJSMin(((exports) => {
5505
5507
  //#region node_modules/fast-glob/out/providers/provider.js
5506
5508
  var require_provider = /* @__PURE__ */ __commonJSMin(((exports) => {
5507
5509
  Object.defineProperty(exports, "__esModule", { value: true });
5508
- const path$1 = __require("path");
5510
+ const path$2 = __require("path");
5509
5511
  const deep_1 = require_deep();
5510
5512
  const entry_1 = require_entry$1();
5511
5513
  const error_1 = require_error();
@@ -5519,7 +5521,7 @@ var require_provider = /* @__PURE__ */ __commonJSMin(((exports) => {
5519
5521
  this.entryTransformer = new entry_2.default(this._settings);
5520
5522
  }
5521
5523
  _getRootDirectory(task) {
5522
- return path$1.resolve(this._settings.cwd, task.base);
5524
+ return path$2.resolve(this._settings.cwd, task.base);
5523
5525
  }
5524
5526
  _getReaderOptions(task) {
5525
5527
  const basePath = task.base === "." ? "" : task.base;
@@ -5850,7 +5852,7 @@ var import_out = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((export
5850
5852
  * Async iterable filename pattern matcher
5851
5853
  */
5852
5854
  async function* glob(dir, pattern, options = {}) {
5853
- const absoluteDir = Path.resolve(dir);
5855
+ const absoluteDir = path.resolve(dir);
5854
5856
  const stats = await fsp.stat(absoluteDir);
5855
5857
  for await (const entry of import_out.default.stream(pattern, {
5856
5858
  ...options,
@@ -6020,7 +6022,7 @@ var NextToLast = class {
6020
6022
  };
6021
6023
  }
6022
6024
  decode(str) {
6023
- let fileName = Path.basename(str);
6025
+ let fileName = path.basename(str);
6024
6026
  if (fileName.endsWith(this.extension)) fileName = fileName.substring(0, fileName.length - this.extension.length);
6025
6027
  return CID.decode(this.base.decoder.decode(fileName));
6026
6028
  }
@@ -6046,7 +6048,7 @@ var NextToLast = class {
6046
6048
  async function writeFile$1(file, contents, options) {
6047
6049
  try {
6048
6050
  options?.signal?.throwIfAborted();
6049
- await raceSignal(fsp.mkdir(Path.dirname(file), { recursive: true }), options?.signal);
6051
+ await raceSignal(fsp.mkdir(path.dirname(file), { recursive: true }), options?.signal);
6050
6052
  const writer = new Writer(file);
6051
6053
  options?.signal?.throwIfAborted();
6052
6054
  await writer.write(contents);
@@ -6071,7 +6073,7 @@ var FsBlockstore = class {
6071
6073
  deleteManyConcurrency;
6072
6074
  shardingStrategy;
6073
6075
  constructor(location, init = {}) {
6074
- this.path = Path.resolve(location);
6076
+ this.path = path.resolve(location);
6075
6077
  this.createIfMissing = init.createIfMissing ?? true;
6076
6078
  this.errorIfExists = init.errorIfExists ?? false;
6077
6079
  this.deleteManyConcurrency = init.deleteManyConcurrency ?? 50;
@@ -6097,7 +6099,7 @@ var FsBlockstore = class {
6097
6099
  async put(key, val, options) {
6098
6100
  const { dir, file } = this.shardingStrategy.encode(key);
6099
6101
  try {
6100
- await writeFile$1(Path.join(this.path, dir, file), val, options);
6102
+ await writeFile$1(path.join(this.path, dir, file), val, options);
6101
6103
  return key;
6102
6104
  } catch (err) {
6103
6105
  throw new PutFailedError(String(err));
@@ -6116,7 +6118,7 @@ var FsBlockstore = class {
6116
6118
  let handle;
6117
6119
  try {
6118
6120
  options?.signal?.throwIfAborted();
6119
- handle = await raceSignal(fsp.open(Path.join(this.path, dir, file)), options?.signal);
6121
+ handle = await raceSignal(fsp.open(path.join(this.path, dir, file)), options?.signal);
6120
6122
  yield* handle.createReadStream();
6121
6123
  } catch (err) {
6122
6124
  if (handle != null) await raceSignal(handle.close(), options?.signal);
@@ -6137,7 +6139,7 @@ var FsBlockstore = class {
6137
6139
  const { dir, file } = this.shardingStrategy.encode(key);
6138
6140
  try {
6139
6141
  options?.signal?.throwIfAborted();
6140
- await raceSignal(fsp.unlink(Path.join(this.path, dir, file)), options?.signal);
6142
+ await raceSignal(fsp.unlink(path.join(this.path, dir, file)), options?.signal);
6141
6143
  } catch (err) {
6142
6144
  if (err.code === "ENOENT") return;
6143
6145
  throw new DeleteFailedError(String(err));
@@ -6155,14 +6157,14 @@ var FsBlockstore = class {
6155
6157
  const { dir, file } = this.shardingStrategy.encode(key);
6156
6158
  try {
6157
6159
  options?.signal?.throwIfAborted();
6158
- await raceSignal(fsp.access(Path.join(this.path, dir, file)), options?.signal);
6160
+ await raceSignal(fsp.access(path.join(this.path, dir, file)), options?.signal);
6159
6161
  } catch (err) {
6160
6162
  return false;
6161
6163
  }
6162
6164
  return true;
6163
6165
  }
6164
6166
  async *getAll(options) {
6165
- const pattern = `**/*${this.shardingStrategy.extension}`.split(Path.sep).join("/");
6167
+ const pattern = `**/*${this.shardingStrategy.extension}`.split(path.sep).join("/");
6166
6168
  const files = glob(this.path, pattern, { absolute: true });
6167
6169
  for await (const file of files) try {
6168
6170
  options?.signal?.throwIfAborted();
@@ -6214,7 +6216,7 @@ async function createBlockstoreForLibp2pJsClient({ dataPath, key }) {
6214
6216
  defaultMaxBytes: DEFAULT_IN_MEMORY_BLOCKSTORE_MAX_BYTES,
6215
6217
  close: async () => {}
6216
6218
  };
6217
- const store = new FsBlockstore(path.join(dataPath, "blockstore", key));
6219
+ const store = new FsBlockstore(path$1.join(dataPath, "blockstore", key));
6218
6220
  await store.open();
6219
6221
  return {
6220
6222
  blockstore: store,
@@ -6654,9 +6656,31 @@ async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
6654
6656
  });
6655
6657
  const ipnsRecordArrivalListeners = /* @__PURE__ */ new Map();
6656
6658
  const originalLocalStorePut = ipnsPubsubLocalStore.put.bind(ipnsPubsubLocalStore);
6659
+ const originalLocalStoreHas = ipnsPubsubLocalStore.has.bind(ipnsPubsubLocalStore);
6660
+ const originalLocalStoreGet = ipnsPubsubLocalStore.get.bind(ipnsPubsubLocalStore);
6661
+ const localStoreWriteTailByTopic = /* @__PURE__ */ new Map();
6657
6662
  ipnsPubsubLocalStore.put = async (routingKey, marshalledRecord, options) => {
6658
- await originalLocalStorePut(routingKey, marshalledRecord, options);
6659
6663
  const pubsubTopic = binaryKeyToPubsubTopic(routingKey);
6664
+ const previousWrite = localStoreWriteTailByTopic.get(pubsubTopic) ?? Promise.resolve();
6665
+ let releaseWrite;
6666
+ const thisWriteDone = new Promise((resolve) => releaseWrite = resolve);
6667
+ const thisWrite = previousWrite.then(() => thisWriteDone);
6668
+ localStoreWriteTailByTopic.set(pubsubTopic, thisWrite);
6669
+ let wroteNewerRecord = false;
6670
+ try {
6671
+ await previousWrite;
6672
+ if (await originalLocalStoreHas(routingKey, options)) {
6673
+ const { record: heldRecord } = await originalLocalStoreGet(routingKey, options);
6674
+ if (equals(heldRecord, marshalledRecord)) return;
6675
+ if (ipnsSelector(routingKey, [heldRecord, marshalledRecord]) === 0) return;
6676
+ }
6677
+ await originalLocalStorePut(routingKey, marshalledRecord, options);
6678
+ wroteNewerRecord = true;
6679
+ } finally {
6680
+ releaseWrite();
6681
+ if (localStoreWriteTailByTopic.get(pubsubTopic) === thisWrite) localStoreWriteTailByTopic.delete(pubsubTopic);
6682
+ }
6683
+ if (!wroteNewerRecord) return;
6660
6684
  let record;
6661
6685
  try {
6662
6686
  record = unmarshalIPNSRecord(marshalledRecord);
@@ -6745,7 +6769,7 @@ async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
6745
6769
  options,
6746
6770
  log: logger_default("pkc-js:helia:ipns:direct-fetch")
6747
6771
  });
6748
- if (direct) {
6772
+ if (direct.recordBytes) {
6749
6773
  directFetchOutcome = {
6750
6774
  attempted: true,
6751
6775
  hit: true,
@@ -6771,7 +6795,9 @@ async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
6771
6795
  directFetchOutcome = {
6772
6796
  attempted: true,
6773
6797
  hit: false,
6774
- durationMs: Date.now() - directStart
6798
+ durationMs: Date.now() - directStart,
6799
+ providers: direct.providers,
6800
+ subscribersTried: direct.subscribersTried
6775
6801
  };
6776
6802
  } catch (directErr) {
6777
6803
  if (options?.signal?.aborted) throw directErr;
@@ -6817,18 +6843,35 @@ async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
6817
6843
  } catch (err) {
6818
6844
  routerErrors.push(err);
6819
6845
  }
6820
- if (!recordBytes) throw new PKCError("ERR_RESOLVED_IPNS_P2P_TO_UNDEFINED", {
6821
- ipnsName,
6822
- currentName,
6823
- ipnsPubsubTopic,
6824
- ipnsResolveOptions: options,
6825
- directFetchOutcome,
6826
- warmupOutcome,
6827
- routerErrors,
6828
- subscribersAtResolveTime: helia.libp2p.services.pubsub.getSubscribers(ipnsPubsubTopic).length,
6829
- httpRouters: pkcOptions.httpRoutersOptions,
6830
- ...getHeliaDebugContext(helia)
6831
- });
6846
+ if (!recordBytes) {
6847
+ const subscribersAtResolveTime = helia.libp2p.services.pubsub.getSubscribers(ipnsPubsubTopic).length;
6848
+ const providers = directFetchOutcome.attempted && !directFetchOutcome.hit ? directFetchOutcome.providers : void 0;
6849
+ const failureDetails = {
6850
+ ipnsName,
6851
+ currentName,
6852
+ ipnsPubsubTopic,
6853
+ ipnsResolveOptions: options,
6854
+ providersFound: providers?.length,
6855
+ directFetchOutcome,
6856
+ warmupOutcome,
6857
+ routerErrors,
6858
+ subscribersAtResolveTime,
6859
+ httpRouters: pkcOptions.httpRoutersOptions,
6860
+ ...getHeliaDebugContext(helia)
6861
+ };
6862
+ const unreachableReason = providers && subscribersAtResolveTime === 0 ? summarizeProviderReachability({
6863
+ providers,
6864
+ subscribersTried: directFetchOutcome.subscribersTried ?? 0
6865
+ }) : void 0;
6866
+ if (unreachableReason) throw new PKCError("ERR_COMMUNITY_UNREACHABLE_FROM_THIS_CLIENT", {
6867
+ reason: unreachableReason,
6868
+ providerPeerIds: providers.map((provider) => provider.peerId),
6869
+ providers,
6870
+ docsUrl: REACHABILITY_DOCS_URL,
6871
+ ...failureDetails
6872
+ });
6873
+ throw new PKCError("ERR_RESOLVED_IPNS_P2P_TO_UNDEFINED", failureDetails);
6874
+ }
6832
6875
  await ipnsValidator(routingKey, recordBytes);
6833
6876
  const record = unmarshalIPNSRecord(recordBytes);
6834
6877
  ipnsRecordNetworkValidatedAtMs.set(ipnsPubsubTopic, Date.now());
@@ -1,2 +1,2 @@
1
- import { n as createNewLocalCommunityDb, r as updateInstancePropsWithStartedCommunityOrDb, t as LocalCommunity } from "./local-community-DhiNmK3L.js";
1
+ import { n as createNewLocalCommunityDb, r as updateInstancePropsWithStartedCommunityOrDb, t as LocalCommunity } from "./local-community-Dm02mfn3.js";
2
2
  export { LocalCommunity, createNewLocalCommunityDb, updateInstancePropsWithStartedCommunityOrDb };