@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,6 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import { AuthorAddressSchema, ChallengeAnswerStringSchema, CidStringSchema, CreateSignerSchema, FlairSchema, JsonSignatureSchema, PKCTimestampSchema, ProtocolVersionSchema, SignerWithAddressPublicKeySchema, CommunityAddressSchema, isIpnsName, nonNegativeIntStringSchema } from "../schema/schema.js";
3
- import { ModQueuePagesIpfsSchema, PostsPagesIpfsSchema } from "../pages/schema.js";
3
+ import { ModQueuePagesIpfsSchema, PostsPagesIpfsSchema, SortNameStringSchema } from "../pages/schema.js";
4
4
  import { difference, isEmpty, keys, omit } from "remeda";
5
5
  import { messages } from "../errors.js";
6
6
  import { isStringDomain } from "../domain-util.js";
@@ -216,6 +216,87 @@ export const ChallengeFileFactoryArgsSchema = z.object({
216
216
  challengeSettings: CommunityChallengeSettingSchema
217
217
  });
218
218
  export const ChallengeFileFactorySchema = z.function({ input: [ChallengeFileFactoryArgsSchema], output: ChallengeFileSchema });
219
+ // Local community page sorts here (settings.pages, issue #73)
220
+ // One entry of settings.pages.posts / settings.pages.replies. Mirrors CommunityChallengeSettingSchema: the file
221
+ // (by registry name or path) supplies the wire key (its sortName); options are strings only, like challenge
222
+ // options, so a config UI can reuse the same renderer and lists are comma-separated by package convention.
223
+ export const CommunityPageSortSettingSchema = z
224
+ .object({
225
+ path: z.string().optional(), // (only if name is undefined) the path to the page sort js file
226
+ name: z.string().optional(), // (only if path is undefined) the key in PKC.pageSorts (built-ins plus installed packages)
227
+ options: z.record(z.string(), z.string()).optional(), // passed to the file unstripped; maxAge, pinnedFirst and exclude* are reserved keys pkc-js also reads
228
+ preloaded: z.boolean().optional(), // embed this sort's first page in the record (community.posts.pages / commentUpdate.replies.pages). Default false
229
+ privateOptions: z.string().array().optional() // option names withheld from community.pageSorts; everything else set in `options` is published
230
+ })
231
+ .strict()
232
+ .refine((pageSortSetting) => pageSortSetting.path || pageSortSetting.name, "Path or name of page sort has to be defined");
233
+ export const CommunityPagesSettingsSchema = z
234
+ .object({
235
+ posts: CommunityPageSortSettingSchema.array().optional(), // unset = today's nine post sorts with hot preloaded; [] = no posts feed
236
+ replies: CommunityPageSortSettingSchema.array().optional() // unset = today's five reply sorts with best preloaded; [] = no reply pages
237
+ })
238
+ .strict();
239
+ export const PageSortFileFactoryArgsSchema = z.object({
240
+ pageSortSettings: CommunityPageSortSettingSchema
241
+ });
242
+ export const PageSortScopeSchema = z.enum(["posts", "replies"]);
243
+ export const PageSortFileSchema = z.looseObject({
244
+ // the result of the function exported by the page sort file
245
+ sortName: SortNameStringSchema, // the key under posts.pages / posts.pageCids (or replies.*); public API of the package
246
+ description: z.string().optional(), // describe what the sort does, published in community.pageSorts
247
+ optionInputs: ChallengeOptionInputSchema.array().optional(), // same shape as challenges: string options only
248
+ scope: PageSortScopeSchema.optional(), // undefined = usable under both posts and replies
249
+ flat: z.boolean().optional(), // reply sorts only: sort the flattened descendant subtree instead of the direct replies
250
+ defaultOptions: z.record(z.string(), z.string()).optional(), // merged under settings.pages[].options (the entry wins); how topWeek fixes its own maxAge
251
+ // The scorer (docs/protocol/page-sorts.md, "Writing a page sort file"). Per comment, sync, from what the page entry
252
+ // carries: the comment and its CommentUpdate with the nested `replies` stripped, so a file never mistakes the
253
+ // preloaded slice for the reply set. Higher scores sort first; equal scores keep the community's order; `null`
254
+ // declines the comment from this sort's pages (pinned or not), touching nothing else. The same function runs on
255
+ // the community and on a client re-sorting a page, so a client reproduces the community's order.
256
+ //
257
+ // `requireReplies`: the file also receives `replies`, every descendant of the scored comment that survives the
258
+ // sort's exclusion options, as one flat list of page entries (parentCid and depth are on each comment for a file
259
+ // that wants the tree). The community builds it from the database; a client re-sorting a page passes what it
260
+ // walked from the reply pages. A file without the flag never sees `replies` and costs nothing beyond the entry
261
+ // itself.
262
+ requireReplies: z.boolean().optional(),
263
+ score: z.function({
264
+ input: [
265
+ z.object({
266
+ comment: z.custom(),
267
+ commentUpdate: z.custom(), // `replies` stripped at runtime
268
+ options: z.record(z.string(), z.string()),
269
+ baseTimestamp: z.number(),
270
+ replies: z.custom().array().optional()
271
+ })
272
+ ],
273
+ output: z.number().nullable()
274
+ }),
275
+ // Sync semantic validation of the entry, same contract as ChallengeFile.validateChallengeSettings
276
+ validatePageSortSettings: z
277
+ .function({ input: [z.object({ pageSortSettings: CommunityPageSortSettingSchema })], output: z.void() })
278
+ .optional()
279
+ });
280
+ export const PageSortFileFactorySchema = z.function({ input: [PageSortFileFactoryArgsSchema], output: PageSortFileSchema });
281
+ // What a community publishes about each configured sort (community.pageSorts), keyed by sortName. Mirrors
282
+ // community.challenges[i]: enough for a client to tell the built-in `active` from a package that reuses the
283
+ // name, and to re-sort locally with the same package when the board fits in one chunk (docs/protocol/page-sorts.md,
284
+ // "Client side").
285
+ export const CommunityPageSortSchema = z.looseObject({
286
+ name: z.string().optional(), // the PKC.pageSorts key for name: entries; omitted for path: entries
287
+ description: PageSortFileSchema.shape.description,
288
+ // Every option the sort runs with, minus the names listed in privateOptions: the scope's reserved defaults,
289
+ // then the file's defaultOptions, then the entry's options. The reserved options (maxAge, pinnedFirst, exclude*)
290
+ // are always here, so a client knows exactly how the page's comment set was filtered without knowing pkc-js's
291
+ // defaults. Omitted only when nothing is left.
292
+ publicOptions: z.record(z.string(), z.string()).optional()
293
+ });
294
+ export const CommunityPageSortsSchema = z
295
+ .object({
296
+ posts: z.record(SortNameStringSchema, CommunityPageSortSchema).optional(),
297
+ replies: z.record(SortNameStringSchema, CommunityPageSortSchema).optional()
298
+ })
299
+ .strict();
219
300
  // Community actual schemas here
220
301
  // The anchor (An) of a delegated community: the identity keypair whose private half (As) never
221
302
  // reaches the node running the community. publicKey here is the B58 IPNS name, the same
@@ -234,7 +315,7 @@ export const CommunityIpfsSchema = z
234
315
  challenges: CommunityChallengeSchema.array(),
235
316
  signature: JsonSignatureSchema,
236
317
  encryption: CommunityEncryptionSchema,
