celerity-runtime-sdk 0.1.0__tar.gz → 0.2.1__tar.gz

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 (246) hide show
  1. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/Cargo.lock +1 -1
  2. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/PKG-INFO +1 -1
  3. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/core/src/consts.rs +9 -0
  4. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/core/src/websocket.rs +18 -3
  5. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/pyproject.toml +1 -1
  6. celerity_runtime_sdk-0.2.1/sdk/python/.core-version +1 -0
  7. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/CHANGELOG.md +12 -0
  8. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/Cargo.toml +1 -1
  9. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/src/websockets.rs +31 -0
  10. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/tests/test_runtime_application.py +10 -1
  11. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/tests/test_websocket.py +22 -11
  12. celerity_runtime_sdk-0.1.0/sdk/python/.core-version +0 -1
  13. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/Cargo.toml +0 -0
  14. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/README.md +0 -0
  15. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/aws-helpers/Cargo.toml +0 -0
  16. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/aws-helpers/src/aws_regions.rs +0 -0
  17. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/aws-helpers/src/clients.rs +0 -0
  18. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/aws-helpers/src/credentials.rs +0 -0
  19. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/aws-helpers/src/lib.rs +0 -0
  20. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/Cargo.toml +0 -0
  21. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/README.md +0 -0
  22. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/src/blueprint.rs +0 -0
  23. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/src/blueprint_with_subs.rs +0 -0
  24. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/src/lib.rs +0 -0
  25. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/src/parse.rs +0 -0
  26. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/src/parse_blueprint_resource.rs +0 -0
  27. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/src/parse_helpers.rs +0 -0
  28. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/src/parse_mapping_node.rs +0 -0
  29. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/src/parse_substitutions.rs +0 -0
  30. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/src/parse_yaml.rs +0 -0
  31. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/src/resolve_substitutions.rs +0 -0
  32. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/src/validate_parsed.rs +0 -0
  33. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/src/workflow_consts.rs +0 -0
  34. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/src/yaml_helpers.rs +0 -0
  35. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/src/yaml_workflow.rs +0 -0
  36. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/blueprint_config_test.rs +0 -0
  37. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/combined-app.jsonc +0 -0
  38. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/combined-app.yaml +0 -0
  39. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/datastore-complete.yaml +0 -0
  40. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/datastore-keys-only.yaml +0 -0
  41. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/datastore-with-indexes.yaml +0 -0
  42. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/datastore-with-schema.yaml +0 -0
  43. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/datastore-with-ttl.yaml +0 -0
  44. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/empty-variable-type.jsonc +0 -0
  45. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/empty-variable-type.yaml +0 -0
  46. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/handler-config-resource-types.jsonc +0 -0
  47. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/handler-config-resource-types.yaml +0 -0
  48. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/http-api-multi-guard.jsonc +0 -0
  49. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/http-api-multi-guard.yaml +0 -0
  50. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/http-api.jsonc +0 -0
  51. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/http-api.yaml +0 -0
  52. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/hybrid-api.jsonc +0 -0
  53. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/hybrid-api.yaml +0 -0
  54. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/invalid-blueprint.jsonc +0 -0
  55. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/invalid-blueprint.yaml +0 -0
  56. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/invalid-resource-metadata.jsonc +0 -0
  57. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/invalid-resource-metadata.yaml +0 -0
  58. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/invalid-resource-type.jsonc +0 -0
  59. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/invalid-resource-type.yaml +0 -0
  60. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/invalid-secret.jsonc +0 -0
  61. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/invalid-secret.yaml +0 -0
  62. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/invalid-variable-description.jsonc +0 -0
  63. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/invalid-variable-description.yaml +0 -0
  64. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/invalid-variable-type.jsonc +0 -0
  65. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/invalid-variable-type.yaml +0 -0
  66. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/invalid-version.jsonc +0 -0
  67. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/invalid-version.yaml +0 -0
  68. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/missing-resource-type.jsonc +0 -0
  69. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/missing-resource-type.yaml +0 -0
  70. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/missing-version.jsonc +0 -0
  71. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/missing-version.yaml +0 -0
  72. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/no-resources.jsonc +0 -0
  73. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/no-resources.yaml +0 -0
  74. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/schedule-app.jsonc +0 -0
  75. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/schedule-app.yaml +0 -0
  76. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/shared-handler-config.jsonc +0 -0
  77. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/shared-handler-config.yaml +0 -0
  78. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/unsupported-resource-type.jsonc +0 -0
  79. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/unsupported-resource-type.yaml +0 -0
  80. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/vpc-standard.yaml +0 -0
  81. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/vpc-with-preset.yaml +0 -0
  82. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/vpc-with-substitutions.yaml +0 -0
  83. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/websocket-api-multi-guard.jsonc +0 -0
  84. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/websocket-api-multi-guard.yaml +0 -0
  85. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/websocket-api-with-ws-config.jsonc +0 -0
  86. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/websocket-api-with-ws-config.yaml +0 -0
  87. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/websocket-api.jsonc +0 -0
  88. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/websocket-api.yaml +0 -0
  89. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/workflow-app.jsonc +0 -0
  90. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/data/fixtures/workflow-app.yaml +0 -0
  91. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/datastore_resource_test.rs +0 -0
  92. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_blueprint_config_from_jsonc_string.snap +0 -0
  93. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_blueprint_config_from_yaml_string.snap +0 -0
  94. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_combined_app_blueprint_config_from_jsonc_file.snap +0 -0
  95. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_combined_app_blueprint_config_from_yaml_file.snap +0 -0
  96. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_handler_config_resources_blueprint_config_from_jsonc_file.snap +0 -0
  97. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_handler_config_resources_blueprint_config_from_yaml_file.snap +0 -0
  98. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_http_api_multi_guard_blueprint_config_from_jsonc_file.snap +0 -0
  99. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_http_api_multi_guard_blueprint_config_from_yaml_file.snap +0 -0
  100. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_hybrid_api_blueprint_config_from_jsonc_file.snap +0 -0
  101. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_hybrid_api_blueprint_config_from_yaml_file.snap +0 -0
  102. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_schedule_app_blueprint_config_from_jsonc_file.snap +0 -0
  103. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_schedule_app_blueprint_config_from_yaml_file.snap +0 -0
  104. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_shared_handler_config_blueprint_config_from_jsonc_file.snap +0 -0
  105. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_shared_handler_config_blueprint_config_from_yaml_file.snap +0 -0
  106. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_websocket_api_blueprint_config_from_jsonc_file.snap +0 -0
  107. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_websocket_api_blueprint_config_from_yaml_file.snap +0 -0
  108. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_websocket_api_blueprint_config_with_ws_protocol_config_from_jsonc_file.snap +0 -0
  109. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_websocket_api_blueprint_config_with_ws_protocol_config_from_yaml_file.snap +0 -0
  110. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_websocket_api_multi_guard_blueprint_config_from_jsonc_file.snap +0 -0
  111. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_websocket_api_multi_guard_blueprint_config_from_yaml_file.snap +0 -0
  112. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_workflow_app_blueprint_config_from_jsonc_file.snap +0 -0
  113. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/snapshots/blueprint_config_test__parses_workflow_app_blueprint_config_from_yaml_file.snap +0 -0
  114. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/snapshots/blueprint_config_test__skips_parsing_resource_for_unsupported_resource_type_in_json_blueprint_config.snap +0 -0
  115. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/snapshots/blueprint_config_test__skips_parsing_resource_for_unsupported_resource_type_in_yaml_blueprint_config.snap +0 -0
  116. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/blueprint-config-parser/tests/vpc_resource_test.rs +0 -0
  117. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-azure-events-hub/Cargo.toml +0 -0
  118. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-azure-events-hub/src/lib.rs +0 -0
  119. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-azure-service-bus/Cargo.toml +0 -0
  120. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-azure-service-bus/src/lib.rs +0 -0
  121. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-gcloud-pubsub/Cargo.toml +0 -0
  122. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-gcloud-pubsub/src/lib.rs +0 -0
  123. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-gcloud-tasks/Cargo.toml +0 -0
  124. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-gcloud-tasks/src/lib.rs +0 -0
  125. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-kinesis/Cargo.toml +0 -0
  126. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-kinesis/src/lib.rs +0 -0
  127. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-redis/Cargo.toml +0 -0
  128. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-redis/lua-scripts/extend_locks.lua +0 -0
  129. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-redis/lua-scripts/release_locks.lua +0 -0
  130. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-redis/lua-scripts/release_stream_trim_lock.lua +0 -0
  131. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-redis/lua-scripts/update_last_message_id.lua +0 -0
  132. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-redis/src/errors.rs +0 -0
  133. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-redis/src/lib.rs +0 -0
  134. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-redis/src/lock_durations.rs +0 -0
  135. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-redis/src/locks.rs +0 -0
  136. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-redis/src/message_consumer.rs +0 -0
  137. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-redis/src/telemetry.rs +0 -0
  138. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-redis/src/trim_lock.rs +0 -0
  139. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-redis/src/types.rs +0 -0
  140. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-redis/tests/integration_test.rs +0 -0
  141. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-redis/tests/locks_test.rs +0 -0
  142. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-redis/tests/trim_lock_test.rs +0 -0
  143. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-sqs/Cargo.toml +0 -0
  144. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-sqs/src/errors.rs +0 -0
  145. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-sqs/src/lib.rs +0 -0
  146. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-sqs/src/message_consumer.rs +0 -0
  147. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-sqs/src/telemetry.rs +0 -0
  148. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-sqs/src/types.rs +0 -0
  149. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-sqs/src/visibility_timeout.rs +0 -0
  150. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/consumers/consumer-sqs/tests/integration_test.rs +0 -0
  151. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/core/Cargo.toml +0 -0
  152. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/core/README.md +0 -0
  153. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/core/src/application.rs +0 -0
  154. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/core/src/auth_custom.rs +0 -0
  155. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/core/src/auth_http.rs +0 -0
  156. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/core/src/auth_jwt.rs +0 -0
  157. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/core/src/blueprint_helpers.rs +0 -0
  158. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/core/src/body_transform/aws_dynamodb.rs +0 -0
  159. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/core/src/body_transform/aws_s3.rs +0 -0
  160. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/core/src/body_transform.rs +0 -0
  161. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/core/src/config.rs +0 -0
  162. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/core/src/consumer_handler.rs +0 -0
  163. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/core/src/errors.rs +0 -0
  164. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/core/src/handler_invoke.rs +0 -0
  165. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/core/src/lib.rs +0 -0
  166. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/core/src/request.rs +0 -0
  167. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/core/src/runtime_local_api.rs +0 -0
  168. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/core/src/telemetry.rs +0 -0
  169. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/core/src/telemetry_utils.rs +0 -0
  170. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/core/src/transform_config.rs +0 -0
  171. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/core/src/types.rs +0 -0
  172. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/core/src/utils.rs +0 -0
  173. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/core/src/value_sources.rs +0 -0
  174. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/core/tests/common/mod.rs +0 -0
  175. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/core/tests/data/fixtures/http-api.blueprint.yaml +0 -0
  176. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/core/tests/data/fixtures/private-jwks.json +0 -0
  177. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/core/tests/data/fixtures/public-jwks.json +0 -0
  178. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/core/tests/http_api_test.rs +0 -0
  179. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/core/tests/http_auth_test.rs +0 -0
  180. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/core/tests/integration_consumer_test.rs +0 -0
  181. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/helpers/Cargo.toml +0 -0
  182. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/helpers/README.md +0 -0
  183. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/helpers/src/aws_telemetry.rs +0 -0
  184. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/helpers/src/consumers.rs +0 -0
  185. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/helpers/src/env.rs +0 -0
  186. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/helpers/src/http.rs +0 -0
  187. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/helpers/src/jsonpath.rs +0 -0
  188. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/helpers/src/lib.rs +0 -0
  189. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/helpers/src/redis.rs +0 -0
  190. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/helpers/src/request.rs +0 -0
  191. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/helpers/src/retries.rs +0 -0
  192. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/helpers/src/runtime_types.rs +0 -0
  193. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/helpers/src/scanner.rs +0 -0
  194. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/helpers/src/telemetry.rs +0 -0
  195. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/helpers/src/time.rs +0 -0
  196. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/helpers/src/websockets.rs +0 -0
  197. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/python/celerity_runtime_sdk/__init__.py +0 -0
  198. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/python/celerity_runtime_sdk/_celerity_runtime_sdk.pyi +0 -0
  199. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/python/celerity_runtime_sdk/py.typed +0 -0
  200. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/.env.test +0 -0
  201. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/.gitignore +0 -0
  202. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/.vscode/settings.example.json +0 -0
  203. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/CONTRIBUTING.md +0 -0
  204. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/README.md +0 -0
  205. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/rustfmt.toml +0 -0
  206. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/scripts/run-tests.sh +0 -0
  207. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/src/consumer.rs +0 -0
  208. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/src/core_runtime_config.rs +0 -0
  209. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/src/errors.rs +0 -0
  210. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/src/guard.rs +0 -0
  211. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/src/http.rs +0 -0
  212. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/src/interop.rs +0 -0
  213. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/src/invoke.rs +0 -0
  214. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/src/json_convert.rs +0 -0
  215. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/src/lib.rs +0 -0
  216. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/src/runtime.rs +0 -0
  217. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/tests/consumer-schedule.blueprint.yaml +0 -0
  218. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/tests/consumer_handlers/__init__.py +0 -0
  219. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/tests/consumer_handlers/handlers.py +0 -0
  220. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/tests/consumer_server.py +0 -0
  221. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/tests/custom_handler_server.py +0 -0
  222. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/tests/http-api.blueprint.yaml +0 -0
  223. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/tests/http_handlers/__init__.py +0 -0
  224. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/tests/http_handlers/handlers.py +0 -0
  225. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/tests/http_server.py +0 -0
  226. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/tests/hybrid-api.blueprint.yaml +0 -0
  227. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/tests/orders/__init__.py +0 -0
  228. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/tests/orders/handlers.py +0 -0
  229. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/tests/server.py +0 -0
  230. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/tests/shared.py +0 -0
  231. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/tests/slow_custom_handler_server.py +0 -0
  232. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/tests/test_consumer_schedule.py +0 -0
  233. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/tests/test_custom_handler.py +0 -0
  234. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/tests/test_http.py +0 -0
  235. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/tests/ws-only.blueprint.yaml +0 -0
  236. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/tests/ws_handlers/__init__.py +0 -0
  237. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/tests/ws_handlers/handlers.py +0 -0
  238. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/tests/ws_server.py +0 -0
  239. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/sdk/python/uv.lock +0 -0
  240. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/ws/ws-registry/Cargo.toml +0 -0
  241. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/ws/ws-registry/src/acks.rs +0 -0
  242. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/ws/ws-registry/src/errors.rs +0 -0
  243. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/ws/ws-registry/src/lib.rs +0 -0
  244. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/ws/ws-registry/src/message_helpers.rs +0 -0
  245. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/ws/ws-registry/src/registry.rs +0 -0
  246. {celerity_runtime_sdk-0.1.0 → celerity_runtime_sdk-0.2.1}/ws/ws-registry/src/types.rs +0 -0
