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.
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/Cargo.lock +17 -46
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/Cargo.toml +12 -12
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/PKG-INFO +5 -5
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0}/README.md +3 -3
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/auth/CHANGELOG.md +10 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/auth/Cargo.toml +2 -2
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/auth/src/builder.rs +1 -1
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/auth/src/jwt.rs +3 -1
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/auth/src/testutils.rs +0 -13
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/CHANGELOG.md +19 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/Cargo.toml +3 -3
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/auth/jwt.rs +51 -9
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/component/id.rs +3 -3
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/grpc/client.rs +154 -43
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/grpc/server.rs +135 -39
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/lib.rs +1 -0
- slim_bindings-0.5.0/core/config/src/metadata.rs +263 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/tls/common.rs +8 -6
- slim_bindings-0.5.0/core/config/src/tls/provider.rs +184 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/tls/server.rs +2 -2
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/tls.rs +1 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/tests/e2e.rs +2 -1
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/controller/CHANGELOG.md +13 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/controller/Cargo.toml +1 -1
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/controller/src/service.rs +2 -2
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/CHANGELOG.md +10 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/Cargo.toml +1 -1
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/mls/CHANGELOG.md +10 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/mls/Cargo.toml +1 -1
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/CHANGELOG.md +17 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/Cargo.toml +1 -1
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/src/lib.rs +6 -1
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/tracing/CHANGELOG.md +6 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/tracing/Cargo.toml +1 -1
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/pyproject.toml +5 -7
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/CHANGELOG.md +7 -1
- {slim_bindings-0.4.1 → slim_bindings-0.5.0/python/bindings}/README.md +3 -3
- slim_bindings-0.5.0/python/bindings/Taskfile.yaml +92 -0
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/examples/Dockerfile +9 -5
- slim_bindings-0.4.1/python-bindings/Taskfile.yml → slim_bindings-0.5.0/python/bindings/examples/Taskfile.yaml +8 -126
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/examples/src/slim_bindings_examples/common.py +1 -1
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/src/lib.rs +5 -0
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/tests/test_identity.py +2 -1
- slim_bindings-0.5.0/python/bindings/uv.lock +432 -0
- slim_bindings-0.4.1/python-bindings/WINDOWS.md +0 -109
- slim_bindings-0.4.1/python-bindings/slima2a/README.md +0 -52
- slim_bindings-0.4.1/python-bindings/slima2a/Taskfile.yaml +0 -11
- slim_bindings-0.4.1/python-bindings/slima2a/buf.gen.yaml +0 -22
- slim_bindings-0.4.1/python-bindings/slima2a/examples/echo_agent/README.md +0 -19
- slim_bindings-0.4.1/python-bindings/slima2a/examples/echo_agent/__init__.py +0 -0
- slim_bindings-0.4.1/python-bindings/slima2a/examples/echo_agent/client.py +0 -184
- slim_bindings-0.4.1/python-bindings/slima2a/examples/echo_agent/echo_agent.py +0 -3
- slim_bindings-0.4.1/python-bindings/slima2a/examples/echo_agent/echo_agent_executor.py +0 -43
- slim_bindings-0.4.1/python-bindings/slima2a/examples/echo_agent/server.py +0 -93
- slim_bindings-0.4.1/python-bindings/slima2a/examples/travel_planner_agent/README.md +0 -55
- slim_bindings-0.4.1/python-bindings/slima2a/examples/travel_planner_agent/__init__.py +0 -0
- slim_bindings-0.4.1/python-bindings/slima2a/examples/travel_planner_agent/agent.py +0 -88
- slim_bindings-0.4.1/python-bindings/slima2a/examples/travel_planner_agent/agent_executor.py +0 -54
- slim_bindings-0.4.1/python-bindings/slima2a/examples/travel_planner_agent/client.py +0 -107
- slim_bindings-0.4.1/python-bindings/slima2a/examples/travel_planner_agent/config.json +0 -8
- slim_bindings-0.4.1/python-bindings/slima2a/examples/travel_planner_agent/server.py +0 -68
- slim_bindings-0.4.1/python-bindings/slima2a/pyproject.toml +0 -33
- slim_bindings-0.4.1/python-bindings/slima2a/slima2a/__init__.py +0 -0
- slim_bindings-0.4.1/python-bindings/slima2a/slima2a/client_transport.py +0 -202
- slim_bindings-0.4.1/python-bindings/slima2a/slima2a/handler.py +0 -370
- slim_bindings-0.4.1/python-bindings/slima2a/slima2a/py.typed +0 -0
- slim_bindings-0.4.1/python-bindings/slima2a/slima2a/types/__init__.py +0 -0
- slim_bindings-0.4.1/python-bindings/slima2a/slima2a/types/a2a_pb2_srpc.py +0 -189
- slim_bindings-0.4.1/python-bindings/srpc/README.md +0 -5
- slim_bindings-0.4.1/python-bindings/srpc/pyproject.toml +0 -43
- slim_bindings-0.4.1/python-bindings/srpc/srpc/__init__.py +0 -29
- slim_bindings-0.4.1/python-bindings/srpc/srpc/channel.py +0 -364
- slim_bindings-0.4.1/python-bindings/srpc/srpc/common.py +0 -200
- slim_bindings-0.4.1/python-bindings/srpc/srpc/context.py +0 -32
- slim_bindings-0.4.1/python-bindings/srpc/srpc/examples/simple/buf.gen.yaml +0 -21
- slim_bindings-0.4.1/python-bindings/srpc/srpc/examples/simple/client.py +0 -60
- slim_bindings-0.4.1/python-bindings/srpc/srpc/examples/simple/example.proto +0 -20
- slim_bindings-0.4.1/python-bindings/srpc/srpc/examples/simple/server.py +0 -102
- slim_bindings-0.4.1/python-bindings/srpc/srpc/examples/simple/types/example_pb2.py +0 -41
- slim_bindings-0.4.1/python-bindings/srpc/srpc/examples/simple/types/example_pb2.pyi +0 -21
- slim_bindings-0.4.1/python-bindings/srpc/srpc/examples/simple/types/example_pb2_srpc.py +0 -98
- slim_bindings-0.4.1/python-bindings/srpc/srpc/py.typed +0 -0
- slim_bindings-0.4.1/python-bindings/srpc/srpc/rpc.py +0 -90
- slim_bindings-0.4.1/python-bindings/srpc/srpc/server.py +0 -242
- slim_bindings-0.4.1/python-bindings/uv.lock +0 -1651
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/auth/README.md +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/auth/src/errors.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/auth/src/file_watcher.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/auth/src/jwt_middleware.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/auth/src/lib.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/auth/src/resolver.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/auth/src/shared_secret.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/auth/src/traits.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/README.md +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/build.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/proto/hello.proto +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/auth/basic.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/auth/bearer.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/auth.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/component/configuration.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/component.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/grpc/compression.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/grpc/errors.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/grpc/headers_middleware.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/grpc/helloworld.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/grpc/proxy.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/grpc/schema/client-config.schema.json +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/grpc/schema/generate_schema.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/grpc.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/opaque.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/provider/env.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/provider/file.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/provider/lib.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/provider.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/testutils/helloworld.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/testutils/tower_service.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/testutils.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/src/tls/client.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/grpc/ca.crt +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/grpc/server.crt +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/grpc/server.key +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/jwt/ec256-public.pem +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/jwt/ec256-wrong.pem +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/jwt/ec256.pem +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/jwt/ec384-public.pem +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/jwt/ec384-wrong.pem +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/jwt/ec384.pem +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/jwt/eddsa-public.pem +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/jwt/eddsa-wrong.pem +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/jwt/eddsa.pem +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/jwt/rsa-public.pem +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/jwt/rsa-wrong.pem +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/jwt/rsa.pem +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/testfile +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/tls/ca-1.crt +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/tls/ca-2.crt +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/tls/ca-bad.crt +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/tls/client-1.crt +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/tls/client-1.key +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/tls/client-2.crt +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/tls/client-2.key +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/tls/server-1.crt +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/tls/server-1.key +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/tls/server-2.crt +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/testdata/tls/server-2.key +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/config/tests/tls.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/controller/README.md +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/controller/build.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/controller/proto/v1/controller.proto +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/controller/src/api/gen/controller.proto.v1.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/controller/src/api/proto.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/controller/src/api.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/controller/src/config.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/controller/src/errors.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/controller/src/lib.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/README.md +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/benches/pool_benchmark.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/build.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/proto/v1/pubsub.proto +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/api/gen/pubsub.proto.v1.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/api/proto.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/api.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/connection.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/errors.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/forwarder.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/lib.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/message_processing.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/messages/encoder.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/messages/utils.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/messages.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/tables/connection_table.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/tables/errors.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/tables/pool.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/tables/remote_subscription_table.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/tables/subscription_table.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/src/tables.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/datapath/tests/data_path_test.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/mls/README.md +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/mls/src/errors.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/mls/src/identity_provider.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/mls/src/lib.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/mls/src/mls.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/README.md +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/src/app.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/src/channel_endpoint.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/src/errors.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/src/fire_and_forget.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/src/interceptor.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/src/interceptor_mls.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/src/moderator_task.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/src/producer_buffer.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/src/receiver_buffer.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/src/session.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/src/streaming.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/src/testutils.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/src/timer.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/service/src/transmitter.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/signal/CHANGELOG.md +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/signal/Cargo.toml +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/signal/README.md +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/signal/src/lib.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/tracing/README.md +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/tracing/src/lib.rs +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/core/tracing/src/utils.rs +0 -0
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/BUILD.md +0 -0
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/Cargo.toml +0 -0
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/build.rs +0 -0
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/examples/CHANGELOG.md +0 -0
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/examples/pyproject.toml +0 -0
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/examples/src/slim_bindings_examples/__init__.py +0 -0
- {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
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/examples/src/slim_bindings_examples/pubsub.py +0 -0
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/examples/src/slim_bindings_examples/request_reply.py +0 -0
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/examples/src/slim_bindings_examples/slim.py +0 -0
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/slim_bindings/__init__.py +0 -0
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/slim_bindings/_slim_bindings.pyi +0 -0
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/src/bin/stub_gen.rs +0 -0
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/src/build_info.rs +0 -0
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/src/pyidentity.rs +0 -0
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/src/pyservice.rs +0 -0
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/src/pysession.rs +0 -0
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/src/utils.rs +0 -0
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/tests/common.py +0 -0
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/tests/conftest.py +0 -0
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/tests/test_bindings.py +0 -0
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/tests/test_fire_forget.py +0 -0
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/tests/test_pubsub.py +0 -0
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/tests/test_request_reply.py +0 -0
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/tests/test_streaming.py +0 -0
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/tests/testdata/ec256-public.pem +0 -0
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/tests/testdata/ec256.pem +0 -0
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/tests/testdata/ec384-public.pem +0 -0
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/tests/testdata/ec384.pem +0 -0
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/tests/testdata/eddsa-public.pem +0 -0
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/tests/testdata/eddsa.pem +0 -0
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/tests/testdata/rsa-public.pem +0 -0
- {slim_bindings-0.4.1/python-bindings → slim_bindings-0.5.0/python/bindings}/tests/testdata/rsa.pem +0 -0
- {slim_bindings-0.4.1 → slim_bindings-0.5.0}/slim_bindings/__init__.py +0 -0
- {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-
|
|
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.
|
|
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-
|
|
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.
|
|
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.
|
|
105
|
+
version = "0.3.0"
|
|
105
106
|
dependencies = [
|
|
106
107
|
"agntcy-slim-auth",
|
|
107
108
|
"base64 0.22.1",
|
|
108
109
|
"drain",
|
|
109
|
-
"duration-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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-
|
|
1027
|
-
version = "0.
|
|
1021
|
+
name = "duration-string"
|
|
1022
|
+
version = "0.5.3"
|
|
1028
1023
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1029
|
-
checksum = "
|
|
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
|
|
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
|
|
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
|
-
"
|
|
13
|
+
"slimrpc-compiler",
|
|
14
14
|
"examples",
|
|
15
15
|
"testing",
|
|
16
16
|
]
|
|
17
17
|
|
|
18
|
-
exclude = ["integrations/mcp
|
|
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.
|
|
25
|
-
agntcy-slim-auth = { path = "core/auth", version = "0.
|
|
26
|
-
agntcy-slim-config = { path = "core/config", version = "0.
|
|
27
|
-
agntcy-slim-controller = { path = "core/controller", version = "0.
|
|
28
|
-
agntcy-slim-datapath = { path = "core/datapath", version = "0.
|
|
29
|
-
agntcy-slim-mls = { path = "core/mls", version = "0.1.
|
|
30
|
-
agntcy-slim-service = { path = "core/service", version = "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.
|
|
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-
|
|
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.
|
|
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
|
|
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.
|
|
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.
|
|
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/
|
|
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.
|
|
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.
|
|
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/
|
|
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.
|
|
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
|
|
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::
|
|
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.
|
|
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
|
|
17
|
+
agntcy-slim-auth = { workspace = true }
|
|
18
18
|
base64 = { workspace = true }
|
|
19
19
|
drain = { workspace = true }
|
|
20
|
-
duration-
|
|
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
|
|
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
|
-
|
|
112
|
-
|
|
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() ->
|
|
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"^[
|
|
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(), "
|
|
164
|
-
assert_eq!(id_with_name.name(), "
|
|
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());
|