237
- name: z.string().min(1).optional(), // domain name of the community (e.g. "memes.eth"); address is now instance-only
318
+ name: z.string().min(1).optional(), // domain name of the community (e.g. "memes.bso"); address is now instance-only
238
319
  // The community's signed anchor claim (#257): present exactly when the community is delegated.
239
320
  // The record is signed by the minter, but the identity readers address is the anchor — this
240
321
  // field is what lets a reader who reached the record through the minter (or any non-anchor
@@ -255,7 +336,9 @@ export const CommunityIpfsSchema = z
255
336
  lastCommentCid: CidStringSchema.optional(),
256
337
  features: CommunityFeaturesSchema.optional(),
257
338
  suggested: CommunitySuggestedSchema.optional(),
258
- flairs: z.record(z.string(), FlairSchema.array()).optional()
339
+ flairs: z.record(z.string(), FlairSchema.array()).optional(),
340
+ // Present exactly when settings.pages is set (issue #73). Older clients parse records loosely and ignore it.
341
+ pageSorts: CommunityPageSortsSchema.optional()
259
342
  })
260
343
  .strict();
261
344
  export const CommunitySignedPropertyNames = keys(omit(CommunityIpfsSchema.shape, ["signature"]));
@@ -294,7 +377,10 @@ export const CommunitySettingsSchema = z
294
377
  purgeDisapprovedCommentsOlderThan: z.number().int().nonnegative().optional(),
295
378
  // Read-only community: don't run the challenge/publication pubsub topic and omit pubsubTopic
296
379
  // from the published record, so readers know not to attempt a challenge exchange (issue #229)
297
- disablePubsubChallengeExchange: z.boolean().optional()
380
+ disablePubsubChallengeExchange: z.boolean().optional(),
381
+ // Which page sorts to generate and which to embed (issue #73). Unset generates exactly what an
382
+ // unconfigured community generates today. See docs/protocol/page-sorts.md.
383
+ pages: CommunityPagesSettingsSchema.optional()
298
384
  })
299
385
  .strict();
300
386
  const CommunityRoleToEditSchema = CommunityRoleSchema.or(z.undefined()); // when we pass undefined we're removing the role
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/community/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/community/schema.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import { FlairSchema } from "../schema/schema.js";
3
- import { ChallengeExcludeSchema, ChallengeFileFactoryArgsSchema, ChallengeFileFactorySchema, ChallengeFileSchema, ChallengeFromGetChallengeSchema, ChallengeResultSchema, CommunityAnchorSchema, CreateNewLocalCommunityParsedOptionsSchema, CreateNewLocalCommunityUserOptionsSchema, CreateRemoteCommunityOptionsSchema, GetChallengeArgsSchema, CommunityChallengeSchema, CommunityChallengeSettingSchema, CommunityEditOptionsSchema, CommunityEncryptionSchema, CommunityFeaturesSchema, CommunityIpfsSchema, CommunityRoleSchema, CommunitySettingsSchema, CommunitySuggestedSchema, RpcRemoteCommunityUpdateEventResultSchema, CommunitySignedPropertyNames, CommunityRoleNames, ExportCommunityUserOptionsSchema, ExportCommunityModLogsOptionsSchema, CommunityExportRecordSchema } from "./schema.js";
3
+ import { ChallengeExcludeSchema, ChallengeFileFactoryArgsSchema, ChallengeFileFactorySchema, CommunityPageSortSettingSchema, CommunityPagesSettingsSchema, CommunityPageSortSchema, CommunityPageSortsSchema, PageSortFileSchema, PageSortFileFactorySchema, PageSortFileFactoryArgsSchema, PageSortScopeSchema, ChallengeFileSchema, ChallengeFromGetChallengeSchema, ChallengeResultSchema, CommunityAnchorSchema, CreateNewLocalCommunityParsedOptionsSchema, CreateNewLocalCommunityUserOptionsSchema, CreateRemoteCommunityOptionsSchema, GetChallengeArgsSchema, CommunityChallengeSchema, CommunityChallengeSettingSchema, CommunityEditOptionsSchema, CommunityEncryptionSchema, CommunityFeaturesSchema, CommunityIpfsSchema, CommunityRoleSchema, CommunitySettingsSchema, CommunitySuggestedSchema, RpcRemoteCommunityUpdateEventResultSchema, CommunitySignedPropertyNames, CommunityRoleNames, ExportCommunityUserOptionsSchema, ExportCommunityModLogsOptionsSchema, CommunityExportRecordSchema } from "./schema.js";
4
4
  import { RpcLocalCommunity } from "./rpc-local-community.js";
5
5
  import { LocalCommunity } from "../runtime/browser/community/local-community.js";
6
6
  import { RemoteCommunity } from "./remote-community.js";
@@ -76,6 +76,16 @@ export type ChallengeFileFactoryArgsInput = z.input<typeof ChallengeFileFactoryA
76
76
  export type GetChallengeArgs = z.infer<typeof GetChallengeArgsSchema>;
77
77
  export type GetChallengeArgsInput = z.input<typeof GetChallengeArgsSchema>;
78
78
  export type CommunitySettings = z.infer<typeof CommunitySettingsSchema>;
79
+ export type CommunityPageSortSetting = z.infer<typeof CommunityPageSortSettingSchema>;
80
+ export type CommunityPagesSettings = z.infer<typeof CommunityPagesSettingsSchema>;
81
+ export type PageSortFile = z.infer<typeof PageSortFileSchema>;
82
+ export type PageSortFileInput = z.input<typeof PageSortFileSchema>;
83
+ export type PageSortFileFactory = z.infer<typeof PageSortFileFactorySchema>;
84
+ export type PageSortFileFactoryInput = z.input<typeof PageSortFileFactorySchema>;
85
+ export type PageSortFileFactoryArgs = z.infer<typeof PageSortFileFactoryArgsSchema>;
86
+ export type PageSortScope = z.infer<typeof PageSortScopeSchema>;
87
+ export type CommunityPageSort = z.infer<typeof CommunityPageSortSchema>;
88
+ export type CommunityPageSorts = z.infer<typeof CommunityPageSortsSchema>;
79
89
  export type RpcRemoteCommunityUpdateEventResultType = z.infer<typeof RpcRemoteCommunityUpdateEventResultSchema>;
80
90
  export type RemoteCommunityJson = JsonOfClass<RemoteCommunity>;
81
91
  export type RpcRemoteCommunityJson = JsonOfClass<RpcRemoteCommunity>;
@@ -88,6 +98,7 @@ export type CommunityUpdatingState = CommunityStartedState | "stopped" | "resolv
88
98
  export interface InternalCommunityRecordBeforeFirstUpdateType extends CreateNewLocalCommunityParsedOptions {
89
99
  settings: CommunitySettings;
90
100
  challenges: CommunityIpfsType["challenges"];
101
+ pageSorts?: CommunityIpfsType["pageSorts"];
91
102
  createdAt: CommunityIpfsType["createdAt"];
92
103
  protocolVersion: CommunityIpfsType["protocolVersion"];
93
104
  encryption: CommunityIpfsType["encryption"];
@@ -126,7 +137,7 @@ export interface RpcInternalCommunityRecordAfterFirstUpdateType {
126
137
  };
127
138
  }
128
139
  export type RpcLocalCommunityUpdateResultType = RpcInternalCommunityRecordBeforeFirstUpdateType | RpcInternalCommunityRecordAfterFirstUpdateType;
