@waku/core 0.0.36-ace7ca2.0 → 0.0.36-b0a2e39.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/bundle/{base_protocol-DvQrudwy.js → base_protocol-DEDdl6tx.js} +1 -1
  2. package/bundle/{index-CTo1my9M.js → index-DckUzRoN.js} +80 -1
  3. package/bundle/index.js +330 -68
  4. package/bundle/lib/base_protocol.js +2 -2
  5. package/bundle/lib/message/version_0.js +2 -2
  6. package/bundle/{version_0-CyeTW0Vr.js → version_0-DyRL7WVV.js} +370 -32
  7. package/dist/.tsbuildinfo +1 -1
  8. package/dist/index.d.ts +1 -1
  9. package/dist/index.js +1 -1
  10. package/dist/index.js.map +1 -1
  11. package/dist/lib/connection_manager/connection_manager.d.ts +1 -1
  12. package/dist/lib/connection_manager/connection_manager.js +1 -1
  13. package/dist/lib/light_push/index.d.ts +2 -1
  14. package/dist/lib/light_push/index.js +2 -1
  15. package/dist/lib/light_push/index.js.map +1 -1
  16. package/dist/lib/light_push/light_push.d.ts +2 -7
  17. package/dist/lib/light_push/light_push.js +19 -35
  18. package/dist/lib/light_push/light_push.js.map +1 -1
  19. package/dist/lib/light_push/light_push_v3.d.ts +14 -0
  20. package/dist/lib/light_push/light_push_v3.js +187 -0
  21. package/dist/lib/light_push/light_push_v3.js.map +1 -0
  22. package/dist/lib/light_push/{push_rpc.d.ts → push_rpc_v2.d.ts} +3 -3
  23. package/dist/lib/light_push/{push_rpc.js → push_rpc_v2.js} +4 -4
  24. package/dist/lib/light_push/push_rpc_v2.js.map +1 -0
  25. package/dist/lib/light_push/push_rpc_v3.d.ts +11 -0
  26. package/dist/lib/light_push/push_rpc_v3.js +32 -0
  27. package/dist/lib/light_push/push_rpc_v3.js.map +1 -0
  28. package/dist/lib/light_push/utils.d.ts +24 -0
  29. package/dist/lib/light_push/utils.js +70 -0
  30. package/dist/lib/light_push/utils.js.map +1 -1
  31. package/package.json +1 -1
  32. package/src/index.ts +5 -1
  33. package/src/lib/connection_manager/connection_manager.ts +1 -1
  34. package/src/lib/light_push/index.ts +2 -1
  35. package/src/lib/light_push/light_push.ts +26 -43
  36. package/src/lib/light_push/light_push_v3.ts +319 -0
  37. package/src/lib/light_push/{push_rpc.ts → push_rpc_v2.ts} +5 -5
  38. package/src/lib/light_push/push_rpc_v3.ts +45 -0
  39. package/src/lib/light_push/utils.ts +95 -0
  40. package/dist/lib/light_push/push_rpc.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { L as Logger } from './index-CTo1my9M.js';
1
+ import { L as Logger } from './index-DckUzRoN.js';
2
2
 
3
3
  function selectOpenConnection(connections) {
4
4
  return connections
@@ -721,6 +721,16 @@ var ProtocolError;
721
721
  * nwaku: https://github.com/waku-org/nwaku/blob/c3cb06ac6c03f0f382d3941ea53b330f6a8dd127/waku/waku_rln_relay/group_manager/group_manager_base.nim#L201C19-L201C42
722
722
  */
723
723
  ProtocolError["RLN_PROOF_GENERATION"] = "Proof generation failed";
724
+ /**
725
+ * Message validation failed according to Light Push v3 specifications.
726
+ * This includes validation of message format, fields, or other protocol-specific requirements.
727
+ */
728
+ ProtocolError["INVALID_MESSAGE"] = "Invalid message format";
729
+ /**
730
+ * Rate limiting error when too many requests are sent in a short period.
731
+ * Mitigation: Implement backoff strategy or reduce request frequency.
732
+ */
733
+ ProtocolError["RATE_LIMIT_EXCEEDED"] = "Rate limit exceeded";
724
734
  //
725
735
  // RECEIVE ERRORS SECTION
726
736
  //
@@ -736,6 +746,75 @@ var ProtocolError;
736
746
  ProtocolError["INVALID_DECODER_TOPICS"] = "Invalid decoder topics";
737
747
  })(ProtocolError || (ProtocolError = {}));
738
748
 
