slim-bindings 0.4.1__tar.gz → 0.5.0__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.

Potentially problematic release.


This version of slim-bindings might be problematic. Click here for more details.

Files changed (239) hide show
  1. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/Cargo.lock +17 -46
  2. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/Cargo.toml +12 -12
  3. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/PKG-INFO +5 -5
  4. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0}/README.md +3 -3
  5. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/auth/CHANGELOG.md +10 -0
  6. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/auth/Cargo.toml +2 -2
  7. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/auth/src/builder.rs +1 -1
  8. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/auth/src/jwt.rs +3 -1
  9. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/auth/src/testutils.rs +0 -13
  10. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/CHANGELOG.md +19 -0
  11. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/Cargo.toml +3 -3
  12. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/auth/jwt.rs +51 -9
  13. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/component/id.rs +3 -3
  14. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/grpc/client.rs +154 -43
  15. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/grpc/server.rs +135 -39
  16. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/lib.rs +1 -0
  17. slim_bindings-0.5.0/core/config/src/metadata.rs +263 -0
  18. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/tls/common.rs +8 -6
  19. slim_bindings-0.5.0/core/config/src/tls/provider.rs +184 -0
  20. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/tls/server.rs +2 -2
  21. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/tls.rs +1 -0
  22. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/tests/e2e.rs +2 -1
  23. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/controller/CHANGELOG.md +13 -0
  24. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/controller/Cargo.toml +1 -1
  25. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/controller/src/service.rs +2 -2
  26. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/CHANGELOG.md +10 -0
  27. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/Cargo.toml +1 -1
  28. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/mls/CHANGELOG.md +10 -0
  29. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/mls/Cargo.toml +1 -1
  30. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/CHANGELOG.md +17 -0
  31. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/Cargo.toml +1 -1
  32. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/src/lib.rs +6 -1
  33. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/tracing/CHANGELOG.md +6 -0
  34. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/tracing/Cargo.toml +1 -1
  35. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/pyproject.toml +5 -7
  36. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/CHANGELOG.md +7 -1
  37. {slim_bindings-0.4.1 → slim_bindings-0.5.0/python/bindings}/README.md +3 -3
  38. slim_bindings-0.5.0/python/bindings/Taskfile.yaml +92 -0
  39. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/examples/Dockerfile +9 -5
  40. slim_bindings-0.4.1/python-bindings/Taskfile.yml → slim_bindings-0.5.0/python/bindings/examples/Taskfile.yaml +8 -126
  41. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/examples/src/slim_bindings_examples/common.py +1 -1
  42. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/src/lib.rs +5 -0
  43. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/tests/test_identity.py +2 -1
  44. slim_bindings-0.5.0/python/bindings/uv.lock +432 -0
  45. slim_bindings-0.4.1/python-bindings/WINDOWS.md +0 -109
  46. slim_bindings-0.4.1/python-bindings/slima2a/README.md +0 -52
  47. slim_bindings-0.4.1/python-bindings/slima2a/Taskfile.yaml +0 -11
  48. slim_bindings-0.4.1/python-bindings/slima2a/buf.gen.yaml +0 -22
  49. slim_bindings-0.4.1/python-bindings/slima2a/examples/echo_agent/README.md +0 -19
  50. slim_bindings-0.4.1/python-bindings/slima2a/examples/echo_agent/__init__.py +0 -0
  51. slim_bindings-0.4.1/python-bindings/slima2a/examples/echo_agent/client.py +0 -184
  52. slim_bindings-0.4.1/python-bindings/slima2a/examples/echo_agent/echo_agent.py +0 -3
  53. slim_bindings-0.4.1/python-bindings/slima2a/examples/echo_agent/echo_agent_executor.py +0 -43
  54. slim_bindings-0.4.1/python-bindings/slima2a/examples/echo_agent/server.py +0 -93
  55. slim_bindings-0.4.1/python-bindings/slima2a/examples/travel_planner_agent/README.md +0 -55
  56. slim_bindings-0.4.1/python-bindings/slima2a/examples/travel_planner_agent/__init__.py +0 -0
  57. slim_bindings-0.4.1/python-bindings/slima2a/examples/travel_planner_agent/agent.py +0 -88
  58. slim_bindings-0.4.1/python-bindings/slima2a/examples/travel_planner_agent/agent_executor.py +0 -54
  59. slim_bindings-0.4.1/python-bindings/slima2a/examples/travel_planner_agent/client.py +0 -107
  60. slim_bindings-0.4.1/python-bindings/slima2a/examples/travel_planner_agent/config.json +0 -8
  61. slim_bindings-0.4.1/python-bindings/slima2a/examples/travel_planner_agent/server.py +0 -68
  62. slim_bindings-0.4.1/python-bindings/slima2a/pyproject.toml +0 -33
  63. slim_bindings-0.4.1/python-bindings/slima2a/slima2a/__init__.py +0 -0
  64. slim_bindings-0.4.1/python-bindings/slima2a/slima2a/client_transport.py +0 -202
  65. slim_bindings-0.4.1/python-bindings/slima2a/slima2a/handler.py +0 -370
  66. slim_bindings-0.4.1/python-bindings/slima2a/slima2a/py.typed +0 -0
  67. slim_bindings-0.4.1/python-bindings/slima2a/slima2a/types/__init__.py +0 -0
  68. slim_bindings-0.4.1/python-bindings/slima2a/slima2a/types/a2a_pb2_srpc.py +0 -189
  69. slim_bindings-0.4.1/python-bindings/srpc/README.md +0 -5
  70. slim_bindings-0.4.1/python-bindings/srpc/pyproject.toml +0 -43
  71. slim_bindings-0.4.1/python-bindings/srpc/srpc/__init__.py +0 -29
  72. slim_bindings-0.4.1/python-bindings/srpc/srpc/channel.py +0 -364
  73. slim_bindings-0.4.1/python-bindings/srpc/srpc/common.py +0 -200
  74. slim_bindings-0.4.1/python-bindings/srpc/srpc/context.py +0 -32
  75. slim_bindings-0.4.1/python-bindings/srpc/srpc/examples/simple/buf.gen.yaml +0 -21
  76. slim_bindings-0.4.1/python-bindings/srpc/srpc/examples/simple/client.py +0 -60
  77. slim_bindings-0.4.1/python-bindings/srpc/srpc/examples/simple/example.proto +0 -20
  78. slim_bindings-0.4.1/python-bindings/srpc/srpc/examples/simple/server.py +0 -102
  79. slim_bindings-0.4.1/python-bindings/srpc/srpc/examples/simple/types/example_pb2.py +0 -41
  80. slim_bindings-0.4.1/python-bindings/srpc/srpc/examples/simple/types/example_pb2.pyi +0 -21
  81. slim_bindings-0.4.1/python-bindings/srpc/srpc/examples/simple/types/example_pb2_srpc.py +0 -98
  82. slim_bindings-0.4.1/python-bindings/srpc/srpc/py.typed +0 -0
  83. slim_bindings-0.4.1/python-bindings/srpc/srpc/rpc.py +0 -90
  84. slim_bindings-0.4.1/python-bindings/srpc/srpc/server.py +0 -242
  85. slim_bindings-0.4.1/python-bindings/uv.lock +0 -1651
  86. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/auth/README.md +0 -0
  87. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/auth/src/errors.rs +0 -0
  88. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/auth/src/file_watcher.rs +0 -0
  89. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/auth/src/jwt_middleware.rs +0 -0
  90. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/auth/src/lib.rs +0 -0
  91. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/auth/src/resolver.rs +0 -0
  92. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/auth/src/shared_secret.rs +0 -0
  93. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/auth/src/traits.rs +0 -0
  94. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/README.md +0 -0
  95. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/build.rs +0 -0
  96. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/proto/hello.proto +0 -0
  97. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/auth/basic.rs +0 -0
  98. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/auth/bearer.rs +0 -0
  99. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/auth.rs +0 -0
  100. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/component/configuration.rs +0 -0
  101. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/component.rs +0 -0
  102. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/grpc/compression.rs +0 -0
  103. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/grpc/errors.rs +0 -0
  104. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/grpc/headers_middleware.rs +0 -0
  105. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/grpc/helloworld.rs +0 -0
  106. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/grpc/proxy.rs +0 -0
  107. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/grpc/schema/client-config.schema.json +0 -0
  108. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/grpc/schema/generate_schema.rs +0 -0
  109. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/grpc.rs +0 -0
  110. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/opaque.rs +0 -0
  111. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/provider/env.rs +0 -0
  112. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/provider/file.rs +0 -0
  113. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/provider/lib.rs +0 -0
  114. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/provider.rs +0 -0
  115. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/testutils/helloworld.rs +0 -0
  116. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/testutils/tower_service.rs +0 -0
  117. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/testutils.rs +0 -0
  118. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/tls/client.rs +0 -0
  119. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/grpc/ca.crt +0 -0
  120. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/grpc/server.crt +0 -0
  121. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/grpc/server.key +0 -0
  122. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/jwt/ec256-public.pem +0 -0
  123. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/jwt/ec256-wrong.pem +0 -0
  124. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/jwt/ec256.pem +0 -0
  125. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/jwt/ec384-public.pem +0 -0
  126. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/jwt/ec384-wrong.pem +0 -0
  127. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/jwt/ec384.pem +0 -0
  128. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/jwt/eddsa-public.pem +0 -0
  129. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/jwt/eddsa-wrong.pem +0 -0
  130. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/jwt/eddsa.pem +0 -0
  131. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/jwt/rsa-public.pem +0 -0
  132. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/jwt/rsa-wrong.pem +0 -0
  133. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/jwt/rsa.pem +0 -0
  134. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/testfile +0 -0
  135. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/tls/ca-1.crt +0 -0
  136. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/tls/ca-2.crt +0 -0
  137. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/tls/ca-bad.crt +0 -0
  138. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/tls/client-1.crt +0 -0
  139. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/tls/client-1.key +0 -0
  140. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/tls/client-2.crt +0 -0
  141. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/tls/client-2.key +0 -0
  142. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/tls/server-1.crt +0 -0
  143. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/tls/server-1.key +0 -0
  144. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/tls/server-2.crt +0 -0
  145. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/tls/server-2.key +0 -0
  146. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/tests/tls.rs +0 -0
  147. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/controller/README.md +0 -0
  148. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/controller/build.rs +0 -0
  149. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/controller/proto/v1/controller.proto +0 -0
  150. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/controller/src/api/gen/controller.proto.v1.rs +0 -0
  151. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/controller/src/api/proto.rs +0 -0
  152. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/controller/src/api.rs +0 -0
  153. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/controller/src/config.rs +0 -0
  154. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/controller/src/errors.rs +0 -0
  155. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/controller/src/lib.rs +0 -0
  156. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/README.md +0 -0
  157. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/benches/pool_benchmark.rs +0 -0
  158. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/build.rs +0 -0
  159. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/proto/v1/pubsub.proto +0 -0
  160. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/api/gen/pubsub.proto.v1.rs +0 -0
  161. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/api/proto.rs +0 -0
  162. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/api.rs +0 -0
  163. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/connection.rs +0 -0
  164. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/errors.rs +0 -0
  165. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/forwarder.rs +0 -0
  166. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/lib.rs +0 -0
  167. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/message_processing.rs +0 -0
  168. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/messages/encoder.rs +0 -0
  169. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/messages/utils.rs +0 -0
  170. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/messages.rs +0 -0
  171. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/tables/connection_table.rs +0 -0
  172. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/tables/errors.rs +0 -0
  173. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/tables/pool.rs +0 -0
  174. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/tables/remote_subscription_table.rs +0 -0
  175. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/tables/subscription_table.rs +0 -0
  176. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/tables.rs +0 -0
  177. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/tests/data_path_test.rs +0 -0
  178. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/mls/README.md +0 -0
  179. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/mls/src/errors.rs +0 -0
  180. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/mls/src/identity_provider.rs +0 -0
  181. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/mls/src/lib.rs +0 -0
  182. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/mls/src/mls.rs +0 -0
  183. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/README.md +0 -0
  184. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/src/app.rs +0 -0
  185. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/src/channel_endpoint.rs +0 -0
  186. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/src/errors.rs +0 -0
  187. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/src/fire_and_forget.rs +0 -0
  188. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/src/interceptor.rs +0 -0
  189. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/src/interceptor_mls.rs +0 -0
  190. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/src/moderator_task.rs +0 -0
  191. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/src/producer_buffer.rs +0 -0
  192. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/src/receiver_buffer.rs +0 -0
  193. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/src/session.rs +0 -0
  194. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/src/streaming.rs +0 -0
  195. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/src/testutils.rs +0 -0
  196. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/src/timer.rs +0 -0
  197. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/src/transmitter.rs +0 -0
  198. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/signal/CHANGELOG.md +0 -0
  199. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/signal/Cargo.toml +0 -0
  200. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/signal/README.md +0 -0
  201. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/signal/src/lib.rs +0 -0
  202. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/tracing/README.md +0 -0
  203. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/tracing/src/lib.rs +0 -0
  204. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/tracing/src/utils.rs +0 -0
  205. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/BUILD.md +0 -0
  206. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/Cargo.toml +0 -0
  207. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/build.rs +0 -0
  208. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/examples/CHANGELOG.md +0 -0
  209. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/examples/pyproject.toml +0 -0
  210. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/examples/src/slim_bindings_examples/__init__.py +0 -0
  211. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/examples/src/slim_bindings_examples/fire_and_forget.py +0 -0
  212. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/examples/src/slim_bindings_examples/pubsub.py +0 -0
  213. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/examples/src/slim_bindings_examples/request_reply.py +0 -0
  214. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/examples/src/slim_bindings_examples/slim.py +0 -0
  215. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/slim_bindings/__init__.py +0 -0
  216. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/slim_bindings/_slim_bindings.pyi +0 -0
  217. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/src/bin/stub_gen.rs +0 -0
  218. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/src/build_info.rs +0 -0
  219. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/src/pyidentity.rs +0 -0
  220. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/src/pyservice.rs +0 -0
  221. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/src/pysession.rs +0 -0
  222. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/src/utils.rs +0 -0
  223. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/tests/common.py +0 -0
  224. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/tests/conftest.py +0 -0
  225. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/tests/test_bindings.py +0 -0
  226. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/tests/test_fire_forget.py +0 -0
  227. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/tests/test_pubsub.py +0 -0
  228. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/tests/test_request_reply.py +0 -0
  229. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/tests/test_streaming.py +0 -0
  230. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/tests/testdata/ec256-public.pem +0 -0
  231. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/tests/testdata/ec256.pem +0 -0
  232. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/tests/testdata/ec384-public.pem +0 -0
  233. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/tests/testdata/ec384.pem +0 -0
  234. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/tests/testdata/eddsa-public.pem +0 -0
  235. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/tests/testdata/eddsa.pem +0 -0
  236. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/tests/testdata/rsa-public.pem +0 -0
  237. {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/tests/testdata/rsa.pem +0 -0
  238. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/slim_bindings/__init__.py +0 -0
  239. {slim_bindings-0.4.1 → slim_bindings-0.5.0}/slim_bindings/_slim_bindings.pyi +0 -0
@@ -18,7 +18,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
18
18
  checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
19
19
 
20
20
  [[package]]
21
- name = "agntcy-protoc-srpc-plugin"
21
+ name = "agntcy-protoc-slimrpc-plugin"
22
22
  version = "0.1.0"
23
23
  dependencies = [
24
24
  "anyhow",
@@ -29,18 +29,19 @@ dependencies = [
29
29
 
30
30
  [[package]]
31
31
  name = "agntcy-slim"
32
- version = "0.4.0"
32
+ version = "0.5.0"
33
33
  dependencies = [
34
34
  "agntcy-slim-config",
35
35
  "agntcy-slim-service",
36
36
  "agntcy-slim-signal",
37
37
  "agntcy-slim-tracing",
38
38
  "clap",
39
- "duration-str",
39
+ "duration-string",
40
40
  "jemallocator",
41
41
  "lazy_static",
42
42
  "num_cpus",
43
43
  "serde",
44
+ "serde_json",
44
45
  "serde_yaml",
45
46
  "thiserror 2.0.12",
46
47
  "tokio",
@@ -50,8 +51,9 @@ dependencies = [
50
51
 
51
52
  [[package]]
52
53
  name = "agntcy-slim-auth"
53
- version = "0.2.0"
54
+ version = "0.3.0"
54
55
  dependencies = [
56
+ "agntcy-slim-config",
55
57
  "async-trait",
56
58
  "aws-lc-rs",
57
59
  "base64 0.22.1",
@@ -63,7 +65,6 @@ dependencies = [
63
65
  "parking_lot",
64
66
  "pin-project",
65
67
  "reqwest",
66
- "rustls",
67
68
  "schemars",
68
69
  "serde",
69
70
  "serde_json",
@@ -101,12 +102,12 @@ dependencies = [
101
102
 
102
103
  [[package]]
103
104
  name = "agntcy-slim-config"
104
- version = "0.2.0"
105
+ version = "0.3.0"
105
106
  dependencies = [
106
107
  "agntcy-slim-auth",
107
108
  "base64 0.22.1",
108
109
  "drain",
109
- "duration-str",
110
+ "duration-string",
110
111
  "futures",
111
112
  "http 1.3.1",
112
113
  "hyper-rustls",
@@ -140,7 +141,7 @@ dependencies = [
140
141
 
141
142
  [[package]]
142
143
  name = "agntcy-slim-controller"
143
- version = "0.2.0"
144
+ version = "0.3.0"
144
145
  dependencies = [
145
146
  "agntcy-slim-config",
146
147
  "agntcy-slim-datapath",
@@ -166,7 +167,7 @@ dependencies = [
166
167
 
167
168
  [[package]]
168
169
  name = "agntcy-slim-datapath"
169
- version = "0.8.0"
170
+ version = "0.9.0"
170
171
  dependencies = [
171
172
  "agntcy-slim-config",
172
173
  "agntcy-slim-tracing",
@@ -195,7 +196,7 @@ dependencies = [
195
196
 
196
197
  [[package]]
197
198
  name = "agntcy-slim-mls"
198
- version = "0.1.0"
199
+ version = "0.1.1"
199
200
  dependencies = [
200
201
  "agntcy-slim-auth",
201
202
  "agntcy-slim-datapath",
@@ -222,7 +223,7 @@ dependencies = [
222
223
 
223
224
  [[package]]
224
225
  name = "agntcy-slim-service"
225
- version = "0.5.0"
226
+ version = "0.6.0"
226
227
  dependencies = [
227
228
  "agntcy-slim-auth",
228
229
  "agntcy-slim-config",
@@ -254,7 +255,7 @@ dependencies = [
254
255
 
255
256
  [[package]]
256
257
  name = "agntcy-slim-tracing"
257
- version = "0.2.2"
258
+ version = "0.2.3"
258
259
  dependencies = [
259
260
  "agntcy-slim-config",
260
261
  "once_cell",
@@ -357,12 +358,6 @@ version = "1.0.98"
357
358
  source = "registry+https://github.com/rust-lang/crates.io-index"
358
359
  checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487"
359
360
 
360
- [[package]]
361
- name = "arrayvec"
362
- version = "0.7.6"
363
- source = "registry+https://github.com/rust-lang/crates.io-index"
364
- checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50"
365
-
366
361
  [[package]]
367
362
  name = "assert-json-diff"
368
363
  version = "2.0.2"
@@ -1023,17 +1018,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1023
1018
  checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813"
1024
1019
 
1025
1020
  [[package]]
1026
- name = "duration-str"
1027
- version = "0.12.0"
1021
+ name = "duration-string"
1022
+ version = "0.5.3"
1028
1023
  source = "registry+https://github.com/rust-lang/crates.io-index"
1029
- checksum = "64ad6b66883f70e2f38f1ee99e3797b9d7e7b7fb051ed2e23e027c81753056c8"
1024
+ checksum = "edbd404ab304f4426de3e981a875a77129597ce04202c9b8b4502c6f1c246809"
1030
1025
  dependencies = [
1031
- "chrono",
1032
- "rust_decimal",
1033
1026
  "serde",
1034
- "thiserror 2.0.12",
1035
- "time",
1036
- "winnow 0.6.26",
1037
1027
  ]
1038
1028
 
1039
1029
  [[package]]
@@ -3359,16 +3349,6 @@ dependencies = [
3359
3349
  "windows-sys 0.52.0",
3360
3350
  ]
3361
3351
 
3362
- [[package]]
3363
- name = "rust_decimal"
3364
- version = "1.37.2"
3365
- source = "registry+https://github.com/rust-lang/crates.io-index"
3366
- checksum = "b203a6425500a03e0919c42d3c47caca51e79f1132046626d2c8871c5092035d"
3367
- dependencies = [
3368
- "arrayvec",
3369
- "num-traits",
3370
- ]
3371
-
3372
3352
  [[package]]
3373
3353
  name = "rustc-demangle"
3374
3354
  version = "0.1.25"
@@ -4163,7 +4143,7 @@ dependencies = [
4163
4143
  "serde_spanned",
4164
4144
  "toml_datetime",
4165
4145
  "toml_write",
4166
- "winnow 0.7.11",
4146
+ "winnow",
4167
4147
  ]
4168
4148
 
4169
4149
  [[package]]
@@ -5000,15 +4980,6 @@ version = "0.53.0"
5000
4980
  source = "registry+https://github.com/rust-lang/crates.io-index"
5001
4981
  checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486"
5002
4982
 
5003
- [[package]]
5004
- name = "winnow"
5005
- version = "0.6.26"
5006
- source = "registry+https://github.com/rust-lang/crates.io-index"
5007
- checksum = "1e90edd2ac1aa278a5c4599b1d89cf03074b610800f866d4026dc199d7929a28"
5008
- dependencies = [
5009
- "memchr",
5010
- ]
5011
-
5012
4983
  [[package]]
5013
4984
  name = "winnow"
5014
4985
  version = "0.7.11"
@@ -1,6 +1,6 @@
1
1
  [workspace]
2
2
 
3
- members = ["python-bindings"]
3
+ members = ["python/bindings"]
4
4
 
5
5
  default-members = [
6
6
  "core/config",
@@ -10,26 +10,26 @@ default-members = [
10
10
  "core/service",
11
11
  "core/signal",
12
12
  "core/tracing",
13
- "srpc-compiler",
13
+ "slimrpc-compiler",
14
14
  "examples",
15
15
  "testing",
16
16
  ]
17
17
 
18
- exclude = ["integrations/mcp/mcp-proxy"]
18
+ exclude = ["integrations/mcp-proxy"]
19
19
 
20
20
  resolver = "2"
21
21
 
22
22
  [workspace.dependencies]
23
23
  # Local dependencies
24
- agntcy-slim = { path = "core/slim", version = "0.4.0" }
25
- agntcy-slim-auth = { path = "core/auth", version = "0.2.0" }
26
- agntcy-slim-config = { path = "core/config", version = "0.2.0" }
27
- agntcy-slim-controller = { path = "core/controller", version = "0.2.0" }
28
- agntcy-slim-datapath = { path = "core/datapath", version = "0.8.0" }
29
- agntcy-slim-mls = { path = "core/mls", version = "0.1.0" }
30
- agntcy-slim-service = { path = "core/service", version = "0.5.0" }
24
+ agntcy-slim = { path = "core/slim", version = "0.5.0" }
25
+ agntcy-slim-auth = { path = "core/auth", version = "0.3.0" }
26
+ agntcy-slim-config = { path = "core/config", version = "0.3.0" }
27
+ agntcy-slim-controller = { path = "core/controller", version = "0.3.0" }
28
+ agntcy-slim-datapath = { path = "core/datapath", version = "0.9.0" }
29
+ agntcy-slim-mls = { path = "core/mls", version = "0.1.1" }
30
+ agntcy-slim-service = { path = "core/service", version = "0.6.0" }
31
31
  agntcy-slim-signal = { path = "core/signal", version = "0.1.3" }
32
- agntcy-slim-tracing = { path = "core/tracing", version = "0.2.2" }
32
+ agntcy-slim-tracing = { path = "core/tracing", version = "0.2.3" }
33
33
 
34
34
  anyhow = "1.0.98"
35
35
 
@@ -43,7 +43,7 @@ clap = { version = "4.5.23", features = ["derive", "env"] }
43
43
 
44
44
  criterion = { version = "0.5", features = ["html_reports"] }
45
45
  drain = { version = "0.1", features = ["retain"] }
46
- duration-str = "0.12.0"
46
+ duration-string = { version = "0.5.3", features = ["serde"] }
47
47
  futures = "0.3.31"
48
48
  h2 = "0.4.7"
49
49
  headers = "0.4.1"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: slim-bindings
3
- Version: 0.4.1
3
+ Version: 0.5.0
4
4
  Classifier: Development Status :: 3 - Alpha
5
5
  Classifier: Intended Audience :: Developers
6
6
  Classifier: Topic :: Software Development :: Libraries
@@ -15,7 +15,7 @@ Requires-Python: >=3.9, <4.0
15
15
  Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
16
16
  Project-URL: Repository, https://github.com/agntcy/slim
17
17
  Project-URL: Issues, https://github.com/agntcy/slim/issues
18
- Project-URL: Changelog, https://github.com/agntcy/slim/blob/main/data-plane/python-bindings/CHANGELOG.md
18
+ Project-URL: Changelog, https://github.com/agntcy/slim/blob/main/data-plane/python/bindings/CHANGELOG.md
19
19
 
20
20
  # SLIM Python Bindings
21
21
 
@@ -38,7 +38,7 @@ version = "0.1.0"
38
38
  description = "Python program using SLIM"
39
39
  requires-python = ">=3.9"
40
40
  dependencies = [
41
- "slim-bindings>=0.1.0"
41
+ "slim-bindings>=0.5.0"
42
42
  ]
43
43
  ```
44
44
 
@@ -52,10 +52,10 @@ description = "Python program using SLIM"
52
52
 
53
53
  [tool.poetry.dependencies]
54
54
  python = ">=3.9,<3.14"
55
- slim-bindings = ">=0.1.0"
55
+ slim-bindings = ">=0.5.0"
56
56
  ```
57
57
 
58
58
  ## Example programs
59
59
 
60
- Example apps can be found in the [repo](https://github.com/agntcy/slim/tree/main/data-plane/python-bindings/examples/src/slim_bindings_examples)
60
+ Example apps can be found in the [repo](https://github.com/agntcy/slim/tree/slim-v0.5.0/data-plane/python/bindings/examples)
61
61
 
@@ -19,7 +19,7 @@ version = "0.1.0"
19
19
  description = "Python program using SLIM"
20
20
  requires-python = ">=3.9"
21
21
  dependencies = [
22
- "slim-bindings>=0.1.0"
22
+ "slim-bindings>=0.5.0"
23
23
  ]
24
24
  ```
25
25
 
@@ -33,9 +33,9 @@ description = "Python program using SLIM"
33
33
 
34
34
  [tool.poetry.dependencies]
35
35
  python = ">=3.9,<3.14"
36
- slim-bindings = ">=0.1.0"
36
+ slim-bindings = ">=0.5.0"
37
37
  ```
38
38
 
39
39
  ## Example programs
40
40
 
41
- Example apps can be found in the [repo](https://github.com/agntcy/slim/tree/main/data-plane/python-bindings/examples/src/slim_bindings_examples)
41
+ Example apps can be found in the [repo](https://github.com/agntcy/slim/tree/slim-v0.5.0/data-plane/python/bindings/examples)
@@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.3.0](https://github.com/agntcy/slim/compare/slim-auth-v0.2.0...slim-auth-v0.3.0) - 2025-09-17
11
+
12
+ ### Added
13
+
14
+ - make MLS identity provider backend agnostic ([#552](https://github.com/agntcy/slim/pull/552))
15
+
16
+ ### Fixed
17
+
18
+ - *(python-bindings)* default crypto provider initialization for Reqwest crate ([#706](https://github.com/agntcy/slim/pull/706))
19
+
10
20
  ## [0.2.0](https://github.com/agntcy/slim/compare/slim-auth-v0.1.0...slim-auth-v0.2.0) - 2025-07-31
11
21
 
12
22
  ### Added
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "agntcy-slim-auth"
3
- version = "0.2.0"
3
+ version = "0.3.0"
4
4
  license = { workspace = true }
5
5
  edition = { workspace = true }
6
6
  description = "Authentication utilities for the Agntcy Slim framework"
@@ -21,7 +21,6 @@ notify = { workspace = true }
21
21
  parking_lot = { workspace = true }
22
22
  pin-project = { workspace = true }
23
23
  reqwest = { workspace = true }
24
- rustls = { workspace = true }
25
24
  schemars = { workspace = true }
26
25
  serde = { workspace = true }
27
26
  serde_json = { workspace = true }
@@ -37,4 +36,5 @@ url = { workspace = true }
37
36
  wiremock = { workspace = true }
38
37
 
39
38
  [dev-dependencies]
39
+ agntcy-slim-config = { path = "../config" }
40
40
  tracing-test = { workspace = true }
@@ -561,7 +561,7 @@ mod tests {
561
561
  use std::time::SystemTime;
562
562
  use std::time::UNIX_EPOCH;
563
563
 
564
- use crate::testutils::initialize_crypto_provider;
564
+ use slim_config::tls::provider::initialize_crypto_provider;
565
565
 
566
566
  fn create_file(file_path: &str, content: &str) -> std::io::Result<()> {
567
567
  let mut file = File::create(file_path)?;
@@ -579,8 +579,10 @@ mod tests {
579
579
  use tokio::time;
580
580
  use tracing_test::traced_test;
581
581
 
582
+ use slim_config::tls::provider::initialize_crypto_provider;
583
+
582
584
  use crate::builder::JwtBuilder;
583
- use crate::testutils::{initialize_crypto_provider, setup_test_jwt_resolver};
585
+ use crate::testutils::setup_test_jwt_resolver;
584
586
 
585
587
  fn create_file(file_path: &str, content: &str) -> std::io::Result<()> {
586
588
  let mut file = File::create(file_path)?;
@@ -1,8 +1,6 @@
1
1
  // Copyright AGNTCY Contributors (https://github.com/agntcy)
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
- use std::sync::Once;
5
-
6
4
  use aws_lc_rs::encoding::AsDer;
7
5
  use aws_lc_rs::signature::KeyPair; // Import the KeyPair trait for public_key() method
8
6
  use aws_lc_rs::{rand, rsa, signature};
@@ -13,17 +11,6 @@ use serde_json::json;
13
11
  use wiremock::matchers::{method, path};
14
12
  use wiremock::{Mock, MockServer, ResponseTemplate};
15
13
 
16
- static RUSTLS: Once = Once::new();
17
-
18
- pub fn initialize_crypto_provider() {
19
- RUSTLS.call_once(|| {
20
- // Set aws-lc as default crypto provider
21
- rustls::crypto::aws_lc_rs::default_provider()
22
- .install_default()
23
- .unwrap();
24
- });
25
- }
26
-
27
14
  pub async fn setup_test_jwt_resolver(algorithm: Algorithm) -> (String, MockServer, String) {
28
15
  // Set up the mock server for JWKS
29
16
  let mock_server = MockServer::start().await;
@@ -7,6 +7,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.3.0](https://github.com/agntcy/slim/compare/slim-config-v0.2.0...slim-config-v0.3.0) - 2025-09-17
11
+
12
+ ### Added
13
+
14
+ - add metadata map to clients and servers ([#684](https://github.com/agntcy/slim/pull/684))
15
+ - *(grpc-client)* add support for HTTPS proxy ([#614](https://github.com/agntcy/slim/pull/614))
16
+ - notify controller with new subscriptions ([#611](https://github.com/agntcy/slim/pull/611))
17
+ - *(grpc)* add support for HTTP proxy ([#610](https://github.com/agntcy/slim/pull/610))
18
+
19
+ ### Fixed
20
+
21
+ - *(python-bindings)* default crypto provider initialization for Reqwest crate ([#706](https://github.com/agntcy/slim/pull/706))
22
+ - use duration-string in place of duration-str ([#683](https://github.com/agntcy/slim/pull/683))
23
+ - *(tls)* enable loading of system ca certs by default ([#605](https://github.com/agntcy/slim/pull/605))
24
+
25
+ ### Other
26
+
27
+ - SLIM node ID should be unique in a deployment ([#630](https://github.com/agntcy/slim/pull/630))
28
+
10
29
  ## [0.2.0](https://github.com/agntcy/slim/compare/slim-config-v0.1.8...slim-config-v0.2.0) - 2025-07-31
11
30
 
12
31
  ### Added
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "agntcy-slim-config"
3
- version = "0.2.0"
3
+ version = "0.3.0"
4
4
  edition = { workspace = true }
5
5
  license = { workspace = true }
6
6
  description = "Configuration utilities"
@@ -14,10 +14,10 @@ name = "generate-schema"
14
14
  path = "src/grpc/schema/generate_schema.rs"
15
15
 
16
16
  [dependencies]
17
- agntcy-slim-auth.workspace = true
17
+ agntcy-slim-auth = { workspace = true }
18
18
  base64 = { workspace = true }
19
19
  drain = { workspace = true }
20
- duration-str = { workspace = true }
20
+ duration-string = { workspace = true }
21
21
  futures = { workspace = true }
22
22
  http = { workspace = true }
23
23
  hyper-rustls = { workspace = true }
@@ -4,7 +4,7 @@
4
4
  use std::collections::HashMap;
5
5
  use std::time::Duration;
6
6
 
7
- use duration_str::deserialize_duration;
7
+ use duration_string::DurationString;
8
8
  use schemars::JsonSchema;
9
9
  use serde::{Deserialize, Serialize};
10
10
  use slim_auth::builder::JwtBuilder;
@@ -107,11 +107,9 @@ pub struct Config {
107
107
  claims: Claims,
108
108
 
109
109
  /// JWT Duration (will become exp: now() + duration)
110
- #[serde(
111
- default = "default_duration",
112
- deserialize_with = "deserialize_duration"
113
- )]
114
- duration: Duration,
110
+ #[serde(default = "default_duration")]
111
+ #[schemars(with = "String")]
112
+ duration: DurationString,
115
113
 
116
114
  /// One of: `encoding`, `decoding`, or `autoresolve`
117
115
  /// Encoding key is used for signing JWTs (client-side).
@@ -122,8 +120,8 @@ pub struct Config {
122
120
  key: JwtKey,
123
121
  }
124
122
 
125
- fn default_duration() -> Duration {
126
- Duration::from_secs(3600)
123
+ fn default_duration() -> DurationString {
124
+ Duration::from_secs(3600).into()
127
125
  }
128
126
 
129
127
  impl Config {
@@ -131,7 +129,7 @@ impl Config {
131
129
  pub fn new(claims: Claims, duration: Duration, key: JwtKey) -> Self {
132
130
  Config {
133
131
  claims,
134
- duration,
132
+ duration: duration.into(),
135
133
  key,
136
134
  }
137
135
  }
@@ -275,6 +273,7 @@ where
275
273
  mod tests {
276
274
  use crate::testutils::tower_service::{Body, HeaderCheckService};
277
275
  use http::Response;
276
+ use serde_json;
278
277
  use slim_auth::jwt::Algorithm;
279
278
  use slim_auth::jwt::KeyData;
280
279
  use slim_auth::jwt::KeyFormat;
@@ -340,4 +339,47 @@ mod tests {
340
339
  )
341
340
  .service(HeaderCheckService);
342
341
  }
342
+
343
+ #[test]
344
+ fn test_jwt_config_valid_duration_deserialize() {
345
+ // Use autoresolve to avoid specifying key details
346
+ let json = r#"{
347
+ "duration": "1h2m3s",
348
+ "key": { "autoresolve": true }
349
+ }"#;
350
+ let cfg: Config = serde_json::from_str(json).expect("valid duration should deserialize");
351
+ assert_eq!(cfg.duration, Duration::from_secs(3600 + 120 + 3));
352
+
353
+ let json = r#"{
354
+ "duration": "750ms",
355
+ "key": { "autoresolve": true }
356
+ }"#;
357
+ let cfg: Config = serde_json::from_str(json).expect("millis duration should deserialize");
358
+ assert_eq!(cfg.duration, Duration::from_millis(750));
359
+ }
360
+
361
+ #[test]
362
+ fn test_jwt_config_invalid_duration_deserialize() {
363
+ let cases = [
364
+ r#"{ "duration": "abc", "key": { "autoresolve": true } }"#,
365
+ r#"{ "duration": "10x", "key": { "autoresolve": true } }"#,
366
+ r#"{ "duration": "-5s", "key": { "autoresolve": true } }"#,
367
+ ];
368
+ for js in cases {
369
+ let res: Result<Config, _> = serde_json::from_str(js);
370
+ assert!(res.is_err(), "expected error for json: {}", js);
371
+ }
372
+ }
373
+
374
+ #[test]
375
+ fn test_jwt_config_duration_roundtrip() {
376
+ let cfg = Config::new(
377
+ Claims::default(),
378
+ Duration::from_secs(125),
379
+ JwtKey::Autoresolve(true),
380
+ );
381
+ let ser = serde_json::to_string(&cfg).expect("serialize");
382
+ let de: Config = serde_json::from_str(&ser).expect("deserialize");
383
+ assert_eq!(de.duration, Duration::from_secs(125));
384
+ }
343
385
  }
@@ -23,7 +23,7 @@ const KIND_AND_NAME_SEPARATOR: &str = "/";
23
23
  // Regex patterns for validating kind and names
24
24
  lazy_static::lazy_static! {
25
25
  static ref KIND_REGEX: Regex = Regex::new(r"^[a-zA-Z][0-9a-zA-Z_]{0,62}$").unwrap();
26
- static ref NAME_REGEX: Regex = Regex::new(r"^[^\p{Z}\p{C}\p{S}]+$").unwrap();
26
+ static ref NAME_REGEX: Regex = Regex::new(r"^[a-z0-9-]+$").unwrap();
27
27
  }
28
28
 
29
29
  /// Kind represents the type of a component.
@@ -160,8 +160,8 @@ mod tests {
160
160
  assert_eq!(id.kind().to_string(), "validKind");
161
161
  assert!(id.name().is_empty());
162
162
 
163
- let id_with_name = ID::new_with_name(kind_val.clone(), "validName").unwrap();
164
- assert_eq!(id_with_name.name(), "validName");
163
+ let id_with_name = ID::new_with_name(kind_val.clone(), "valid-name").unwrap();
164
+ assert_eq!(id_with_name.name(), "valid-name");
165
165
 
166
166
  assert!(ID::new_with_name(kind_val.clone(), "").is_ok());
167
167
  assert!(ID::new_with_name(kind_val.clone(), "Invalid Name!").is_err());