129
- export interface ParsedCommunityEditOptions extends Omit<CommunityEditOptions, "roles">, Pick<InternalCommunityRecordBeforeFirstUpdateType, "_usingDefaultChallenge" | "challenges" | "roles"> {
140
+ export interface ParsedCommunityEditOptions extends Omit<CommunityEditOptions, "roles">, Pick<InternalCommunityRecordBeforeFirstUpdateType, "_usingDefaultChallenge" | "challenges" | "roles" | "pageSorts"> {
130
141
  }
131
142
  export interface CommunityEvents {
132
143
  challengerequest: (request: DecryptedChallengeRequestMessageTypeWithCommunityAuthor) => void;
@@ -7,6 +7,7 @@ export declare enum STORAGE_KEYS {
7
7
  ANCHOR_IPNS_RECORD = 5,
8
8
  HIGHEST_ACCEPTED_ANCHOR_SEQUENCE = 6
9
9
  }
10
+ export declare const MAX_FILE_SIZE_BYTES_FOR_COMMENT_UPDATE: number;
10
11
  export declare const NAME_RESOLVED_FALSE_TTL_MS = 60000;
11
12
  export declare const NAME_RESOLVED_TRUE_TTL_MS = 3600000;
12
13
  export declare const NAME_RESOLVE_FAILED_RETRY_FLOOR_MS = 10000;
@@ -15,6 +15,12 @@ export var STORAGE_KEYS;
15
15
  STORAGE_KEYS[STORAGE_KEYS["HIGHEST_ACCEPTED_ANCHOR_SEQUENCE"] = 6] = "HIGHEST_ACCEPTED_ANCHOR_SEQUENCE";
16
16
  })(STORAGE_KEYS || (STORAGE_KEYS = {}));
17
17
  // Configs for LRU storage
18
+ // The largest CommentUpdate a client will accept off a gateway. It lives here rather than beside the
19
+ // comment clients manager that enforces it because the node runtime reads it too, and importing a clients
20
+ // manager for one number put a class-extends cycle on the eager import path: base-client-manager pulls in
21
+ // the node util, which pulled in the comment clients manager, which reaches PKCClientsManager extending
22
+ // BaseClientsManager before that module has finished evaluating.
23
+ export const MAX_FILE_SIZE_BYTES_FOR_COMMENT_UPDATE = 1024 * 1024;
18
24
  // How long a `nameResolved: false` verdict is trusted before it has to be earned again.
19
25
  //
