@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.
- package/README.md +16 -0
- package/dist/browser/clients/base-client-manager.d.ts +1 -1
- package/dist/browser/clients/rpc-client/rpc-schema-util.d.ts +16 -0
- package/dist/browser/clients/rpc-client/schema.d.ts +16 -0
- package/dist/browser/community/remote-community.d.ts +1 -0
- package/dist/browser/community/remote-community.js +1 -0
- package/dist/browser/community/remote-community.js.map +1 -1
- package/dist/browser/community/rpc-local-community.js +13 -0
- package/dist/browser/community/rpc-local-community.js.map +1 -1
- package/dist/browser/community/rpc-remote-community.js +19 -7
- package/dist/browser/community/rpc-remote-community.js.map +1 -1
- package/dist/browser/community/schema.d.ts +1369 -1
- package/dist/browser/community/schema.js +90 -4
- package/dist/browser/community/schema.js.map +1 -1
- package/dist/browser/community/types.d.ts +13 -2
- package/dist/browser/constants.d.ts +1 -0
- package/dist/browser/constants.js +6 -0
- package/dist/browser/constants.js.map +1 -1
- package/dist/browser/errors.d.ts +16 -1
- package/dist/browser/errors.js +16 -0
- package/dist/browser/errors.js.map +1 -1
- package/dist/browser/generated-version.d.ts +1 -1
- package/dist/browser/generated-version.js +1 -1
- package/dist/browser/helia/helia-for-pkc.js +78 -11
- package/dist/browser/helia/helia-for-pkc.js.map +1 -1
- package/dist/browser/helia/util.d.ts +23 -1
- package/dist/browser/helia/util.js +52 -5
- package/dist/browser/helia/util.js.map +1 -1
- package/dist/browser/index-with-compile-cache.d.ts +559 -0
- package/dist/browser/index.d.ts +1120 -0
- package/dist/browser/index.js +5 -0
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/logger.js +10 -1
- package/dist/browser/logger.js.map +1 -1
- package/dist/browser/object-key-util.d.ts +2 -0
- package/dist/browser/object-key-util.js +12 -0
- package/dist/browser/object-key-util.js.map +1 -0
- package/dist/browser/pages/page-sort-options.d.ts +14 -0
- package/dist/browser/pages/page-sort-options.js +92 -0
- package/dist/browser/pages/page-sort-options.js.map +1 -0
- package/dist/browser/pages/page-sort-scoring.d.ts +35 -0
- package/dist/browser/pages/page-sort-scoring.js +124 -0
- package/dist/browser/pages/page-sort-scoring.js.map +1 -0
- package/dist/browser/pages/pages-client-manager.d.ts +1 -0
- package/dist/browser/pages/pages-client-manager.js +16 -4
- package/dist/browser/pages/pages-client-manager.js.map +1 -1
- package/dist/browser/pages/pkc-js-page-sorts/active.d.ts +3 -0
- package/dist/browser/pages/pkc-js-page-sorts/active.js +15 -0
- package/dist/browser/pages/pkc-js-page-sorts/active.js.map +1 -0
- package/dist/browser/pages/pkc-js-page-sorts/best.d.ts +3 -0
- package/dist/browser/pages/pkc-js-page-sorts/best.js +10 -0
- package/dist/browser/pages/pkc-js-page-sorts/best.js.map +1 -0
- package/dist/browser/pages/pkc-js-page-sorts/controversial.d.ts +3 -0
- package/dist/browser/pages/pkc-js-page-sorts/controversial.js +10 -0
- package/dist/browser/pages/pkc-js-page-sorts/controversial.js.map +1 -0
- package/dist/browser/pages/pkc-js-page-sorts/hot.d.ts +3 -0
- package/dist/browser/pages/pkc-js-page-sorts/hot.js +10 -0
- package/dist/browser/pages/pkc-js-page-sorts/hot.js.map +1 -0
- package/dist/browser/pages/pkc-js-page-sorts/index.d.ts +2 -0
- package/dist/browser/pages/pkc-js-page-sorts/index.js +37 -0
- package/dist/browser/pages/pkc-js-page-sorts/index.js.map +1 -0
- package/dist/browser/pages/pkc-js-page-sorts/new-flat.d.ts +3 -0
- package/dist/browser/pages/pkc-js-page-sorts/new-flat.js +12 -0
- package/dist/browser/pages/pkc-js-page-sorts/new-flat.js.map +1 -0
- package/dist/browser/pages/pkc-js-page-sorts/new.d.ts +3 -0
- package/dist/browser/pages/pkc-js-page-sorts/new.js +10 -0
- package/dist/browser/pages/pkc-js-page-sorts/new.js.map +1 -0
- package/dist/browser/pages/pkc-js-page-sorts/old-flat.d.ts +3 -0
- package/dist/browser/pages/pkc-js-page-sorts/old-flat.js +12 -0
- package/dist/browser/pages/pkc-js-page-sorts/old-flat.js.map +1 -0
- package/dist/browser/pages/pkc-js-page-sorts/old.d.ts +3 -0
- package/dist/browser/pages/pkc-js-page-sorts/old.js +10 -0
- package/dist/browser/pages/pkc-js-page-sorts/old.js.map +1 -0
- package/dist/browser/pages/pkc-js-page-sorts/top-all.d.ts +3 -0
- package/dist/browser/pages/pkc-js-page-sorts/top-all.js +10 -0
- package/dist/browser/pages/pkc-js-page-sorts/top-all.js.map +1 -0
- package/dist/browser/pages/pkc-js-page-sorts/top-day.d.ts +3 -0
- package/dist/browser/pages/pkc-js-page-sorts/top-day.js +11 -0
- package/dist/browser/pages/pkc-js-page-sorts/top-day.js.map +1 -0
- package/dist/browser/pages/pkc-js-page-sorts/top-hour.d.ts +3 -0
- package/dist/browser/pages/pkc-js-page-sorts/top-hour.js +11 -0
- package/dist/browser/pages/pkc-js-page-sorts/top-hour.js.map +1 -0
- package/dist/browser/pages/pkc-js-page-sorts/top-month.d.ts +3 -0
- package/dist/browser/pages/pkc-js-page-sorts/top-month.js +11 -0
- package/dist/browser/pages/pkc-js-page-sorts/top-month.js.map +1 -0
- package/dist/browser/pages/pkc-js-page-sorts/top-week.d.ts +3 -0
- package/dist/browser/pages/pkc-js-page-sorts/top-week.js +11 -0
- package/dist/browser/pages/pkc-js-page-sorts/top-week.js.map +1 -0
- package/dist/browser/pages/pkc-js-page-sorts/top-year.d.ts +3 -0
- package/dist/browser/pages/pkc-js-page-sorts/top-year.js +11 -0
- package/dist/browser/pages/pkc-js-page-sorts/top-year.js.map +1 -0
- package/dist/browser/pages/pkc-js-page-sorts/top.d.ts +3 -0
- package/dist/browser/pages/pkc-js-page-sorts/top.js +12 -0
- package/dist/browser/pages/pkc-js-page-sorts/top.js.map +1 -0
- package/dist/browser/pages/pkc-js-page-sorts/util.d.ts +3 -0
- package/dist/browser/pages/pkc-js-page-sorts/util.js +7 -0
- package/dist/browser/pages/pkc-js-page-sorts/util.js.map +1 -0
- package/dist/browser/pages/schema.d.ts +1 -0
- package/dist/browser/pages/schema.js +10 -3
- package/dist/browser/pages/schema.js.map +1 -1
- package/dist/browser/pages/types.d.ts +8 -0
- package/dist/browser/pages/util.d.ts +2 -1
- package/dist/browser/pages/util.js +11 -10
- package/dist/browser/pages/util.js.map +1 -1
- package/dist/browser/pkc/pkc.d.ts +2 -1
- package/dist/browser/pkc/pkc.js +2 -1
- package/dist/browser/pkc/pkc.js.map +1 -1
- package/dist/browser/pkc-error.d.ts +1 -1
- package/dist/browser/publications/comment/comment-client-manager.d.ts +2 -2
- package/dist/browser/publications/comment/comment-client-manager.js +3 -1
- package/dist/browser/publications/comment/comment-client-manager.js.map +1 -1
- package/dist/browser/publications/comment/comment.js +6 -3
- package/dist/browser/publications/comment/comment.js.map +1 -1
- package/dist/browser/publications/community-edit/schema.d.ts +64 -0
- package/dist/browser/pubsub-messages/schema.d.ts +32 -0
- package/dist/browser/rpc/src/index.js +14 -1
- package/dist/browser/rpc/src/index.js.map +1 -1
- package/dist/browser/rpc/src/lib/pkc-js/index.d.ts +559 -0
- package/dist/browser/rpc/src/schema.d.ts +3371 -0
- package/dist/browser/rpc/src/schema.js +6 -2
- package/dist/browser/rpc/src/schema.js.map +1 -1
- package/dist/browser/runtime/browser/community/page-sorts/index.d.ts +1 -0
- package/dist/browser/runtime/browser/community/page-sorts/index.js +6 -0
- package/dist/browser/runtime/browser/community/page-sorts/index.js.map +1 -0
- package/dist/browser/runtime/node/community/db-handler.d.ts +78 -20
- package/dist/browser/runtime/node/community/db-handler.js +1151 -734
- package/dist/browser/runtime/node/community/db-handler.js.map +1 -1
- package/dist/browser/runtime/node/community/db-row-parser.d.ts +13 -0
- package/dist/browser/runtime/node/community/db-row-parser.js +58 -1
- package/dist/browser/runtime/node/community/db-row-parser.js.map +1 -1
- package/dist/browser/runtime/node/community/local-community/cleanup.js +23 -10
- package/dist/browser/runtime/node/community/local-community/cleanup.js.map +1 -1
- package/dist/browser/runtime/node/community/local-community/comment-updates.d.ts +12 -2
- package/dist/browser/runtime/node/community/local-community/comment-updates.js +101 -70
- package/dist/browser/runtime/node/community/local-community/comment-updates.js.map +1 -1
- package/dist/browser/runtime/node/community/local-community/db-state.js +8 -0
- package/dist/browser/runtime/node/community/local-community/db-state.js.map +1 -1
- package/dist/browser/runtime/node/community/local-community/editing.d.ts +9 -2
- package/dist/browser/runtime/node/community/local-community/editing.js +32 -5
- package/dist/browser/runtime/node/community/local-community/editing.js.map +1 -1
- package/dist/browser/runtime/node/community/local-community/ipns-publishing.d.ts +2 -2
- package/dist/browser/runtime/node/community/local-community/ipns-publishing.js +49 -27
- package/dist/browser/runtime/node/community/local-community/ipns-publishing.js.map +1 -1
- package/dist/browser/runtime/node/community/local-community/lifecycle.d.ts +1 -0
- package/dist/browser/runtime/node/community/local-community/lifecycle.js +49 -18
- package/dist/browser/runtime/node/community/local-community/lifecycle.js.map +1 -1
- package/dist/browser/runtime/node/community/local-community.d.ts +5 -1
- package/dist/browser/runtime/node/community/local-community.js +13 -1
- package/dist/browser/runtime/node/community/local-community.js.map +1 -1
- package/dist/browser/runtime/node/community/page-generator.d.ts +44 -413
- package/dist/browser/runtime/node/community/page-generator.js +531 -308
- package/dist/browser/runtime/node/community/page-generator.js.map +1 -1
- package/dist/browser/runtime/node/community/page-sorts/index.d.ts +64 -0
- package/dist/browser/runtime/node/community/page-sorts/index.js +264 -0
- package/dist/browser/runtime/node/community/page-sorts/index.js.map +1 -0
- package/dist/browser/runtime/node/util.js +1 -1
- package/dist/browser/runtime/node/util.js.map +1 -1
- package/dist/browser/schema/schema-util.d.ts +142 -1
- package/dist/browser/schema/schema-util.js +11 -0
- package/dist/browser/schema/schema-util.js.map +1 -1
- package/dist/browser/schema/schema.js +1 -1
- package/dist/browser/schema/schema.js.map +1 -1
- package/dist/browser/schema.d.ts +4469 -0
- package/dist/browser/schema.js +2 -1
- package/dist/browser/schema.js.map +1 -1
- package/dist/browser/signer/signatures.d.ts +1 -1
- package/dist/browser/signer/signatures.js +45 -1
- package/dist/browser/signer/signatures.js.map +1 -1
- package/dist/browser/test/test-util.d.ts +63 -0
- package/dist/browser/test/test-util.js +66 -11
- package/dist/browser/test/test-util.js.map +1 -1
- package/dist/browser/util.d.ts +4 -0
- package/dist/browser/util.js +93 -1
- package/dist/browser/util.js.map +1 -1
- package/dist/browser/version.js +1 -1
- package/dist/bundled/bundle-manifest.json +229 -205
- package/dist/bundled/chunks/{helia-for-pkc-qvcQHRw5.js → helia-for-pkc-BY1wF9W8.js} +91 -48
- package/dist/bundled/chunks/{local-community-BVWWQKxg.js → local-community-B6i3MUzw.js} +1 -1
- package/dist/bundled/chunks/{local-community-DhiNmK3L.js → local-community-Dm02mfn3.js} +6719 -6055
- package/dist/bundled/chunks/{node-D8vvnh-6.js → node-B8rEQ_rA.js} +1208 -17
- package/dist/bundled/chunks/{rpc-local-community-Bmt73MTy.js → rpc-local-community-DHS2R2Vk.js} +13693 -14182
- package/dist/bundled/chunks/{util-DUR-gvDQ.js → util-B-wz3mKY.js} +32 -2
- package/dist/bundled/chunks/{schema-B4n6Xctr.js → util-C6zDjhpr.js} +755 -602
- package/dist/bundled/index.js +2 -2
- package/dist/bundled/rpc/src/index.js +22 -9
- package/dist/node/clients/base-client-manager.d.ts +1 -1
- package/dist/node/clients/rpc-client/rpc-schema-util.d.ts +16 -0
- package/dist/node/clients/rpc-client/schema.d.ts +16 -0
- package/dist/node/community/remote-community.d.ts +1 -0
- package/dist/node/community/remote-community.js +1 -0
- package/dist/node/community/remote-community.js.map +1 -1
- package/dist/node/community/rpc-local-community.js +13 -0
- package/dist/node/community/rpc-local-community.js.map +1 -1
- package/dist/node/community/rpc-remote-community.js +19 -7
- package/dist/node/community/rpc-remote-community.js.map +1 -1
- package/dist/node/community/schema.d.ts +1369 -1
- package/dist/node/community/schema.js +90 -4
- package/dist/node/community/schema.js.map +1 -1
- package/dist/node/community/types.d.ts +13 -2
- package/dist/node/constants.d.ts +1 -0
- package/dist/node/constants.js +6 -0
- package/dist/node/constants.js.map +1 -1
- package/dist/node/errors.d.ts +16 -1
- package/dist/node/errors.js +16 -0
- package/dist/node/errors.js.map +1 -1
- package/dist/node/generated-version.d.ts +1 -1
- package/dist/node/generated-version.js +1 -1
- package/dist/node/helia/helia-for-pkc.js +78 -11
- package/dist/node/helia/helia-for-pkc.js.map +1 -1
- package/dist/node/helia/util.d.ts +23 -1
- package/dist/node/helia/util.js +52 -5
- package/dist/node/helia/util.js.map +1 -1
- package/dist/node/index-with-compile-cache.d.ts +559 -0
- package/dist/node/index.d.ts +1120 -0
- package/dist/node/index.js +5 -0
- package/dist/node/index.js.map +1 -1
- package/dist/node/logger.js +10 -1
- package/dist/node/logger.js.map +1 -1
- package/dist/node/object-key-util.d.ts +2 -0
- package/dist/node/object-key-util.js +12 -0
- package/dist/node/object-key-util.js.map +1 -0
- package/dist/node/pages/page-sort-options.d.ts +14 -0
- package/dist/node/pages/page-sort-options.js +92 -0
- package/dist/node/pages/page-sort-options.js.map +1 -0
- package/dist/node/pages/page-sort-scoring.d.ts +35 -0
- package/dist/node/pages/page-sort-scoring.js +124 -0
- package/dist/node/pages/page-sort-scoring.js.map +1 -0
- package/dist/node/pages/pages-client-manager.d.ts +1 -0
- package/dist/node/pages/pages-client-manager.js +16 -4
- package/dist/node/pages/pages-client-manager.js.map +1 -1
- package/dist/node/pages/pkc-js-page-sorts/active.d.ts +3 -0
- package/dist/node/pages/pkc-js-page-sorts/active.js +15 -0
- package/dist/node/pages/pkc-js-page-sorts/active.js.map +1 -0
- package/dist/node/pages/pkc-js-page-sorts/best.d.ts +3 -0
- package/dist/node/pages/pkc-js-page-sorts/best.js +10 -0
- package/dist/node/pages/pkc-js-page-sorts/best.js.map +1 -0
- package/dist/node/pages/pkc-js-page-sorts/controversial.d.ts +3 -0
- package/dist/node/pages/pkc-js-page-sorts/controversial.js +10 -0
- package/dist/node/pages/pkc-js-page-sorts/controversial.js.map +1 -0
- package/dist/node/pages/pkc-js-page-sorts/hot.d.ts +3 -0
- package/dist/node/pages/pkc-js-page-sorts/hot.js +10 -0
- package/dist/node/pages/pkc-js-page-sorts/hot.js.map +1 -0
- package/dist/node/pages/pkc-js-page-sorts/index.d.ts +2 -0
- package/dist/node/pages/pkc-js-page-sorts/index.js +37 -0
- package/dist/node/pages/pkc-js-page-sorts/index.js.map +1 -0
- package/dist/node/pages/pkc-js-page-sorts/new-flat.d.ts +3 -0
- package/dist/node/pages/pkc-js-page-sorts/new-flat.js +12 -0
- package/dist/node/pages/pkc-js-page-sorts/new-flat.js.map +1 -0
- package/dist/node/pages/pkc-js-page-sorts/new.d.ts +3 -0
- package/dist/node/pages/pkc-js-page-sorts/new.js +10 -0
- package/dist/node/pages/pkc-js-page-sorts/new.js.map +1 -0
- package/dist/node/pages/pkc-js-page-sorts/old-flat.d.ts +3 -0
- package/dist/node/pages/pkc-js-page-sorts/old-flat.js +12 -0
- package/dist/node/pages/pkc-js-page-sorts/old-flat.js.map +1 -0
- package/dist/node/pages/pkc-js-page-sorts/old.d.ts +3 -0
- package/dist/node/pages/pkc-js-page-sorts/old.js +10 -0
- package/dist/node/pages/pkc-js-page-sorts/old.js.map +1 -0
- package/dist/node/pages/pkc-js-page-sorts/top-all.d.ts +3 -0
- package/dist/node/pages/pkc-js-page-sorts/top-all.js +10 -0
- package/dist/node/pages/pkc-js-page-sorts/top-all.js.map +1 -0
- package/dist/node/pages/pkc-js-page-sorts/top-day.d.ts +3 -0
- package/dist/node/pages/pkc-js-page-sorts/top-day.js +11 -0
- package/dist/node/pages/pkc-js-page-sorts/top-day.js.map +1 -0
- package/dist/node/pages/pkc-js-page-sorts/top-hour.d.ts +3 -0
- package/dist/node/pages/pkc-js-page-sorts/top-hour.js +11 -0
- package/dist/node/pages/pkc-js-page-sorts/top-hour.js.map +1 -0
- package/dist/node/pages/pkc-js-page-sorts/top-month.d.ts +3 -0
- package/dist/node/pages/pkc-js-page-sorts/top-month.js +11 -0
- package/dist/node/pages/pkc-js-page-sorts/top-month.js.map +1 -0
- package/dist/node/pages/pkc-js-page-sorts/top-week.d.ts +3 -0
- package/dist/node/pages/pkc-js-page-sorts/top-week.js +11 -0
- package/dist/node/pages/pkc-js-page-sorts/top-week.js.map +1 -0
- package/dist/node/pages/pkc-js-page-sorts/top-year.d.ts +3 -0
- package/dist/node/pages/pkc-js-page-sorts/top-year.js +11 -0
- package/dist/node/pages/pkc-js-page-sorts/top-year.js.map +1 -0
- package/dist/node/pages/pkc-js-page-sorts/top.d.ts +3 -0
- package/dist/node/pages/pkc-js-page-sorts/top.js +12 -0
- package/dist/node/pages/pkc-js-page-sorts/top.js.map +1 -0
- package/dist/node/pages/pkc-js-page-sorts/util.d.ts +3 -0
- package/dist/node/pages/pkc-js-page-sorts/util.js +7 -0
- package/dist/node/pages/pkc-js-page-sorts/util.js.map +1 -0
- package/dist/node/pages/schema.d.ts +1 -0
- package/dist/node/pages/schema.js +10 -3
- package/dist/node/pages/schema.js.map +1 -1
- package/dist/node/pages/types.d.ts +8 -0
- package/dist/node/pages/util.d.ts +2 -1
- package/dist/node/pages/util.js +11 -10
- package/dist/node/pages/util.js.map +1 -1
- package/dist/node/pkc/pkc.d.ts +2 -1
- package/dist/node/pkc/pkc.js +2 -1
- package/dist/node/pkc/pkc.js.map +1 -1
- package/dist/node/pkc-error.d.ts +1 -1
- package/dist/node/publications/comment/comment-client-manager.d.ts +2 -2
- package/dist/node/publications/comment/comment-client-manager.js +3 -1
- package/dist/node/publications/comment/comment-client-manager.js.map +1 -1
- package/dist/node/publications/comment/comment.js +6 -3
- package/dist/node/publications/comment/comment.js.map +1 -1
- package/dist/node/publications/community-edit/schema.d.ts +64 -0
- package/dist/node/pubsub-messages/schema.d.ts +32 -0
- package/dist/node/rpc/src/index.js +14 -1
- package/dist/node/rpc/src/index.js.map +1 -1
- package/dist/node/rpc/src/lib/pkc-js/index.d.ts +559 -0
- package/dist/node/rpc/src/schema.d.ts +3371 -0
- package/dist/node/rpc/src/schema.js +6 -2
- package/dist/node/rpc/src/schema.js.map +1 -1
- package/dist/node/runtime/browser/community/page-sorts/index.d.ts +1 -0
- package/dist/node/runtime/browser/community/page-sorts/index.js +6 -0
- package/dist/node/runtime/browser/community/page-sorts/index.js.map +1 -0
- package/dist/node/runtime/node/community/db-handler.d.ts +78 -20
- package/dist/node/runtime/node/community/db-handler.js +1151 -734
- package/dist/node/runtime/node/community/db-handler.js.map +1 -1
- package/dist/node/runtime/node/community/db-row-parser.d.ts +13 -0
- package/dist/node/runtime/node/community/db-row-parser.js +58 -1
- package/dist/node/runtime/node/community/db-row-parser.js.map +1 -1
- package/dist/node/runtime/node/community/local-community/cleanup.js +23 -10
- package/dist/node/runtime/node/community/local-community/cleanup.js.map +1 -1
- package/dist/node/runtime/node/community/local-community/comment-updates.d.ts +12 -2
- package/dist/node/runtime/node/community/local-community/comment-updates.js +101 -70
- package/dist/node/runtime/node/community/local-community/comment-updates.js.map +1 -1
- package/dist/node/runtime/node/community/local-community/db-state.js +8 -0
- package/dist/node/runtime/node/community/local-community/db-state.js.map +1 -1
- package/dist/node/runtime/node/community/local-community/editing.d.ts +9 -2
- package/dist/node/runtime/node/community/local-community/editing.js +32 -5
- package/dist/node/runtime/node/community/local-community/editing.js.map +1 -1
- package/dist/node/runtime/node/community/local-community/ipns-publishing.d.ts +2 -2
- package/dist/node/runtime/node/community/local-community/ipns-publishing.js +49 -27
- package/dist/node/runtime/node/community/local-community/ipns-publishing.js.map +1 -1
- package/dist/node/runtime/node/community/local-community/lifecycle.d.ts +1 -0
- package/dist/node/runtime/node/community/local-community/lifecycle.js +49 -18
- package/dist/node/runtime/node/community/local-community/lifecycle.js.map +1 -1
- package/dist/node/runtime/node/community/local-community.d.ts +5 -1
- package/dist/node/runtime/node/community/local-community.js +13 -1
- package/dist/node/runtime/node/community/local-community.js.map +1 -1
- package/dist/node/runtime/node/community/page-generator.d.ts +44 -413
- package/dist/node/runtime/node/community/page-generator.js +531 -308
- package/dist/node/runtime/node/community/page-generator.js.map +1 -1
- package/dist/node/runtime/node/community/page-sorts/index.d.ts +64 -0
- package/dist/node/runtime/node/community/page-sorts/index.js +264 -0
- package/dist/node/runtime/node/community/page-sorts/index.js.map +1 -0
- package/dist/node/runtime/node/util.js +1 -1
- package/dist/node/runtime/node/util.js.map +1 -1
- package/dist/node/schema/schema-util.d.ts +142 -1
- package/dist/node/schema/schema-util.js +11 -0
- package/dist/node/schema/schema-util.js.map +1 -1
- package/dist/node/schema/schema.js +1 -1
- package/dist/node/schema/schema.js.map +1 -1
- package/dist/node/schema.d.ts +4469 -0
- package/dist/node/schema.js +2 -1
- package/dist/node/schema.js.map +1 -1
- package/dist/node/signer/signatures.d.ts +1 -1
- package/dist/node/signer/signatures.js +45 -1
- package/dist/node/signer/signatures.js.map +1 -1
- package/dist/node/test/test-util.d.ts +63 -0
- package/dist/node/test/test-util.js +66 -11
- package/dist/node/test/test-util.js.map +1 -1
- package/dist/node/util.d.ts +4 -0
- package/dist/node/util.js +93 -1
- package/dist/node/util.js.map +1 -1
- package/dist/node/version.js +1 -1
- package/package.json +2 -2
- 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.
|
|
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"}
|
package/dist/browser/errors.d.ts
CHANGED
|
@@ -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
|
}
|
package/dist/browser/errors.js
CHANGED
|
@@ -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,
|
|
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.
|
|
1
|
+
export declare const version = "0.0.108";
|
|
@@ -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
|
|
454
|
-
//
|
|
455
|
-
//
|
|
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 = {
|
|
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
|
-
|
|
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
|
|
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);
|