@@ -971,7 +971,7 @@ dependencies = [
971
971
 
972
972
  [[package]]
973
973
  name = "celerity-python-runtime-sdk"
974
- version = "0.1.0"
974
+ version = "0.2.1"
975
975
  dependencies = [
976
976
  "async-trait",
977
977
  "axum 0.8.8",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: celerity-runtime-sdk
3
- Version: 0.1.0
3
+ Version: 0.2.1
4
4
  Classifier: Programming Language :: Rust
5
5
  Classifier: Programming Language :: Python :: Implementation :: CPython
6
6
  Classifier: Programming Language :: Python :: Implementation :: PyPy
@@ -70,6 +70,15 @@ pub const CELERITY_WS_UNAUTHORISED_ERROR_CODE: u16 = 4001;
70
70
  // via the `Forbidden` error variant.
71
71
  pub const CELERITY_WS_FORBIDDEN_ERROR_CODE: u16 = 4002;
72
72
 
73
+ // Binary prefix for the server capabilities signal.
74
+ // Sent immediately after a WebSocket connection is established to indicate
75
+ // that the server supports full protocol capabilities (binary messages,
76
+ // custom close codes, and binary control frames).
77
+ // In environments where binary frames are not supported (e.g., managed
78
+ // WebSocket gateways), this frame will not reach the client, causing the
79
+ // client to fall back to constrained capabilities (text-only).
80
+ pub const CELERITY_WS_CAPABILITIES_SIGNAL: [u8; 4] = [0x1, 0x5, 0x0, 0x0];
81
+
73
82
  // The route key for the connect handler for a WebSocket API.
74
83
  // A handler registered with this route key will be called when a client
75
84
  // connects to the WebSocket API server after authentication has been performed
@@ -41,9 +41,9 @@ use crate::{
41
41
  },
42
42
  auth_jwt::{validate_jwt_on_ws_connect, ValidateJwtError},
43
43
  consts::{
44
- CELERITY_WS_CONNECT_HANDLER_ROUTE, CELERITY_WS_DEFAULT_MESSAGE_HANDLER_ROUTE,
45
- CELERITY_WS_DISCONNECT_HANDLER_ROUTE, CELERITY_WS_FORBIDDEN_ERROR_CODE,
46
- CELERITY_WS_UNAUTHORISED_ERROR_CODE,
44
+ CELERITY_WS_CAPABILITIES_SIGNAL, CELERITY_WS_CONNECT_HANDLER_ROUTE,
45
+ CELERITY_WS_DEFAULT_MESSAGE_HANDLER_ROUTE, CELERITY_WS_DISCONNECT_HANDLER_ROUTE,
46
+ CELERITY_WS_FORBIDDEN_ERROR_CODE, CELERITY_WS_UNAUTHORISED_ERROR_CODE,
47
47
  },
48
48
  errors::WebSocketsMessageError,
49
49
  request::{HttpProtocolVersion, RequestId},
@@ -296,6 +296,21 @@ async fn handle_socket(
296
296
  .add_connection(connection_id.clone(), socket_ref.clone());
297
297
  ws_connections_counter().add(1, &[]);
298
298
 
299
+ // Send the capabilities signal — a binary frame that indicates the server
300
+ // supports full protocol capabilities (binary messages, custom close codes,
301
+ // binary control frames). In environments where binary frames are not
302
+ // supported (e.g., managed WebSocket gateways that proxy via text-only APIs),
303
+ // this frame will not reach the client, causing it to fall back to constrained
304
+ // capabilities (text-only, JSON-format control frames).
305
+ {
306
+ let mut sock = socket_ref.lock().await;
307
+ let _ = sock
308
+ .send(Message::Binary(
309
+ CELERITY_WS_CAPABILITIES_SIGNAL.to_vec().into(),
310
+ ))
311
+ .await;
312
+ }
313
+
299
314
  // For Connect strategy, only reached after successful auth (with auth data).
300
315
  // For AuthMessage / no auth, fires immediately with null auth data.
301
316
  if let ControlFlow::Break(_) = on_connect(
@@ -44,6 +44,6 @@ check_untyped_defs = true
44
44
  [tool.maturin]
45
45
  module-name = "celerity_runtime_sdk._celerity_runtime_sdk"
46
46
  bindings = "pyo3"
47
- features = ["pyo3/extension-module"]
47
+ features = ["pyo3/extension-module", "celerity_local_consumers", "aws_consumers", "gcloud_consumers", "azure_consumers"]
48
48
  manifest-path = "sdk/python/Cargo.toml"
49
49
  python-source = "python"
@@ -0,0 +1 @@
1
+ runtime-core/v0.6.0
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.2.1](https://github.com/newstack-cloud/celerity/compare/runtime-sdk-python/v0.2.0...runtime-sdk-python/v0.2.1) (2026-03-23)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * **lib-rt-sdk-python:** add fixes to websocket types and include all features in build ([39cee06](https://github.com/newstack-cloud/celerity/commit/39cee06918f6bbdd1f020d1a33908db32205ca0a))
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * **runtime-sdk-python:** update core dependencies ([d2be0ed](https://github.com/newstack-cloud/celerity/commit/d2be0edddef9e16d6ec348eb41df5ab8d328501e))
14
+
3
15
  ## [0.2.0](https://github.com/newstack-cloud/celerity/compare/runtime-sdk-python/v0.1.0...runtime-sdk-python/v0.2.0) (2026-03-17)
4
16
 
5
17
 
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "celerity-python-runtime-sdk"
3
- version = "0.1.0"
3
+ version = "0.2.1"
4
4
  edition = "2021"
5
5
  license.workspace = true
6
6
  readme = "README.md"
@@ -144,6 +144,17 @@ pub enum WSBindingEventType {
144
144
  Disconnect,
145
145
  }
146
146
 
147
+ #[pymethods]
148
+ impl WSBindingEventType {
149
+ fn __str__(&self) -> &str {
150
+ match self {
151
+ Self::Connect => "connect",
152
+ Self::Message => "message",
153
+ Self::Disconnect => "disconnect",
154
+ }
155
+ }
156
+ }
157
+
147
158
  impl From<WebSocketEventType> for WSBindingEventType {
148
159
  fn from(event_type: WebSocketEventType) -> Self {
149
160
  match event_type {
@@ -176,6 +187,8 @@ pub struct WSBindingMessageRequestContext {
176
187
  #[pyo3(get)]
177
188
  pub cookies: HashMap<String, String>,
178
189
  #[pyo3(get)]
190
+ pub auth: Option<Py<PyAny>>,
191
+ #[pyo3(get)]
179
192
  pub trace_context: Option<HashMap<String, String>>,
180
193
  }
181
194
 
@@ -185,6 +198,12 @@ impl WSBindingMessageRequestContext {
185
198
  trace_context: Option<HashMap<String, String>>,
186
199
  py: Python,
187
200
  ) -> PyResult<Py<Self>> {
201
+ let auth = message_request_context
202
+ .auth
203
+ .as_ref()
204
+ .map(|v| json_value_to_python(v, py).map(|b| b.unbind()))
205
+ .transpose()?;
206
+
188
207
  Py::new(
189
208
  py,
190
209
  Self {
@@ -205,6 +224,7 @@ impl WSBindingMessageRequestContext {
205
224
  client_ip: message_request_context.client_ip,
206
225
  query: message_request_context.query,
207
226
  cookies: message_request_context.cookies,
227
+ auth,
208
228
  trace_context,
209
229
  },
210
230
  )
@@ -236,6 +256,7 @@ impl WSBindingMessageRequestContextBuilder {
236
256
  client_ip: String::new(),
237
257
  query: HashMap::new(),
238
258
  cookies: HashMap::new(),
259
+ auth: None,
239
260
  trace_context: None,
240
261
  }),
241
262
  }
@@ -483,6 +504,16 @@ pub enum WSBindingMessageType {
483
504
  Binary,
484
505
  }
485
506
 
507
+ #[pymethods]
508
+ impl WSBindingMessageType {
509
+ fn __str__(&self) -> &str {
510
+ match self {
511
+ Self::Json => "json",
512
+ Self::Binary => "binary",
513
+ }
514
+ }
515
+ }
516
+
486
517
  impl From<WSBindingMessageType> for MessageType {
487
518
  fn from(message_type: WSBindingMessageType) -> Self {
488
519
  match message_type {
@@ -17,10 +17,19 @@ def test_http_endpoint(runtime_server):
17
17
  assert response.json() == {"message": "Order received"}
18
18
 
19
19
 
20
+ def _recv_text(ws):
21
+ """Receive the next text frame, skipping binary frames
22
+ (e.g. the capabilities signal sent on connect)."""
23
+ while True:
24
+ opcode, data = ws.recv_data()
25
+ if opcode == 1:
26
+ return data.decode("utf-8") if isinstance(data, bytes) else data
27
+
28
+
20
29
  def test_websockets(runtime_server):
21
30
  ws = create_connection("ws://localhost:22346/ws", origin="https://example.com")
22
31
  ws.send(json.dumps({"action": "processOrderUpdate", "data": {"orderId": "1234"}}))
23
- msg = ws.recv()
32
+ msg = _recv_text(ws)
24
33
  assert msg == '{"action": "processedOrderUpdate", "message": "Order received"}'
25
34
  ws.close()
26
35
 
@@ -61,6 +61,17 @@ def _ws_connect(query: str = ""):
61
61
  return create_connection(url, origin="https://example.com")
62
62
 
63
63
 
64
+ def _recv_text(ws):
65
+ """Receive the next text frame, skipping any binary frames
66
+ (e.g. the capabilities signal sent on connect)."""
67
+ while True:
68
+ opcode, data = ws.recv_data()
69
+ # opcode 1 = text, 2 = binary
70
+ if opcode == 1:
71
+ return data.decode("utf-8") if isinstance(data, bytes) else data
72
+ # skip binary frames
73
+
74
+
64
75
  def _wait_for_file(path: str, timeout: float = 10.0):
65
76
  start = time.time()
66
77
  while time.time() - start < timeout:
@@ -102,10 +113,10 @@ def test_setup_returns_websocket_config():
102
113
  def test_ws_connect_triggers_handler(ws_server):
103
114
  ws = _ws_connect()
104
115
  try:
105
- msg = json.loads(ws.recv())
116
+ msg = json.loads(_recv_text(ws))
106
117
  assert msg["event"] == "connected"
107
118
  assert msg["connectionId"]
108
- assert "CONNECT" in msg["eventType"]
119
+ assert "connect" in msg["eventType"].lower()
109
120
  finally:
110
121
  ws.close()
111
122
 
@@ -119,10 +130,10 @@ def test_ws_json_message_routes_to_echo(ws_server):
119
130
  ws = _ws_connect()
120
131
  try:
121
132
  # Consume the connect message first.
122
- ws.recv()
133
+ _recv_text(ws)
123
134
 
124
135
  ws.send(json.dumps({"action": "echo", "data": "hello"}))
125
- msg = json.loads(ws.recv())
136
+ msg = json.loads(_recv_text(ws))
126
137
  assert msg["event"] == "echo"
127
138
  assert msg["body"]["data"] == "hello"
128
139
  assert msg["connectionId"]
@@ -139,10 +150,10 @@ def test_ws_default_route(ws_server):
139
150
  ws = _ws_connect()
140
151
  try:
141
152
  # Consume the connect message.
142
- ws.recv()
153
+ _recv_text(ws)
143
154
 
144
155
  ws.send(json.dumps({"action": "unknownAction", "data": "test"}))
145
- msg = json.loads(ws.recv())
156
+ msg = json.loads(_recv_text(ws))
146
157
  assert msg["event"] == "default"
147
158
  assert msg["connectionId"]
148
159
  finally:
@@ -164,7 +175,7 @@ def test_ws_disconnect_triggers_handler(ws_server):
164
175
 
165
176
  ws = _ws_connect()
166
177
  # Consume the connect message.
167
- ws.recv()
178
+ _recv_text(ws)
168
179
  ws.close()
169
180
 
170
181
  result = _wait_for_file(disconnect_file)
@@ -181,10 +192,10 @@ def test_ws_registry_send_message(ws_server):
181
192
  ws = _ws_connect()
182
193
  try:
183
194
  # Consume the connect message.
184
- ws.recv()
195
+ _recv_text(ws)
185
196
 
186
197
  ws.send(json.dumps({"action": "echo", "payload": {"key": "value"}}))
187
- msg = json.loads(ws.recv())
198
+ msg = json.loads(_recv_text(ws))
188
199
  # The echo handler uses ws_registry.send_message to send back.
189
200
  assert msg["event"] == "echo"
190
201
  assert msg["body"]["payload"] == {"key": "value"}
@@ -201,10 +212,10 @@ def test_ws_request_context(ws_server):
201
212
  ws = _ws_connect(query="token=abc")
202
213
  try:
203
214
  # Consume the connect message.
204
- ws.recv()
215
+ _recv_text(ws)
205
216
 
206
217
  ws.send(json.dumps({"action": "echo", "data": "ctx-test"}))
207
- msg = json.loads(ws.recv())
218
+ msg = json.loads(_recv_text(ws))
208
219
  assert msg["requestContext"] is not None
209
220
  assert msg["requestContext"]["requestId"]
210
221
  assert msg["requestContext"]["clientIp"]
@@ -1 +0,0 @@
1
- runtime-consumers/v0.3.0