20
26
  // `false` is an accusation ("this name is not that key") and nothing backs it: the persistent name cache
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,YAcX;AAdD,WAAY,YAAY;IACpB,2EAAkB,CAAA;IAClB,mGAA8B,CAAA;IAC9B,uEAAgB,CAAA;IAChB,yGAAiC,CAAA;IACjC,qDAAO,CAAA;IACP,iGAAiG;IACjG,iGAAiG;IACjG,2GAA2G;IAC3G,2EAAkB,CAAA;IAClB,kGAAkG;IAClG,mGAAmG;IACnG,8DAA8D;IAC9D,uGAAgC,CAAA;AACpC,CAAC,EAdW,YAAY,KAAZ,YAAY,QAcvB;AAED,0BAA0B;AAE1B,wFAAwF;AACxF,EAAE;AACF,yGAAyG;AACzG,yGAAyG;AACzG,6GAA6G;AAC7G,4GAA4G;AAC5G,4GAA4G;AAC5G,+BAA+B;AAC/B,EAAE;AACF,yGAAyG;AACzG,yGAAyG;AACzG,EAAE;AACF,yGAAyG;AACzG,4GAA4G;AAC5G,sFAAsF;AACtF,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC;AAEjD,mGAAmG;AACnG,yGAAyG;AACzG,uGAAuG;AACvG,yGAAyG;AACzG,qGAAqG;AACrG,MAAM,CAAC,MAAM,yBAAyB,GAAG,QAAQ,CAAC;AAElD,2GAA2G;AAC3G,oFAAoF;AACpF,EAAE;AACF,8GAA8G;AAC9G,6GAA6G;AAC7G,2GAA2G;AAC3G,0GAA0G;AAC1G,0GAA0G;AAC1G,8GAA8G;AAC9G,EAAE;AACF,0GAA0G;AAC1G,8FAA8F;AAC9F,MAAM,CAAC,MAAM,kCAAkC,GAAG,MAAM,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,YAcX;AAdD,WAAY,YAAY;IACpB,2EAAkB,CAAA;IAClB,mGAA8B,CAAA;IAC9B,uEAAgB,CAAA;IAChB,yGAAiC,CAAA;IACjC,qDAAO,CAAA;IACP,iGAAiG;IACjG,iGAAiG;IACjG,2GAA2G;IAC3G,2EAAkB,CAAA;IAClB,kGAAkG;IAClG,mGAAmG;IACnG,8DAA8D;IAC9D,uGAAgC,CAAA;AACpC,CAAC,EAdW,YAAY,KAAZ,YAAY,QAcvB;AAED,0BAA0B;AAE1B,qGAAqG;AACrG,0GAA0G;AAC1G,0GAA0G;AAC1G,wGAAwG;AACxG,iEAAiE;AACjE,MAAM,CAAC,MAAM,sCAAsC,GAAG,IAAI,GAAG,IAAI,CAAC;AAElE,wFAAwF;AACxF,EAAE;AACF,yGAAyG;AACzG,yGAAyG;AACzG,6GAA6G;AAC7G,4GAA4G;AAC5G,4GAA4G;AAC5G,+BAA+B;AAC/B,EAAE;AACF,yGAAyG;AACzG,yGAAyG;AACzG,EAAE;AACF,yGAAyG;AACzG,4GAA4G;AAC5G,sFAAsF;AACtF,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC;AAEjD,mGAAmG;AACnG,yGAAyG;AACzG,uGAAuG;AACvG,yGAAyG;AACzG,qGAAqG;AACrG,MAAM,CAAC,MAAM,yBAAyB,GAAG,QAAQ,CAAC;AAElD,2GAA2G;AAC3G,oFAAoF;AACpF,EAAE;AACF,8GAA8G;AAC9G,6GAA6G;AAC7G,2GAA2G;AAC3G,0GAA0G;AAC1G,0GAA0G;AAC1G,8GAA8G;AAC9G,EAAE;AACF,0GAA0G;AAC1G,8FAA8F;AAC9F,MAAM,CAAC,MAAM,kCAAkC,GAAG,MAAM,CAAC"}
@@ -86,6 +86,7 @@ export declare enum messages {
86
86
  ERR_INVALID_KUBO_STYLE_TIMEOUT = "The timeout option is not a number of milliseconds or a kubo-style duration string (e.g. \"30s\", \"2m\")",
87
87
  ERR_FETCH_CID_P2P_TIMEOUT_AFTER_RETRIES = "Fetching CID via Kubo-rpc-client/helia P2P has timed out after all retry attempts",
88
88
  ERR_RESOLVED_IPNS_P2P_TO_UNDEFINED = "Resolved IPNS name to undefined. Does this IPNS name exist?",
89
+ ERR_COMMUNITY_UNREACHABLE_FROM_THIS_CLIENT = "This client found the community's providers but cannot connect to any of them: none announced an address this client can dial directly, which usually means the host is behind NAT and no publicly reachable node is seeding the community. See https://github.com/pkcprotocol/pkc-js/blob/master/docs/reachability.md for the cause and the fixes",
89
90
  ERR_IPNS_RESOLUTION_P2P_TIMEOUT = "IPNS resolution P2P timed out",
90
91
  ERR_IPNS_MAX_HOPS_EXCEEDED = "IPNS record resolution followed more than the maximum allowed /ipns/ -> /ipns/ delegation hops",
91
92
  ERR_RESOLVED_IPNS_TO_UNSUPPORTED_VALUE = "Resolved IPNS record to a value that is neither an /ipfs/ path nor an /ipns/ path",
@@ -406,5 +407,19 @@ export declare enum messages {
406
407
  ERR_CHALLENGE_REQUIRED_OPTION_MISSING = "settings.challenges[i].options is missing an option whose optionInputs entry is required",
407
408
  ERR_CHALLENGE_PUBLIC_OPTION_NOT_DECLARED_IN_OPTION_INPUTS = "settings.challenges[i].publicOptions names an option that no optionInputs entry of the challenge declares",
408
409
  ERR_CHALLENGE_SETTINGS_VALIDATION_FAILED = "The challenge's validateChallengeSettings hook rejected settings.challenges[i]",
409
- ERR_CHALLENGE_SETTINGS_VALIDATION_FAILED_FOR_CHALLENGES = "One or more challenges in settings.challenges failed validation"
410
+ ERR_CHALLENGE_SETTINGS_VALIDATION_FAILED_FOR_CHALLENGES = "One or more challenges in settings.challenges failed validation",
411
+ ERR_FAILED_TO_IMPORT_PAGE_SORT_FILE_FACTORY = "Failed to import page sort file factory",
412
+ ERR_PAGE_SORT_FILE_INVALID = "The page sort file did not return a valid PageSortFile",
413
+ ERR_PAGE_SORT_DUPLICATE_SORT_NAME = "Two entries of settings.pages resolve to the same sortName",
414
+ ERR_PAGE_SORT_SCOPE_MISMATCH = "A page sort declared for one scope was configured under the other (a reply-only sort under posts, or a post-only sort under replies)",
415
+ ERR_PAGE_SORT_OPTION_NOT_DECLARED_IN_OPTION_INPUTS = "settings.pages[].options has a key that neither the reserved options nor any optionInputs entry of the page sort declares, so it is never read",
416
+ ERR_PAGE_SORT_REQUIRED_OPTION_MISSING = "settings.pages[].options is missing an option whose optionInputs entry is required",
417
+ ERR_PAGE_SORT_INVALID_RESERVED_OPTION = "A reserved page sort option (maxAge, pinnedFirst, exclude*) has a value pkc-js cannot parse",
418
+ ERR_PAGE_SORT_PRIVATE_OPTION_NOT_SET = "settings.pages[].privateOptions names an option that is not set in options",
419
+ ERR_PAGE_SORT_RESERVED_OPTION_CANNOT_BE_PRIVATE = "settings.pages[].privateOptions names a reserved option (maxAge, pinnedFirst, exclude*); reserved options describe what the page contains and are always published",
420
+ ERR_PAGE_SORT_SETTINGS_VALIDATION_FAILED = "The page sort's validatePageSortSettings hook rejected settings.pages[]",
421
+ ERR_PAGE_SORT_SETTINGS_VALIDATION_FAILED_FOR_PAGE_SORTS = "One or more entries of settings.pages failed validation",
422
+ ERR_PAGE_SORT_FAILED_TO_GENERATE = "A configured page sort threw while generating its pages; it was skipped for this cycle and the remaining sorts were published",
423
+ ERR_ALL_PAGE_SORTS_FAILED_TO_GENERATE = "Every configured page sort of a scope threw while generating its pages, so the cycle was aborted and the last published record stays up until a sort succeeds",
424
+ ERR_RPC_CLIENT_PAGE_SORT_NAME_NOT_AVAILABLE_ON_SERVER = "settings.pages names a page sort that is not registered on the RPC server"
410
425
  }
@@ -89,6 +89,7 @@ export var messages;
89
89
  messages["ERR_INVALID_KUBO_STYLE_TIMEOUT"] = "The timeout option is not a number of milliseconds or a kubo-style duration string (e.g. \"30s\", \"2m\")";
90
90
  messages["ERR_FETCH_CID_P2P_TIMEOUT_AFTER_RETRIES"] = "Fetching CID via Kubo-rpc-client/helia P2P has timed out after all retry attempts";
91
91
  messages["ERR_RESOLVED_IPNS_P2P_TO_UNDEFINED"] = "Resolved IPNS name to undefined. Does this IPNS name exist?";
92
+ messages["ERR_COMMUNITY_UNREACHABLE_FROM_THIS_CLIENT"] = "This client found the community's providers but cannot connect to any of them: none announced an address this client can dial directly, which usually means the host is behind NAT and no publicly reachable node is seeding the community. See https://github.com/pkcprotocol/pkc-js/blob/master/docs/reachability.md for the cause and the fixes";
92
93
  messages["ERR_IPNS_RESOLUTION_P2P_TIMEOUT"] = "IPNS resolution P2P timed out";
93
94
  messages["ERR_IPNS_MAX_HOPS_EXCEEDED"] = "IPNS record resolution followed more than the maximum allowed /ipns/ -> /ipns/ delegation hops";
94
95
  messages["ERR_RESOLVED_IPNS_TO_UNSUPPORTED_VALUE"] = "Resolved IPNS record to a value that is neither an /ipfs/ path nor an /ipns/ path";
@@ -427,5 +428,20 @@ export var messages;
427
428
  messages["ERR_CHALLENGE_PUBLIC_OPTION_NOT_DECLARED_IN_OPTION_INPUTS"] = "settings.challenges[i].publicOptions names an option that no optionInputs entry of the challenge declares";
428
429
  messages["ERR_CHALLENGE_SETTINGS_VALIDATION_FAILED"] = "The challenge's validateChallengeSettings hook rejected settings.challenges[i]";
429
430
  messages["ERR_CHALLENGE_SETTINGS_VALIDATION_FAILED_FOR_CHALLENGES"] = "One or more challenges in settings.challenges failed validation";
431
+ // Configurable page sorts (settings.pages, issue #73). See docs/protocol/page-sorts.md.
432
+ messages["ERR_FAILED_TO_IMPORT_PAGE_SORT_FILE_FACTORY"] = "Failed to import page sort file factory";
433
+ messages["ERR_PAGE_SORT_FILE_INVALID"] = "The page sort file did not return a valid PageSortFile";
434
+ messages["ERR_PAGE_SORT_DUPLICATE_SORT_NAME"] = "Two entries of settings.pages resolve to the same sortName";
435
+ messages["ERR_PAGE_SORT_SCOPE_MISMATCH"] = "A page sort declared for one scope was configured under the other (a reply-only sort under posts, or a post-only sort under replies)";
436
+ messages["ERR_PAGE_SORT_OPTION_NOT_DECLARED_IN_OPTION_INPUTS"] = "settings.pages[].options has a key that neither the reserved options nor any optionInputs entry of the page sort declares, so it is never read";
437
+ messages["ERR_PAGE_SORT_REQUIRED_OPTION_MISSING"] = "settings.pages[].options is missing an option whose optionInputs entry is required";
438
+ messages["ERR_PAGE_SORT_INVALID_RESERVED_OPTION"] = "A reserved page sort option (maxAge, pinnedFirst, exclude*) has a value pkc-js cannot parse";
439
+ messages["ERR_PAGE_SORT_PRIVATE_OPTION_NOT_SET"] = "settings.pages[].privateOptions names an option that is not set in options";
440
+ messages["ERR_PAGE_SORT_RESERVED_OPTION_CANNOT_BE_PRIVATE"] = "settings.pages[].privateOptions names a reserved option (maxAge, pinnedFirst, exclude*); reserved options describe what the page contains and are always published";
441
+ messages["ERR_PAGE_SORT_SETTINGS_VALIDATION_FAILED"] = "The page sort's validatePageSortSettings hook rejected settings.pages[]";
442
+ messages["ERR_PAGE_SORT_SETTINGS_VALIDATION_FAILED_FOR_PAGE_SORTS"] = "One or more entries of settings.pages failed validation";
443
+ messages["ERR_PAGE_SORT_FAILED_TO_GENERATE"] = "A configured page sort threw while generating its pages; it was skipped for this cycle and the remaining sorts were published";
444
+ messages["ERR_ALL_PAGE_SORTS_FAILED_TO_GENERATE"] = "Every configured page sort of a scope threw while generating its pages, so the cycle was aborted and the last published record stays up until a sort succeeds";
445
+ messages["ERR_RPC_CLIENT_PAGE_SORT_NAME_NOT_AVAILABLE_ON_SERVER"] = "settings.pages names a page sort that is not registered on the RPC server";
430
446
  })(messages || (messages = {}));
