@pkcprotocol/pkc-js 0.0.107 → 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 +15 -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/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 +15 -1
- package/dist/browser/errors.js +15 -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 +41 -4
- package/dist/browser/helia/helia-for-pkc.js.map +1 -1
- package/dist/browser/helia/util.js +4 -1
- 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/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 +87 -0
- package/dist/browser/util.js.map +1 -1
- package/dist/browser/version.js +1 -1
- package/dist/bundled/bundle-manifest.json +235 -211
- package/dist/bundled/chunks/{helia-for-pkc-BCVI3rjp.js → helia-for-pkc-BY1wF9W8.js} +58 -34
- package/dist/bundled/chunks/{local-community-t5S6o-0o.js → local-community-B6i3MUzw.js} +1 -1
- package/dist/bundled/chunks/{local-community-CK7TUwwd.js → local-community-Dm02mfn3.js} +6719 -6055
- package/dist/bundled/chunks/{node-BpoCiJjL.js → node-B8rEQ_rA.js} +1201 -15
- package/dist/bundled/chunks/{rpc-local-community-CR1TnLfm.js → rpc-local-community-DHS2R2Vk.js} +13631 -14131
- package/dist/bundled/chunks/{util-bxE0EcD4.js → util-B-wz3mKY.js} +1 -1
- package/dist/bundled/chunks/{schema-DWRg9_bS.js → util-C6zDjhpr.js} +751 -601
- 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/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 +15 -1
- package/dist/node/errors.js +15 -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 +41 -4
- package/dist/node/helia/helia-for-pkc.js.map +1 -1
- package/dist/node/helia/util.js +4 -1
- 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/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 +87 -0
- 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
package/dist/browser/index.js
CHANGED
|
@@ -8,6 +8,7 @@ import browserNativeFunctions from "./runtime/browser/native-functions.js";
|
|
|
8
8
|
import { shortifyAddress, shortifyCid } from "./util.js";
|
|
9
9
|
import { createAnchorIpnsRecord as signerCreateAnchorIpnsRecord } from "./signer/ipns-record.js";
|
|
10
10
|
import { pkcJsChallenges } from "./runtime/browser/community/challenges/index.js";
|
|
11
|
+
import { pkcJsPageSorts } from "./runtime/browser/community/page-sorts/index.js";
|
|
11
12
|
import { PKCWithRpcClient } from "./pkc/pkc-with-rpc-client.js";
|
|
12
13
|
import { parseRpcAuthorNameParam, parseRpcCidParam } from "./clients/rpc-client/rpc-schema-util.js";
|
|
13
14
|
const PKC = async function PKC(pkcOptions = {}) {
|
|
@@ -28,6 +29,9 @@ PKC.nativeFunctions = { node: nodeNativeFunctions, browser: browserNativeFunctio
|
|
|
28
29
|
PKC.getShortCid = getShortCidValue;
|
|
29
30
|
PKC.getShortAddress = getShortAddressValue;
|
|
30
31
|
PKC.challenges = pkcJsChallenges;
|
|
32
|
+
// The built-in page sorts (issue #73), keyed by the name settings.pages[].name refers to. A consumer may add or
|
|
33
|
+
// shadow entries here or pass `pageSorts` in the PKC options; packages installed by bitsocial-cli register the same way.
|
|
34
|
+
PKC.pageSorts = pkcJsPageSorts;
|
|
31
35
|
// Delegation setup (#234): the anchor record An -> Mn is signed with As, the one key that by design
|
|
32
36
|
// never reaches the node, so this is the single step of the flow that has to run in the consumer's
|
|
33
37
|
// process. Nothing in src/ calls it and nothing ever can, which is exactly why it belongs on the
|
|
@@ -40,5 +44,6 @@ export const nativeFunctions = PKC.nativeFunctions;
|
|
|
40
44
|
export const getShortCid = PKC.getShortCid;
|
|
41
45
|
export const getShortAddress = PKC.getShortAddress;
|
|
42
46
|
export const challenges = PKC.challenges;
|
|
47
|
+
export const pageSorts = PKC.pageSorts;
|
|
43
48
|
export const createAnchorIpnsRecord = PKC.createAnchorIpnsRecord;
|
|
44
49
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC;AAC5B,OAAO,QAAQ,MAAM,4BAA4B,CAAC;AAClD,QAAQ,EAAE,CAAC;AACX,OAAO,KAAK,QAAQ,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,kBAAkB,IAAI,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,mBAAmB,MAAM,oCAAoC,CAAC;AACrE,OAAO,sBAAsB,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,sBAAsB,IAAI,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAEpG,MAAM,GAAG,GAAG,KAAK,UAAU,GAAG,CAAC,aAA8B,EAAE;IAC3D,MAAM,GAAG,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9G,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;IAClB,OAAO,GAAG,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,MAA0B,EAAE,EAAE;IACxD,MAAM,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAC/C,OAAO,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC,CAAC;AACF,MAAM,gBAAgB,GAAG,CAAC,MAAmB,EAAE,EAAE;IAC7C,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,GAAG,CAAC,kBAAkB,GAAG,sBAAsB,CAAC;AAChD,GAAG,CAAC,eAAe,GAAG,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC;AACrF,GAAG,CAAC,WAAW,GAAG,gBAAgB,CAAC;AACnC,GAAG,CAAC,eAAe,GAAG,oBAAoB,CAAC;AAC3C,GAAG,CAAC,UAAU,GAAG,eAAe,CAAC;AACjC,oGAAoG;AACpG,mGAAmG;AACnG,iGAAiG;AACjG,iGAAiG;AACjG,qGAAqG;AACrG,GAAG,CAAC,sBAAsB,GAAG,4BAA4B,CAAC;AAC1D,eAAe,GAAG,CAAC;AACnB,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC,kBAAkB,CAAC;AACzD,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC;AACnD,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;AAC3C,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC;AACnD,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;AACzC,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC;AAC5B,OAAO,QAAQ,MAAM,4BAA4B,CAAC;AAClD,QAAQ,EAAE,CAAC;AACX,OAAO,KAAK,QAAQ,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,kBAAkB,IAAI,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,mBAAmB,MAAM,oCAAoC,CAAC;AACrE,OAAO,sBAAsB,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,sBAAsB,IAAI,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAEpG,MAAM,GAAG,GAAG,KAAK,UAAU,GAAG,CAAC,aAA8B,EAAE;IAC3D,MAAM,GAAG,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9G,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;IAClB,OAAO,GAAG,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,MAA0B,EAAE,EAAE;IACxD,MAAM,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAC/C,OAAO,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC,CAAC;AACF,MAAM,gBAAgB,GAAG,CAAC,MAAmB,EAAE,EAAE;IAC7C,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,GAAG,CAAC,kBAAkB,GAAG,sBAAsB,CAAC;AAChD,GAAG,CAAC,eAAe,GAAG,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC;AACrF,GAAG,CAAC,WAAW,GAAG,gBAAgB,CAAC;AACnC,GAAG,CAAC,eAAe,GAAG,oBAAoB,CAAC;AAC3C,GAAG,CAAC,UAAU,GAAG,eAAe,CAAC;AACjC,gHAAgH;AAChH,yHAAyH;AACzH,GAAG,CAAC,SAAS,GAAG,cAAc,CAAC;AAC/B,oGAAoG;AACpG,mGAAmG;AACnG,iGAAiG;AACjG,iGAAiG;AACjG,qGAAqG;AACrG,GAAG,CAAC,sBAAsB,GAAG,4BAA4B,CAAC;AAC1D,eAAe,GAAG,CAAC;AACnB,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC,kBAAkB,CAAC;AACzD,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC;AACnD,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;AAC3C,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC;AACnD,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;AACzC,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;AACvC,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC,sBAAsB,CAAC"}
|
package/dist/browser/logger.js
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import BaseLogger from "@pkcprotocol/pkc-logger";
|
|
2
|
+
// One logger per namespace: BaseLogger builds six debug instances per call (each probing the tty), and the hot paths
|
|
3
|
+
// of the community's update cycle ask for a logger per comment (issue #351). Namespaces are static strings, so the
|
|
4
|
+
// map stays small; enable/disable still apply, since a debug instance's `enabled` is evaluated on each log call.
|
|
5
|
+
const loggers = new Map();
|
|
2
6
|
function Logger(namespace) {
|
|
3
|
-
|
|
7
|
+
let logger = loggers.get(namespace);
|
|
8
|
+
if (!logger) {
|
|
9
|
+
logger = BaseLogger(namespace);
|
|
10
|
+
loggers.set(namespace, logger);
|
|
11
|
+
}
|
|
12
|
+
return logger;
|
|
4
13
|
}
|
|
5
14
|
(function (Logger) {
|
|
6
15
|
Logger.disable = () => BaseLogger.disable();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,yBAAyB,CAAC;AAQjD,SAAS,MAAM,CAAC,SAAiB;IAC7B,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,yBAAyB,CAAC;AAQjD,qHAAqH;AACrH,mHAAmH;AACnH,iHAAiH;AACjH,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;AAE1C,SAAS,MAAM,CAAC,SAAiB;IAC7B,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,WAAU,MAAM;IACC,cAAO,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IACrC,aAAM,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC/D,cAAO,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAClF,CAAC,EAJS,MAAM,KAAN,MAAM,QAIf;AAED,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Keys that must never come from the wire into a plain-object map. This module MUST stay dependency-free: it is
|
|
2
|
+
// imported by zod schema modules (see src/domain-util.ts for why a schema module cannot import src/util.ts).
|
|
3
|
+
//
|
|
4
|
+
// Sort names are map keys on the client (`pages.clients[...][sortName]`, `pages.pages[sortName]`), so a record that
|
|
5
|
+
// names a sort `__proto__` would write through Object.prototype, and `constructor`/`prototype` resolve to inherited
|
|
6
|
+
// values instead of own entries. zod drops an own `__proto__` key without visiting it, so a key refine alone does not
|
|
7
|
+
// see it; the pages client manager skips these keys as well.
|
|
8
|
+
export const RESERVED_OBJECT_KEYS = new Set(["__proto__", "constructor", "prototype"]);
|
|
9
|
+
export function isReservedObjectKey(key) {
|
|
10
|
+
return RESERVED_OBJECT_KEYS.has(key);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=object-key-util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object-key-util.js","sourceRoot":"","sources":["../../src/object-key-util.ts"],"names":[],"mappings":"AAAA,gHAAgH;AAChH,6GAA6G;AAC7G,EAAE;AACF,oHAAoH;AACpH,oHAAoH;AACpH,sHAAsH;AACtH,6DAA6D;AAC7D,MAAM,CAAC,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;AAE5G,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC3C,OAAO,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { PageSortExclusionOptionName } from "./types.js";
|
|
2
|
+
import type { PageSortScope } from "../community/types.js";
|
|
3
|
+
export declare const MAX_AGE_UNIT_SECONDS: Record<string, number>;
|
|
4
|
+
export declare function parseMaxAgeToSeconds(raw: string): number | undefined;
|
|
5
|
+
export declare const PAGE_SORT_EXCLUSION_OPTION_NAMES: readonly PageSortExclusionOptionName[];
|
|
6
|
+
export declare const RESERVED_PAGE_SORT_OPTION_NAMES: readonly string[];
|
|
7
|
+
export declare const DEFAULT_RESERVED_OPTIONS: Record<PageSortScope, Record<PageSortExclusionOptionName | "pinnedFirst", "true" | "false">>;
|
|
8
|
+
export declare function parseBooleanOption(raw: string | undefined): boolean | undefined;
|
|
9
|
+
export type ParsedReservedPageSortOptions = {
|
|
10
|
+
maxAgeSeconds?: number;
|
|
11
|
+
pinnedFirst: boolean;
|
|
12
|
+
exclusions: Record<PageSortExclusionOptionName, boolean>;
|
|
13
|
+
};
|
|
14
|
+
export declare function parseReservedPageSortOptions(options: Record<string, string>): ParsedReservedPageSortOptions;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { PKCError } from "../pkc-error.js";
|
|
2
|
+
// The options pkc-js itself reads off every settings.pages[] entry (the "reserved options", issue #73). They are
|
|
3
|
+
// ordinary string options (a config UI renders them like any other) and are passed through to the sort file
|
|
4
|
+
// unstripped, so a file can read the window it runs in; the exclusions themselves are applied by pkc-js, to the
|
|
5
|
+
// comment set and to the `replies` a file receives. Browser-safe: a client re-sorting a page locally reads the same
|
|
6
|
+
// options out of community.pageSorts[sortName].publicOptions (docs/protocol/page-sorts.md, "Client side").
|
|
7
|
+
// `M` and `y` reproduce the windows the legacy topMonth / topYear sorts have always used (TIMEFRAMES_TO_SECONDS),
|
|
8
|
+
// so the built-in files produce the same pages as before.
|
|
9
|
+
export const MAX_AGE_UNIT_SECONDS = Object.freeze({
|
|
10
|
+
s: 1,
|
|
11
|
+
m: 60,
|
|
12
|
+
h: 3600,
|
|
13
|
+
d: 86400,
|
|
14
|
+
w: 604800,
|
|
15
|
+
M: 2629746, // average seconds in a month (60 * 60 * 24 * 30.436875)
|
|
16
|
+
y: 31557600 // seconds in a year including leap years (60 * 60 * 24 * 365.25)
|
|
17
|
+
});
|
|
18
|
+
const MAX_AGE_REGEX = /^(\d+(?:\.\d+)?)\s*([smhdwMy])$/;
|
|
19
|
+
export function parseMaxAgeToSeconds(raw) {
|
|
20
|
+
const match = MAX_AGE_REGEX.exec(raw.trim());
|
|
21
|
+
if (!match)
|
|
22
|
+
return undefined;
|
|
23
|
+
const seconds = Number(match[1]) * MAX_AGE_UNIT_SECONDS[match[2]];
|
|
24
|
+
return Number.isFinite(seconds) && seconds > 0 ? seconds : undefined;
|
|
25
|
+
}
|
|
26
|
+
export const PAGE_SORT_EXCLUSION_OPTION_NAMES = Object.freeze([
|
|
27
|
+
"excludeRemovedComments",
|
|
28
|
+
"excludeDeletedComments",
|
|
29
|
+
"excludeCommentPendingApproval",
|
|
30
|
+
"excludeCommentWithApprovedFalse",
|
|
31
|
+
"excludeCommentsWithDifferentCommunityAddress"
|
|
32
|
+
]);
|
|
33
|
+
export const RESERVED_PAGE_SORT_OPTION_NAMES = Object.freeze([
|
|
34
|
+
"maxAge",
|
|
35
|
+
"pinnedFirst",
|
|
36
|
+
...PAGE_SORT_EXCLUSION_OPTION_NAMES
|
|
37
|
+
]);
|
|
38
|
+
// What every sort runs with unless the file's defaultOptions or the entry's options say otherwise: the exclusions
|
|
39
|
+
// the generator has always applied per scope (docs/protocol/pages.md, "Moderation Visibility": the posts feed hides
|
|
40
|
+
// moderated comments, reply pages keep removed and deleted ones so clients can render tombstones) and pinned
|
|
41
|
+
// placement. The full merged set is published per sort in community.pageSorts, so a client never has to know these.
|
|
42
|
+
export const DEFAULT_RESERVED_OPTIONS = Object.freeze({
|
|
43
|
+
posts: {
|
|
44
|
+
pinnedFirst: "true",
|
|
45
|
+
excludeRemovedComments: "true",
|
|
46
|
+
excludeDeletedComments: "true",
|
|
47
|
+
excludeCommentPendingApproval: "true",
|
|
48
|
+
excludeCommentWithApprovedFalse: "true",
|
|
49
|
+
excludeCommentsWithDifferentCommunityAddress: "true"
|
|
50
|
+
},
|
|
51
|
+
replies: {
|
|
52
|
+
pinnedFirst: "true",
|
|
53
|
+
excludeRemovedComments: "false",
|
|
54
|
+
excludeDeletedComments: "false",
|
|
55
|
+
excludeCommentPendingApproval: "true",
|
|
56
|
+
excludeCommentWithApprovedFalse: "false",
|
|
57
|
+
excludeCommentsWithDifferentCommunityAddress: "true"
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
export function parseBooleanOption(raw) {
|
|
61
|
+
if (raw === undefined)
|
|
62
|
+
return undefined;
|
|
63
|
+
const normalized = raw.trim().toLowerCase();
|
|
64
|
+
if (normalized === "true")
|
|
65
|
+
return true;
|
|
66
|
+
if (normalized === "false")
|
|
67
|
+
return false;
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
// Parse the reserved keys out of an already-merged option record. Throws ERR_PAGE_SORT_INVALID_RESERVED_OPTION
|
|
71
|
+
// with the offending key so the edit path can reject the entry before anything is persisted.
|
|
72
|
+
export function parseReservedPageSortOptions(options) {
|
|
73
|
+
const invalid = (option) => new PKCError("ERR_PAGE_SORT_INVALID_RESERVED_OPTION", { option, value: options[option] });
|
|
74
|
+
let maxAgeSeconds;
|
|
75
|
+
if (options.maxAge !== undefined) {
|
|
76
|
+
maxAgeSeconds = parseMaxAgeToSeconds(options.maxAge);
|
|
77
|
+
if (maxAgeSeconds === undefined)
|
|
78
|
+
throw invalid("maxAge");
|
|
79
|
+
}
|
|
80
|
+
const pinnedFirst = parseBooleanOption(options.pinnedFirst ?? "true");
|
|
81
|
+
if (pinnedFirst === undefined)
|
|
82
|
+
throw invalid("pinnedFirst");
|
|
83
|
+
const exclusions = {};
|
|
84
|
+
for (const name of PAGE_SORT_EXCLUSION_OPTION_NAMES) {
|
|
85
|
+
const parsed = parseBooleanOption(options[name] ?? "false");
|
|
86
|
+
if (parsed === undefined)
|
|
87
|
+
throw invalid(name);
|
|
88
|
+
exclusions[name] = parsed;
|
|
89
|
+
}
|
|
90
|
+
return { maxAgeSeconds, pinnedFirst, exclusions };
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=page-sort-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-sort-options.js","sourceRoot":"","sources":["../../../src/pages/page-sort-options.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { ParsedReservedPageSortOptions } from "./page-sort-options.js";
|
|
2
|
+
import type { PageSortFile } from "../community/types.js";
|
|
3
|
+
import type { PageIpfs, PageSortExclusionOptionName, PageSortReplyEntry } from "./types.js";
|
|
4
|
+
type PageComment = PageIpfs["comments"][number];
|
|
5
|
+
export declare function validatePageSortFile(rawFile: unknown): PageSortFile;
|
|
6
|
+
export declare function applyPageSortExclusions<T extends PageSortReplyEntry>({ comments, exclusions, communityAddress }: {
|
|
7
|
+
comments: T[];
|
|
8
|
+
exclusions: Record<PageSortExclusionOptionName, boolean>;
|
|
9
|
+
communityAddress?: string;
|
|
10
|
+
}): T[];
|
|
11
|
+
export declare function partitionPageCommentsForSort({ comments, reserved, baseTimestamp }: {
|
|
12
|
+
comments: PageComment[];
|
|
13
|
+
reserved: Pick<ParsedReservedPageSortOptions, "pinnedFirst" | "maxAgeSeconds">;
|
|
14
|
+
baseTimestamp: number;
|
|
15
|
+
}): {
|
|
16
|
+
pinned: PageComment[];
|
|
17
|
+
unpinned: PageComment[];
|
|
18
|
+
};
|
|
19
|
+
export declare function orderPageCommentsByScore({ pinned, unpinned, scoreOf, sortName }: {
|
|
20
|
+
pinned: PageComment[];
|
|
21
|
+
unpinned: PageComment[];
|
|
22
|
+
scoreOf: (entry: PageComment) => number | null | undefined;
|
|
23
|
+
sortName: string;
|
|
24
|
+
}): PageComment[];
|
|
25
|
+
export declare function stripRepliesFromPageComment<T extends PageSortReplyEntry>(entry: T): T;
|
|
26
|
+
export declare function createDescendantsLookup(replies: PageSortReplyEntry[]): (cid: string) => PageSortReplyEntry[];
|
|
27
|
+
export declare function scorePageCommentsWithFile({ file, options, baseTimestamp, replies, stripEntry, descendantsOf: descendantsOfOverride }: {
|
|
28
|
+
file: PageSortFile;
|
|
29
|
+
options: Record<string, string>;
|
|
30
|
+
baseTimestamp: number;
|
|
31
|
+
replies?: PageSortReplyEntry[];
|
|
32
|
+
stripEntry?: (entry: PageComment) => PageComment;
|
|
33
|
+
descendantsOf?: (cid: string) => PageSortReplyEntry[];
|
|
34
|
+
}): (entry: PageComment) => number | null;
|
|
35
|
+
export {};
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { PageSortFileSchema } from "../community/schema.js";
|
|
2
|
+
import { getEquivalentCommunityAddresses } from "../util.js";
|
|
3
|
+
// Validate what a factory returned, once, and hand back the file with its own functions rather than the schema's
|
|
4
|
+
// per-call wrappers: `score` runs once per comment per sort, and the wrapper re-validated its argument object (the
|
|
5
|
+
// whole `replies` list included, for a requireReplies file) on every call (issue #351). The generator checks the
|
|
6
|
+
// score's type itself.
|
|
7
|
+
export function validatePageSortFile(rawFile) {
|
|
8
|
+
const validated = PageSortFileSchema.parse(rawFile);
|
|
9
|
+
const raw = rawFile;
|
|
10
|
+
return {
|
|
11
|
+
...validated,
|
|
12
|
+
score: raw.score,
|
|
13
|
+
...(raw.validatePageSortSettings ? { validatePageSortSettings: raw.validatePageSortSettings } : {})
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
// The reserved exclusions applied to page entries in JS (the `replies` a requireReplies file receives). Mirrors the SQL clauses in DbHandler
|
|
17
|
+
// (exclusionClauses): a comment is removed when commentUpdate.removed is true, deleted when its author's edit says so,
|
|
18
|
+
// disapproved when commentUpdate.approved is false, pending when commentUpdate.pendingApproval is true.
|
|
19
|
+
export function applyPageSortExclusions({ comments, exclusions, communityAddress }) {
|
|
20
|
+
const equivalentAddresses = communityAddress ? new Set(getEquivalentCommunityAddresses(communityAddress)) : undefined;
|
|
21
|
+
return comments.filter(({ comment, commentUpdate }) => {
|
|
22
|
+
if (exclusions.excludeRemovedComments && commentUpdate.removed === true)
|
|
23
|
+
return false;
|
|
24
|
+
if (exclusions.excludeDeletedComments && commentUpdate.edit?.deleted === true)
|
|
25
|
+
return false;
|
|
26
|
+
if (exclusions.excludeCommentWithApprovedFalse && commentUpdate.approved === false)
|
|
27
|
+
return false;
|
|
28
|
+
if (exclusions.excludeCommentPendingApproval && commentUpdate.pendingApproval === true)
|
|
29
|
+
return false;
|
|
30
|
+
if (exclusions.excludeCommentsWithDifferentCommunityAddress && equivalentAddresses) {
|
|
31
|
+
const belongs = (comment.communityPublicKey ? equivalentAddresses.has(comment.communityPublicKey) : false) ||
|
|
32
|
+
(comment.communityName ? equivalentAddresses.has(comment.communityName) : false);
|
|
33
|
+
if (!belongs)
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
return true;
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
// Pinned placement and the maxAge window, the two reserved options that shape every sort's set and order. Pinned
|
|
40
|
+
// comments sort first and bypass the window when pinnedFirst is on (the default), so a sticky never ages out of a
|
|
41
|
+
// windowed index; with pinnedFirst off they are ordinary comments. Shared with the community's page generator.
|
|
42
|
+
export function partitionPageCommentsForSort({ comments, reserved, baseTimestamp }) {
|
|
43
|
+
const pinned = reserved.pinnedFirst ? comments.filter((entry) => entry.commentUpdate.pinned === true) : [];
|
|
44
|
+
let unpinned = reserved.pinnedFirst ? comments.filter((entry) => entry.commentUpdate.pinned !== true) : comments;
|
|
45
|
+
if (typeof reserved.maxAgeSeconds === "number") {
|
|
46
|
+
const timestampLower = baseTimestamp - reserved.maxAgeSeconds;
|
|
47
|
+
unpinned = unpinned.filter((entry) => entry.comment.timestamp >= timestampLower);
|
|
48
|
+
}
|
|
49
|
+
return { pinned, unpinned };
|
|
50
|
+
}
|
|
51
|
+
// Order pinned then unpinned by descending score. `null` declines the comment from this sort, pinned or not. A
|
|
52
|
+
// missing or non-numeric score is a bug in the sort file. Equal scores keep the input order (a stable sort), which is
|
|
53
|
+
// the community's insertion order at generation and the page's order on a client.
|
|
54
|
+
export function orderPageCommentsByScore({ pinned, unpinned, scoreOf, sortName }) {
|
|
55
|
+
const kept = (entries) => {
|
|
56
|
+
const scored = [];
|
|
57
|
+
for (const entry of entries) {
|
|
58
|
+
const score = scoreOf(entry);
|
|
59
|
+
if (score === null)
|
|
60
|
+
continue;
|
|
61
|
+
if (typeof score !== "number" || Number.isNaN(score))
|
|
62
|
+
throw Error(`Page sort ${sortName} returned no numeric score for comment ${entry.commentUpdate.cid}`);
|
|
63
|
+
scored.push({ entry, score });
|
|
64
|
+
}
|
|
65
|
+
return scored.sort((a, b) => b.score - a.score).map(({ entry }) => entry); // Array.prototype.sort is stable
|
|
66
|
+
};
|
|
67
|
+
return kept(pinned).concat(kept(unpinned));
|
|
68
|
+
}
|
|
69
|
+
// What `score` receives: the entry with the CommentUpdate's nested `replies` stripped, so a file cannot mistake the
|
|
70
|
+
// preloaded slice for the reply set (docs/protocol/page-sorts.md, "Writing a page sort file").
|
|
71
|
+
export function stripRepliesFromPageComment(entry) {
|
|
72
|
+
if (!("replies" in entry.commentUpdate))
|
|
73
|
+
return entry;
|
|
74
|
+
const { replies: _replies, ...commentUpdate } = entry.commentUpdate;
|
|
75
|
+
return { comment: entry.comment, commentUpdate };
|
|
76
|
+
}
|
|
77
|
+
// The `replies` a file with requireReplies gets per scored comment: its descendants, out of one flat list of every
|
|
78
|
+
// descendant of the page's comments (the community loads the scope's descendants once; a client passes what it
|
|
79
|
+
// walked). Indexed by parentCid, so a reply on a reply page gets its own subtree and a post gets everything under it;
|
|
80
|
+
// a node whose parent was excluded is unreachable, the same cut the community's exclusions make.
|
|
81
|
+
export function createDescendantsLookup(replies) {
|
|
82
|
+
const childrenByParent = new Map();
|
|
83
|
+
for (const entry of replies) {
|
|
84
|
+
const stripped = stripRepliesFromPageComment(entry);
|
|
85
|
+
const parentCid = stripped.comment.parentCid;
|
|
86
|
+
if (!parentCid)
|
|
87
|
+
continue;
|
|
88
|
+
const siblings = childrenByParent.get(parentCid);
|
|
89
|
+
if (siblings)
|
|
90
|
+
siblings.push(stripped);
|
|
91
|
+
else
|
|
92
|
+
childrenByParent.set(parentCid, [stripped]);
|
|
93
|
+
}
|
|
94
|
+
return (cid) => {
|
|
95
|
+
const collected = [];
|
|
96
|
+
const stack = [cid];
|
|
97
|
+
while (stack.length) {
|
|
98
|
+
const children = childrenByParent.get(stack.pop());
|
|
99
|
+
if (!children)
|
|
100
|
+
continue;
|
|
101
|
+
for (const child of children) {
|
|
102
|
+
collected.push(child);
|
|
103
|
+
stack.push(child.commentUpdate.cid);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return collected;
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
// Score every entry the way both the community and a client do: the stripped entry, plus its descendants when the
|
|
110
|
+
// file asks for them. `replies` is required here only when the file requires it.
|
|
111
|
+
export function scorePageCommentsWithFile({ file, options, baseTimestamp, replies, stripEntry = stripRepliesFromPageComment, descendantsOf: descendantsOfOverride }) {
|
|
112
|
+
const descendantsOf = file.requireReplies ? descendantsOfOverride ?? createDescendantsLookup(replies ?? []) : undefined;
|
|
113
|
+
return (entry) => {
|
|
114
|
+
const { comment, commentUpdate } = stripEntry(entry);
|
|
115
|
+
return file.score({
|
|
116
|
+
comment,
|
|
117
|
+
commentUpdate,
|
|
118
|
+
options,
|
|
119
|
+
baseTimestamp,
|
|
120
|
+
...(descendantsOf ? { replies: descendantsOf(commentUpdate.cid) } : {})
|
|
121
|
+
});
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=page-sort-scoring.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-sort-scoring.js","sourceRoot":"","sources":["../../../src/pages/page-sort-scoring.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,7 @@ export declare class BasePagesClientsManager extends BaseClientsManager {
|
|
|
33
33
|
pages: BasePagesClientsManager["_pages"];
|
|
34
34
|
pkc: PKC;
|
|
35
35
|
});
|
|
36
|
+
private _indexableSortTypes;
|
|
36
37
|
protected _updateIpfsGatewayClientStates(sortTypes: string[]): void;
|
|
37
38
|
protected _updateKuboRpcClientStates(sortTypes: string[]): void;
|
|
38
39
|
protected _updateLibp2pJsClientStates(sortTypes: string[]): void;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { BaseClientsManager } from "../clients/base-client-manager.js";
|
|
2
|
+
import { isReservedObjectKey } from "../object-key-util.js";
|
|
2
3
|
import { isEmpty, keys, unique } from "remeda";
|
|
3
4
|
import Logger from "../logger.js";
|
|
4
5
|
import { POSTS_SORT_TYPES, POST_REPLIES_SORT_TYPES } from "./util.js";
|
|
@@ -21,10 +22,16 @@ export class BasePagesClientsManager extends BaseClientsManager {
|
|
|
21
22
|
hideClassPrivateProps(this);
|
|
22
23
|
}
|
|
23
24
|
// Init functions here
|
|
25
|
+
// The per-sort client maps are plain objects keyed by whatever sort names a record carries, and the record is kept
|
|
26
|
+
// as parsed JSON (zod drops an own `__proto__` key without rejecting it). A reserved key would write through
|
|
27
|
+
// Object.prototype or an inherited value, so it is skipped: no page is ever fetched under such a name.
|
|
28
|
+
_indexableSortTypes(sortTypes) {
|
|
29
|
+
return sortTypes.filter((sortType) => !isReservedObjectKey(sortType));
|
|
30
|
+
}
|
|
24
31
|
_updateIpfsGatewayClientStates(sortTypes) {
|
|
25
32
|
if (!this.clients.ipfsGateways)
|
|
26
33
|
this.clients.ipfsGateways = {};
|
|
27
|
-
for (const sortType of sortTypes) {
|
|
34
|
+
for (const sortType of this._indexableSortTypes(sortTypes)) {
|
|
28
35
|
if (!this.clients.ipfsGateways[sortType])
|
|
29
36
|
this.clients.ipfsGateways[sortType] = {};
|
|
30
37
|
for (const gatewayUrl of keys(this._pkc.clients.ipfsGateways))
|
|
@@ -35,7 +42,7 @@ export class BasePagesClientsManager extends BaseClientsManager {
|
|
|
35
42
|
_updateKuboRpcClientStates(sortTypes) {
|
|
36
43
|
if (this._pkc.clients.kuboRpcClients && !this.clients.kuboRpcClients)
|
|
37
44
|
this.clients.kuboRpcClients = {};
|
|
38
|
-
for (const sortType of sortTypes) {
|
|
45
|
+
for (const sortType of this._indexableSortTypes(sortTypes)) {
|
|
39
46
|
if (!this.clients.kuboRpcClients[sortType])
|
|
40
47
|
this.clients.kuboRpcClients[sortType] = {};
|
|
41
48
|
for (const kuboRpcUrl of keys(this._pkc.clients.kuboRpcClients))
|
|
@@ -46,7 +53,7 @@ export class BasePagesClientsManager extends BaseClientsManager {
|
|
|
46
53
|
_updateLibp2pJsClientStates(sortTypes) {
|
|
47
54
|
if (this._pkc.clients.libp2pJsClients && !this.clients.libp2pJsClients)
|
|
48
55
|
this.clients.libp2pJsClients = {};
|
|
49
|
-
for (const sortType of sortTypes) {
|
|
56
|
+
for (const sortType of this._indexableSortTypes(sortTypes)) {
|
|
50
57
|
if (!this.clients.libp2pJsClients[sortType])
|
|
51
58
|
this.clients.libp2pJsClients[sortType] = {};
|
|
52
59
|
for (const libp2pJsClientKey of keys(this._pkc.clients.libp2pJsClients))
|
|
@@ -57,7 +64,7 @@ export class BasePagesClientsManager extends BaseClientsManager {
|
|
|
57
64
|
_updatePKCRpcClientStates(sortTypes) {
|
|
58
65
|
if (this._pkc.clients.pkcRpcClients && !this.clients.pkcRpcClients)
|
|
59
66
|
this.clients.pkcRpcClients = {};
|
|
60
|
-
for (const sortType of sortTypes) {
|
|
67
|
+
for (const sortType of this._indexableSortTypes(sortTypes)) {
|
|
61
68
|
if (!this.clients.pkcRpcClients[sortType])
|
|
62
69
|
this.clients.pkcRpcClients[sortType] = {};
|
|
63
70
|
for (const rpcUrl of keys(this._pkc.clients.pkcRpcClients))
|
|
@@ -94,11 +101,16 @@ export class BasePagesClientsManager extends BaseClientsManager {
|
|
|
94
101
|
}
|
|
95
102
|
updatePageCidsToSortTypes(newPageCids) {
|
|
96
103
|
for (const [sortType, pageCid] of Object.entries(newPageCids)) {
|
|
104
|
+
if (isReservedObjectKey(sortType))
|
|
105
|
+
continue;
|
|
97
106
|
this._updatePageCidsSortCache(pageCid, [sortType]);
|
|
98
107
|
}
|
|
108
|
+
// A community may publish pageCids under any sort name its page-sort packages declare (settings.pages, #73),
|
|
109
|
+
// so every transport's state is seeded for the discovered keys, not only the built-in sort names (#348)
|
|
99
110
|
this._updateIpfsGatewayClientStates(Object.keys(newPageCids));
|
|
100
111
|
this._updateKuboRpcClientStates(Object.keys(newPageCids));
|
|
101
112
|
this._updatePKCRpcClientStates(Object.keys(newPageCids));
|
|
113
|
+
this._updateLibp2pJsClientStates(Object.keys(newPageCids));
|
|
102
114
|
}
|
|
103
115
|
_calculatePageMaxSizeCacheKey(pageCid) {
|
|
104
116
|
return sha256((this._pages._community.name || this._pages._community.publicKey) + pageCid);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages-client-manager.js","sourceRoot":"","sources":["../../../src/pages/pages-client-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAA4B,MAAM,mCAAmC,CAAC;AAEjG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,MAAM,MAAM,cAAc,CAAC;AAElC,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAA0B,MAAM,WAAW,CAAC;AAC9F,OAAO,EACH,4BAA4B,EAC5B,gDAAgD,EAChD,wCAAwC,EAC3C,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAE9E,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAG7H,MAAM,OAAO,uBAAwB,SAAQ,kBAAkB;IAU3D,YAAY,IAA4D;QACpE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,kBAAkB;QAClB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAEtD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ;YAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7E,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,sBAAsB;IACZ,8BAA8B,CAAC,SAAmB;QACxD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;YAAE,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,EAAE,CAAC;QAC/D,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC;gBAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YACnF,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;gBACzD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC;oBAChD,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,sBAAsB,CAAC,SAAS,CAAC,CAAC;QACpG,CAAC;IACL,CAAC;IAES,0BAA0B,CAAC,SAAmB;QACpD,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc;YAAE,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,EAAE,CAAC;QACvG,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC;gBAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YACvF,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;gBAC3D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC;oBAClD,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAClG,CAAC;IACL,CAAC;IAES,2BAA2B,CAAC,SAAmB;QACrD,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe;YAAE,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1G,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC;gBAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YACzF,KAAK,MAAM,iBAAiB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;gBACnE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC;oBAC1D,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,GAAG,IAAI,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC3G,CAAC;IACL,CAAC;IAES,yBAAyB,CAAC,SAAmB;QACnD,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;YAAE,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,EAAE,CAAC;QACpG,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC;gBAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YACrF,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;gBACtD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;oBAC7C,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,sBAAsB,CAAC,SAAS,CAAC,CAAC;QACjG,CAAC;IACL,CAAC;IAED,gDAAgD;IAEvC,eAAe,CAAC,UAAkB,EAAE,QAAkC;QAC3E,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEnE,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IACpE,CAAC;IAEQ,uBAAuB,CAAC,UAAkB,EAAE,QAAkC;QACnF,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEnE,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC;IAEQ,uBAAuB,CAAC,UAAkB,EAAE,QAAkC;QACnF,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;IAEQ,uBAAuB,CAAC,UAAkB,EAAE,QAAkC;QACnF,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,wBAAwB,CAAC,OAAe,EAAE,SAAmB;QACzD,MAAM,YAAY,GAAyB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChG,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACJ,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;YAC7D,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACvE,CAAC;IACL,CAAC;IAED,yBAAyB,CAAC,WAAkC;QACxD,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC7D,CAAC;IAEO,6BAA6B,CAAC,OAAe;QACjD,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC;IAC/F,CAAC;IAED,uBAAuB,CAAC,WAAqB,EAAE,gBAAwB;QACnE,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CACpC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,CACvG,CAAC;IACN,CAAC;IAED,4CAA4C,CAAC,WAAmB,EAAE,eAAuB;QACrF,MAAM,SAAS,GAAyB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACrG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YAAE,OAAO;QACtC,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;IAED,kBAAkB,CAAC,QAAqC,EAAE,gBAAwB,EAAE,SAA+B;QAC/G,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YAAE,OAAO;QACtC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,KAAK,KAAK,QAAQ;gBAAE,SAAS;YACzF,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC;YACzE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC1F,CAAC;IACL,CAAC;IAED,yBAAyB,CACrB,QAAsC,EACtC,iBAA0D,EAC1D,SAA+B;QAE/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YAAE,OAAO;QACtC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,KAAK,KAAK,QAAQ;gBAAE,SAAS;YAC3F,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC;YAC3E,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC5F,CAAC;IACL,CAAC;IAED,kBAAkB,CAAC,QAAyC,EAAE,OAAe,EAAE,SAA+B;QAC1G,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YAAE,OAAO;QACtC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;gBAAE,SAAS;YAC9E,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC;YAC9D,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC/E,CAAC;IACL,CAAC;IAED,cAAc,CAAC,QAAyC,EAAE,MAAc,EAAE,SAA+B;QACrG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YAAE,OAAO;QACtC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,QAAQ;gBAAE,SAAS;YAC9E,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC;YAC9D,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC/E,CAAC;IACL,CAAC;IAED,gCAAgC,CAC5B,QAAoE,EACpE,cAAoG,EACpG,SAA+B;QAE/B,IAAI,QAAQ,IAAI,cAAc;YAAE,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,cAAc,CAAC,uBAAuB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;;YAC3H,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC1E,CAAC;IAES,YAAY;QAClB,MAAM,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACzC,CAAC;IAES,KAAK,CAAC,mBAAmB,CAAC,IAKnC;QACG,MAAM,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACzC,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,IAK/B;QACG,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAqB,CAAC,CAAC,CAAC,CAAC;QAEzD,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,IAAI,CAAC,OAAO,aAAa,CAAC,CAAC;QAChE,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAEpE,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4BAA4B,IAAI,CAAC,OAAO,0BAA0B,EAAE,CAAC,CAAC,CAAC;YACtF,MAAM,CAAC,CAAC;QACZ,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAClE,CAAC;IACL,CAAC;IAES,aAAa,CAAC,IAAa;QACjC,6CAA6C;QAC7C,OAAO,wCAAwC,CAAC,IAAW,CAAC,CAAC;IACjE,CAAC;IAEO,KAAK,CAAC,4BAA4B,CAAC,IAM1C;QACG,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QACnE,MAAM,WAAW,GAAG,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAC1D,IAAI,CAAC,gCAAgC,CAAC,eAAe,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QAC/E,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAC9C,GAAG,EAAE,CACD,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;gBACvB,gBAAgB,EAAE,WAAW;gBAC7B,SAAS,EAAE,aAAa;gBACxB,WAAW;gBACX,sCAAsC,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe;aACjF,CAAC,EACN,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,OAAO,EAAE,EAAE,WAAW,EAAE,CACnD,CAAC;YACF,OAAO,IAAI,CAAC,aAAa,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAa,CAAC;QACjF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,kBAAkB;YAClB,CAAC,CAAC,OAAO,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;YAC9D,GAAG,CAAC,KAAK,CAAC,6BAA6B,OAAO,iBAAiB,EAAE,CAAC,CAAC,CAAC;YACpE,MAAM,CAAC,CAAC;QACZ,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,gCAAgC,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QAC7E,CAAC;IACL,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,IAK5B;QACG,+HAA+H;QAC/H,mDAAmD;QACnD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC;YAC7C,IAAI,EAAE,IAAI,CAAC,OAAO;YAClB,cAAc,EAAE,MAAM;YACtB,aAAa,EAAE,WAAW;YAC1B,2BAA2B,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;YAC3C,gBAAgB,EAAE,IAAI,CAAC,WAAW;YAClC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;YAC3C,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,WAAW,EAAE,IAAI,CAAC,WAAW;SAChC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,4BAA4B,CAAC,GAAG,CAAC,OAAO,CAAC,CAAa,CAAC;QAE3F,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAIf;QACG,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QACzB,MAAM,GAAG,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAC3C,MAAM,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,OAAO,CAAC,CAAC;QAC1H,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,qBAAqB,GAAyB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEzG,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3G,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW;YAChC,CAAC,CAAC,IAAI,CAAC,WAAW;YAClB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAAC;gBAClF,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAAC;gBACpF,CAAC,CAAC,WAAW;oBACX,CAAC,CAAC,IAAI,GAAG,IAAI;oBACb,CAAC,CAAC,SAAS,CAAC;QACpB,IAAI,CAAC,WAAW;YAAE,MAAM,KAAK,CAAC,0FAA0F,CAAC,CAAC;QAE1H,gGAAgG;QAChG,wFAAwF;QACxF,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACzD,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAoB,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9F,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpF,yBAAyB,CAAC,cAAc,CAAC,CAAC;QAE1C,IAAI,MAAgF,CAAC;QACrF,IAAI,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC1B,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,qBAAqB,EAAE,WAAW,EAAE,CAAC,CAAC;YAC3G,CAAC;iBAAM,IACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC;gBACxD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC;gBAEzD,MAAM,GAAG;oBACL,IAAI,EAAE,MAAM,IAAI,CAAC,4BAA4B,CAAC;wBAC1C,OAAO;wBACP,GAAG;wBACH,SAAS,EAAE,qBAAqB;wBAChC,WAAW;wBACX,WAAW,EAAE,cAAc;qBAC9B,CAAC;iBACL,CAAC;;gBACD,MAAM,GAAG,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,sBAAsB,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC;QAC1H,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,kBAAkB;YAClB,CAAC,CAAC,OAAO,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,CAAC;YAC9G,MAAM,CAAC,CAAC;QACZ,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC,4CAA4C,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAChF,IAAI,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAES,YAAY;QAClB,MAAM,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACtD,CAAC;CACJ;AAED,MAAM,OAAO,0BAA2B,SAAQ,uBAAuB;IAShD,YAAY;QAC3B,OAAO,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACzC,CAAC;IAEkB,YAAY;QAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc;YAAE,MAAM,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAEnF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG;YAAE,MAAM,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAC3F,CAAC;IACkB,KAAK,CAAC,mBAAmB,CAAC,IAK5C;QACG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAc,CAAC,cAAc,CAAC;YACzD,GAAG,EAAE,IAAI,CAAC,OAAO;YACjB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,cAAe,CAAC,GAAI;YAC5C,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,cAAe,CAAC,kBAAkB;YAClE,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,cAAe,CAAC,aAAa;YACxD,WAAW,EAAE,IAAI,CAAC,WAAW;SAChC,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC;IACtE,CAAC;CACJ;AAED,MAAM,OAAO,iCAAkC,SAAQ,uBAAuB;IAQvD,YAAY;QAC3B,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAClC,CAAC;IAEkB,YAAY;QAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU;YAAE,MAAM,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAE1E,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI;YAAE,MAAM,KAAK,CAAC,4CAA4C,CAAC,CAAC;IACrI,CAAC;IAEkB,KAAK,CAAC,mBAAmB,CAAC,IAK5C;QACG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAc,CAAC,gBAAgB,CAAC;YAC3D,GAAG,EAAE,IAAI,CAAC,OAAO;YACjB,kBAAkB,EAAG,IAAI,CAAC,MAAM,CAAC,UAA8B,CAAC,SAAS;YACzE,aAAa,EAAG,IAAI,CAAC,MAAM,CAAC,UAA8B,CAAC,IAAI;YAC/D,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,IAAI,CAAC,WAAW;SAChC,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAgB,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC;IAClF,CAAC;CACJ;AAED,MAAM,OAAO,+BAAgC,SAAQ,uBAAuB;IAQrD,YAAY;QAC3B,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC/B,CAAC;IAEQ,KAAK,CAAC,SAAS,CAAC,IAIxB;QACG,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAwB,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC;IAC1F,CAAC;IAEkB,YAAY;QAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU;YAAE,MAAM,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAE1E,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI;YAAE,MAAM,KAAK,CAAC,4CAA4C,CAAC,CAAC;IACrI,CAAC;IAEkB,aAAa,CAAC,IAAa;QAC1C,iFAAiF;QACjF,OAAO,gDAAgD,CAAC,IAAW,CAAqB,CAAC;IAC7F,CAAC;IAEkB,KAAK,CAAC,mBAAmB,CAAC,IAK5C;QACG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAc,CAAC,gBAAgB,CAAC;YAC3D,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,IAAI,CAAC,OAAO;YACjB,kBAAkB,EAAG,IAAI,CAAC,MAAM,CAAC,UAA8B,CAAC,SAAS;YACzE,aAAa,EAAG,IAAI,CAAC,MAAM,CAAC,UAA8B,CAAC,IAAI;YAC/D,WAAW,EAAE,IAAI,CAAC,WAAW;SAChC,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAwB,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC;IAC1F,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"pages-client-manager.js","sourceRoot":"","sources":["../../../src/pages/pages-client-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Bump order: a post's score is the newest timestamp among the post and its surviving replies, which is what its
|
|
2
|
+
// CommentUpdate already carries as lastReplyTimestamp (the recursive MAX(timestamp) the community computes when a
|
|
3
|
+
// descendant changes, before pages are generated in the same cycle). A per-comment score like every other built-in,
|
|
4
|
+
// so a client re-sorts by bump order from the page alone. lastReplyTimestamp hard-codes the removed/deleted/unapproved
|
|
5
|
+
// exclusions, so an owner who turns excludeRemovedComments off for posts still does not get removed replies bumping
|
|
6
|
+
// threads: bump time is what the CommentUpdate carries.
|
|
7
|
+
const active = () => ({
|
|
8
|
+
sortName: "active",
|
|
9
|
+
description: "Most recently bumped first: posts ordered by the newest reply anywhere in their thread",
|
|
10
|
+
optionInputs: [], // reads nothing beyond the reserved options (maxAge, pinnedFirst, exclude*)
|
|
11
|
+
scope: "posts",
|
|
12
|
+
score: ({ comment, commentUpdate }) => Math.max(comment.timestamp, commentUpdate.lastReplyTimestamp ?? 0)
|
|
13
|
+
});
|
|
14
|
+
export default active;
|
|
15
|
+
//# sourceMappingURL=active.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"active.js","sourceRoot":"","sources":["../../../../src/pages/pkc-js-page-sorts/active.ts"],"names":[],"mappings":"AAEA,iHAAiH;AACjH,kHAAkH;AAClH,oHAAoH;AACpH,uHAAuH;AACvH,oHAAoH;AACpH,wDAAwD;AACxD,MAAM,MAAM,GAAwB,GAAG,EAAE,CAAC,CAAC;IACvC,QAAQ,EAAE,QAAQ;IAClB,WAAW,EAAE,wFAAwF;IACrG,YAAY,EAAE,EAAE,EAAE,4EAA4E;IAC9F,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,kBAAkB,IAAI,CAAC,CAAC;CAC5G,CAAC,CAAC;AAEH,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { bestScore } from "../util.js";
|
|
2
|
+
import { perCommentScore } from "./util.js";
|
|
3
|
+
const best = () => ({
|
|
4
|
+
sortName: "best",
|
|
5
|
+
description: "Wilson score confidence of the vote ratio",
|
|
6
|
+
optionInputs: [], // reads nothing beyond the reserved options (maxAge, pinnedFirst, exclude*)
|
|
7
|
+
score: perCommentScore(bestScore)
|
|
8
|
+
});
|
|
9
|
+
export default best;
|
|
10
|
+
//# sourceMappingURL=best.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"best.js","sourceRoot":"","sources":["../../../../src/pages/pkc-js-page-sorts/best.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAG5C,MAAM,IAAI,GAAwB,GAAG,EAAE,CAAC,CAAC;IACrC,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,2CAA2C;IACxD,YAAY,EAAE,EAAE,EAAE,4EAA4E;IAC9F,KAAK,EAAE,eAAe,CAAC,SAAS,CAAC;CACpC,CAAC,CAAC;AAEH,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { controversialScore } from "../util.js";
|
|
2
|
+
import { perCommentScore } from "./util.js";
|
|
3
|
+
const controversial = () => ({
|
|
4
|
+
sortName: "controversial",
|
|
5
|
+
description: "Comments with many votes split between upvotes and downvotes first",
|
|
6
|
+
optionInputs: [], // reads nothing beyond the reserved options (maxAge, pinnedFirst, exclude*)
|
|
7
|
+
score: perCommentScore(controversialScore)
|
|
8
|
+
});
|
|
9
|
+
export default controversial;
|
|
10
|
+
//# sourceMappingURL=controversial.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controversial.js","sourceRoot":"","sources":["../../../../src/pages/pkc-js-page-sorts/controversial.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAG5C,MAAM,aAAa,GAAwB,GAAG,EAAE,CAAC,CAAC;IAC9C,QAAQ,EAAE,eAAe;IACzB,WAAW,EAAE,oEAAoE;IACjF,YAAY,EAAE,EAAE,EAAE,4EAA4E;IAC9F,KAAK,EAAE,eAAe,CAAC,kBAAkB,CAAC;CAC7C,CAAC,CAAC;AAEH,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { hotScore } from "../util.js";
|
|
2
|
+
import { perCommentScore } from "./util.js";
|
|
3
|
+
const hot = () => ({
|
|
4
|
+
sortName: "hot",
|
|
5
|
+
description: "Reddit-style hot ranking: votes weighted by age",
|
|
6
|
+
optionInputs: [], // reads nothing beyond the reserved options (maxAge, pinnedFirst, exclude*)
|
|
7
|
+
score: perCommentScore(hotScore)
|
|
8
|
+
});
|
|
9
|
+
export default hot;
|
|
10
|
+
//# sourceMappingURL=hot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hot.js","sourceRoot":"","sources":["../../../../src/pages/pkc-js-page-sorts/hot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAG5C,MAAM,GAAG,GAAwB,GAAG,EAAE,CAAC,CAAC;IACpC,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,iDAAiD;IAC9D,YAAY,EAAE,EAAE,EAAE,4EAA4E;IAC9F,KAAK,EAAE,eAAe,CAAC,QAAQ,CAAC;CACnC,CAAC,CAAC;AAEH,eAAe,GAAG,CAAC"}
|