749
+ const LightPushCodecV3 = "/vac/waku/lightpush/3.0.0";
750
+ var LightPushStatusCodeV3;
751
+ (function (LightPushStatusCodeV3) {
752
+ LightPushStatusCodeV3[LightPushStatusCodeV3["SUCCESS"] = 200] = "SUCCESS";
753
+ LightPushStatusCodeV3[LightPushStatusCodeV3["BAD_REQUEST"] = 400] = "BAD_REQUEST";
754
+ LightPushStatusCodeV3[LightPushStatusCodeV3["PAYLOAD_TOO_LARGE"] = 413] = "PAYLOAD_TOO_LARGE";
755
+ LightPushStatusCodeV3[LightPushStatusCodeV3["INVALID_MESSAGE_ERROR"] = 420] = "INVALID_MESSAGE_ERROR";
756
+ LightPushStatusCodeV3[LightPushStatusCodeV3["UNSUPPORTED_PUBSUB_TOPIC"] = 421] = "UNSUPPORTED_PUBSUB_TOPIC";
757
+ LightPushStatusCodeV3[LightPushStatusCodeV3["TOO_MANY_REQUESTS"] = 429] = "TOO_MANY_REQUESTS";
758
+ LightPushStatusCodeV3[LightPushStatusCodeV3["INTERNAL_SERVER_ERROR"] = 500] = "INTERNAL_SERVER_ERROR";
759
+ LightPushStatusCodeV3[LightPushStatusCodeV3["SERVICE_NOT_AVAILABLE"] = 503] = "SERVICE_NOT_AVAILABLE";
760
+ LightPushStatusCodeV3[LightPushStatusCodeV3["OUT_OF_RLN_PROOF"] = 504] = "OUT_OF_RLN_PROOF";
761
+ LightPushStatusCodeV3[LightPushStatusCodeV3["NO_PEERS_TO_RELAY"] = 505] = "NO_PEERS_TO_RELAY";
762
+ })(LightPushStatusCodeV3 || (LightPushStatusCodeV3 = {}));
763
+ function isSuccessStatusCodeV3(statusCode) {
764
+ return statusCode === LightPushStatusCodeV3.SUCCESS;
765
+ }
766
+ const lightPushStatusDescriptionsV3 = {
767
+ [LightPushStatusCodeV3.SUCCESS]: "Message sent successfully",
768
+ [LightPushStatusCodeV3.BAD_REQUEST]: "Bad request format",
769
+ [LightPushStatusCodeV3.PAYLOAD_TOO_LARGE]: "Message payload exceeds maximum size",
770
+ [LightPushStatusCodeV3.INVALID_MESSAGE_ERROR]: "Message validation failed",
771
+ [LightPushStatusCodeV3.UNSUPPORTED_PUBSUB_TOPIC]: "Unsupported pubsub topic",
772
+ [LightPushStatusCodeV3.TOO_MANY_REQUESTS]: "Rate limit exceeded",
773
+ [LightPushStatusCodeV3.INTERNAL_SERVER_ERROR]: "Internal server error",
774
+ [LightPushStatusCodeV3.SERVICE_NOT_AVAILABLE]: "Service temporarily unavailable",
775
+ [LightPushStatusCodeV3.OUT_OF_RLN_PROOF]: "RLN proof generation failed",
776
+ [LightPushStatusCodeV3.NO_PEERS_TO_RELAY]: "No relay peers available"
777
+ };
778
+ function lightPushStatusCodeToProtocolErrorV3(statusCode) {
779
+ if (!statusCode) {
780
+ return ProtocolError.GENERIC_FAIL;
781
+ }
782
+ switch (statusCode) {
783
+ case LightPushStatusCodeV3.SUCCESS:
784
+ return ProtocolError.GENERIC_FAIL;
785
+ case LightPushStatusCodeV3.BAD_REQUEST:
786
+ return ProtocolError.REMOTE_PEER_REJECTED;
787
+ case LightPushStatusCodeV3.PAYLOAD_TOO_LARGE:
788
+ return ProtocolError.SIZE_TOO_BIG;
789
+ case LightPushStatusCodeV3.INVALID_MESSAGE_ERROR:
790
+ return ProtocolError.INVALID_MESSAGE;
791
+ case LightPushStatusCodeV3.UNSUPPORTED_PUBSUB_TOPIC:
792
+ return ProtocolError.TOPIC_NOT_CONFIGURED;
793
+ case LightPushStatusCodeV3.TOO_MANY_REQUESTS:
794
+ return ProtocolError.RATE_LIMIT_EXCEEDED;
795
+ case LightPushStatusCodeV3.INTERNAL_SERVER_ERROR:
796
+ return ProtocolError.GENERIC_FAIL;
797
+ case LightPushStatusCodeV3.SERVICE_NOT_AVAILABLE:
798
+ return ProtocolError.NO_PEER_AVAILABLE;
799
+ case LightPushStatusCodeV3.OUT_OF_RLN_PROOF:
800
+ return ProtocolError.RLN_PROOF_GENERATION;
801
+ case LightPushStatusCodeV3.NO_PEERS_TO_RELAY:
802
+ return ProtocolError.NO_PEER_AVAILABLE;
803
+ default:
804
+ return ProtocolError.REMOTE_PEER_REJECTED;
805
+ }
806
+ }
807
+ function getLightPushStatusDescriptionV3(statusCode, customDesc) {
808
+ if (customDesc) {
809
+ return customDesc;
810
+ }
811
+ if (!statusCode) {
812
+ return "Unknown error";
813
+ }
814
+ return (lightPushStatusDescriptionsV3[statusCode] ||
815
+ `Unknown status code: ${statusCode}`);
816
+ }
817
+
739
818
  var Tags;
740
819
  (function (Tags) {
741
820
  Tags["BOOTSTRAP"] = "bootstrap";
@@ -1540,4 +1619,4 @@ class Logger {
1540
1619
  }
1541
1620
  }
1542
1621
 
1543
- export { EPeersByDiscoveryEvents as E, Logger as L, ProtocolError as P, Tags as T, base58btc as a, base32 as b, coerce as c, base36 as d, equals as e, EConnectionStateEvents as f, base256emoji$1 as g, base64$1 as h, base58 as i, base36$1 as j, base32$1 as k, base16$1 as l, base10$1 as m, base8$1 as n, base2$1 as o, identityBase as p };
1622
+ export { EPeersByDiscoveryEvents as E, Logger as L, ProtocolError as P, Tags as T, base58btc as a, base32 as b, coerce as c, base36 as d, equals as e, LightPushCodecV3 as f, LightPushStatusCodeV3 as g, getLightPushStatusDescriptionV3 as h, isSuccessStatusCodeV3 as i, EConnectionStateEvents as j, base256emoji$1 as k, lightPushStatusCodeToProtocolErrorV3 as l, base64$1 as m, base58 as n, base36$1 as o, base32$1 as p, base16$1 as q, base10$1 as r, base8$1 as s, base2$1 as t, identityBase as u };