431
447
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,QA0bX;AA1bD,WAAY,QAAQ;IAChB,gFAAoE,CAAA;IACpE,yHAA6G,CAAA;IAC7G,6EAAiE,CAAA;IACjE,4FAAgF,CAAA;IAChF,iMAAqL,CAAA;IACrL,4HAAgH,CAAA;IAChH,8HAAkH,CAAA;IAClH,iDAAqC,CAAA;IACrC,0GAA8F,CAAA;IAC9F,2KAA+J,CAAA;IAC/J,oGAAwF,CAAA;IACxF,8DAAkD,CAAA;IAClD,6EAAiE,CAAA;IACjE,iFAAqE,CAAA;IACrE,8HAAkH,CAAA;IAClH,8HAAkH,CAAA;IAClH,sHAA0G,CAAA;IAC1G,0JAA8I,CAAA;IAC9I,mJAAuI,CAAA;IACvI,kHAAsG,CAAA;IACtG,iFAAqE,CAAA;IACrE,gGAAoF,CAAA;IACpF,wHAA4G,CAAA;IAC5G,4FAAgF,CAAA;IAChF,gHAAoG,CAAA;IACpG,kHAAsG,CAAA;IACtG,uHAA2G,CAAA;IAC3G,sEAA0D,CAAA;IAC1D,yFAA6E,CAAA;IAC7E,aAAa;IACb,+GAAmG,CAAA;IACnG,uGAA2F,CAAA;IAC3F,4HAAgH,CAAA;IAChH,qFAAyE,CAAA;IACzE,uFAA2E,CAAA;IAC3E,uFAA2E,CAAA;IAC3E,6EAAiE,CAAA;IACjE,mHAAuG,CAAA;IACvG,oNAAwM,CAAA;IACxM,0PAA8O,CAAA;IAC9O,oMAAwL,CAAA;IACxL,6JAAiJ,CAAA;IACjJ,mNAAuM,CAAA;IACvM,oIAAwH,CAAA;IACxH,oJAAwI,CAAA;IACxI,+KAAmK,CAAA;IACnK,qOAAyN,CAAA;IACzN,wJAA4I,CAAA;IAC5I,oNAAwM,CAAA;IACxM,sOAA0N,CAAA;IAC1N,8PAAkP,CAAA;IAClP,wMAA4L,CAAA;IAC5L,8OAAkO,CAAA;IAClO,wFAA4E,CAAA;IAC5E,4FAAgF,CAAA;IAChF,eAAe;IACf,0FAA8E,CAAA;IAC9E,kGAAsF,CAAA;IACtF,yFAA6E,CAAA;IAC7E,kFAAsE,CAAA;IACtE,iHAAqG,CAAA;IACrG,2HAA+G,CAAA;IAC/G,8FAAkF,CAAA;IAClF,gHAAoG,CAAA;IACpG,yHAA6G,CAAA;IAC7G,0GAA8F,CAAA;IAC9F,yGAA6F,CAAA;IAC7F,mJAAuI,CAAA;IACvI,mJAAuI,CAAA;IACvI,8HAAkH,CAAA;IAClH,2DAA+C,CAAA;IAC/C,mFAAuE,CAAA;IACvE,wHAA4G,CAAA;IAC5G,uGAA2F,CAAA;IAC3F,mHAAuG,CAAA;IACvG,0IAA8H,CAAA;IAC9H,iGAAqF,CAAA;IACrF,wIAA4H,CAAA;IAC5H,2FAA+E,CAAA;IAC/E,qOAAyN,CAAA;IACzN,2LAA+K,CAAA;IAC/K,8LAAkL,CAAA;IAClL,4HAAgH,CAAA;IAChH,iJAAqI,CAAA;IACrI,qIAAyH,CAAA;IACzH,kGAAsF,CAAA;IACtF,wJAAwI,CAAA;IACxI,yIAA6H,CAAA;IAC7H,8GAAkG,CAAA;IAClG,6EAAiE,CAAA;IACjE,yIAA6H,CAAA;IAC7H,wIAA4H,CAAA;IAC5H,mJAAuI,CAAA;IACvI,2GAA+F,CAAA;IAC/F,qJAAyI,CAAA;IACzI,+JAAmJ,CAAA;IACnJ,iJAAqI,CAAA;IACrI,uIAA2H,CAAA;IAC3H,6MAAiM,CAAA;IACjM,qHAAyG,CAAA;IACzG,yLAA6K,CAAA;IAC7K,6HAAiH,CAAA;IAEjH,gBAAgB;IAChB,yEAA6D,CAAA;IAC7D,0FAA8E,CAAA;IAC9E,4GAAgG,CAAA;IAChG,0HAA8G,CAAA;IAC9G,oHAAwG,CAAA;IACxG,oGAAwF,CAAA;IACxF,iGAAqF,CAAA;IACrF,+FAAmF,CAAA;IACnF,gIAAoH,CAAA;IACpH,yHAA6G,CAAA;IAC7G,sHAA0G,CAAA;IAC1G,oIAAwH,CAAA;IACxH,gNAAoM,CAAA;IACpM,sMAA0L,CAAA;IAC1L,sIAA0H,CAAA;IAC1H,8FAAkF,CAAA;IAClF,qJAAyI,CAAA;IACzI,mGAAuF,CAAA;IACvF,yFAA6E,CAAA;IAC7E,oFAAwE,CAAA;IACxE,uGAA2F,CAAA;IAC3F,6GAAiG,CAAA;IACjG,6HAAiH,CAAA;IACjH,sKAA0J,CAAA;IAC1J,sJAA0I,CAAA;IAC1I,oKAAwJ,CAAA;IACxJ,gLAAoK,CAAA;IACpK,4IAAgI,CAAA;IAChI,uHAA2G,CAAA;IAC3G,qHAAyG,CAAA;IACzG,kLAAsK,CAAA;IACtK,6GAAiG,CAAA;IACjG,oIAAwH,CAAA;IACxH,+GAAmG,CAAA;IACnG,uEAA2D,CAAA;IAC3D,2HAA+G,CAAA;IAC/G,uJAA2I,CAAA;IAC3I,iJAAqI,CAAA;IACrI,mIAAuH,CAAA;IACvH,+GAAmG,CAAA;IACnG,0HAA8G,CAAA;IAC9G,+HAAmH,CAAA;IACnH,gHAAoG,CAAA;IACpG,8IAAkI,CAAA;IAClI,yHAA6G,CAAA;IAC7G,gHAAoG,CAAA;IACpG,sHAA0G,CAAA;IAC1G,iGAAqF,CAAA;IACrF,0GAA8F,CAAA;IAC9F,2IAA+H,CAAA;IAC/H,qJAAyI,CAAA;IACzI,sIAA0H,CAAA;IAC1H,4IAAgI,CAAA;IAChI,iKAAqJ,CAAA;IACrJ,yJAA6I,CAAA;IAC7I,wGAA4F,CAAA;IAC5F,6FAAiF,CAAA;IACjF,uNAA2M,CAAA;IAC3M,8GAAkG,CAAA;IAClG,iIAAqH,CAAA;IACrH,0JAA8I,CAAA;IAC9I,iPAAqO,CAAA;IACrO,2IAA+H,CAAA;IAC/H,oOAAwN,CAAA;IACxN,yMAA6L,CAAA;IAC7L,oQAAwP,CAAA;IACxP,0IAA8H,CAAA;IAE9H,cAAc;IACd,2GAA+F,CAAA;IAC/F,+FAAmF,CAAA;IACnF,8FAAkF,CAAA;IAClF,sHAA0G,CAAA;IAE1G,0BAA0B;IAC1B,4EAAgE,CAAA;IAChE,0FAA8E,CAAA;IAC9E,qIAAyH,CAAA;IACzH,gOAAoN,CAAA;IACpN,8LAAkL,CAAA;IAClL,kHAAsG,CAAA;IACtG,uGAA2F,CAAA;IAC3F,kJAAsI,CAAA;IACtI,mPAAuO,CAAA;IACvO,yHAA6G,CAAA;IAC7G,2GAA+F,CAAA;IAC/F,+GAAmG,CAAA;IACnG,oIAAwH,CAAA;IACxH,mNAAuM,CAAA;IACvM,qHAAyG,CAAA;IACzG,+IAAmI,CAAA;IACnI,gIAAoH,CAAA;IACpH,yGAA6F,CAAA;IAC7F,mIAAuH,CAAA;IACvH,2HAA+G,CAAA;IAC/G,gFAAoE,CAAA;IACpE,sFAA0E,CAAA;IAC1E,0FAA8E,CAAA;IAC9E,4GAAgG,CAAA;IAChG,4GAAgG,CAAA;IAChG,gHAAoG,CAAA;IACpG,oGAAwF,CAAA;IACxF,iFAAqE,CAAA;IACrE,+GAAmG,CAAA;IACnG,gNAAoM,CAAA;IACpM,+OAAmO,CAAA;IACnO,6HAAiH,CAAA;IACjH,wGAAwG;IACxG,iFAAiF;IACjF,4IAAgI,CAAA;IAChI,iOAAqN,CAAA;IACrN,qKAAyJ,CAAA;IACzJ,kIAAsH,CAAA;IACtH,oJAAwI,CAAA;IACxI,oKAAwJ,CAAA;IACxJ,qLAAyK,CAAA;IACzK,oMAAwL,CAAA;IACxL,yMAA6L,CAAA;IAC7L,2LAA+K,CAAA;IAC/K,gLAAoK,CAAA;IACpK,gLAAoK,CAAA;IACpK,kKAAsJ,CAAA;IACtJ,+KAAmK,CAAA;IACnK,2LAA+K,CAAA;IAC/K,iLAAqK,CAAA;IACrK,4KAAgK,CAAA;IAChK,mJAAuI,CAAA;IACvI,+JAAmJ,CAAA;IACnJ,2LAA+K,CAAA;IAC/K,0GAA8F,CAAA;IAC9F,wKAA4J,CAAA;IAC5J,wJAA4I,CAAA;IAC5I,yHAA6G,CAAA;IAC7G,wOAA4N,CAAA;IAC5N,6FAAiF,CAAA;IACjF,2HAA+G,CAAA;IAC/G,sEAA0D,CAAA;IAC1D,0EAA8D,CAAA;IAC9D,+MAAmM,CAAA;IACnM,mNAAuM,CAAA;IACvM,yNAA6M,CAAA;IAC7M,qMAAyL,CAAA;IACzL,yMAA6L,CAAA;IAC7L,+MAAmM,CAAA;IACnM,2JAA+I,CAAA;IAC/I,+KAA8J,CAAA;IAC9J,qGAAyF,CAAA;IACzF,qJAAyI,CAAA;IACzI,yGAA6F,CAAA;IAE7F,iBAAiB;IACjB,oHAAwG,CAAA;IACxG,iHAAqG,CAAA;IACrG,wGAA4F,CAAA;IAC5F,wFAA4E,CAAA;IAE5E,0CAA0C;IAC1C,4HAAgH,CAAA;IAChH,uJAA2I,CAAA;IAC3I,yFAA6E,CAAA;IAC7E,oGAAwF,CAAA;IAExF,uCAAuC;IAEvC,+IAAmI,CAAA;IACnI,8IAAkI,CAAA;IAClI,wHAA4G,CAAA;IAC5G,gIAAoH,CAAA;IACpH,uLAA2K,CAAA;IAC3K,+IAAmI,CAAA;IACnI,uKAA2J,CAAA;IAC3J,uJAA2I,CAAA;IAC3I,4KAAgK,CAAA;IAChK,0KAA8J,CAAA;IAC9J,gJAAoI,CAAA;IACpI,uNAA2M,CAAA;IAC3M,oIAAwH,CAAA;IACxH,qDAAyC,CAAA;IACzC,uFAA2E,CAAA;IAC3E,iHAAqG,CAAA;IACrG,iHAAqG,CAAA;IACrG,6GAAiG,CAAA;IACjG,6GAAiG,CAAA;IACjG,qGAAyF,CAAA;IACzF,yGAA6F,CAAA;IAC7F,sFAA0E,CAAA;IAC1E,uFAA2E,CAAA;IAC3E,qGAAyF,CAAA;IACzF,2DAA+C,CAAA;IAC/C,gFAAoE,CAAA;IACpE,oEAAwD,CAAA;IACxD,wEAA4D,CAAA;IAC5D,yGAA6F,CAAA;IAC7F,+FAAmF,CAAA;IACnF,gHAAoG,CAAA;IACpG,uFAA2E,CAAA;IAC3E,sEAA0D,CAAA;IAC1D,0HAA8G,CAAA;IAC9G,6IAAiI,CAAA;IACjI,iGAAqF,CAAA;IACrF,0IAA8H,CAAA;IAC9H,8HAAkH,CAAA;IAClH,8HAAkH,CAAA;IAClH,0GAA8F,CAAA;IAC9F,0GAA8F,CAAA;IAC9F,kHAAsG,CAAA;IACtG,uGAA2F,CAAA;IAC3F,uGAA2F,CAAA;IAC3F,0GAA8F,CAAA;IAC9F,uGAA2F,CAAA;IAC3F,mFAAuE,CAAA;IACvE,6HAAiH,CAAA;IACjH,+GAAmG,CAAA;IACnG,uGAA2F,CAAA;IAC3F,sGAA0F,CAAA;IAC1F,+JAAmJ,CAAA;IACnJ,yKAA6J,CAAA;IAC7J,4HAAgH,CAAA;IAChH,kIAAsH,CAAA;IACtH,+MAAmM,CAAA;IACnM,kMAAsL,CAAA;IACtL,uGAA2F,CAAA;IAC3F,4GAAgG,CAAA;IAChG,mGAAuF,CAAA;IACvF,6FAAiF,CAAA;IACjF,4GAAgG,CAAA;IAChG,yGAA6F,CAAA;IAC7F,0IAA8H,CAAA;IAC9H,qMAAyL,CAAA;IACzL,mKAAuJ,CAAA;IACvJ,4LAAgL,CAAA;IAChL,2JAA+I,CAAA;IAC/I,2IAA+H,CAAA;IAC/H,wHAA4G,CAAA;IAC5G,wJAA4I,CAAA;IAC5I,qJAAyI,CAAA;IACzI,yKAA6J,CAAA;IAC7J,0MAA8L,CAAA;IAC9L,4JAAgJ,CAAA;IAChJ,iJAAqI,CAAA;IACrI,uJAA2I,CAAA;IAC3I,uJAA2I,CAAA;IAC3I,iJAAqI,CAAA;IACrI,uKAA2J,CAAA;IAC3J,iKAAqJ,CAAA;IACrJ,4JAAgJ,CAAA;IAChJ,oHAAwG,CAAA;IACxG,mHAAuG,CAAA;IACvG,2HAA+G,CAAA;IAC/G,0HAA8G,CAAA;IAC9G,yHAA6G,CAAA;IAC7G,iIAAqH,CAAA;IAErH,sBAAsB;IACtB,2FAA+E,CAAA;IAC/E,iGAAqF,CAAA;IACrF,2IAA+H,CAAA;IAC/H,8GAAkG,CAAA;IAClG,2KAA+J,CAAA;IAE/J,kBAAkB;IAClB,+EAAmE,CAAA;IACnE,qGAAyF,CAAA;IACzF,iFAAqE,CAAA;IACrE,wIAA4H,CAAA;IAC5H,4FAAgF,CAAA;IAChF,2LAA+K,CAAA;IAC/K,gHAAoG,CAAA;IACpG,sHAA0G,CAAA;IAE1G,yBAAyB;IACzB,0HAA8G,CAAA;IAC9G,8FAAkF,CAAA;IAClF,0EAA8D,CAAA;IAC9D,uEAA2D,CAAA;IAC3D,iFAAqE,CAAA;IACrE,+JAAmJ,CAAA;IACnJ,oHAAwG,CAAA;IACxG,mHAAuG,CAAA;IACvG,mGAAuF,CAAA;IACvF,mFAAuE,CAAA;IACvE,qHAAyG,CAAA;IACzG,0JAA8I,CAAA;IAC9I,6NAAiN,CAAA;IACjN,iOAAqN,CAAA;IACrN,0IAA8H,CAAA;IAC9H,kGAAsF,CAAA;IACtF,2LAA+K,CAAA;IAC/K,2IAA+H,CAAA;IAC/H,gBAAgB;IAChB,4EAAgE,CAAA;IAChE,gFAAoE,CAAA;IACpE,wEAA4D,CAAA;IAC5D,0JAA8I,CAAA;IAC9I,4HAAgH,CAAA;IAChH,wKAA4J,CAAA;IAC5J,sHAA0G,CAAA;IAE1G,aAAa;IACb,+LAAmL,CAAA;IACnL,qFAAyE,CAAA;IACzE,wFAA4E,CAAA;IAC5E,uHAA2G,CAAA;IAC3G,kJAAsI,CAAA;IACtI,kHAAsG,CAAA;IACtG,gHAAoG,CAAA;IACpG,oHAAwG,CAAA;IACxG,iMAAqL,CAAA;IACrL,sPAA0O,CAAA;IAC1O,yHAA6G,CAAA;IAC7G,iHAAqG,CAAA;IACrG,2LAA+K,CAAA;IAC/K,mGAAuF,CAAA;IAEvF,0BAA0B;IAC1B,gHAAoG,CAAA;IACpG,iIAAgH,CAAA;IAChH,yPAA6O,CAAA;IAC7O,4IAAgI,CAAA;IAChI,4HAAgH,CAAA;IAChH,mFAAuE,CAAA;IACvE,yFAA6E,CAAA;IAC7E,uGAA2F,CAAA;IAE3F,sNAA0M,CAAA;IAC1M,qNAAyM,CAAA;IACzM,2OAA0N,CAAA;IAC1N,0PAA8O,CAAA;IAE9O,sGAAsG;IACtG,oGAAoG;IACpG,0EAA0E;IAC1E,qLAAyK,CAAA;IACzK,8IAAkI,CAAA;IAClI,mLAAuK,CAAA;IACvK,uIAA2H,CAAA;IAC3H,uIAA2H,CAAA;AAC/H,CAAC,EA1bW,QAAQ,KAAR,QAAQ,QA0bnB"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- export declare const version = "0.0.106";
1
+ export declare const version = "0.0.108";
@@ -1,3 +1,3 @@
1
1
  // Auto-generated by config/generate-version.js — do not edit
2
- export const version = "0.0.106";
2
+ export const version = "0.0.108";
3
3
  //# sourceMappingURL=generated-version.js.map
@@ -3,6 +3,8 @@ import { libp2pDefaults, withLibp2p } from "@helia/libp2p";
3
3
  import { withBitswap } from "@helia/bitswap";
4
4
  import { ipns } from "@helia/ipns";
5
5
  import { unmarshalIPNSRecord, multihashToIPNSRoutingKey } from "ipns";
6
+ import { ipnsSelector } from "ipns/selector";
7
+ import { equals as uint8ArrayEquals } from "uint8arrays/equals";
6
8
  import { ipnsValidator } from "ipns/validator";
7
9
  import { gossipsub } from "@libp2p/gossipsub";
8
10
  import { identify } from "@libp2p/identify";
@@ -21,7 +23,7 @@ import Logger from "../logger.js";
21
23
  import { EventEmitter } from "events";
22
24
  import { PKCError } from "../pkc-error.js";
23
25
  import { Libp2pJsClient } from "./libp2pjsClient.js";
24
- import { BITSWAP_SESSION_STALLED_GET_FAILOVER_MS, cacheIpnsRecordInPubsubLocalStore, readFreshCachedIpnsRecordFromPubsubLocalStore, connectToPubsubPeers, directFetchIpnsRecordFromProviders, fetchBlockWithStalledSessionFailover, getHeliaDebugContext, selectBitswapSessionSeedPeers } from "./util.js";
26
+ import { BITSWAP_SESSION_STALLED_GET_FAILOVER_MS, cacheIpnsRecordInPubsubLocalStore, readFreshCachedIpnsRecordFromPubsubLocalStore, connectToPubsubPeers, directFetchIpnsRecordFromProviders, fetchBlockWithStalledSessionFailover, getHeliaDebugContext, REACHABILITY_DOCS_URL, selectBitswapSessionSeedPeers, summarizeProviderReachability } from "./util.js";
25
27
  import { createDefaultDialTransportGater } from "./dial-transport-filter.js";
26
28
  import { binaryKeyToPubsubTopic, ipnsNameToIpnsOverPubsubTopic } from "../util.js";
27
29
  const log = Logger("pkc-js:libp2p-js");
@@ -450,9 +452,14 @@ export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
450
452
  // Push signal for IPNS names (issue #308): every accepted-newer record converges on the
451
453
  // pubsub router's localStore.put — gossipsub delivery (handleRecord), the direct-fetch
452
454
  // cache write (cacheIpnsRecordInPubsubLocalStore), and the fallback router.get() fetch
453
- // all write through it, and none of them writes a record older than the cached one.
454
- // Wrapping put therefore yields exactly "a newer record for this name is now held
455
- // locally", with none of the ordering hazards of listening to raw pubsub messages
455
+ // all write through it. Each of those writers checks "newer than cached" before calling
456
+ // put, but with awaits between the read and the write and no lock, so two concurrent
457
+ // writers can both pass the check against the same stale record and the older one can
458
+ // land last (issue #321). handleRecord is private to @helia/ipns and cannot be locked from
459
+ // outside, so put itself re-checks under a per-name lock: it writes and dispatches only
460
+ // when the record is strictly newer than what is held at that moment (identical or older
461
+ // is a silent no-op). Wrapping put therefore yields exactly "a newer record for this name
462
+ // is now held locally", with none of the ordering hazards of listening to raw pubsub messages
456
463
  // (which fire before handleRecord has validated and cached the record). The topic key is
457
464
  // derivable from the routing key alone: routingKey = '/ipns/' + multihash bytes and the
458
465
  // gossip topic is binaryKeyToPubsubTopic(routingKey) — the same encoding the subscriber
@@ -461,9 +468,39 @@ export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
461
468
  // itself.
462
469
  const ipnsRecordArrivalListeners = new Map();
463
470
  const originalLocalStorePut = ipnsPubsubLocalStore.put.bind(ipnsPubsubLocalStore);
471
+ const originalLocalStoreHas = ipnsPubsubLocalStore.has.bind(ipnsPubsubLocalStore);
472
+ const originalLocalStoreGet = ipnsPubsubLocalStore.get.bind(ipnsPubsubLocalStore);
473
+ // Tail of each name's write chain; an entry is removed once its last queued write settles.
474
+ const localStoreWriteTailByTopic = new Map();
464
475
  ipnsPubsubLocalStore.put = async (routingKey, marshalledRecord, options) => {
465
- await originalLocalStorePut(routingKey, marshalledRecord, options);
466
476
  const pubsubTopic = binaryKeyToPubsubTopic(routingKey);
477
+ const previousWrite = localStoreWriteTailByTopic.get(pubsubTopic) ?? Promise.resolve();
478
+ let releaseWrite;
479
+ const thisWriteDone = new Promise((resolve) => (releaseWrite = resolve));
480
+ // Never rejects: every link resolves through the finally below.
481
+ const thisWrite = previousWrite.then(() => thisWriteDone);
482
+ localStoreWriteTailByTopic.set(pubsubTopic, thisWrite);
483
+ let wroteNewerRecord = false;
484
+ try {
485
+ await previousWrite;
486
+ if (await originalLocalStoreHas(routingKey, options)) {
487
+ const { record: heldRecord } = await originalLocalStoreGet(routingKey, options);
488
+ if (uint8ArrayEquals(heldRecord, marshalledRecord))
489
+ return;
490
+ // ipnsSelector returns the index of the best record: 0 means the held one wins
491
+ if (ipnsSelector(routingKey, [heldRecord, marshalledRecord]) === 0)
492
+ return;
493
+ }
494
+ await originalLocalStorePut(routingKey, marshalledRecord, options);
495
+ wroteNewerRecord = true;
496
+ }
497
+ finally {
498
+ releaseWrite();
499
+ if (localStoreWriteTailByTopic.get(pubsubTopic) === thisWrite)
500
+ localStoreWriteTailByTopic.delete(pubsubTopic);
501
+ }
502
+ if (!wroteNewerRecord)
503
+ return;
467
504
  let record;
468
505
  try {
469
506
  record = unmarshalIPNSRecord(marshalledRecord);
@@ -611,7 +648,7 @@ export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
611
648
  options,
612
649
  log: Logger("pkc-js:helia:ipns:direct-fetch")
613
650
  });
614
- if (direct) {
651
+ if (direct.recordBytes) {
615
652
  directFetchOutcome = {
616
653
  attempted: true,
617
654
  hit: true,
@@ -654,7 +691,13 @@ export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
654
691
  yield record.value;
655
692
  return;
656
693
  }
657
- directFetchOutcome = { attempted: true, hit: false, durationMs: Date.now() - directStart };
694
+ directFetchOutcome = {
695
+ attempted: true,
696
+ hit: false,
697
+ durationMs: Date.now() - directStart,
698
+ providers: direct.providers,
699
+ subscribersTried: direct.subscribersTried
700
+ };
658
701
  }
659
702
  catch (directErr) {
660
703
  // A caller-initiated abort should surface as-is, not be masked by the
@@ -738,19 +781,43 @@ export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
738
781
  routerErrors.push(err);
739
782
  }
740
783
  }
741
- if (!recordBytes)
742
- throw new PKCError("ERR_RESOLVED_IPNS_P2P_TO_UNDEFINED", {
784
+ if (!recordBytes) {
785
+ const subscribersAtResolveTime = helia.libp2p.services.pubsub.getSubscribers(ipnsPubsubTopic).length;
786
+ const providers = directFetchOutcome.attempted && !directFetchOutcome.hit ? directFetchOutcome.providers : undefined;
787
+ const failureDetails = {
743
788
  ipnsName,
744
789
  currentName,
745
790
  ipnsPubsubTopic,
746
791
  ipnsResolveOptions: options,
792
+ providersFound: providers?.length,
747
793
  directFetchOutcome,
748
794
  warmupOutcome,
749
795
  routerErrors,
750
- subscribersAtResolveTime: helia.libp2p.services.pubsub.getSubscribers(ipnsPubsubTopic).length,
796
+ subscribersAtResolveTime,
751
797
  httpRouters: pkcOptions.httpRoutersOptions,
752
798
  ...getHeliaDebugContext(helia)
753
- });
799
+ };
800
+ // Issue #377: providers were found but every one of them failed a LOCAL check
801
+ // (relay-only, or no addr this runtime can dial), and the fallback never got a
802
+ // subscriber either. That is a NAT-hosted/unseeded community, not a missing
803
+ // name, so say so. Strict: any provider that got as far as a dial, or any
804
+ // subscriber, keeps the generic error.
805
+ const unreachableReason = providers && subscribersAtResolveTime === 0
806
+ ? summarizeProviderReachability({
807
+ providers,
808
+ subscribersTried: directFetchOutcome.subscribersTried ?? 0
809
+ })
810
+ : undefined;
811
+ if (unreachableReason)
812
+ throw new PKCError("ERR_COMMUNITY_UNREACHABLE_FROM_THIS_CLIENT", {
813
+ reason: unreachableReason,
814
+ providerPeerIds: providers.map((provider) => provider.peerId),
815
+ providers,
816
+ docsUrl: REACHABILITY_DOCS_URL,
817
+ ...failureDetails
818
+ });
819
+ throw new PKCError("ERR_RESOLVED_IPNS_P2P_TO_UNDEFINED", failureDetails);
820
+ }
754
821
  // Validate the record's signature against its routing key before trusting its value.
755
822
  await ipnsValidator(routingKey, recordBytes);
756
823
  const record = unmarshalIPNSRecord(recordBytes);